summaryrefslogtreecommitdiff
path: root/tests/99misc
diff options
context:
space:
mode:
Diffstat (limited to 'tests/99misc')
-rw-r--r--tests/99misc/15
-rw-r--r--tests/99misc/105
-rw-r--r--tests/99misc/115
-rw-r--r--tests/99misc/125
-rw-r--r--tests/99misc/135
-rw-r--r--tests/99misc/145
-rw-r--r--tests/99misc/155
-rw-r--r--tests/99misc/165
-rw-r--r--tests/99misc/175
-rw-r--r--tests/99misc/185
-rw-r--r--tests/99misc/1917
-rw-r--r--tests/99misc/25
-rw-r--r--tests/99misc/205
-rw-r--r--tests/99misc/215
-rw-r--r--tests/99misc/2211
-rw-r--r--tests/99misc/235
-rw-r--r--tests/99misc/247
-rw-r--r--tests/99misc/255
-rw-r--r--tests/99misc/26_deg6
-rw-r--r--tests/99misc/275
-rw-r--r--tests/99misc/286
-rw-r--r--tests/99misc/295
-rw-r--r--tests/99misc/35
-rw-r--r--tests/99misc/306
-rw-r--r--tests/99misc/3115
-rw-r--r--tests/99misc/3243
-rw-r--r--tests/99misc/338
-rw-r--r--tests/99misc/345
-rw-r--r--tests/99misc/357
-rw-r--r--tests/99misc/375
-rw-r--r--tests/99misc/385
-rw-r--r--tests/99misc/3912
-rw-r--r--tests/99misc/45
-rw-r--r--tests/99misc/4016
-rw-r--r--tests/99misc/4116
-rw-r--r--tests/99misc/438
-rw-r--r--tests/99misc/4421
-rw-r--r--tests/99misc/455
-rw-r--r--tests/99misc/4610
-rw-r--r--tests/99misc/477
-rw-r--r--tests/99misc/486
-rw-r--r--tests/99misc/495
-rw-r--r--tests/99misc/55
-rw-r--r--tests/99misc/5023
-rw-r--r--tests/99misc/529
-rw-r--r--tests/99misc/538
-rw-r--r--tests/99misc/5420
-rw-r--r--tests/99misc/559
-rw-r--r--tests/99misc/5610
-rw-r--r--tests/99misc/5815
-rw-r--r--tests/99misc/5911
-rw-r--r--tests/99misc/75
-rw-r--r--tests/99misc/85
-rw-r--r--tests/99misc/95
-rw-r--r--tests/99misc/i15
-rw-r--r--tests/99misc/i27
-rw-r--r--tests/99misc/i39
57 files changed, 488 insertions, 0 deletions
diff --git a/tests/99misc/1 b/tests/99misc/1
new file mode 100644
index 0000000..27eb69b
--- /dev/null
+++ b/tests/99misc/1
@@ -0,0 +1,5 @@
+T=d f ld mf
+V=x
+R=-1000,1000,.25
+F=x*4/2 + (1+(2+3)) + x*x+x+1+2+3*4+5*6*\n7-8*9
+C=x*4/2 + (1+(2+3)) + x*x+x+(1.0+2.0+3.0*4.0+5.0*6.0*7.0-8.0*9.0)
diff --git a/tests/99misc/10 b/tests/99misc/10
new file mode 100644
index 0000000..24ebd0a
--- /dev/null
+++ b/tests/99misc/10
@@ -0,0 +1,5 @@
+T=d f ld mf
+V=x,y,z
+R=1,4,.3
+F=1+sin(cos(max(1+2+3+4+5, x+y+z)))+2
+C=1+fp_sin(fp_cos( fp_max(1+2+3+4+5, x+y+z)))+2
diff --git a/tests/99misc/11 b/tests/99misc/11
new file mode 100644
index 0000000..c34f0a8
--- /dev/null
+++ b/tests/99misc/11
@@ -0,0 +1,5 @@
+T=d f ld mf
+V=x,y,z
+R=1,19,.8
+F=-(-(-(-(-x))-x))+y*1+log(1.1^z)
+C=(-x-x)+y+fp_log(fp_pow(1.1, z))
diff --git a/tests/99misc/12 b/tests/99misc/12
new file mode 100644
index 0000000..15942f0
--- /dev/null
+++ b/tests/99misc/12
@@ -0,0 +1,5 @@
+T=d f ld mf
+V=x
+R=1,2000,.5
+F=1/log(10^((3-2)/log(x)))
+C=1.0/fp_log(fp_pow(10.0, 1.0/fp_log(x)))
diff --git a/tests/99misc/13 b/tests/99misc/13
new file mode 100644
index 0000000..08540a8
--- /dev/null
+++ b/tests/99misc/13
@@ -0,0 +1,5 @@
+T=d f ld mf
+V=x,y
+R=-30,30,.5
+F=x^3 * x^4 + y^3 * y^5
+C=fp_pow(x,3) * fp_pow(x,4) + fp_pow(y,3) * fp_pow(y,5)
diff --git a/tests/99misc/14 b/tests/99misc/14
new file mode 100644
index 0000000..83f6ce0
--- /dev/null
+++ b/tests/99misc/14
@@ -0,0 +1,5 @@
+T=d f ld mf
+V=x
+R=-50,50,.1
+F=x*pi + sin(2*pi) + CONST
+C=x*fp_const_pi<Value_t>() + fp_sin(2*fp_const_pi<Value_t>()) + Value_t(CONST)
diff --git a/tests/99misc/15 b/tests/99misc/15
new file mode 100644
index 0000000..b24072f
--- /dev/null
+++ b/tests/99misc/15
@@ -0,0 +1,5 @@
+T=d f ld mf
+V=x,y
+R=1.1, 6, .07
+F=x^y/log(y) + log(x)/log(y) + log(x^y)
+C=fp_pow(x,y)/fp_log(y) + fp_log(x)/fp_log(y) + fp_log(fp_pow(x,y))
diff --git a/tests/99misc/16 b/tests/99misc/16
new file mode 100644
index 0000000..02736f4
--- /dev/null
+++ b/tests/99misc/16
@@ -0,0 +1,5 @@
+T=d f ld mf li gi
+V=x,y
+R=-20, 20, 1
+F=if(x<0, if(y<0, x+y, x-y), if(y>0, x*y, x+2*y))
+C=x<0 ? (y<0 ? x+y : x-y) : (y>0 ? x*y : x+2*y)
diff --git a/tests/99misc/17 b/tests/99misc/17
new file mode 100644
index 0000000..88c3de7
--- /dev/null
+++ b/tests/99misc/17
@@ -0,0 +1,5 @@
+T=d f ld mf li gi
+V=x,y
+R=-20, 20, 1
+F=sqr(x)+sub(x,y)+psqr(y)+psub(y+1,x-2)-1
+C=userDefFuncSqr({x})+userDefFuncSub({x,y})+userDefFuncSqr({y})+userDefFuncSub({y+1,x-2})-1
diff --git a/tests/99misc/18 b/tests/99misc/18
new file mode 100644
index 0000000..dfb776f
--- /dev/null
+++ b/tests/99misc/18
@@ -0,0 +1,5 @@
+T=d f ld mf
+V=x,y
+R=1,17,.2
+F= - ( - ( - ( - 5 ) ) ) * -x^ -y^-2
+C=- ( - ( - ( - 5 ) ) ) * -fp_pow(x, -fp_pow(y, -2))
diff --git a/tests/99misc/19 b/tests/99misc/19
new file mode 100644
index 0000000..fbabe3e
--- /dev/null
+++ b/tests/99misc/19
@@ -0,0 +1,17 @@
+T=d f ld mf li gi
+V=x,y
+R=-100,100,1
+F=(x<y)+10*(x<=y)+100*(x>y)+1000*(x>=y)+10000*(x=y)+100000*(x!=y)+ \
+ (x&y)*2+(x|y)*20+(!x)*200+(!!x)*2000+4*!((x<y)&(x<3))+40*!!(!(x>y)|(x>3))
+C= fp_less(x,y)+\
+ 10*fp_lessOrEq(x,y)+\
+ 100*fp_greater(x,y)+\
+ 1000*fp_greaterOrEq(x,y)+\
+ 10000*fp_equal(x,y)+\
+ 100000*fp_nequal(x,y) \
+ +fp_and(x,y)*2 \
+ +fp_or(x,y)*20 \
+ +fp_not(x)*200 \
+ +fp_truth(x)*2000 \
+ +4*fp_not(fp_and(fp_less(x,y), fp_less(x,3))) \
+ +40*fp_or(fp_not(fp_greater(x,y)), fp_greater(x,3))
diff --git a/tests/99misc/2 b/tests/99misc/2
new file mode 100644
index 0000000..1f029bb
--- /dev/null
+++ b/tests/99misc/2
@@ -0,0 +1,5 @@
+T=d f ld mf
+V=x
+R=-1000,1000,.1
+F= 2 * x+ sin ( x ) / .5 + 2-sin(x)*sin(x)
+C=2 * x + fp_sin(x)/.5 + 2-fp_sin(x)*fp_sin(x)
diff --git a/tests/99misc/20 b/tests/99misc/20
new file mode 100644
index 0000000..ff89452
--- /dev/null
+++ b/tests/99misc/20
@@ -0,0 +1,5 @@
+T=d f ld mf li gi
+V=x,y
+R=-100,100,1
+F=(!(x != y) & !x) + !(!(!(!y)))
+C=fp_and(fp_not<Value_t>(x != y), fp_not(x)) + fp_truth(y)
diff --git a/tests/99misc/21 b/tests/99misc/21
new file mode 100644
index 0000000..faa73fa
--- /dev/null
+++ b/tests/99misc/21
@@ -0,0 +1,5 @@
+T=d f ld mf li gi
+V=x
+R=-10,10,1
+F=sqr(x)+value()-pvalue ( )
+C=userDefFuncSqr({x})+userDefFuncValue({})-5
diff --git a/tests/99misc/22 b/tests/99misc/22
new file mode 100644
index 0000000..2d38405
--- /dev/null
+++ b/tests/99misc/22
@@ -0,0 +1,11 @@
+T=d ld mf
+V=x,y
+R=-4,4,.1
+
+# This function is too complex for "float" accuracy
+
+F=3.5doubled + 10*x tripled - sin(y)doubled + \
+ 100*(x doubled-y tripled)doubled + 5/2doubled + 1.1^x doubled + \
+ 1.1doubled^x doubled
+C=(3.5*2) + 10*(x*3) - (fp_sin(y)*2) + 100*((x*2)-(y*3))*2 + 5.0/(2*2) + \
+ fp_pow(1.1, x*2) + fp_pow(1.1*2, x*2)
diff --git a/tests/99misc/23 b/tests/99misc/23
new file mode 100644
index 0000000..eb87ad5
--- /dev/null
+++ b/tests/99misc/23
@@ -0,0 +1,5 @@
+T=d f ld mf
+V=x
+R=-1000,1000,.1
+F=(x/(2*acos(0)))*180
+C=(x/(2*fp_acos(0.0)))*180
diff --git a/tests/99misc/24 b/tests/99misc/24
new file mode 100644
index 0000000..a8bba35
--- /dev/null
+++ b/tests/99misc/24
@@ -0,0 +1,7 @@
+# Note: Contains a duplicate of regressions 1 and 2
+
+T=d f ld mf li gi
+V=x
+R=-1000,1000,1
+F=(min(x, min(1,x)) + min(x, 1))/2 + min(x, 1)*3 + max(0, min(-2,0))
+C=(fp_min(x, fp_min(1,x)) + fp_min(x, 1))/2 + fp_min(x, 1)*3 + fp_max(0, fp_min(-2,0))
diff --git a/tests/99misc/25 b/tests/99misc/25
new file mode 100644
index 0000000..8c9a122
--- /dev/null
+++ b/tests/99misc/25
@@ -0,0 +1,5 @@
+T=d f ld mf
+V=a,b,c
+R=1,3,.2
+F=a^b^c + a^-2 * (-b^2) + (-b^-c)
+C=fp_pow(a, fp_pow(b, c)) + fp_pow(a, -2) * (-fp_pow(b, 2)) + (-fp_pow(b, -c))
diff --git a/tests/99misc/26_deg b/tests/99misc/26_deg
new file mode 100644
index 0000000..c2945a3
--- /dev/null
+++ b/tests/99misc/26_deg
@@ -0,0 +1,6 @@
+T=d f ld mf
+DEG=1
+V=x
+R=-100,100,.1
+F=sin(x) + cos(x*1.5) + asin(x/110) + acos(x/120)
+C=fp_sin(d2r(x)) + fp_cos(d2r(x*1.5)) + r2d(fp_asin(x/110.0)) + r2d(fp_acos(x/120.0))
diff --git a/tests/99misc/27 b/tests/99misc/27
new file mode 100644
index 0000000..276b2bb
--- /dev/null
+++ b/tests/99misc/27
@@ -0,0 +1,5 @@
+T=d f ld mf
+V=x,y
+R=.1, .9, .025
+F=abs(x)+acos(x)+asin(x)+atan(x)+atan2(x,y)+ceil(x)+cos(x)+cosh(x)+cot(x)+csc(x) + pow(x,y)
+C=fp_abs(x)+fp_acos(x)+fp_asin(x)+fp_atan(x)+fp_atan2(x,y)+fp_ceil(x)+fp_cos(x)+fp_cosh(x)+1.0/fp_tan(x)+1.0/fp_sin(x) +fp_pow(x,y)
diff --git a/tests/99misc/28 b/tests/99misc/28
new file mode 100644
index 0000000..5492253
--- /dev/null
+++ b/tests/99misc/28
@@ -0,0 +1,6 @@
+T=d f ld mf
+V=x,y
+R=.1, .9, .025
+F=exp(x)+floor(x)+int(x)+log(x)+log10(x)+max(x,y)+min(x,y)+sec(x)+sin(x)+sinh(x)+sqrt(x)+tan(x)+tanh(x)+ceil(y)+trunc(y)
+C=fp_exp(x)+fp_floor(x)+fp_int(x)+fp_log(x)+fp_log10(x)+fp_max(x,y)+fp_min(x,y)+ \
+ 1/fp_cos(x)+fp_sin(x)+fp_sinh(x)+fp_sqrt(x)+fp_tan(x)+fp_tanh(x)+fp_ceil(y)+fp_trunc(y)
diff --git a/tests/99misc/29 b/tests/99misc/29
new file mode 100644
index 0000000..dc3cda6
--- /dev/null
+++ b/tests/99misc/29
@@ -0,0 +1,5 @@
+T=d f ld mf li gi
+V=x,y
+R=-5,5,1
+F=x-y*1
+C=x-y*1
diff --git a/tests/99misc/3 b/tests/99misc/3
new file mode 100644
index 0000000..b34dee5
--- /dev/null
+++ b/tests/99misc/3
@@ -0,0 +1,5 @@
+T=d f ld mf
+V=x,y,z
+R=-7,7,.5
+F=(x=y & y=x)+ 1+2-3.1*4e2/.5 + x*x+y*y+z*z + (x&x) + (y|y)
+C=fp_and(fp_equal(x,y), fp_equal(y,x))+ 1.0+2.0-3.1*4e2/.5 + x*x+y*y+z*z + fp_and(x,x) + fp_or(y,y)
diff --git a/tests/99misc/30 b/tests/99misc/30
new file mode 100644
index 0000000..21f0c99
--- /dev/null
+++ b/tests/99misc/30
@@ -0,0 +1,6 @@
+T=d f ld mf
+V=x,y
+R=3,10,1
+F=x - y*1 + (x%y) + x / (y^1.1) + 2^3 + 5%3 + x^(y^0) + x^0.5
+C=x - y*1 + fp_mod(x,y) + x / fp_pow(y,1.1) + fp_pow(2,3) + \
+ fp_mod(5,3) + fp_pow(x,fp_pow(y,0)) + fp_pow(x,0.5)
diff --git a/tests/99misc/31 b/tests/99misc/31
new file mode 100644
index 0000000..784e1c9
--- /dev/null
+++ b/tests/99misc/31
@@ -0,0 +1,15 @@
+T=d ld mf
+V=x,y,z
+R=.1,4,.35
+
+# This function is too complex for "float" accuracy
+
+F=x - (y*(y*(y*-1))*1) + log(x*exp(1.0)^y) - log(x^y) + \
+ exp(1.0)^log(x+6) + 10^(log(x+6)/log(y+6)*log(z+6)/log(10)) - \
+ exp(1.0)^(log(x+6)*y) - 5^(log(x+7)/log(5)) + (x*z+17)^3 * (x*z+17)^2 / \
+ (x*z+17)^4
+C=x - (y*(y*(y*-1))*1) + fp_log(x*fp_pow(fp_exp(1.0),y)) - fp_log(fp_pow(x,y)) + \
+ fp_pow(fp_exp(1.0),fp_log(x+6)) + \
+ fp_pow(10.0,fp_log(x+6)/fp_log(y+6)*fp_log(z+6)/fp_log(10.0)) - \
+ fp_pow(fp_exp(1.0), fp_log(x+6)*y) - fp_pow(5.0,fp_log(x+7)/fp_log(5.0)) + \
+ fp_pow(x*z+17,3) * fp_pow(x*z+17,2) / fp_pow(x*z+17,4)
diff --git a/tests/99misc/32 b/tests/99misc/32
new file mode 100644
index 0000000..d49dcaf
--- /dev/null
+++ b/tests/99misc/32
@@ -0,0 +1,43 @@
+T=d f ld mf
+V=x,y,z
+R=1,2,.05
+F=x\
+ +y/y-min(3,4)-x-max(4,3)+max(3,4)-min(4,3)+0+(z*1)\
+ +(x-2+2)+(x*0.5*2)+y*0\
+ +min(min(min(4.0,x),1.0),min(x,min(min(y,4.0),z)))\
+ +max(max(max(4.0,x),1.0),max(x,max(max(y,4.0),z)))\
+ +(abs(1)+acos(1.0)+asin(1.0)+atan(1.0)+ceil(1.1)+cos(0.0)\
+ +cosh(0.0)+floor(1.1)+log(1.0)+sin(0.0)+sinh(0.0)+tan(1.0)\
+ +tanh(1.0)+atan2(1.0,1.0))\
+ +(x-(y-z))\
+ +(x+y) + (x*y)\
+ +max(x,max(x,max(x,max(x,x))))*-1.0\
+ +(z-z)\
+ +1/sin(x/5) + 1/cos(y/5) + 1/tan(z/5)\
+ +log10(cot(z/5) + csc(y/5) + sec(x/5))\
+ +log(30+x)*log(40+y)/log(50+z)\
+ +sin(x/57.295779513082320877)\
+ +asin(x/10)*57.295779513082320877\
+ +floor(-x) + 1/ceil(x)\
+ +sqrt(5 * 0.2)\
+ +(-x+-x+-x+-x+-x+-x)
+C=x\
+ +y/y-fp_min(3,4)-x-fp_max(4,3)+fp_max(3,4)-fp_min(4,3)+0+(z*1)\
+ +(x-2+2)+(x*0.5*2)+y*0\
+ +fp_min(fp_min(fp_min(4.0,x),1.0),fp_min(x,fp_min(fp_min(y,4.0),z)))\
+ +fp_max(fp_max(fp_max(4.0,x),1.0),fp_max(x,fp_max(fp_max(y,4.0),z)))\
+ +(fp_abs(1)+fp_acos(1.0)+fp_asin(1.0)+fp_atan(1.0)+fp_ceil(1.1)+fp_cos(0.0)\
+ +fp_cosh(0.0)+fp_floor(1.1)+fp_log(1.0)+fp_sin(0.0)+fp_sinh(0.0)+fp_tan(1.0)\
+ +fp_tanh(1.0)+fp_atan2(1.0,1.0))\
+ +(x-(y-z))\
+ +(x+y) + (x*y)\
+ +fp_max(x,fp_max(x,fp_max(x,fp_max(x,x))))*-1.0\
+ +(z-z)\
+ +1/fp_sin(x/5) + 1/fp_cos(y/5) + 1/fp_tan(z/5)\
+ +fp_log10(1/fp_tan(z/5) + 1/fp_sin(y/5) + 1/fp_cos(x/5))\
+ +fp_log(30+x)*fp_log(40+y)/fp_log(50+z)\
+ +fp_sin(x/57.295779513082320877)\
+ +fp_asin(x/10)*57.295779513082320877\
+ +fp_floor(-x) + 1/fp_ceil(x)\
+ +fp_sqrt(5 * 0.2)\
+ +(-x+-x+-x+-x+-x+-x)
diff --git a/tests/99misc/33 b/tests/99misc/33
new file mode 100644
index 0000000..9e4ce2b
--- /dev/null
+++ b/tests/99misc/33
@@ -0,0 +1,8 @@
+T=d ld mf
+V=x,y
+R=-2,2,.1
+
+# float accuracy just fails here.
+
+F=sin(sqrt(10-x*x+y*y))+cos(sqrt(15-x*x-y*y))+sin(x*x+y*y)
+C=fp_sin(fp_sqrt(10-x*x+y*y))+fp_cos(fp_sqrt(15-x*x-y*y))+fp_sin(x*x+y*y)
diff --git a/tests/99misc/34 b/tests/99misc/34
new file mode 100644
index 0000000..cad1a74
--- /dev/null
+++ b/tests/99misc/34
@@ -0,0 +1,5 @@
+T=d f ld mf li gi
+V=t,う,お,早
+R=-5,5,1
+F=お+早*う-t
+C=お+早*う-t
diff --git a/tests/99misc/35 b/tests/99misc/35
new file mode 100644
index 0000000..487691e
--- /dev/null
+++ b/tests/99misc/35
@@ -0,0 +1,7 @@
+T=d f ld mf li gi
+V=A_very_long_variable_name_1,A_very_long_variable_name_2,Yet_a_third_very_long_variable_name
+R=-10,10,1
+F=A_very_long_variable_name_1-A_very_long_variable_name_2+ \
+ Yet_a_third_very_long_variable_name*A_very_long_variable_name_1
+C=A_very_long_variable_name_1-A_very_long_variable_name_2+ \
+ Yet_a_third_very_long_variable_name*A_very_long_variable_name_1
diff --git a/tests/99misc/37 b/tests/99misc/37
new file mode 100644
index 0000000..4bf1ae6
--- /dev/null
+++ b/tests/99misc/37
@@ -0,0 +1,5 @@
+T=d f ld mf
+V=x
+R=-10,10,.1
+F=5 + 7.5*8 / 3 - 2^4*2 + 7%2+4 + x
+C=5 + 7.5*8 / 3 - fp_pow(2,4)*2 + fp_mod(7,2)+4 + x
diff --git a/tests/99misc/38 b/tests/99misc/38
new file mode 100644
index 0000000..c6a0b5f
--- /dev/null
+++ b/tests/99misc/38
@@ -0,0 +1,5 @@
+T=d ld mf
+V=x,y,z
+R=-.9, .9, .1
+F=asinh(x) + 1.5*acosh(y+3) + 2.5*atanh(z)
+C=fp_asinh(x) + 1.5*fp_acosh(y+3) + 2.5*fp_atanh(z)
diff --git a/tests/99misc/39 b/tests/99misc/39
new file mode 100644
index 0000000..44f8894
--- /dev/null
+++ b/tests/99misc/39
@@ -0,0 +1,12 @@
+T=d ld mf
+V=x,y,z
+R=-1.3, 1.3, .15
+
+# This function is too hard for 'float' accuracy
+
+F=sin(x+cos(y*1.5))-cos(x+sin(y*1.5))+z*z*z*sin(z*z*z-x*x-y*y)- \
+ cos(y*1.5)*sin(x+cos(y*1.5))+x*y*z+x*y*2.5+x*y*z*cos(x)+x*y*cos(x)+x*z*cos(x)+ \
+ y*z*2.5+(x*y*z*cos(x)-x*y*z-y*cos(x)-x*z*y+x*y+x*z-cos(x)*x)
+C=fp_sin(x+fp_cos(y*1.5))-fp_cos(x+fp_sin(y*1.5))+z*z*z*fp_sin(z*z*z-x*x-y*y)- \
+ fp_cos(y*1.5)*fp_sin(x+fp_cos(y*1.5))+x*y*z+x*y*2.5+x*y*z*fp_cos(x)+x*y*fp_cos(x)+x*z*fp_cos(x)+ \
+ y*z*2.5+(x*y*z*fp_cos(x)-x*y*z-y*fp_cos(x)-x*z*y+x*y+x*z-fp_cos(x)*x)
diff --git a/tests/99misc/4 b/tests/99misc/4
new file mode 100644
index 0000000..5a87782
--- /dev/null
+++ b/tests/99misc/4
@@ -0,0 +1,5 @@
+T=d f ld mf
+V=x,y
+R=-10,10,.5
+F= ( ((( ( x-y) -( ((y) *2) -3)) )* 4))+sin(x)*cos(y)-cos(x)*sin(y)
+C=( ((( ( x-y) -( ((y) *2) -3)) )* 4))+fp_sin(x)*fp_cos(y)-fp_cos(x)*fp_sin(y)
diff --git a/tests/99misc/40 b/tests/99misc/40
new file mode 100644
index 0000000..3dcb6ea
--- /dev/null
+++ b/tests/99misc/40
@@ -0,0 +1,16 @@
+T=d ld mf
+V=x,y,z
+R=-1.3,1.3,.075
+
+# This function is too hard for 'float' accuracy
+
+F=(x+x+x+x+x+x+x+x+x+x+x+y+z+y+z+y+z+y+z+y+z+y+z+y+z+y+z+y+z)* \
+ (x+x+x+x+x+x+x+x+x+x+x+y+z+y+z+y+z+y+z+y+z+y+z+y+z+y+z+y+z)+ \
+ 2*(x+x+x+x+x+x+x+x+x+x+x+y+z+y+z+y+z+y+z+y+z+y+z+y+z+y+z+y+z)- \
+ x*y*(x+x+x+x+x+x+x+x+x+x+x+y+z+y+z+y+z+y+z+y+z+y+z+y+z+y+z+y+z)+ \
+ x*(x+x+x+x+x+x+x+x+x+x+x+y+z+y+z+y+z+y+z+y+z+y+z+y+z+y+z+y+z)
+C=(x+x+x+x+x+x+x+x+x+x+x+y+z+y+z+y+z+y+z+y+z+y+z+y+z+y+z+y+z)* \
+ (x+x+x+x+x+x+x+x+x+x+x+y+z+y+z+y+z+y+z+y+z+y+z+y+z+y+z+y+z)+ \
+ 2*(x+x+x+x+x+x+x+x+x+x+x+y+z+y+z+y+z+y+z+y+z+y+z+y+z+y+z+y+z)- \
+ x*y*(x+x+x+x+x+x+x+x+x+x+x+y+z+y+z+y+z+y+z+y+z+y+z+y+z+y+z+y+z)+ \
+ x*(x+x+x+x+x+x+x+x+x+x+x+y+z+y+z+y+z+y+z+y+z+y+z+y+z+y+z+y+z)
diff --git a/tests/99misc/41 b/tests/99misc/41
new file mode 100644
index 0000000..16e06c8
--- /dev/null
+++ b/tests/99misc/41
@@ -0,0 +1,16 @@
+T=d ld mf
+V=x,y,z
+R=-2, 2, .15
+
+# This function is too complex for "float" accuracy
+
+F=x*3+x*y+x*z+x*sin(y*z) - \
+ (sin(x)+cos(y))*4 + \
+ (sin(x)+cos(y))*x + \
+ (sin(x)+cos(y))*y + \
+ (sin(x)+cos(y))*z
+C=x*3+x*y+x*z+x*fp_sin(y*z) - \
+ (fp_sin(x)+fp_cos(y))*4 + \
+ (fp_sin(x)+fp_cos(y))*x + \
+ (fp_sin(x)+fp_cos(y))*y + \
+ (fp_sin(x)+fp_cos(y))*z
diff --git a/tests/99misc/43 b/tests/99misc/43
new file mode 100644
index 0000000..321c2c2
--- /dev/null
+++ b/tests/99misc/43
@@ -0,0 +1,8 @@
+T=d ld mf
+V=x
+R=-100,100,.03
+
+# This function is too complex for "float" accuracy
+
+F=log(x*x)+abs(exp(abs(x)+1))
+C=fp_log(x*x)+fp_abs(fp_exp(fp_abs(x)+1))
diff --git a/tests/99misc/44 b/tests/99misc/44
new file mode 100644
index 0000000..74c774b
--- /dev/null
+++ b/tests/99misc/44
@@ -0,0 +1,21 @@
+T=d f ld mf
+V=x
+R=0,100,.125
+F=(x^2)^(1/8) + \
+ 1.1*(x^3)^(1/7) + \
+ 1.2*(x^4)^(1/6) + \
+ 1.3*(x^5)^(1/5) + \
+ 1.4*(x^6)^(1/6) + \
+ 1.5*(x^7)^(1/4) + \
+ 1.6*(x^8)^(1/3) + \
+ 1.7*(x^9)^(1/2) + \
+ 1.8*(sqrt(abs(-sqrt(x))^3))
+C=fp_pow(x*x, 1/8) + \
+ 1.1*fp_pow(x*x*x, 1/7) + \
+ 1.2*fp_pow(x*x*x*x, 1/6) + \
+ 1.3*fp_pow(x*x*x*x*x, 1/5) + \
+ 1.4*fp_pow(x*x*x*x*x*x, 1/6) + \
+ 1.5*fp_pow(x*x*x*x*x*x*x, 1/4) + \
+ 1.6*fp_pow(x*x*x*x*x*x*x*x, 1/3) + \
+ 1.7*fp_pow(x*x*x*x*x*x*x*x*x, 1/2) + \
+ 1.8*(fp_sqrt(fp_pow(fp_abs(-fp_sqrt(x)), 3)))
diff --git a/tests/99misc/45 b/tests/99misc/45
new file mode 100644
index 0000000..8e15094
--- /dev/null
+++ b/tests/99misc/45
@@ -0,0 +1,5 @@
+T=d f ld mf
+V=x
+R=-10,10,.025
+F=(x^2)^(1/7) + 1.1*(x^4)^(1/5) + 1.2*(x^6)^(1/3)
+C=fp_pow(x*x, 1/7) + 1.1*fp_pow(x*x*x*x, 1/5) + 1.2*fp_pow(x*x*x*x*x*x, 1/3)
diff --git a/tests/99misc/46 b/tests/99misc/46
new file mode 100644
index 0000000..467e50a
--- /dev/null
+++ b/tests/99misc/46
@@ -0,0 +1,10 @@
+T=d f ld mf
+V=x,y
+R=-.9, .9, .15
+F=abs(floor(acos(x)+4)) + 1.1*abs(floor(acos(y)+1.5)) + \
+ (acos(x) < (acos(y)-10)) + 1.2*max(-4, acos(x)) + 1.3*min(9, acos(x)-9)
+C=fp_abs(fp_floor(fp_acos(x)+4)) + \
+ 1.1*fp_abs(fp_floor(fp_acos(y)+1.5)) + \
+ fp_less(fp_acos(x), (fp_acos(y)-10)) + \
+ 1.2*fp_max(-4, fp_acos(x)) + \
+ 1.3*fp_min(9, fp_acos(x)-9)
diff --git a/tests/99misc/47 b/tests/99misc/47
new file mode 100644
index 0000000..7d7124a
--- /dev/null
+++ b/tests/99misc/47
@@ -0,0 +1,7 @@
+T=d f ld mf
+V=x,y
+R=-3, 3, .1
+F=1.25*(exp(x)+exp(-x)) + 1.5*(exp(y)-exp(-y)) + \
+ 1.75*((exp(-x)+exp(x))/2) + 2.0*((exp(-x)-exp(x))/2) + 2.25*(cosh(y)+sinh(y))
+C=1.25*(fp_exp(x)+fp_exp(-x)) + 1.5*(fp_exp(y)-fp_exp(-y)) + \
+ 1.75*((fp_exp(-x)+fp_exp(x))/2) + 2.0*((fp_exp(-x)-fp_exp(x))/2) + 2.25*(fp_cosh(y)+fp_sinh(y))
diff --git a/tests/99misc/48 b/tests/99misc/48
new file mode 100644
index 0000000..a283522
--- /dev/null
+++ b/tests/99misc/48
@@ -0,0 +1,6 @@
+T=d f ld mf
+V=x
+R=2, 1e9, 1.2e7
+F=sinh((log(x)/5+1)*5) + 1.2*cosh((log(x)/log(2)+1)*log(2)) + !(x | !(x/4))
+C=fp_sinh((fp_log(x)/5+1)*5) + 1.2*fp_cosh((fp_log(x)/fp_log(2)+1)*fp_log(2)) + \
+ fp_not(fp_or(fp_truth(x), fp_not(x/4)))
diff --git a/tests/99misc/49 b/tests/99misc/49
new file mode 100644
index 0000000..a2dfcb1
--- /dev/null
+++ b/tests/99misc/49
@@ -0,0 +1,5 @@
+T=d f ld mf
+V=x
+R=-100, 100, .05
+F=atan2(0, x) + (-4*(x-100))^3.3
+C=fp_atan2(0, x) + fp_pow(-4*(x-100), 3.3)
diff --git a/tests/99misc/5 b/tests/99misc/5
new file mode 100644
index 0000000..30deb42
--- /dev/null
+++ b/tests/99misc/5
@@ -0,0 +1,5 @@
+T=d f ld mf
+V=__A5_x08,o__5_0AB_
+R=.1,8,.15
+F=__A5_x08^o__5_0AB_
+C=fp_pow(__A5_x08, o__5_0AB_)
diff --git a/tests/99misc/50 b/tests/99misc/50
new file mode 100644
index 0000000..ebe6d9c
--- /dev/null
+++ b/tests/99misc/50
@@ -0,0 +1,23 @@
+T=d f ld mf li gi
+V=x,y
+R=-10, 10, 1
+F=(x<y | y<x) + \
+ 2*(x<y & y<x) + \
+ 4*(x<=y & y<=x) + \
+ 8*(x<y & x!=y) + \
+ 16*(x<y | x!=y) + \
+ 32*(x<=y & x>=y) + \
+ 64*(x<=y | x>=y) + \
+ 128*(x!=y & x=y) + \
+ 256*(x!=y & x!=y) + \
+ 512*(x<=y & x=y)
+C=fp_or(fp_less(x,y), fp_less(y,x)) + \
+ 2*fp_and(fp_less(x,y), fp_less(y,x)) + \
+ 4*fp_and(fp_lessOrEq(x,y), fp_lessOrEq(y,x)) + \
+ 8*fp_and(fp_less(x,y), fp_nequal(x,y)) + \
+ 16*fp_or(fp_less(x,y), fp_nequal(x,y)) + \
+ 32*fp_and(fp_lessOrEq(x,y), fp_greaterOrEq(x,y)) + \
+ 64*fp_or(fp_lessOrEq(x,y), fp_greaterOrEq(x,y)) + \
+ 128*fp_and(fp_nequal(x,y), fp_equal(x,y)) + \
+ 256*fp_and(fp_nequal(x,y), fp_nequal(x,y)) + \
+ 512*fp_and(fp_lessOrEq(x,y), fp_equal(x,y))
diff --git a/tests/99misc/52 b/tests/99misc/52
new file mode 100644
index 0000000..16cc375
--- /dev/null
+++ b/tests/99misc/52
@@ -0,0 +1,9 @@
+T=d f ld mf
+V=x
+R=-10, 10, .5
+F=x + (1.0+2.0+3.0+4.0-5.0-6.0-7.0-8.0)/3.0 + \
+ 4.0*(1.0+sin(2.0)+cos(4.0*5.0+6.0)/2.0) + cos(0.5)*tan(0.6+0.2) - \
+ 1.1/log(2.1)*sqrt(3.3) + 2^3
+C=x + (1.0+2.0+3.0+4.0-5.0-6.0-7.0-8.0)/3.0 + \
+ 4.0*(1.0+fp_sin(2.0)+fp_cos(4.0*5.0+6.0)/2.0) + fp_cos(0.5)*fp_tan(0.6+0.2) - \
+ 1.1/fp_log(2.1)*fp_sqrt(3.3) + fp_pow(2,3)
diff --git a/tests/99misc/53 b/tests/99misc/53
new file mode 100644
index 0000000..b7d7a6f
--- /dev/null
+++ b/tests/99misc/53
@@ -0,0 +1,8 @@
+T=d f ld mf
+V=x,y
+R=0, 10, 0.5
+F=(x&y) + 4*(int(x/10)|int(y/10)) + 8*((-!-!-x)+(!-!-!y)) + 16*(-------x + !!!!!!!y)
+C=fp_and(x,y) + 4*fp_or(fp_int(x/10), fp_int(y/10)) + \
+ 8*((-fp_not(-fp_not(-x)))+ \
+ (fp_not(-fp_not(-fp_not(y))))) \
+ + 16*(-x + fp_not(y))
diff --git a/tests/99misc/54 b/tests/99misc/54
new file mode 100644
index 0000000..588856e
--- /dev/null
+++ b/tests/99misc/54
@@ -0,0 +1,20 @@
+T=d f ld mf
+V=x,y
+R=-10, 100, .5
+F=(x<y)+(x<=y)+(x>y)+(x>=y)+ \
+ (x=y)+(x!=y)+(x&y)+(x|y)+ \
+ (!x)+(!!x)+ \
+ !((x<y)&(x<3))+ \
+ !!(!(x>y)|(x>3))
+C=fp_less(x,y)+\
+ fp_lessOrEq(x,y)+\
+ fp_greater(x,y)+\
+ fp_greaterOrEq(x,y)+ \
+ fp_equal(x,y)+\
+ fp_nequal(x,y)+\
+ fp_and(x,y)+\
+ fp_or(x,y)+ \
+ fp_not(x)+\
+ fp_truth(x)+ \
+ fp_not(fp_and(fp_less(x,y),fp_less(x,3)))+ \
+ fp_or( fp_not(fp_greater(x,y)), fp_greater(x,3))
diff --git a/tests/99misc/55 b/tests/99misc/55
new file mode 100644
index 0000000..21f04f5
--- /dev/null
+++ b/tests/99misc/55
@@ -0,0 +1,9 @@
+T=d f ld mf
+V=x,y
+R=1,100, .5
+F=(x^1.2 < 0) + (y^2.5 < 0) + 2*(x*x<0) + 3*(y^3<0) + 4*(x^4<0)
+C=fp_less(fp_pow(x,1.2), 0) + \
+ fp_less(fp_pow(y,2.5), 0) + \
+ 2*fp_less(x*x, 0) + \
+ 3*fp_less(fp_pow(y,3), 0) + \
+ 4*fp_less(fp_pow(x,4), 0)
diff --git a/tests/99misc/56 b/tests/99misc/56
new file mode 100644
index 0000000..e953ab6
--- /dev/null
+++ b/tests/99misc/56
@@ -0,0 +1,10 @@
+T=d f ld mf
+V=x
+R=.25, 100, .25
+
+# 1.75e21 is an arbitrary value larger than 2^64, which
+# is the limit where repeated runs of the fprem opcode
+# on 387 is required.
+
+F=1.75e21%x
+C=fp_mod(1.75e21, x)
diff --git a/tests/99misc/58 b/tests/99misc/58
new file mode 100644
index 0000000..e8f8b64
--- /dev/null
+++ b/tests/99misc/58
@@ -0,0 +1,15 @@
+# Also test number i4
+
+T=d f ld mf li gi
+V=x,y
+R=-11, 11, 1
+F=(-x < 3) + (x*-1 > 5) + (x*-3 < 10) + (x*-3 < y*7) + \
+ (x*4 < y*7) + (x*6 < y*-3) + (-x < 11) + (5 < -y)
+C=fp_less(-x, 3) + \
+ fp_greater(x*-1, 5) + \
+ fp_less(x*-3, 10) + \
+ fp_less(x*-3, y*7) + \
+ fp_less(x*4, y*7) + \
+ fp_less(x*6, y*-3) + \
+ fp_less(-x, 11) + \
+ fp_less(5, -y)
diff --git a/tests/99misc/59 b/tests/99misc/59
new file mode 100644
index 0000000..f1009f5
--- /dev/null
+++ b/tests/99misc/59
@@ -0,0 +1,11 @@
+T=d f ld mf
+V=x
+R=-3, 3, 0.2
+F=(cos(x) < sin(x)) + \
+ (cos(x)-sin(x)) + \
+ sub(sinh(x)-cosh(x), sinh(x)/cosh(x)) + \
+ sqrt(cos(x)^2+sin(x)^2)
+C=fp_less(fp_cos(x), fp_sin(x)) + \
+ (fp_cos(x) - fp_sin(x)) + \
+ ((fp_sinh(x)-fp_cosh(x)) - (fp_sinh(x)/fp_cosh(x))) + \
+ Value_t(1)
diff --git a/tests/99misc/7 b/tests/99misc/7
new file mode 100644
index 0000000..4a94ab0
--- /dev/null
+++ b/tests/99misc/7
@@ -0,0 +1,5 @@
+T=d f ld mf
+V=x
+R=-10,10,.01
+F=cos(x)*sin(1-x)*(1-cos(x/2)*sin(x*5))
+C=fp_cos(x)*fp_sin(1-x)*(1-fp_cos(x/2)*fp_sin(x*5))
diff --git a/tests/99misc/8 b/tests/99misc/8
new file mode 100644
index 0000000..cce4111
--- /dev/null
+++ b/tests/99misc/8
@@ -0,0 +1,5 @@
+T=d f ld mf
+V=x,y
+R=-8,8,.2
+F=atan2(x,y)+max(x,y)
+C=fp_atan2(x,y) + (x>y ? x : y)
diff --git a/tests/99misc/9 b/tests/99misc/9
new file mode 100644
index 0000000..221b9b5
--- /dev/null
+++ b/tests/99misc/9
@@ -0,0 +1,5 @@
+T=d f ld mf
+V=x,y,z
+R=1,15,.7
+F=1.5+x*y-2+4/8+z+z+z+z+x/(y*z)
+C=1.5+x*y-2.0+4.0/8.0+z+z+z+z+x/(y*z)
diff --git a/tests/99misc/i1 b/tests/99misc/i1
new file mode 100644
index 0000000..68113db
--- /dev/null
+++ b/tests/99misc/i1
@@ -0,0 +1,5 @@
+T=li gi
+V=x,y,z
+R=-8,7,1
+F=1+2+3-4*5*6/3+10/2-9%2 + (x+y - 11*x + z/10 + x/(z+31))
+C=1+2+3-4*5*6/3+10/2-9%2 + (x+y - 11*x + z/10 + x/(z+31))
diff --git a/tests/99misc/i2 b/tests/99misc/i2
new file mode 100644
index 0000000..faa97a7
--- /dev/null
+++ b/tests/99misc/i2
@@ -0,0 +1,7 @@
+T=li gi
+V=x,y,z
+R=-7,7,1
+F=if(abs(x*y) < 20 | x+y > 30 & z > 5, min(x,2*y), max(y,z*2))
+C=((fp_abs(x*y) < 20) \
+ || (((x+y) > 30) \
+ && (z > 5))) ? fp_min(x,2*y) : fp_max(y,z*2)
diff --git a/tests/99misc/i3 b/tests/99misc/i3
new file mode 100644
index 0000000..4893187
--- /dev/null
+++ b/tests/99misc/i3
@@ -0,0 +1,9 @@
+T=li gi
+V=x,y,z
+R=1,7,1
+F=(x+y) + 2*(x-z) + 3*(x*y) + 4*(y/z) + 5*(x%z) + \
+ 6*(x<y) + 7*(x<=z) + 8*(x>2*z) + 9*(y>=3*z) + 10*(x+y!=z) + \
+ 11*(100+x) + 12*(101-y) + 13*(102*z) + 14*(103/x)
+C=(x+y) + 2*(x-z) + 3*(x*y) + 4*(y/z) + 5*fp_mod(x,z) + \
+ 6*(x<y) + 7*(x<=z) + 8*(x>2*z) + 9*(y>=3*z) + 10*(x+y!=z) + \
+ 11*(100+x) + 12*(101-y) + 13*(102*z) + 14*(103/x)