Details

rewrite11.6m (70.5%)

Algorithm
157×rewrite-expression-head
Calls

481 calls:

23.7s
(* (/ 1 (/ (+ (+ (* (* (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)))))) (+ (+ (* (* (pow x 2) (* (pow x 2) (* (pow x 2) (* x (pow x 3))))) 0.0001789971) (+ (+ (* (* (pow x 2) (* x (pow x 3))) 0.0072644182) 1.0) (* (pow x 2) (+ 0.1049934947 (* 0.0424060604 (pow x 2)))))) (* (* (pow x 2) (* (pow x 2) (* x (pow x 3)))) 0.0005064034)))) x)
20.1s
(/ (+ (+ (* (* (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)))))) (+ (+ (* (* (pow x 2) (* (pow x 2) (* (pow x 2) (* x (pow x 3))))) 0.0001789971) (+ (+ (* (* (pow x 2) (* x (pow x 3))) 0.0072644182) 1.0) (* (pow x 2) (+ 0.1049934947 (* 0.0424060604 (pow x 2)))))) (* (* (pow x 2) (* (pow x 2) (* x (pow x 3)))) 0.0005064034)))
12.1s
(/ 1 (/ (+ (+ (* (* (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)))))) (+ (+ (* (* (pow x 2) (* (pow x 2) (* (pow x 2) (* x (pow x 3))))) 0.0001789971) (+ (+ (* (* (pow x 2) (* x (pow x 3))) 0.0072644182) 1.0) (* (pow x 2) (+ 0.1049934947 (* 0.0424060604 (pow x 2)))))) (* (* (pow x 2) (* (pow x 2) (* x (pow x 3)))) 0.0005064034))))
7.4s
(* (sqrt (/ (- (/ (+ (+ (+ alpha beta) (* beta alpha)) 1.0) (+ (+ alpha beta) (* 2.0 1.0)))) (- (+ (+ alpha beta) (* 2.0 1.0))))) (/ (sqrt (/ (- (/ (+ (+ (+ alpha beta) (* beta alpha)) 1.0) (+ (+ alpha beta) (* 2.0 1.0)))) (- (+ (+ alpha beta) (* 2.0 1.0))))) (+ (+ (+ alpha beta) (* 2.0 1.0)) 1.0)))
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)
Rules
21725×times-frac
16180×*-un-lft-identity
12013×add-sqr-sqrt
10004×add-cube-cbrt
5632×sqrt-prod
4835×distribute-rgt-neg-in distribute-lft-neg-in
3257×associate-*r*
2786×distribute-lft-out
2706×add-exp-log
2052×pow1
2040×add-cbrt-cube
1389×associate-*l*
1363×associate-/l*
1263×associate-/r/
1167×flip-+ flip3-+
904×prod-exp
826×associate-*r/
814×add-log-exp
808×neg-mul-1
696×unpow-prod-down
672×frac-times
664×frac-add
660×div-inv
647×div-exp
638×cbrt-unprod
612×associate-*l/
530×associate-/r*
526×pow-prod-down
517×log-pow
465×difference-of-squares
420×sqrt-div
407×unswap-sqr
398×cbrt-undiv
328×cube-prod
319×associate-/l/
309×sqrt-pow1
306×flip3-- flip--
289×distribute-lft-out--
202×swap-sqr
197×pow1/2
180×sqr-pow
165×cbrt-prod
156×*-commutative
126×pow-prod-up
120×frac-sub
109×log-prod
102×diff-log
100×clear-num frac-2neg
99×pow-exp
95×1-exp rec-exp cbrt-div
93×distribute-rgt-in distribute-lft-in
86×sub-neg
84×sum-log
78×pow-sqr
75×pow-to-exp
71×distribute-neg-frac
70×pow1/3
68×cube-div
66×exp-prod
65×rem-sqrt-square
60×pow-plus
57×un-div-inv
49×+-commutative
46×pow-unpow
45×pow-pow
44×div-sub
43×associate--l+
36×pow2
34×unpow3 cube-mult log-div
29×distribute-lft1-in unpow2 distribute-rgt-out
22×rem-cube-cbrt
21×pow-flip
15×inv-pow
14×associate-+r+
13×associate-+l+
12×exp-sum associate--l-
11×rem-log-exp
10×rem-exp-log
distribute-neg-in associate-+l-
exp-diff associate--r+
sqrt-unprod
pow3 rem-square-sqrt neg-sub0
difference-cubes distribute-frac-neg distribute-rgt-neg-out
sqrt-pow2 exp-neg rem-cbrt-cube
distribute-lft-neg-out sqrt-undiv sin-sum sum-cubes exp-to-pow
cos-sum associate-+r- distribute-rgt-out-- unpow-prod-up pow-sub neg-log associate--r-

sample2.2m (13.3%)

Algorithm
99×intervals
Results
46.3s8102×body10240exit
34.5s451460×body80valid
14.3s27112×body1280valid
7.1s21052×body640valid
4.2s69832×body80nan
2.8s1601×body1280nan
2.4s10957×body320valid
1.8s9526×body160valid
1.7s1365×body640nan
968.0ms49536×pre80true
611.0ms662×body320nan
587.0ms1472×body2560valid
264.0ms609×body5120valid
204.0ms341×body160nan
193.0ms3985×body80overflowed

prune1.2m (7.5%)

series57.8s (5.9%)

Calls

479 calls:

1.3s
(- 1.0 (* (* (pow (sqrt (sqrt (* (/ 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))))))))))) 3) (sqrt (sqrt (* (/ 1.0 (+ 1.0 (* 0.3275911 (fabs x)))) (- (+ (* 1.061405429 (/ 1 (pow (+ (* 0.3275911 (fabs x)) 1.0) 4))) (+ (* 1.421413741 (/ 1 (pow (+ (* 0.3275911 (fabs x)) 1.0) 2))) 0.254829592)) (+ (* 1.453152027 (/ 1 (pow (+ (* 0.3275911 (fabs x)) 1.0) 3))) (* 0.284496736 (/ 1 (+ (* 0.3275911 (fabs x)) 1.0))))))))) (exp (- (* (fabs x) (fabs x))))))
1.3s
(- 1.0 (* (* (pow (sqrt (sqrt (* (/ 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))))))))))) 3) (sqrt (sqrt (* (/ 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.3s
(- 1.0 (* (* (sqrt (* (/ 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)))))))))) (sqrt (* (/ 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.3s
(/ (/ (+ (* beta alpha) (* i (+ (+ alpha beta) i))) (sqrt (+ (+ alpha beta) (* 2.0 i)))) (- (+ (+ alpha beta) (* 2.0 i)) (sqrt 1.0)))
811.0ms
(- 1.0 (* (* (/ 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))))))

simplify15.7s (1.6%)

Algorithm
255×egg-herbie

regimes7.1s (0.7%)

Accuracy

Total 102.9b remaining (35.9%)

Threshold costs 4.1b (1.4%)

14.8b50.6%math.sqrt on complex, real part
12.0b51%math.log/2 on complex, real part
11.9b51.3%math.log10 on complex, real part
11.6b52.2%math.log/1 on complex, real part
11.4b51.6%math.abs on complex

localize2.4s (0.2%)

bsearch2.3s (0.2%)

end1.0ms (0.0%)