Details

rewrite10.8m (72.3%)

Algorithm
149×rewrite-expression-head
Calls

438 calls:

13.0s
(* (* (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)
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.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)))))
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)))))
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)))))
Rules
17131×times-frac
12899×*-un-lft-identity
10649×add-sqr-sqrt
8298×add-cube-cbrt
4329×associate-*r*
3834×sqrt-prod
2528×add-exp-log
1714×add-cbrt-cube
1556×distribute-lft-out
1398×pow1
1334×prod-diff
823×prod-exp
819×difference-of-squares
794×distribute-lft-out--
760×associate-*l* div-exp
738×associate-/r/
603×add-log-exp
546×sqrt-div
521×div-inv
459×cbrt-unprod
439×log1p-expm1-u
438×expm1-log1p-u
427×cbrt-prod
417×associate-/l*
409×flip-+ flip3-+
393×cbrt-undiv
378×associate-/r*
320×pow-prod-down
260×unpow-prod-down
237×unswap-sqr
213×fma-neg
212×log-pow
195×1-exp
183×log-prod sqrt-pow1
172×distribute-rgt-in distribute-lft-in
168×exp-sum
158×associate-*r/
152×flip3-- flip--
138×cube-prod
122×fma-def
117×rec-exp
114×*-commutative
104×cbrt-div
96×associate-*l/
94×pow1/3
93×associate--l+
91×pow1/2 swap-sqr
84×pow-unpow pow-prod-up
83×frac-2neg clear-num
78×exp-prod frac-times
72×associate-/l/
71×associate--r+
70×pow-exp
68×sub-neg
63×sqr-pow
58×diff-log
56×pow-sqr
51×fma-udef
47×pow-to-exp
38×rem-sqrt-square pow-plus
32×sum-log
30×distribute-rgt-neg-in distribute-lft-neg-in
29×pow2
25×pow-flip
24×associate-+l+
23×neg-mul-1
22×associate-+r+ +-commutative pow-pow
21×inv-pow
18×unpow3 cube-mult
17×log-div
15×div-sub
14×hypot-def
13×rem-cube-cbrt
11×rem-log-exp
10×rem-exp-log exp-diff associate--l- distribute-rgt-out frac-sub
cube-div
hypot-udef
neg-log
un-div-inv sqrt-unprod sin-sum log-rec cos-sum
rem-square-sqrt neg-sub0 rem-cbrt-cube associate-+l-
expm1-log1p distribute-rgt-neg-out expm1-udef
distribute-neg-out sqrt-undiv sqrt-pow2 log1p-udef associate-+r- pow3 distribute-lft-neg-out exp-neg log1p-expm1 distribute-neg-in unpow-prod-up pow-sub unsub-neg associate--r-

sample1.8m (12.0%)

Algorithm
99×intervals
Results
43.1s11949×body10240exit
25.4s542817×body80valid
11.0s27137×body1280valid
5.0s20549×body640valid
2.4s69824×body80nan
1.8s1624×body1280nan
1.6s10539×body320valid
1.1s1361×body640nan
1.0s9614×body160valid
644.0ms49536×pre80true
360.0ms1490×body2560valid
349.0ms643×body320nan
152.0ms622×body5120valid
129.0ms353×body160nan

prune58.5s (6.5%)

series58.4s (6.5%)

Calls

438 calls:

2.2s
(pow (exp (cbrt (* (log (fma (/ (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) (exp (* (fabs x) (fabs x)))) (/ (- 1.0) (fma (fabs x) 0.3275911 1.0)) 1.0)) (log (fma (/ (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) (exp (* (fabs x) (fabs x)))) (/ (- 1.0) (fma (fabs x) 0.3275911 1.0)) 1.0))))) (cbrt (cbrt (pow (log (fma (/ (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) (exp (* (fabs x) (fabs x)))) (/ (- 1.0) (fma (fabs x) 0.3275911 1.0)) 1.0)) 3))))
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))))
853.0ms
(/ (fma (* (cos (* (* 2.0 PI) u2)) (cos (* (* 2.0 PI) u2))) (* (/ (* 1.0 1.0) (* 6.0 6.0)) (pow (* -2.0 (log u1)) (* 2 0.5))) (- (* 0.5 0.5))) (- (* (* (/ 1.0 6.0) (pow (* -2.0 (log u1)) 0.5)) (cos (* (* 2.0 PI) u2))) 0.5))
741.0ms
(/ (* (/ i (fma (fma i 2.0 (+ alpha beta)) (fma i 2.0 (+ alpha beta)) (- 1.0))) (/ (+ (+ alpha beta) i) (fma i 2.0 (+ alpha beta)))) (/ (fma i 2.0 (+ alpha beta)) (fma beta alpha (* i (+ (+ alpha beta) i)))))
739.0ms
(/ (* i (+ (+ alpha beta) i)) (/ (* (* (- (* (+ (+ 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)))))

simplify14.4s (1.6%)

Algorithm
247×egg-herbie

regimes5.4s (0.6%)

Accuracy

Total 43.0b remaining (32%)

Threshold costs 4.6b (3.4%)

7.9b33.6%_divideComplex, imaginary part
7.5b10.4%Octave 3.8, jcobi/2
7.1b38%_divideComplex, real part
4.3b26.2%math.sqrt on complex, real part
4.3b29%math.sqrt on complex, imaginary part, im greater than 0 branch

localize2.2s (0.2%)

bsearch973.0ms (0.1%)

end1.0ms (0.0%)