Details

simplify7.6m (31.9%)

rewrite7.0m (29.6%)

Algorithm
171×rewrite-expression-head
Calls

536 calls:

1.2m
(/ (* (* (sqrt (* PI 2.0)) (+ (+ (+ (/ 9.984369578019572e-06 (+ (- z 1.0) 7.0)) 0.9999999999998099) (+ (+ (/ -1259.1392167224028 (+ (- z 1.0) 2.0)) (/ 676.5203681218851 z)) (+ (/ 771.3234287776531 (+ (- z 1.0) 3.0)) (/ -176.6150291621406 (+ (- z 1.0) 4.0))))) (+ (+ (/ 12.507343278686905 (+ (- z 1.0) 5.0)) (/ -0.13857109526572012 (+ (- z 1.0) 6.0))) (/ 1.5056327351493116e-07 (+ (- z 1.0) 8.0))))) (pow (+ (+ (- z 1.0) 7.0) 0.5) (+ (- z 1.0) 0.5))) (exp (+ (+ (- z 1.0) 7.0) 0.5)))
1.1m
(* (* (sqrt (* PI 2.0)) (+ (+ (+ (/ 9.984369578019572e-06 (+ (- z 1.0) 7.0)) 0.9999999999998099) (+ (+ (/ -1259.1392167224028 (+ (- z 1.0) 2.0)) (/ 676.5203681218851 z)) (+ (/ 771.3234287776531 (+ (- z 1.0) 3.0)) (/ -176.6150291621406 (+ (- z 1.0) 4.0))))) (+ (+ (/ 12.507343278686905 (+ (- z 1.0) 5.0)) (/ -0.13857109526572012 (+ (- z 1.0) 6.0))) (/ 1.5056327351493116e-07 (+ (- z 1.0) 8.0))))) (pow (+ (+ (- z 1.0) 7.0) 0.5) (+ (- z 1.0) 0.5)))
47.1s
(* (* (sqrt (* PI 2.0)) (+ (+ (+ (/ 9.984369578019572e-06 (+ (- z 1.0) 7.0)) 0.9999999999998099) (+ (+ (/ -1259.1392167224028 (+ (- z 1.0) 2.0)) (/ 676.5203681218851 z)) (+ (/ 771.3234287776531 (+ (- z 1.0) 3.0)) (/ -176.6150291621406 (+ (- z 1.0) 4.0))))) (+ (+ (/ 12.507343278686905 (+ (- z 1.0) 5.0)) (/ -0.13857109526572012 (+ (- z 1.0) 6.0))) (/ 1.5056327351493116e-07 (+ (- z 1.0) 8.0))))) (/ (pow (+ (+ (- z 1.0) 7.0) 0.5) (+ (- z 1.0) 0.5)) (exp (+ (+ (- z 1.0) 7.0) 0.5))))
46.1s
(* (sqrt (* PI 2.0)) (+ (+ (+ (/ 9.984369578019572e-06 (+ (- z 1.0) 7.0)) 0.9999999999998099) (+ (+ (/ -1259.1392167224028 (+ (- z 1.0) 2.0)) (/ 676.5203681218851 z)) (+ (/ 771.3234287776531 (+ (- z 1.0) 3.0)) (/ -176.6150291621406 (+ (- z 1.0) 4.0))))) (+ (+ (/ 12.507343278686905 (+ (- z 1.0) 5.0)) (/ -0.13857109526572012 (+ (- z 1.0) 6.0))) (/ 1.5056327351493116e-07 (+ (- z 1.0) 8.0)))))
42.1s
(* (sqrt (* PI 2.0)) (+ (+ (+ (/ 9.984369578019572e-06 (+ (- z 1.0) 7.0)) 0.9999999999998099) (+ (+ (/ -1259.1392167224028 (+ (- z 1.0) 2.0)) (/ 676.5203681218851 z)) (+ (/ 771.3234287776531 (+ (- z 1.0) 3.0)) (/ -176.6150291621406 (+ (- z 1.0) 4.0))))) (+ (+ (/ 12.507343278686905 (+ (- z 1.0) 5.0)) (/ -0.13857109526572012 (+ (- z 1.0) 6.0))) (/ 1.5056327351493116e-07 (+ (- z 1.0) 8.0)))))
Rules
16667×times-frac
10648×*-un-lft-identity
10531×add-sqr-sqrt
8522×add-cube-cbrt
5671×add-exp-log
3999×frac-add
2889×add-cbrt-cube
2863×prod-exp
2778×associate-*r*
2678×pow1
2382×flip-+ flip3-+
2017×sqrt-prod
1846×associate-*r/
1485×associate-*l*
1307×div-exp
1186×associate-*l/
1157×frac-times
1114×cbrt-unprod
969×distribute-lft-out
885×div-inv
795×add-log-exp
663×cbrt-div
657×associate-/r/
621×pow-prod-down
587×cbrt-undiv
538×associate-/r*
531×pow-prod-up
527×difference-of-squares
520×associate-/l*
409×unswap-sqr
396×associate-/l/
345×flip3-- swap-sqr flip--
344×sqrt-div
336×pow-exp
320×cbrt-prod
284×pow-plus
277×log-pow
262×sqrt-pow1
260×distribute-lft-out--
254×associate-+l-
247×pow-sub
202×log-prod
181×*-commutative
176×pow-to-exp
166×unpow-prod-down
149×pow-sqr
139×pow1/3
117×distribute-rgt-in distribute-lft-in
109×pow1/2
105×pow2
102×sub-neg
101×exp-prod
93×frac-2neg clear-num
88×1-exp rec-exp
72×sum-log
71×diff-log
65×frac-sub
63×cube-prod
61×rem-sqrt-square
59×exp-sum
51×+-commutative
50×sqr-pow
47×associate--l+
40×cube-unmult
31×div-sub
29×log-div
25×distribute-rgt-neg-in distribute-lft-neg-in
19×associate-+r+
17×rem-log-exp
15×pow-unpow
14×distribute-rgt-out
13×pow3
12×associate--l-
11×exp-diff
10×unpow-prod-up sub-div distribute-rgt1-in
associate--r+ rem-exp-log
associate-+l+ rem-cube-cbrt pow-pow
pow-flip difference-cubes neg-mul-1 inv-pow exp-neg
sin-sum sqrt-undiv neg-sub0 un-div-inv cos-sum rem-cbrt-cube
distribute-lft-neg-out associate-+r- unpow3 exp-to-pow cube-div cube-mult associate--r-
sqrt-unprod distribute-neg-frac rem-square-sqrt
distribute-rgt-out-- log-rec sum-cubes unpow1/3 count-2 unsub-neg

