Details

rewrite18.9m (77.1%)

Algorithm
152×rewrite-expression-head
Calls

447 calls:

5.4m
(* (/ (/ (/ (/ 1 (sqrt (sqrt (+ (+ alpha beta) (* 2.0 1.0))))) (* (cbrt (sqrt (+ (+ alpha beta) (* 2.0 1.0)))) (cbrt (sqrt (+ (+ alpha beta) (* 2.0 1.0)))))) (sqrt (+ (+ alpha beta) (* 2.0 1.0)))) (sqrt (+ (+ (+ alpha beta) (* 2.0 1.0)) 1.0))) (/ (/ (/ (/ (+ (+ (+ alpha beta) (* beta alpha)) 1.0) (sqrt (sqrt (+ (+ alpha beta) (* 2.0 1.0))))) (cbrt (sqrt (+ (+ alpha beta) (* 2.0 1.0))))) (sqrt (+ (+ alpha beta) (* 2.0 1.0)))) (sqrt (+ (+ (+ alpha beta) (* 2.0 1.0)) 1.0))))
40.5s
(* (* (* (cbrt (+ (+ (+ (+ (+ 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))))) (cbrt (+ (+ (+ (+ (+ 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)))))) (/ (cbrt (+ (+ (+ (+ (+ 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)
33.1s
(* (* (sqrt (+ (+ (+ (+ (+ 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))))) (/ (sqrt (+ (+ (+ (+ (+ 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))))) (+ (+ (* (* (pow x 2) (* (pow x 2) (* (pow x 2) (* (pow x 2) (* x (pow x 3)))))) (* 2.0 0.0001789971)) (+ (+ (* (* (pow x 2) (* x (pow x 3))) 0.0694555761) 1.0) (* (pow x 2) (+ 0.7715471019 (* 0.2909738639 (pow x 2)))))) (* (pow x 2) (+ (* 0.0140005442 (* (* (* x x) x) (* (* x x) x))) (* 0.0008327945 (* (* (* (* x x) (* x x)) (* x x)) (* x x)))))))) x)
32.9s
(* (sqrt (+ (+ (+ (+ (+ 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))))) (/ (sqrt (+ (+ (+ (+ (+ 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))))) (+ (+ (* (* (pow x 2) (* (pow x 2) (* (pow x 2) (* (pow x 2) (* x (pow x 3)))))) (* 2.0 0.0001789971)) (+ (+ (* (* (pow x 2) (* x (pow x 3))) 0.0694555761) 1.0) (* (pow x 2) (+ 0.7715471019 (* 0.2909738639 (pow x 2)))))) (* (pow x 2) (+ (* 0.0140005442 (* (* (* x x) x) (* (* x x) x))) (* 0.0008327945 (* (* (* (* x x) (* x x)) (* x x)) (* x x))))))))
22.5s
(* (* (cbrt (+ (+ (+ (+ (+ 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))))) (cbrt (+ (+ (+ (+ (+ 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)))))) (/ (cbrt (+ (+ (+ (+ (+ 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))))))
Rules
107631×times-frac
56447×sqrt-prod
56299×*-un-lft-identity
54060×add-sqr-sqrt
37686×add-cube-cbrt
17423×associate-*r*
14029×cbrt-prod
8722×distribute-lft-out
3171×sqrt-div
2943×associate-*l*
2551×add-exp-log
2229×associate-/r/
2181×unswap-sqr
1974×add-cbrt-cube
1703×associate-/l*
1541×flip-+ flip3-+
1441×pow1
1034×div-inv
807×cbrt-div
792×div-exp
729×prod-exp
680×add-log-exp
553×cbrt-unprod
535×cbrt-undiv
488×frac-times
465×difference-of-squares
444×associate-/r*
417×associate-*r/
335×pow-prod-down
326×distribute-lft-out--
312×associate-*l/
220×unpow-prod-down
211×log-pow
208×log-prod
166×sqrt-pow1
135×*-commutative
130×flip-- flip3--
128×sqr-pow
112×distribute-rgt-in distribute-lft-in
110×pow1/2 cube-prod
103×swap-sqr
93×associate-/l/
87×frac-2neg clear-num
84×pow1/3
73×pow-unpow
71×pow-prod-up pow-exp
70×1-exp sum-log
66×rec-exp
65×diff-log
64×distribute-neg-frac
61×sub-neg
56×rem-sqrt-square
52×pow-to-exp
49×exp-prod
48×pow-plus
43×pow-sqr
40×frac-add
37×+-commutative
35×exp-diff
34×associate--l+
33×associate-+r+
31×cube-div
29×exp-neg
28×pow-pow
27×pow2
26×rem-log-exp
25×neg-sub0 log-div
24×unpow3 cube-mult
22×exp-sum
20×pow-flip
18×distribute-rgt-neg-in distribute-lft-neg-in inv-pow
17×div-sub
15×un-div-inv
12×rem-cube-cbrt frac-sub
11×rem-exp-log
10×unpow2
associate--l- distribute-rgt-out
associate-+l+ associate--r+
difference-cubes sin-sum unpow-prod-up neg-mul-1
pow3 distribute-neg-in
rem-cbrt-cube
sqrt-unprod
neg-log pow-sub rem-square-sqrt distribute-rgt-neg-out associate-+l-
sqrt-pow2 e-exp-1 unpow1/3 cos-sum sum-cubes log-rec

prune1.9m (7.9%)

sample1.7m (6.8%)

Algorithm
98×intervals
Results
42.4s11781×body10240exit
16.7s434518×body80valid
11.0s26933×body1280valid
5.0s21149×body640valid
2.5s70516×body80nan
1.7s10530×body320valid
1.6s1595×body1280nan
990.0ms9500×body160valid
895.0ms1273×body640nan
591.0ms49536×pre80true
342.0ms663×body320nan
328.0ms312×body160nan
318.0ms1453×body2560valid
135.0ms574×body5120valid

series1.3m (5.5%)

Calls

444 calls:

19.3s
(- (pow 1.0 3) (/ (pow (* 1.0 (- (* 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)))))))))) 3) (pow (* (* (+ 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))))))))) (exp (* (fabs x) (fabs x)))) 3)))
3.0s
(- (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))))))))) (exp (- (* (fabs x) (fabs x))))) 3))
2.1s
(/ (* (/ (/ (* 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.1s
(* (/ (/ (* 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))))
1.4s
(* (* (* (/ 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))))))))) (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 (* 0.3275911 (fabs x)))) 1.061405429))))))))) (exp (- (* (fabs x) (fabs x))))) 1.0))

simplify26.6s (1.8%)

Algorithm
248×egg-herbie

regimes7.6s (0.5%)

Accuracy

Total 84.7b remaining (30.4%)

Threshold costs 2.7b (1%)

10.5b57%math.log10 on complex, real part
10.5b57.1%math.log/1 on complex, real part
10.2b58.1%math.log/2 on complex, real part
10.0b57.7%math.abs on complex
9.0b56.9%math.sqrt on complex, real part

localize2.4s (0.2%)

bsearch2.0s (0.1%)

end1.0ms (0.0%)