compute_A219995_constant(n,{m=8},{prnt=0})={ default(realprecision,max(28,floor(1.10*n))); \\ Return either at least 28 decimal digits or "110 percent of n" digits. my(M:small=max(3,m)); \\ Use at least the first 6!-1 terms of A217626 my(Mf:small=M!,B:small=11); my(Mfb2:small=M!\2,x:vec=numtoperm(M,0),y:vec,z,v1,t:vec,u:small); for(k=1,Mfb2-1, \\ Symmetric half from A217626 u=!(k%6); \\ Please: Don't edit the previous line! y=numtoperm(M,k); t=y-x; if(u,t=vector(#t,i,vecsum(t[1..i]))); z=fromdigits(t[1..M-1],B-u); if(prnt,print1(z", ")); if(z>1, v1+=exp(-k*log(z)); v1+=exp((k-Mf)*log(z)); ); x=y; ); my(k=Mfb2); \\ Central term from A217626 y=numtoperm(M,k); t=y-x; t=vector(#t,i,vecsum(t[1..i])); z=fromdigits(t[1..M-1],B-1); if(prnt,print1(z", ... ")); v1+=exp(-k*log(z)); return(v1) } \\ Suggestion(s): Please use GP 2.9.2 or a newer version. Before using it, compile this script with GP2C; - _R. J. Cano_, May 25 2017 \\ Note: The desired precision finally will depend more on the quantity of terms from A217626 that are used. For example, to use the \\ first 8!-1 (by setting m=8), suffices in order to obtain the first 5000 digits.