sample4.0m (16.7%)

Algorithm
100×intervals
Results
1.4m16169×body10240exit
56.5s459773×body80valid
31.0s31044×body1280valid
14.5s23726×body640valid
6.7s69248×body80nan
5.7s3116×body1280nan
5.5s11802×body320valid
5.0s2701×body640nan
3.6s10206×body160valid
1.9s49536×pre80true
1.3s1222×body320nan
902.0ms1531×body2560valid
390.0ms597×body5120valid
363.0ms698×body160nan

prune2.9m (12.4%)

series1.7m (7.2%)

Calls

536 calls:

7.2s
(- (* 1.0 1.0) (* (* (/ (+ 0.254829592 (* (/ 1.0 (+ 1.0 (* 0.3275911 (fabs x)))) (+ -0.284496736 (* (/ 1.0 (+ 1.0 (* 0.3275911 (fabs x)))) (+ 1.421413741 (* (/ 1.0 (+ 1.0 (* 0.3275911 (fabs x)))) (+ -1.453152027 (* (* (/ 1.0 (- (* 1.0 1.0) (* (* 0.3275911 (fabs x)) (* 0.3275911 (fabs x))))) (- 1.0 (* 0.3275911 (fabs x)))) 1.061405429)))))))) (exp (* (fabs x) (fabs x)))) (/ 1.0 (+ 1.0 (* 0.3275911 (fabs x))))) (* (/ (+ 0.254829592 (* (/ 1.0 (+ 1.0 (* 0.3275911 (fabs x)))) (+ -0.284496736 (* (/ 1.0 (+ 1.0 (* 0.3275911 (fabs x)))) (+ 1.421413741 (* (/ 1.0 (+ 1.0 (* 0.3275911 (fabs x)))) (+ -1.453152027 (* (* (/ 1.0 (- (* 1.0 1.0) (* (* 0.3275911 (fabs x)) (* 0.3275911 (fabs x))))) (- 1.0 (* 0.3275911 (fabs x)))) 1.061405429)))))))) (exp (* (fabs x) (fabs x)))) (/ 1.0 (+ 1.0 (* 0.3275911 (fabs x)))))))
3.5s
(* (/ (/ (* i (+ (+ alpha beta) i)) (+ (+ alpha beta) (* 2.0 i))) (+ (+ (+ alpha beta) (* 2.0 i)) (sqrt 1.0))) (/ (/ (+ (* beta alpha) (* i (+ (+ alpha beta) i))) (+ (+ alpha beta) (* 2.0 i))) (- (+ (+ alpha beta) (* 2.0 i)) (sqrt 1.0))))
3.3s
(* (/ (/ (* i (+ (+ alpha beta) i)) (+ (+ alpha beta) (* 2.0 i))) (+ (+ (+ alpha beta) (* 2.0 i)) (sqrt 1.0))) (sqrt (/ (/ (+ (* beta alpha) (* i (+ (+ alpha beta) i))) (+ (+ alpha beta) (* 2.0 i))) (- (+ (+ alpha beta) (* 2.0 i)) (sqrt 1.0)))))
1.6s
(- 1.0 (* (/ (+ 0.254829592 (* (/ 1.0 (+ 1.0 (* 0.3275911 (fabs x)))) (+ -0.284496736 (* (/ 1.0 (+ 1.0 (* 0.3275911 (fabs x)))) (+ 1.421413741 (* (/ 1.0 (+ 1.0 (* 0.3275911 (fabs x)))) (+ -1.453152027 (* (* (/ 1.0 (- (* 1.0 1.0) (* (* 0.3275911 (fabs x)) (* 0.3275911 (fabs x))))) (- 1.0 (* 0.3275911 (fabs x)))) 1.061405429)))))))) (exp (* (fabs x) (fabs x)))) (/ 1.0 (+ 1.0 (* 0.3275911 (fabs x))))))
1.5s
(/ (* (* (* (/ 1.0 6.0) (pow (* -2.0 (log u1)) 0.5)) (cos (* (* 2.0 PI) u2))) (* (* (/ 1.0 6.0) (pow (* -2.0 (log u1)) 0.5)) (cos (* (* 2.0 PI) u2)))) (- (* (* (/ 1.0 6.0) (pow (* -2.0 (log u1)) 0.5)) (cos (* (* 2.0 PI) u2))) 0.5))

regimes16.5s (1.2%)

Accuracy

Total 99.6b remaining (36%)

Threshold costs 4.1b (1.5%)

12.9b54%math.sqrt on complex, imaginary part, im greater than 0 branch
12.8b56.5%math.sqrt on complex, real part
10.8b56.1%math.log/2 on complex, real part
10.1b58.9%math.log10 on complex, real part
9.9b59.4%math.log/1 on complex, real part

localize11.2s (0.8%)

bsearch2.7s (0.2%)

end1.0ms (0.0%)