Sqrt2f21e.cin

// Sqrt2f21e.cin suggests routine F21E for evaluation of tetration to base \(b\!=\!\sqrt{2}\).

//In order to evaluate \(\mathrm{tet}_{\sqrt{2}}(z)\), the routine should be called as F21E(z)

z_type f21E(z_type z){int n; z_type e,s; DB coef[24]= {		 1.,				// 0 (fitst power coeff) 0.56472283831773236365, 0.33817758685118329988,	// 2 0.21033130213862776975,  0.13445487905210979672,	// 4 0.087784388601219137357, 0.058288093083094691542,	// 6 0.039240711783727838328, 0.026723286034298143846,	// 8 0.018376520597637595915, 0.012742089846776647861,	//10 0.0088986329515697318595,0.0062531995639748853846, 	//12 0.0044181328624396520598,0.0031365295362695967035,	//14 0.0022361213774486947923,0.0016001999145218074082,	//16 0.0011489818761273047343,0.00082749213843167597835,	//18 0.00059758321720686253893,.00043261919624398863166,	//20	0.0003185	  ,.000218, .00021	//last 2 are doubtful. }; //f[20] := 0.59758321720686253893e-3 //f[21] := 0.43261919624398863166e-3 e=exp(-0.36651292058166432701*(z+1.251551478822188)); s=coef[22]; for(n=21;n>=0;n--) { s*=e; s+=coef[n]; } return 2.-s*e; }

z_type F21E(z_type z){ if(Re(z)>2.) return f21E(z); return log(F21E(z+1.))/log(sqrt(2.)); }

/*