Details

rewrite13.1m (73.5%)

Algorithm
154×rewrite-expression-head
Calls

461 calls:

43.1s
(* (* (/ 1 (sqrt (+ (+ (+ (+ (+ (+ 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)))))) (/ (fma 0.0001789971 (* (pow x 2) (* (pow x 2) (* (pow x 2) (* x (pow x 3))))) (fma 0.0005064034 (* (pow x 2) (* (pow x 2) (* x (pow x 3)))) (fma 0.0072644182 (pow x 6) (fma 0.0424060604 (pow x 4) (fma (* 0.1049934947 x) x 1.0))))) (* (sqrt (+ (+ (+ (+ (+ (+ 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))))) 1))) x)
28.7s
(* (* (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)))) (+ (+ (+ (+ (+ (+ 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)))))) (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)))) (+ (+ (+ (+ (+ (+ 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)
21.9s
(* (/ 1 (sqrt (+ (+ (+ (+ (+ (+ 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)))))) (/ (fma 0.0001789971 (* (pow x 2) (* (pow x 2) (* (pow x 2) (* x (pow x 3))))) (fma 0.0005064034 (* (pow x 2) (* (pow x 2) (* x (pow x 3)))) (fma 0.0072644182 (pow x 6) (fma 0.0424060604 (pow x 4) (fma (* 0.1049934947 x) x 1.0))))) (* (sqrt (+ (+ (+ (+ (+ (+ 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))))) 1)))
15.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))))) x)
8.7s
(* (/ 1.0 21.0) (* (* (* (* (* (* (fabs x) (fabs x)) (fabs x)) (fabs x)) (fabs x)) (fabs x)) (fabs x)))
Rules
36843×times-frac
23307×*-un-lft-identity
18235×add-sqr-sqrt
16010×add-cube-cbrt
4799×sqrt-prod
3887×distribute-lft-out
3608×add-exp-log
2234×associate-*r*
2206×add-cbrt-cube
1554×associate-*l*
1537×pow1
1345×prod-exp
1273×div-inv
1200×div-exp
1139×prod-diff
979×difference-of-squares
931×associate-/r/
705×associate-/l*
690×cbrt-unprod
660×add-log-exp
651×associate-/r*
533×cbrt-undiv
513×unpow-prod-down
473×flip-+ flip3-+
462×log1p-expm1-u
459×expm1-log1p-u
425×pow-prod-down
396×cbrt-prod
331×1-exp
285×unswap-sqr
234×distribute-lft-out--
231×log-pow
221×sqrt-div cube-prod
176×distribute-rgt-in distribute-lft-in
172×fma-neg
153×fma-def
149×exp-sum
148×sqr-pow
145×associate-*r/
138×rec-exp
132×pow-exp
126×sqrt-pow1
125×associate--l+
122×*-commutative
112×flip3-- flip--
111×log-prod
106×associate-*l/
92×frac-2neg clear-num
88×swap-sqr
80×associate-/l/ pow1/3
79×pow-unpow
78×pow-to-exp
77×frac-times
76×pow1/2
75×sub-neg
72×pow-prod-up cbrt-div
65×exp-prod diff-log
63×unpow3 cube-mult
59×fma-udef
50×pow-sqr
44×sum-log
36×distribute-rgt-neg-in distribute-lft-neg-in
32×pow-plus
30×+-commutative
29×pow-pow
27×rem-sqrt-square pow2
25×neg-mul-1
23×pow-flip
19×div-sub
16×inv-pow
15×associate-+l+
13×associate--l-
12×rem-cube-cbrt hypot-def
11×rem-log-exp
10×hypot-udef
cube-div
rem-exp-log sqrt-unprod neg-log associate--r+
distribute-neg-in neg-sub0 distribute-rgt-neg-out
exp-diff sin-sum associate-+r+
sqrt-undiv log1p-udef exp-neg log1p-expm1 expm1-log1p rem-square-sqrt expm1-udef associate-+l- log-div
un-div-inv frac-sub rem-cbrt-cube exp-to-pow unpow2
sqrt-pow2 distribute-lft-neg-out unpow-prod-up pow-sub unsub-neg log-rec cos-sum

sample1.8m (10.1%)

Algorithm
99×intervals
Results
44.2s12069×body10240exit
21.1s491299×body80valid
11.0s27345×body1280valid
4.9s21150×body640valid
2.5s69606×body80nan
1.7s1655×body1280nan
1.6s10702×body320valid
1.0s9671×body160valid
926.0ms1334×body640nan
626.0ms49536×pre80true
339.0ms1435×body2560valid
326.0ms641×body320nan
131.0ms565×body5120valid
109.0ms326×body160nan

prune1.4m (8.1%)

series1.1m (6.0%)

Calls

459 calls:

2.2s
(/ (* (* (- (* (+ (+ 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))))
2.1s
(/ (* (- (* (+ (+ 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.1s
(pow (* (pow -1 1.0) (* (pow -2.0 1.0) (pow (log (/ 1 u1)) 1.0))) 0.5)
1.1s
(fma (- (* (pow (/ 1.0 (+ 1.0 (* 0.3275911 (fabs x)))) 3) (log1p (expm1 (pow (fma (/ 1.0 (+ 1.0 (* 0.3275911 (fabs x)))) (fma (/ 1.0 (+ 1.0 (* 0.3275911 (fabs x)))) (fma (/ 1.0 (+ 1.0 (* 0.3275911 (fabs x)))) (fma (/ 1.0 (+ 1.0 (* 0.3275911 (fabs x)))) 1.061405429 -1.453152027) 1.421413741) -0.284496736) 0.254829592) 3))))) (pow (/ 1 (exp (pow (fabs x) 2))) 3) (pow 1.0 3))
1.1s
(fma (- (* (pow (/ 1.0 (+ 1.0 (* 0.3275911 (fabs x)))) 3) (log1p (expm1 (pow (fma (/ 1.0 (+ 1.0 (* 0.3275911 (fabs x)))) (fma (/ 1.0 (+ 1.0 (* 0.3275911 (fabs x)))) (fma (/ 1.0 (+ 1.0 (* 0.3275911 (fabs x)))) (fma (/ 1.0 (+ 1.0 (* 0.3275911 (fabs x)))) 1.061405429 -1.453152027) 1.421413741) -0.284496736) 0.254829592) 3))))) (pow (/ 1 (exp (pow (fabs x) 2))) 3) (pow 1.0 3))

simplify16.7s (1.6%)

Algorithm
252×egg-herbie

regimes5.4s (0.5%)

Accuracy

Total 42.0b remaining (39.4%)

Threshold costs 5.0b (4.7%)

8.4b32.8%_divideComplex, imaginary part
7.5b33.6%_divideComplex, real part
6.1b0%math.sqrt on complex, real part
5.5b14.9%Octave 3.8, jcobi/2
4.3b20%math.sqrt on complex, imaginary part, im greater than 0 branch

localize2.5s (0.2%)

bsearch717.0ms (0.1%)

end1.0ms (0.0%)