Details

simplify8.6m (40.3%)

rewrite5.1m (23.9%)

Algorithm
152×rewrite-expression-head
Calls

462 calls:

1.6m
(* (/ (* (pow (+ (+ (- z 1.0) 7.0) 0.5) (+ (- z 1.0) 0.5)) (sqrt (* PI 2.0))) (exp (+ (+ (- z 1.0) 7.0) 0.5))) (+ (+ (+ (/ 9.984369578019572e-06 (+ (- z 1.0) 7.0)) (/ 1.5056327351493116e-07 (+ (- z 1.0) 8.0))) (/ 12.507343278686905 (+ (- z 1.0) 5.0))) (+ (/ -176.6150291621406 (+ (- z 1.0) 4.0)) (+ (+ (/ -0.13857109526572012 (+ (- z 1.0) 6.0)) (/ 771.3234287776531 (+ (- z 1.0) 3.0))) (+ (/ 676.5203681218851 z) (+ (/ -1259.1392167224028 (+ (- z 1.0) 2.0)) 0.9999999999998099))))))
1.1m
(* (exp (- (- 1.0 7.0) 0.5)) (+ (+ (+ (/ 9.984369578019572e-06 (+ (- z 1.0) 7.0)) (/ 1.5056327351493116e-07 (+ (- z 1.0) 8.0))) (/ 12.507343278686905 (+ (- z 1.0) 5.0))) (+ (/ -176.6150291621406 (+ (- z 1.0) 4.0)) (+ (+ (/ -0.13857109526572012 (+ (- z 1.0) 6.0)) (/ 771.3234287776531 (+ (- z 1.0) 3.0))) (+ (/ 676.5203681218851 z) (+ (/ -1259.1392167224028 (+ (- z 1.0) 2.0)) 0.9999999999998099))))))
44.4s
(* (/ (* (pow (+ (+ (- z 1.0) 7.0) 0.5) (+ (- z 1.0) 0.5)) (sqrt (* PI 2.0))) (exp z)) (* (exp (- (- 1.0 7.0) 0.5)) (+ (+ (+ (/ 9.984369578019572e-06 (+ (- z 1.0) 7.0)) (/ 1.5056327351493116e-07 (+ (- z 1.0) 8.0))) (/ 12.507343278686905 (+ (- z 1.0) 5.0))) (+ (/ -176.6150291621406 (+ (- z 1.0) 4.0)) (+ (+ (/ -0.13857109526572012 (+ (- z 1.0) 6.0)) (/ 771.3234287776531 (+ (- z 1.0) 3.0))) (+ (/ 676.5203681218851 z) (+ (/ -1259.1392167224028 (+ (- z 1.0) 2.0)) 0.9999999999998099)))))))
25.4s
(+ (/ -1259.1392167224028 (+ (- z) 2.0)) (+ (+ (+ (+ 0.9999999999998099 (/ 676.5203681218851 (- 1.0 z))) (/ -176.6150291621406 (+ 4.0 (- z)))) (/ 771.3234287776531 (+ 3.0 (- z)))) (+ (/ 12.507343278686905 (+ 5.0 (- z))) (+ (/ 1.5056327351493116e-07 (+ 8.0 (- z))) (+ (/ 9.984369578019572e-06 (+ (- z) 7.0)) (/ -0.13857109526572012 (+ 6.0 (- z))))))))
25.0s
(* (/ (+ (+ (+ (+ (+ 1.0 (* 0.1049934947 (* x x))) (* 0.0424060604 (* (* x x) (* x x)))) (* 0.0072644182 (* (* (* x x) (* x x)) (* x x)))) (* 0.0005064034 (* (* (* (* x x) (* x x)) (* x x)) (* x x)))) (* 0.0001789971 (* (* (* (* (* x x) (* x x)) (* x x)) (* x x)) (* x x)))) (+ (+ (+ (+ (+ (+ 1.0 (* 0.7715471019 (* x x))) (* 0.2909738639 (* (* x x) (* x x)))) (* 0.0694555761 (* (* (* x x) (* x x)) (* x x)))) (* 0.0140005442 (* (* (* (* x x) (* x x)) (* x x)) (* x x)))) (* 0.0008327945 (* (* (* (* (* x x) (* x x)) (* x x)) (* x x)) (* x x)))) (* (* 2.0 0.0001789971) (* (* (* (* (* (* x x) (* x x)) (* x x)) (* x x)) (* x x)) (* x x))))) x)
Rules
11099×times-frac
10279×*-un-lft-identity
8434×add-sqr-sqrt
6432×add-cube-cbrt
3516×sqrt-prod
2803×frac-add
2485×add-exp-log
1971×add-cbrt-cube
1535×distribute-lft-out
1472×pow1
1103×flip-+ flip3-+
1020×associate-*r*
923×prod-exp
897×prod-diff
871×associate-*l*
855×associate-/l*
701×associate-*r/
699×add-log-exp
674×cbrt-unprod
661×frac-times
559×difference-of-squares
551×distribute-lft-out--
522×div-exp
520×associate-/r*
482×unpow-prod-down
465×log1p-expm1-u
463×expm1-log1p-u
436×cbrt-prod
407×pow-prod-down
402×div-inv
385×cbrt-undiv
359×unswap-sqr
320×cube-prod
258×associate-/r/
257×exp-diff
218×cbrt-div
210×log-pow
200×sqrt-div associate-*l/
188×distribute-rgt-in distribute-lft-in
167×fma-def
145×sqr-pow fma-neg
138×pow1/3
129×pow-exp
122×*-commutative
119×sum-log
111×exp-sum
107×pow-prod-up
103×flip-- flip3--
99×frac-2neg clear-num
95×pow-to-exp
88×associate-/l/
87×sqrt-pow1
81×pow-unpow
79×log-prod
68×fma-udef associate--l+
63×swap-sqr
60×pow1/2
57×pow-plus pow-sqr
54×sub-neg
53×unpow3 cube-mult
52×1-exp rec-exp
45×pow-pow
39×diff-log
36×distribute-rgt-neg-in
32×pow2
26×associate-+l+
24×+-commutative
21×cube-div rem-sqrt-square
20×frac-sub unpow2
19×rem-cube-cbrt
17×div-sub
16×distribute-lft-neg-in
14×associate-+l-
11×hypot-udef associate--r+
10×exp-prod pow-flip
un-div-inv
inv-pow
pow-sub
sub-div cos-sum
pow3 unpow-prod-up expm1-log1p hypot-def expm1-udef rem-log-exp
log1p-udef associate--l- sqrt-unprod log1p-expm1 neg-mul-1 log-div
sqrt-undiv sqrt-pow2 associate-+r+ rem-cbrt-cube
sin-sum rem-square-sqrt
rem-exp-log distribute-rgt-out-- distribute-rgt-out associate--r- sum-cubes

