DDFUN quick check of operations and functions

Test data:

t1 = pi:
3.1415926535897932384626433832795e0     
t2 = -log(2):
-6.9314718055994530941723212145817e-1   
z1 = (0.5*pi, exp(0.5)):
1.5707963267948966192313216916397e0     
1.6487212707001281468486507878140e0     
z2 = (-Gamma(0.5), Cos(1)):
-1.7724538509055160272981674833411e0    
5.4030230586813971740093660744290e-1    
e1 = 3141/8192:
    3.83422851562500000000000000000000000D-01
e2 = 6931 / 8192:
    8.46069335937500000000000000000000000D-01
ec1 = (3141/8192, 6931/8192)
    3.83422851562500000000000000000000000D-01
    8.46069335937500000000000000000000000D-01
ec2 = (6931/8192, 3141/8192):
   -8.46069335937500000000000000000000000D-01
    3.83422851562500000000000000000000000D-01

Real data operations:

addition: t1+t2 =
2.4484454730298479290454112618213e0     
addition: t1+e2 =
3.9876619895272932384626433832795e0     
addition: e1+t2 =
-3.0972432899744530941723212145817e-1   
subtraction: t1-t2 =
3.8347398341497385478798755047376e0     
subtraction: t1-e2 =
2.2955233176522932384626433832795e0     
subtraction: e1-t2 =
1.0765700321224453094172321214581e0     
multiplication: t1*t2 =
-2.1775860903036021305006888982375e0    
multiplication: t1*e2 =
2.6580052102088448407940162706921e0     
multiplication: e1*t2 =
-2.6576846852280129600580152508546e-1   
division: t1/t2 =
-4.5323601418271938096276829457166e0    
division: t1/e2 =
3.7131621725880228263578090601393e0     
division: e1/t2 =
-5.5316224651272388458465862097496e-1   
exponentiation: t1**i1 =
3.0601968478528145326274131004343e2     
exponentiation: t1**t2 =
4.5227435966751486674367941686475e-1    
equal test: t1 == t2, e1 == t2, t1 == e2
   F   F   F
not-equal test: t1 /= t2, e1 /= t2, t1 =/ e2
   T   T   T
less-than-or-equal test: t1 <= t2, e1 <= t2, t1 <= e2
   F   F   F
greater-than-or-equal test: t1 >= t2, e1 >= t2, t1 >= e2
   T   T   T
less-than test: t1 < t2, e1 < t2, t1 < e2
   F   F   F
greater-than test: t1 > t2, e1 > t2, t1 > e2
   T   T   T
abs(t2) =
6.9314718055994530941723212145817e-1    
acos(t2) =
2.3366425216139768346757164087890e0     
acosh(t1) =
1.8115262724608531070218520493064e0     
agm(t1,abs(t2)) =
1.6892911978156047302908859860809e0     
aint(t1) =
3.0000000000000000000000000000000e0     
anint(t1) =
3.0000000000000000000000000000000e0     
asin(t2) =
-7.6584619481908021544439471714755e-1   
asinh(t1) =
1.8622957433108482198883613251826e0     
atan(t1) =
1.2626272556789116834443220836060e0     
atan2(t1,t2) =
1.7879528081463444729158583778055e0     
atanh(t2) =
-8.5398804799752400677104124919447e-1   
bessel_i(t1,-t2) =
5.1306421938126758542895570608606e-3    
bessel_in(3,t1) =
1.1574854703706897306345345744266e0     
bessel_in(3,50*t1) =
5.1231068471415148807961336245119e66    
bessel_j(t1,-t2) =
4.8415087279444579449989083035302e-3    
bessel_jn(3,t1) =
3.3345833620298953539021858173988e-1    
bessel_jn(3,50*t1) =
4.3748599958678342815904271804671e-2    
bessel_k(t1,-t2) =
3.0225190567956308393104615141430e1     
bessel_kn(3,t1) =
9.8974376214377653842703987961926e-2    
bessel_kn(3,50*t1) =
6.2121182921485777391938289183505e-70   
bessel_y(t1,-t2) =
-2.1534007059168999246041647436215e1    
bessel_yn(3,t1) =
-4.8607045629843214140130254413362e-1   
bessel_yn(3,50*t1) =
4.6256092718294413767062674464758e-2    
cos(t2) =
7.6923890136397212657832999366076e-1    
cosh(t1) =
1.1591953275521520627751752052565e1     
digamma_be(nbe,be,t1) =
9.7721330794200673329206948640578e-1    
ddcssh(t1) =
1.1591953275521520627751752052565e1     
1.1548739357257748377977334315393e1     
ddcssn(t2) =
7.6923890136397212657832999366076e-1    
-6.3896127631363480115003291146531e-1   
ddeform(t1,n1,n2,chr1) =
3.1415926535897932384626433832795e0     
ddfform(t1,n1,n2,chr1) =
      3.14159265358979323846264338327950
