FabiusF::usage="FabiusF[x] gives the value of the Fabius function F(x) for a non-negative real argument x.";
Macros`SetArgumentCount[FabiusF,1];
SyntaxInformation[FabiusF]={"ArgumentsPattern"->{_}};
SetAttributes[FabiusF,{NumericFunction,Listable}];

Derivative[n_Integer][FabiusF]:=2^(n (n+1)/2) FabiusF[2^n #]&

(*https://mathematica.stackexchange.com/a/13245*)
powerOfTwoQ[n_]:=IntegerQ[n]&&BitAnd[n,n-1]==0

FabiusF[Infinity]=Interval[{-1,1}];
FabiusF[x_?NumberQ]/;If[0≤Re[x]&&Im[x]==0,powerOfTwoQ[Denominator[x]],Message[FabiusF::realnn,x];False]:=iFabiusF[x]

ariasD[0]=1;
ariasD[n_Integer?Positive]:=ariasD[n]=Sum[2^((k (k-1)-n (n-1))/2) ariasD[k]/(n-k+1)!,{k,0,n-1}]/(2^n-1);

tri[x_]:=Piecewise[{{2-x,x>1}},x]

iFabiusF[x_]:=Module[{prec=Precision[x],s=1,y=0,z=SetPrecision[x,Infinity],n,p,q,tol,w},z=If[0≤z≤2,tri[z],q=Quotient[z,2];
(*can replace ThueMorse[] with the implementation in https://mathematica.stackexchange.com/a/89351*)If[ThueMorse[q]==1,s=-1];tri[z-2 q]];
tol=10^(-prec);
While[z>0,n=-Floor[RealExponent[z,2]];p=2^n;z-=1/p;w=1;
Do[w=ariasD[m]+p z w/(n-m+1);p/=2,{m,n}];
y=w-y;
If[Abs[w]<Abs[y] tol,Break[]]];
SetPrecision[s Abs[y],prec]]

Table[{x,DecimalForm[N[FabiusF[x],256]]},{x,{N[Range[0,65536]/65536,256]}}]