sample3.9m (18.1%)

Algorithm
99×intervals
Results
1.3m15544×body10240exit
49.6s437767×body80valid
31.5s30263×body1280valid
15.7s23358×body640valid
7.2s69959×body80nan
6.9s3043×body1280nan
4.8s12027×body320valid
3.9s2442×body640nan
3.5s9993×body160valid
2.0s49536×pre80true
1.3s1320×body320nan
1.3s1468×body2560valid
375.0ms569×body5120valid
329.0ms630×body160nan

prune1.9m (8.9%)

series1.6m (7.6%)

Calls

462 calls:

2.3s
(fma -1259.1392167224028 (* (fma (/ 12.507343278686905 (- 5.0 z)) (/ 12.507343278686905 (- 5.0 z)) (* (+ (+ (/ 1.5056327351493116e-07 (- 8.0 z)) (/ 9.984369578019572e-06 (+ (- z) 7.0))) (/ -0.13857109526572012 (- 6.0 z))) (- (+ (+ (/ 1.5056327351493116e-07 (- 8.0 z)) (/ 9.984369578019572e-06 (+ (- z) 7.0))) (/ -0.13857109526572012 (- 6.0 z))) (/ 12.507343278686905 (- 5.0 z))))) (* (- 3.0 z) (- (+ 0.9999999999998099 (/ 676.5203681218851 (- 1.0 z))) (/ -176.6150291621406 (- 4.0 z))))) (* (fma (fma (- (* (+ 0.9999999999998099 (/ 676.5203681218851 (- 1.0 z))) (+ 0.9999999999998099 (/ 676.5203681218851 (- 1.0 z)))) (* (/ -176.6150291621406 (- 4.0 z)) (/ -176.6150291621406 (- 4.0 z)))) (- 3.0 z) (* (- (+ 0.9999999999998099 (/ 676.5203681218851 (- 1.0 z))) (/ -176.6150291621406 (- 4.0 z))) 771.3234287776531)) (fma (/ 12.507343278686905 (- 5.0 z)) (/ 12.507343278686905 (- 5.0 z)) (* (+ (+ (/ 1.5056327351493116e-07 (- 8.0 z)) (/ 9.984369578019572e-06 (+ (- z) 7.0))) (/ -0.13857109526572012 (- 6.0 z))) (- (+ (+ (/ 1.5056327351493116e-07 (- 8.0 z)) (/ 9.984369578019572e-06 (+ (- z) 7.0))) (/ -0.13857109526572012 (- 6.0 z))) (/ 12.507343278686905 (- 5.0 z))))) (* (* (- 3.0 z) (- (+ 0.9999999999998099 (/ 676.5203681218851 (- 1.0 z))) (/ -176.6150291621406 (- 4.0 z)))) (+ (pow (+ (+ (/ 1.5056327351493116e-07 (- 8.0 z)) (/ 9.984369578019572e-06 (+ (- z) 7.0))) (/ -0.13857109526572012 (- 6.0 z))) 3) (pow (/ 12.507343278686905 (- 5.0 z)) 3)))) (+ (- z) 2.0)))
2.3s
(expm1 (log1p (fma (- 2.0 z) (fma (fma (- (* (+ 0.9999999999998099 (/ 676.5203681218851 (- 1.0 z))) (+ 0.9999999999998099 (/ 676.5203681218851 (- 1.0 z)))) (* (/ -176.6150291621406 (- 4.0 z)) (/ -176.6150291621406 (- 4.0 z)))) (- 3.0 z) (* (- (+ 0.9999999999998099 (/ 676.5203681218851 (- 1.0 z))) (/ -176.6150291621406 (- 4.0 z))) 771.3234287776531)) (fma (+ (/ 9.984369578019572e-06 (- 7.0 z)) (+ (/ 1.5056327351493116e-07 (- 8.0 z)) (- (/ -0.13857109526572012 (- 6.0 z)) (/ 12.507343278686905 (- 5.0 z))))) (+ (+ (/ -0.13857109526572012 (- 6.0 z)) (/ 1.5056327351493116e-07 (- 8.0 z))) (/ 9.984369578019572e-06 (- 7.0 z))) (pow (/ 12.507343278686905 (- 5.0 z)) 2)) (* (+ (pow (/ 12.507343278686905 (- 5.0 z)) 3) (pow (+ (+ (/ -0.13857109526572012 (- 6.0 z)) (/ 1.5056327351493116e-07 (- 8.0 z))) (/ 9.984369578019572e-06 (- 7.0 z))) 3)) (* (- 3.0 z) (- (+ 0.9999999999998099 (/ 676.5203681218851 (- 1.0 z))) (/ -176.6150291621406 (- 4.0 z)))))) (* (fma (+ (/ 9.984369578019572e-06 (- 7.0 z)) (+ (/ 1.5056327351493116e-07 (- 8.0 z)) (- (/ -0.13857109526572012 (- 6.0 z)) (/ 12.507343278686905 (- 5.0 z))))) (+ (+ (/ -0.13857109526572012 (- 6.0 z)) (/ 1.5056327351493116e-07 (- 8.0 z))) (/ 9.984369578019572e-06 (- 7.0 z))) (pow (/ 12.507343278686905 (- 5.0 z)) 2)) (* (* (- 3.0 z) (- (+ 0.9999999999998099 (/ 676.5203681218851 (- 1.0 z))) (/ -176.6150291621406 (- 4.0 z)))) -1259.1392167224028)))))
1.6s
(cbrt (- (fma (exp (- (pow (fabs x) 2))) (+ (/ 0.284496736 (pow (fma (fabs x) 0.3275911 1.0) 2)) (/ 1.453152027 (pow (fma (fabs x) 0.3275911 1.0) 4))) 1.0) (fma (exp (- (pow (fabs x) 2))) (+ (/ 1.061405429 (pow (fma (fabs x) 0.3275911 1.0) 5)) (/ 0.254829592 (fma 0.3275911 (fabs x) 1.0))) (/ 1.421413741 (* (exp (pow (fabs x) 2)) (pow (fma (fabs x) 0.3275911 1.0) 3))))))
1.4s
(pow (* (pow (log u1) 1.0) (pow -2.0 1.0)) 0.5)
1.4s
(* (* (* (pow (+ (+ (- z 1.0) 7.0) 0.5) (+ (- z 1.0) 0.5)) (sqrt (* PI 2.0))) (exp (- (- 1.0 7.0) 0.5))) (fma (+ (pow (+ (/ 9.984369578019572e-06 (+ (- z 1.0) 7.0)) (/ 1.5056327351493116e-07 (+ (- z 1.0) 8.0))) 3) (pow (/ 12.507343278686905 (+ (- z 1.0) 5.0)) 3)) (* (* (+ (- z 1.0) 4.0) (* (+ (- z 1.0) 6.0) (+ (- z 1.0) 3.0))) (* z (fma (/ -1259.1392167224028 (+ (- z 1.0) 2.0)) (/ -1259.1392167224028 (+ (- z 1.0) 2.0)) (* 0.9999999999998099 (- 0.9999999999998099 (/ -1259.1392167224028 (+ (- z 1.0) 2.0))))))) (* (fma (+ (/ 9.984369578019572e-06 (+ (- z 1.0) 7.0)) (/ 1.5056327351493116e-07 (+ (- z 1.0) 8.0))) (+ (/ 9.984369578019572e-06 (+ (- z 1.0) 7.0)) (/ 1.5056327351493116e-07 (+ (- z 1.0) 8.0))) (* (/ 12.507343278686905 (+ (- z 1.0) 5.0)) (- (/ 12.507343278686905 (+ (- z 1.0) 5.0)) (+ (/ 9.984369578019572e-06 (+ (- z 1.0) 7.0)) (/ 1.5056327351493116e-07 (+ (- z 1.0) 8.0)))))) (fma -176.6150291621406 (* (* (+ (- z 1.0) 6.0) (+ (- z 1.0) 3.0)) (* z (fma (/ -1259.1392167224028 (+ (- z 1.0) 2.0)) (/ -1259.1392167224028 (+ (- z 1.0) 2.0)) (* 0.9999999999998099 (- 0.9999999999998099 (/ -1259.1392167224028 (+ (- z 1.0) 2.0))))))) (* (+ (- z 1.0) 4.0) (fma (fma -0.13857109526572012 (+ (- z 1.0) 3.0) (* (+ (- z 1.0) 6.0) 771.3234287776531)) (* z (fma (/ -1259.1392167224028 (+ (- z 1.0) 2.0)) (/ -1259.1392167224028 (+ (- z 1.0) 2.0)) (* 0.9999999999998099 (- 0.9999999999998099 (/ -1259.1392167224028 (+ (- z 1.0) 2.0)))))) (* (* (+ (- z 1.0) 6.0) (+ (- z 1.0) 3.0)) (fma 676.5203681218851 (fma (/ -1259.1392167224028 (+ (- z 1.0) 2.0)) (/ -1259.1392167224028 (+ (- z 1.0) 2.0)) (* 0.9999999999998099 (- 0.9999999999998099 (/ -1259.1392167224028 (+ (- z 1.0) 2.0))))) (* z (+ (pow (/ -1259.1392167224028 (+ (- z 1.0) 2.0)) 3) (pow 0.9999999999998099 3)))))))))))

regimes7.8s (0.6%)

Accuracy

Total 26.3b remaining (19.6%)

Threshold costs 7.7b (5.7%)

7.0b35.7%_divideComplex, real part
3.7b72.8%Octave 3.8, jcobi/1
2.8b0%Octave 3.8, jcobi/3
2.6b33.4%Octave 3.8, jcobi/4
1.3b41.4%math.sqrt on complex, real part

localize5.2s (0.4%)

bsearch1.6s (0.1%)

end1.0ms (0.0%)