ddnrt(t1,i1) =
1.2572741156691850593845221141104e0     
ddreal (chr120) =
3.1415926535897932384626433832794e0     
erf(t1) =
9.9999112385363235839473162078137e-1    
erfc(t1) =
8.8761463676416052683792186218152e-6    
exp(t1) =
2.3140692632779269005729086367959e1     
expint(t1) =
1.0928374389331410348638445906919e1     
gamma(t1) =
2.2880377953400324179595889090663e0     
hurwitz_zetan(3,1/t1) =
3.1584094209223612807242929989571e1     
hurwitz_zetan_be(nbe,be,5,t1) =
4.6072888024119280605289678626444e-3    
hypergeom_pfq(np,nq,aa,bb,t1) =
2.4905877737045125094482503041784e0     
incgamma(t1,t2+2) =
2.0051264869915620701807544904879e0     
incgamma(-3,t1) =
2.0967691704490347229992825695303e-4    
log(t1) =
1.1447298858494001741434273513530e0     
log10(t1) =
4.9714987269413385435126828829123e-1    
max(t1,t2) =
3.1415926535897932384626433832795e0     
min(t1,t2) =
-6.9314718055994530941723212145817e-1   
mod(t1,t2) =
3.6900393135001200079371489744680e-1    
polygamma(3,1/t1) =
5.8673297443551812012261906445065e2     
polygamma_be(nbe,be,5,t1) =
1.5913521389036791637575384583643e-1    
polylog_neg (-10, rr, -t1) =
-8.0254088544737845089475887720048e0    
polylog_pos (10, 1/t1) =
3.1840938897826505851515091887786e-1    
sign(t1,t2) =
-3.1415926535897932384626433832795e0    
sin(t2) =
-6.3896127631363480115003291146531e-1   
sinh(t1) =
1.1548739357257748377977334315393e1     
sqrt(t1) =
1.7724538509055160272981674833411e0     
struve_hn(10,t1) =
1.1819833977697521145290002996895e-5    
tan(t2) =
-8.3064087786078394703045902330201e-1   
tanh(t1) =
9.9627207622074994426469058001253e-1    
zeta(t1) =
1.1762417383825827588721504519380e0     
zeta_be(nbe,be,t1) =
1.1762417383825827588721504519380e0     
zeta_int(10) =
1.0009945751278180853371459589003e0     

Complex data operations:

