Details

rewrite10.4m (67.5%)

Algorithm
159×rewrite-expression-head
Calls

463 calls:

1.7s
(/ (* (+ (+ (* (* (* (/ 1.0 (fabs x)) (/ 1.0 (fabs x))) (/ (pow 1.0 3) (pow (fabs x) 3))) (+ (/ 3.0 4.0) (* (* 1.0 (/ 1.0 (pow (fabs x) 2))) (/ 15.0 8.0)))) (/ 1.0 (/ 2.0 (pow (/ 1.0 (fabs x)) 3)))) (/ 1.0 (fabs x))) 1.0) (/ (sqrt PI) (exp (* (fabs x) (fabs x)))))
1.2s
(/ (sqrt (+ (+ (* (* x (* (pow (* x x) 3) (pow x 3))) (+ 0.0008327945 (* (* x x) (* 2.0 0.0001789971)))) (+ (* (* x x) (+ 0.7715471019 (* 0.2909738639 (* x x)))) 1.0)) (* (pow x 6) (+ 0.0694555761 (* (* x x) 0.0140005442))))) (/ (+ (+ (* (pow (* x x) 4) (+ 0.0005064034 (* (* x x) 0.0001789971))) (+ 1.0 (* 0.1049934947 (* x x)))) (* (pow x 4) (+ 0.0424060604 (* (* x x) 0.0072644182)))) (sqrt (+ (+ (* (* x (* (pow (* x x) 3) (pow x 3))) (+ 0.0008327945 (* (* x x) (* 2.0 0.0001789971)))) (+ (* (* x x) (+ 0.7715471019 (* 0.2909738639 (* x x)))) 1.0)) (* (pow x 6) (+ 0.0694555761 (* (* x x) 0.0140005442)))))))
1.2s
(* (* (sqrt (* PI 2.0)) (pow (+ (+ (- z 1.0) 7.0) 0.5) (+ (- z 1.0) 0.5))) (exp (- (+ (+ (- z 1.0) 7.0) 0.5))))
938.0ms
(* (/ x (+ (+ (* (* x (* (pow (* x x) 3) (pow x 3))) (+ 0.0008327945 (* (* x x) (* 2.0 0.0001789971)))) (+ (* (* x x) (+ 0.7715471019 (* 0.2909738639 (* x x)))) 1.0)) (* (pow x 6) (+ 0.0694555761 (* (* x x) 0.0140005442))))) (+ (+ (* (pow (* x x) 4) (+ 0.0005064034 (* (* x x) 0.0001789971))) (+ 1.0 (* 0.1049934947 (* x x)))) (* (pow x 4) (+ 0.0424060604 (* (* x x) 0.0072644182)))))
858.0ms
(/ (+ (+ (* (* x (* (pow (* x x) 3) (pow x 3))) (+ 0.0008327945 (* (* x x) (* 2.0 0.0001789971)))) (+ (* (* x x) (+ 0.7715471019 (* 0.2909738639 (* x x)))) 1.0)) (* (pow x 6) (+ 0.0694555761 (* (* x x) 0.0140005442)))) (+ (+ (* (pow (* x x) 4) (+ 0.0005064034 (* (* x x) 0.0001789971))) (+ 1.0 (* 0.1049934947 (* x x)))) (* (pow x 4) (+ 0.0424060604 (* (* x x) 0.0072644182)))))
Rules
22076×times-frac
18561×*-un-lft-identity
10766×add-sqr-sqrt
9591×add-cube-cbrt
6598×sqrt-prod
4868×distribute-lft-out
2172×add-exp-log
1868×add-cbrt-cube
1638×flip-+ flip3-+
1574×pow1
1515×associate-/r/
1259×associate-*r*
1208×associate-*r/
1080×associate-*l*
1065×associate-/l*
992×frac-add
723×add-log-exp
683×prod-exp
650×div-inv
597×sqrt-div
584×frac-times
555×cbrt-unprod
490×associate-/r*
457×div-exp
417×cbrt-div
381×pow-prod-down
380×associate-*l/
375×cbrt-undiv
306×cbrt-prod
304×log-pow
286×difference-of-squares
270×unswap-sqr
265×flip3-- flip--
263×distribute-lft-out--
252×associate-/l/
227×unpow-prod-down
194×swap-sqr
185×sqrt-pow1
154×*-commutative
140×pow1/3
132×pow1/2 cube-prod
128×distribute-rgt-in distribute-lft-in
117×log-prod
100×pow-prod-up
97×sqr-pow
89×frac-2neg clear-num
75×diff-log
74×sum-log
73×sub-neg
67×rem-sqrt-square div-sub
66×pow-exp
63×log-div
60×distribute-neg-frac
58×cube-div
57×pow-sqr
53×pow-plus associate--l+
51×un-div-inv
48×pow-to-exp
43×exp-prod
38×1-exp rec-exp
36×pow-unpow
34×+-commutative
33×pow2
30×pow-pow
25×exp-sum
16×unpow3 cube-mult
13×associate-+r+
12×rem-cube-cbrt distribute-lft-neg-in frac-sub distribute-rgt-neg-in
11×exp-diff associate--l-
inv-pow sin-sum associate-+l+ pow-flip
distribute-neg-in associate--r+ rem-log-exp
rem-exp-log associate-+l-
sqrt-unprod pow3
pow-sub rem-square-sqrt neg-mul-1
exp-neg distribute-rgt-neg-out
difference-cubes sqrt-pow2 neg-sub0 rem-cbrt-cube exp-to-pow
cos-sum sqrt-undiv sum-cubes unpow-prod-up associate--r-

sample1.7m (11.0%)

Algorithm
99×intervals
Results
44.2s12192×body10240exit
18.4s448145×body80valid
11.3s27204×body1280valid
5.3s21595×body640valid
2.6s69241×body80nan
1.7s1661×body1280nan
1.7s10664×body320valid
975.0ms1378×body640nan
967.0ms9265×body160valid
660.0ms49536×pre80true
356.0ms702×body320nan
349.0ms1482×body2560valid
151.0ms633×body5120valid
101.0ms302×body160nan

series1.6m (10.6%)

Calls

461 calls:

31.1s
(- (pow 1.0 3) (pow (* (* (/ 1.0 (+ 1.0 (* 0.3275911 (fabs x)))) (+ 0.254829592 (* (/ 1.0 (- (* 1.0 1.0) (* (* 0.3275911 (fabs x)) (* 0.3275911 (fabs x))))) (* (- 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 (* 0.3275911 (fabs x)))) 1.061405429)))))))))) (exp (- (* (fabs x) (fabs x))))) 3))
4.1s
(+ (pow (* (+ alpha beta) (/ (/ (- beta alpha) (+ (+ alpha beta) (* 2.0 i))) (+ (+ (+ alpha beta) (* 2.0 i)) 2.0))) 3) (pow 1.0 3))
2.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)))
2.3s
(/ (* (/ (/ (* 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)))
2.3s
(* (/ (/ (* 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))))

prune1.2m (7.9%)

simplify16.1s (1.7%)

Algorithm
257×egg-herbie

regimes6.6s (0.7%)

Accuracy

Total 92.2b remaining (32.1%)

Threshold costs 2.3b (0.8%)

11.0b55.9%math.log/2 on complex, real part
10.8b56.3%math.log10 on complex, real part
10.6b57.1%math.log/1 on complex, real part
10.5b56.3%math.abs on complex
10.3b52.8%math.sqrt on complex, imaginary part, im greater than 0 branch

localize2.5s (0.3%)

bsearch2.2s (0.2%)

end1.0ms (0.0%)