Details

rewrite11.1m (45.1%)

Algorithm
151×rewrite-expression-head
Calls

442 calls:

13.2s
(* (cbrt (pow (/ (+ (+ (+ (+ (+ 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))))) 3)) x)
6.9s
(* (/ (+ (+ (+ (+ (+ 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)
4.1s
(/ (+ (+ (+ (+ (+ 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)))))
4.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)))))
3.3s
(cbrt (pow (/ (+ (+ (+ (+ (+ 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))))) 3))
Rules
453067×times-frac
281624×*-un-lft-identity
154633×sqrt-prod
153912×add-sqr-sqrt
152721×add-cube-cbrt
72337×distribute-lft-out
20814×associate-/r/
11172×div-inv
9865×flip-+ flip3-+
3117×prod-diff
2444×add-exp-log
2442×unpow-prod-down
2287×cube-prod
1748×add-cbrt-cube
1579×pow1
1409×associate-/r*
814×associate-*l*
771×prod-exp
740×cbrt-prod
709×div-exp
700×associate-*r*
684×associate-/l*
614×add-log-exp
484×cbrt-unprod
440×log1p-expm1-u expm1-log1p-u
406×sqr-pow
388×cbrt-undiv
363×pow-prod-down
343×sqrt-div
307×fma-neg
298×difference-of-squares
295×unpow3 cube-mult
248×distribute-lft-out--
240×unswap-sqr
192×log-pow
176×distribute-rgt-in distribute-lft-in
164×1-exp
152×pow-prod-up
149×associate-*r/
147×swap-sqr
135×flip3-- flip--
134×fma-def
133×exp-sum
127×associate-*l/
120×*-commutative
118×log-prod
117×associate--l+
106×cbrt-div
102×sqrt-pow1
100×pow-sqr
93×pow1/3
91×pow-exp
87×frac-2neg rec-exp clear-num
84×associate-/l/
83×pow1/2
79×pow-unpow
78×frac-times
72×pow-to-exp pow-plus
70×sub-neg
58×diff-log fma-udef
57×associate-+l+
56×pow2
43×sum-log
38×distribute-rgt-neg-in
37×rem-sqrt-square
34×distribute-lft-neg-in
28×exp-prod
25×pow-pow
22×+-commutative
20×frac-add hypot-udef neg-mul-1
17×div-sub
15×rem-cube-cbrt
14×cube-div
13×hypot-def
12×pow-flip
11×inv-pow unpow2
rem-log-exp
associate--l-
sqrt-unprod
rem-exp-log distribute-rgt-neg-out associate-+l-
difference-cubes un-div-inv sin-sum distribute-neg-in associate--r+
rem-square-sqrt log-div
exp-diff log1p-udef log1p-expm1 expm1-log1p associate-+r+ frac-sub rem-cbrt-cube expm1-udef distribute-neg-frac
sqrt-pow2 distribute-lft-neg-out unsub-neg neg-sub0 log-rec cos-sum

prune5.1m (20.6%)

end4.4m (17.9%)

sample1.7m (6.9%)

Algorithm
99×intervals
Results
45.2s12539×body10240exit
18.8s460551×body80valid
11.3s27794×body1280valid
5.0s21037×body640valid
2.5s70025×body80nan
1.7s1673×body1280nan
1.6s10822×body320valid
998.0ms1408×body640nan
989.0ms9354×body160valid
655.0ms49536×pre80true
373.0ms1515×body2560valid
368.0ms706×body320nan
146.0ms623×body5120valid
114.0ms325×body160nan

simplify1.1m (4.6%)

Algorithm
249×egg-herbie

series1.1m (4.3%)

Calls

439 calls:

2.2s
(/ (* (* (/ i (+ (+ (+ alpha beta) (* 2.0 i)) (sqrt 1.0))) (/ (+ (+ alpha beta) i) (- (+ (+ alpha beta) (* 2.0 i)) (sqrt 1.0)))) (sqrt (fma beta alpha (* i (+ (+ alpha beta) i))))) (/ (fma i 2.0 (+ alpha beta)) (/ (sqrt (fma beta alpha (* i (+ (+ alpha beta) i)))) (fma i 2.0 (+ alpha beta)))))
2.2s
(fma (cbrt (+ (/ (/ x (+ wj 1)) (exp wj)) wj)) (* (cbrt (+ (/ (/ x (+ wj 1)) (exp wj)) wj)) (cbrt (+ (/ (/ x (+ wj 1)) (exp wj)) wj))) (/ (- (pow (cbrt wj) 3)) (+ wj 1)))
1.9s
(/ (* (- (* (+ (+ alpha beta) (* 2.0 i)) (+ (+ alpha beta) (* 2.0 i))) 1.0) (fma i 2.0 (+ alpha beta))) (/ (fma beta alpha (* i (+ (+ alpha beta) i))) (fma i 2.0 (+ alpha beta))))
1.8s
(* (* (/ i (+ (+ (+ alpha beta) (* 2.0 i)) (sqrt 1.0))) (/ (+ (+ alpha beta) i) (- (+ (+ alpha beta) (* 2.0 i)) (sqrt 1.0)))) (sqrt (fma beta alpha (* i (+ (+ alpha beta) i)))))
1.8s
(/ (* (* (- (* (+ (+ alpha beta) (* 2.0 i)) (+ (+ alpha beta) (* 2.0 i))) 1.0) (fma i 2.0 (+ alpha beta))) (fma i 2.0 (+ alpha beta))) (fma beta alpha (* i (+ (+ alpha beta) i))))

regimes5.7s (0.4%)

Accuracy

Total 44.7b remaining (33.7%)

Threshold costs 4.6b (3.5%)

8.5b31.8%_divideComplex, imaginary part
6.8b-17.7%math.sqrt on complex, imaginary part, im greater than 0 branch
6.6b40.1%_divideComplex, real part
5.5b14.5%Octave 3.8, jcobi/2
4.5b24.5%math.sqrt on complex, real part

localize2.2s (0.2%)

bsearch1.5s (0.1%)