addition: z1+z2 =
-2.0165752411061940806684579170139e-1   
2.1890235765682678642495873952570e0     
addition: z1+e2 =
2.4168656627323966192313216916397e0     
1.6487212707001281468486507878140e0     
addition: e1+z2 =
-1.3890309993430160272981674833411e0    
5.4030230586813971740093660744290e-1    
addition: z1+ec2 =
7.2472699085739661923132169163975e-1    
2.0321441222626281468486507878140e0     
addition: ec1+z2 =
-1.3890309993430160272981674833411e0    
1.3863716418056397174009366074429e0     
addition: z1+t2 =
8.7764914623495130981408957018157e-1    
1.6487212707001281468486507878140e0     
addition: t1+z2 =
1.3691388026842772111644758999383e0     
5.4030230586813971740093660744290e-1    
subtraction: z1-z2 =
3.3432501777004126465294891749809e0     
1.1084189648319884294477141803711e0     
subtraction: z1-e2 =
7.2472699085739661923132169163975e-1    
1.6487212707001281468486507878140e0     
subtraction: e1-z2 =
2.1558767024680160272981674833411e0     
-5.4030230586813971740093660744290e-1   
subtraction: z1-ec2 =
2.4168656627323966192313216916397e0     
1.2652984191376281468486507878140e0     
subtraction: ec1-z2 =
2.1558767024680160272981674833411e0     
3.0576703006936028259906339255709e-1    
subtraction: z1-t2 =
2.2639435073548419286485538130979e0     
1.6487212707001281468486507878140e0     
subtraction: t1-z2 =
4.9140465044953092657608108666206e0     
-5.4030230586813971740093660744290e-1   
multiplication: z1*z2 =
-3.6749719027089825421986358520178e0    
-2.0735774879057912796960818196054e0    
multiplication: z1*e2 =
1.3290026051044224203970081353460e0     
1.3949325106472885969003904553637e0     
multiplication: e1*z2 =
-6.7959930977712717794720996889337e-1   
2.0716425082175620756303001513405e-1    
multiplication: z1*ec2 =
-1.9611600161480140352958865685155e0    
-7.9265330380368870908232631553945e-1   
multiplication: ec1*z2 =
-1.1367325229084841580870893177931e0    
-1.2924546017937383707088936698070e0    
multiplication: z1*t2 =
-1.0887930451518010652503444491187e0    
-1.1428065003150041926917235553723e0    
multiplication: t1*z2 =
-5.5683279968317078452848179821188e0    
1.6974097548329731696910825130042e0     
multiplication: z1*e2 =
1.3290026051044224203970081353460e0     
1.3949325106472885969003904553637e0     
multiplication: e1*z2 =
-6.7959930977712717794720996889337e-1   
2.0716425082175620756303001513405e-1    
division: z1/z2 =
-5.5143308202505235309319492678347e-1   
-1.0982863308151707791148976578178e0    
division: z1/e2 =
1.8565810862940114131789045300696e0     
1.9486834006024310747344030087682e0     
division: e1/z2 =
-1.9793082933305223971873848218311e-1   
-6.0335835224373422321537161536479e-2   
division: z1/ec2 =
-8.0761209709718786022689577180586e-1   
-2.3146781483996128766349483296804e0    
division: ec1/z2 =
-6.4792442214258164548227795583516e-2   
-4.9709437648746959344238288583166e-1   
division: z1/t2 =
-2.2661800709135969048138414728583e0    
-2.3786020010472250834113107924484e0    
division: t1/z2 =
-1.6217552939728537940734027673102e0    
-4.9436442276888664087117814236062e-1   
exponentiation: z1**i1 =
-3.7758122042342049433937797240402e1    
-4.8211113863064078910484120179802e1    
exponentiation: z1**z2 =
8.2348324476658808357864024273517e-2    
-1.2556301651409895918663118275737e-1   
exponentiation: t1**z2 =
1.0711458726885084804417651222845e-1    
7.6227798774539096243706577479374e-2    
exponentiation: z1**t2 =
4.7858855946366079834403314748692e-1    
-3.0083157713034823132511536931444e-1   
equal test: z1 == z2, e1 == z2, z1 == e2, ec1 == z2, z1 == ec2
   F   F   F   F   F
not-equal test: z1 /= z2, e1 /= z2, z1 /= e2, ec1 /= z2, z1 /= ec2
   T   T   T   T   T
abs(z2) =
1.8529757783943701742247845600847e0     
aimag(z1) =
1.6487212707001281468486507878140e0     
conjg(z1) =
1.5707963267948966192313216916397e0     
-1.6487212707001281468486507878140e0    
cos(z2) =
-2.3024722091021678526847749091902e-1   
5.5548753833677987141958048746252e-1    
exp(z1) =
-3.7447692223345517631657155896044e-1   
4.7958794467223451852222400975738e0     
log(z1) =
8.2295077269804973154300843933883e-1    
8.0959735783473218711648994416600e-1    
ddcmplx(t1,t2) =
3.1415926535897932384626433832795e0     
-6.9314718055994530941723212145817e-1   
ddreal(z1) =
1.5707963267948966192313216916397e0     
sin(z2) =
-1.1262543685294698363059631197620e0    
-1.1356178988170950050303278823885e-1   
sqrt(z1) =
1.3870843138895871220472192078626e0     
5.9431184326382898915869848949756e-1    
sqrt(z2) =
2.0065134872316974651058426007592e-1    
1.3463709795780444928274633384031e0     

Max relative error =   9.159424D-32
ALL TESTS PASSED
