Details

rewrite10.9m (70.0%)

Algorithm
158×rewrite-expression-head
Calls

481 calls:

8.8s
(* (/ 1.0 21.0) (* (* (* (* (* (* (fabs x) (fabs x)) (fabs x)) (fabs x)) (fabs x)) (fabs x)) (fabs x)))
3.0s
(* (/ 1 (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)))))) (/ x (exp (log (/ (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)))))))))
3.0s
(* (/ 1 (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)))))) (/ x (/ (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)))))))
1.8s
(/ (/ 1 (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)))))) (* (cbrt (/ (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)))))) (cbrt (/ (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))))))))
1.5s
(/ (+ (+ (* (* 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
8356×times-frac
7546×*-un-lft-identity
6072×add-sqr-sqrt
5623×add-exp-log
4809×add-cube-cbrt
2847×prod-exp
2058×add-cbrt-cube
1993×sqrt-prod
1930×div-exp
1750×associate-*r*
1553×pow1
1266×distribute-lft-out
1208×flip-+ flip3-+
1004×associate-*r/
915×pow-exp
846×associate-/r/
828×associate-*l*
783×add-log-exp
780×frac-add
765×pow-to-exp
721×cbrt-unprod
631×associate-/l*
495×frac-times
461×sqrt-div
448×cbrt-prod
432×pow-prod-down
421×associate-/r*
419×log-prod
401×unpow-prod-down
363×cbrt-undiv
356×div-inv
328×associate-*l/
287×difference-of-squares
259×unswap-sqr
250×cube-prod
244×1-exp
235×distribute-lft-out--
212×cbrt-div
201×log-pow
200×flip3-- flip--
173×associate-/l/
158×sqr-pow
153×exp-sum
132×*-commutative
125×distribute-rgt-in distribute-lft-in
123×swap-sqr
117×sqrt-pow1
97×diff-log
91×sub-neg
87×frac-2neg clear-num
81×pow1/2 pow1/3
74×pow-unpow sum-log
67×rem-sqrt-square
64×unpow3 cube-mult
63×associate-+r+
55×associate-+l+
49×associate--l+
48×pow-prod-up +-commutative exp-prod
39×cube-div
36×pow-sqr log-div
34×rec-exp
32×pow-plus
30×pow-pow
24×rem-cube-cbrt
22×rem-log-exp
21×pow2
20×un-div-inv
17×associate--l-
16×unpow2
15×div-sub
13×exp-diff inv-pow pow-flip
11×rem-exp-log
10×distribute-rgt-out frac-sub associate--r+
sin-sum
distribute-rgt-neg-in distribute-lft-neg-in distribute-neg-in
log-rec
distribute-neg-frac
distribute-lft-neg-out neg-mul-1
cos-sum associate-+r- unpow-prod-up rem-cbrt-cube distribute-rgt-neg-out associate-+l-
distribute-neg-out pow3 pow-sub unsub-neg exp-to-pow
difference-cubes distribute-frac-neg associate--r- sum-cubes

sample1.8m (11.6%)

Algorithm
99×intervals
Results
43.7s11927×body10240exit
23.0s517040×body80valid
10.8s27104×body1280valid
4.9s21470×body640valid
2.4s69203×body80nan
1.7s1583×body1280nan
1.6s10603×body320valid
994.0ms9530×body160valid
935.0ms1343×body640nan
604.0ms49536×pre80true
347.0ms1468×body2560valid
326.0ms654×body320nan
147.0ms593×body5120valid
127.0ms358×body160nan

series1.3m (8.6%)

Calls

478 calls:

19.5s
(- (pow 1.0 3) (/ (pow (* (- (* 0.254829592 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 (* 0.3275911 (fabs x)))) 1.061405429))))))) (* (/ 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 (* 0.3275911 (fabs x)))) 1.061405429))))))))) (/ 1.0 (+ 1.0 (* 0.3275911 (fabs x))))) 3) (pow (* (- 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 (* 0.3275911 (fabs x)))) 1.061405429)))))))) (exp (pow (fabs x) 2))) 3)))
2.9s
(pow (* (+ alpha beta) (/ (/ (- beta alpha) (+ (+ alpha beta) (* 2.0 i))) (+ (+ (+ alpha beta) (* 2.0 i)) 2.0))) 3)
2.8s
(- (pow 1.0 3) (pow (* (/ 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 (* 0.3275911 (fabs x)))) 1.061405429)))))))) (/ 1 (exp (pow (fabs x) 2))))) 3))
1.3s
(* (* (/ 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 (* 0.3275911 (fabs x)))) 1.061405429)))))))) (/ 1 (exp (pow (fabs x) 2))))) (+ (* (/ 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 (* 0.3275911 (fabs x)))) 1.061405429)))))))) (/ 1 (exp (pow (fabs x) 2))))) 1.0))
1.3s
(* (* (/ 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 (* 0.3275911 (fabs x)))) 1.061405429)))))))) (/ 1 (exp (pow (fabs x) 2))))) (+ (* (/ 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 (* 0.3275911 (fabs x)))) 1.061405429)))))))) (/ 1 (exp (pow (fabs x) 2))))) 1.0))

prune1.1m (7.1%)

simplify14.2s (1.5%)

Algorithm
256×egg-herbie

regimes7.0s (0.7%)

Accuracy

Total 98.5b remaining (35.9%)

Threshold costs 4.7b (1.7%)

18.4b45.6%math.sqrt on complex, imaginary part, im greater than 0 branch
10.8b56.1%math.log/2 on complex, real part
10.2b57.8%math.log10 on complex, real part
9.9b58.8%math.log/1 on complex, real part
9.8b58%math.abs on complex

localize2.7s (0.3%)

bsearch2.2s (0.2%)

end1.0ms (0.0%)