Details

rewrite10.9m (73.8%)

Algorithm
148×rewrite-expression-head
Calls

424 calls:

15.3s
(* (/ (+ (+ (+ (+ (+ 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.6s
(/ (+ (+ (+ (+ (+ 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)))) (/ x (fma (* 2.0 0.0001789971) (* (pow x 2) (* (pow x 2) (* (pow x 2) (* (pow x 2) (* x (pow x 3)))))) (fma 0.0008327945 (* (pow x 2) (* (pow x 2) (* (pow x 2) (* x (pow x 3))))) (fma 0.0140005442 (* (pow x 2) (* (pow x 2) (* x (pow x 3)))) (fma 0.0694555761 (pow x 6) (fma 0.2909738639 (pow x 4) (fma (* 0.7715471019 x) x 1.0))))))))
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 (* (* (* (* (pow x 3) x) (* x x)) (* x x)) (* x x)))) (/ x (fma (* 2.0 0.0001789971) (* (pow x 2) (* (pow x 2) (* (pow x 2) (* (pow x 2) (* x (pow x 3)))))) (fma 0.0008327945 (* (pow x 2) (* (pow x 2) (* (pow x 2) (* x (pow x 3))))) (fma 0.0140005442 (* (pow x 2) (* (pow x 2) (* x (pow x 3)))) (fma 0.0694555761 (pow x 6) (fma 0.2909738639 (pow x 4) (fma (* 0.7715471019 x) x 1.0))))))))
1.1s
(* (/ (/ (+ (+ (+ alpha beta) (* beta alpha)) 1.0) (+ (+ alpha beta) (* 2.0 1.0))) (sqrt (+ (+ (+ alpha beta) (* 2.0 1.0)) 1.0))) (/ (/ 1 (sqrt (+ (+ (+ alpha beta) (* 2.0 1.0)) 1.0))) (fma 1.0 2.0 (+ alpha beta))))
Rules
15627×*-un-lft-identity
14350×times-frac
10106×add-sqr-sqrt
8864×add-cube-cbrt
6352×sqrt-prod
4265×prod-diff
3642×distribute-lft-out
2206×add-exp-log
1572×pow1 add-cbrt-cube
1135×fma-neg
950×associate-*l*
698×prod-exp
672×associate-/l*
658×associate-/r/
653×associate-*r*
614×div-exp
575×add-log-exp
558×div-inv
464×sqrt-div
449×associate-/r*
424×log1p-expm1-u expm1-log1p-u
395×flip-+ flip3-+
394×cbrt-unprod
360×pow-prod-down
348×cbrt-undiv
297×difference-of-squares
291×distribute-rgt-in distribute-lft-in
233×distribute-lft-out--
213×sqrt-pow1
212×cbrt-prod
209×unswap-sqr
193×log-pow
183×associate-*r/
164×pow-prod-up
150×unpow-prod-down
146×1-exp
143×fma-def
140×flip3-- flip--
137×exp-sum
125×associate--l+
117×log-prod
115×*-commutative
110×swap-sqr
106×cbrt-div
100×frac-2neg clear-num
98×pow-sqr pow-exp
89×pow-plus
85×associate-/l/
82×pow1/2
78×rec-exp
77×sub-neg
75×pow1/3
72×associate-*l/
67×sqr-pow
65×frac-times
63×fma-udef
61×diff-log
57×pow-to-exp
55×pow2
49×pow-unpow
48×cube-prod
29×rem-log-exp
27×exp-prod
24×rem-sqrt-square sum-log
21×distribute-rgt-neg-in distribute-lft-neg-in neg-mul-1
20×+-commutative
17×unpow3 cube-mult div-sub
16×pow-flip
15×pow-pow
13×associate--l- hypot-def
10×inv-pow
un-div-inv
rem-cube-cbrt log1p-udef pow3 log1p-expm1 unpow2 associate--r+
expm1-log1p frac-sub expm1-udef log-div
cube-div associate-+l+ sqrt-unprod sin-sum rem-square-sqrt
sub-div rem-cbrt-cube
rem-exp-log exp-diff hypot-udef neg-sub0 neg-log distribute-rgt-out-- distribute-rgt-neg-out associate-+l-
sqrt-pow2 distribute-lft-neg-out cos-sum

sample1.7m (11.3%)

Algorithm
98×intervals
Results
42.1s11781×body10240exit
16.4s434518×body80valid
10.8s26933×body1280valid
5.1s21149×body640valid
2.5s70516×body80nan
1.6s1595×body1280nan
1.5s10530×body320valid
981.0ms9500×body160valid
878.0ms1273×body640nan
768.0ms49536×pre80true
329.0ms1453×body2560valid
327.0ms663×body320nan
127.0ms574×body5120valid
102.0ms312×body160nan

series56.3s (6.4%)

Calls

421 calls:

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))))
1.1s
(pow (* (pow -1 1.0) (* (pow -2.0 1.0) (pow (log (/ 1 u1)) 1.0))) 0.5)
962.0ms
(/ (/ (* i (/ (+ (+ alpha beta) i) (fma i 2.0 (+ alpha beta)))) (+ (pow (+ (+ alpha beta) (* 2.0 i)) 3) (* (fma i 2.0 (+ alpha beta)) (- 1.0)))) (/ 1 (fma beta alpha (* i (+ (+ alpha beta) i)))))
861.0ms
(/ (* i (/ (+ (+ alpha beta) i) (fma i 2.0 (+ alpha beta)))) (/ (fma (fma i 2.0 (+ alpha beta)) (- 1.0) (pow (fma i 2.0 (+ alpha beta)) 3)) (fma beta alpha (* i (+ (+ alpha beta) i)))))
860.0ms
(/ (* i (* (+ (+ alpha beta) i) (/ 1 (fma i 2.0 (+ alpha beta))))) (/ (fma (fma i 2.0 (+ alpha beta)) (- 1.0) (pow (fma i 2.0 (+ alpha beta)) 3)) (fma beta alpha (* i (+ (+ alpha beta) i)))))

prune53.6s (6.1%)

simplify13.7s (1.5%)

Algorithm
244×egg-herbie

regimes5.3s (0.6%)

Accuracy

Total 35.1b remaining (27.9%)

Threshold costs 5.5b (4.4%)

7.9b26.8%_divideComplex, real part
5.3b18.6%Octave 3.8, jcobi/2
4.9b18.7%math.sqrt on complex, imaginary part, im greater than 0 branch
4.2b31%math.sqrt on complex, real part
3.1b76.2%Octave 3.8, jcobi/1

localize2.4s (0.3%)

bsearch815.0ms (0.1%)

end1.0ms (0.0%)