Details

rewrite10.6m (70.6%)

Algorithm
147×rewrite-expression-head
Calls

428 calls:

10.0s
(* (/ (/ 1 (/ (+ (+ (+ alpha beta) (* 2.0 i)) (sqrt 1.0)) 1)) 1) (/ (/ i (/ (- (+ (+ alpha beta) (* 2.0 i)) (sqrt 1.0)) (+ (+ alpha beta) i))) (/ (fma i 2.0 (+ alpha beta)) (/ (fma beta alpha (* i (+ (+ alpha beta) i))) (fma i 2.0 (+ alpha beta))))))
7.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)
4.2s
(/ (+ (+ (+ (+ (+ 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)))))
1.1s
(+ (/ (/ 1 (/ (/ (fma i 2.0 (+ alpha beta)) (+ alpha beta)) (- beta alpha))) (+ (+ (+ alpha beta) (* 2.0 i)) 2.0)) 1.0)
709.0ms
(* (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) (fma 2.0 1.0 1.0))))
Rules
78137×times-frac
48692×*-un-lft-identity
38243×add-sqr-sqrt
29159×add-cube-cbrt
8703×distribute-lft-out
5959×associate-*r*
4160×difference-of-squares
3902×add-exp-log
3051×sqrt-prod
2419×div-inv
2240×associate-/r/
2144×distribute-lft-out--
1973×add-cbrt-cube
1748×div-exp
1355×pow1
1294×fma-def
1165×prod-diff
1163×prod-exp
1142×associate-/l*
1042×associate-*l*
916×flip-+ flip3-+
746×associate-/r*
601×add-log-exp
590×cbrt-undiv
478×cbrt-unprod
429×log1p-expm1-u
428×expm1-log1p-u
381×unswap-sqr
379×cbrt-prod
356×1-exp
302×pow-prod-down
259×associate-*r/
200×distribute-rgt-in distribute-lft-in
198×fma-neg
196×log-pow
191×flip3-- flip--
183×log-prod
164×sqrt-div
159×exp-sum
150×rec-exp
144×sqrt-pow1
139×pow-exp
138×unpow-prod-down
137×associate--l+
116×*-commutative
107×pow1/3
101×pow-prod-up
100×swap-sqr
96×frac-add
94×clear-num frac-2neg
89×associate-*l/
86×associate-/l/
83×pow-to-exp
78×sub-neg
75×exp-prod
74×pow1/2
67×sqr-pow
66×diff-log
65×cbrt-div pow-sqr
61×frac-times
52×pow-unpow
50×fma-udef
49×pow-plus
37×cube-prod
36×pow2
35×pow-flip
32×pow-pow
30×distribute-rgt-neg-in distribute-lft-neg-in
29×sum-log
25×inv-pow
24×associate-+l+ distribute-rgt-out
23×neg-mul-1
22×rem-sqrt-square associate-+r+
18×+-commutative
17×rem-log-exp
15×unpow3 cube-mult div-sub
14×distribute-rgt1-in associate--l-
13×hypot-def
10×hypot-udef
rem-exp-log rem-cube-cbrt
un-div-inv
sqrt-unprod neg-log associate--r+ log-div
exp-diff pow3 sin-sum log-rec rem-cbrt-cube unpow2
neg-sub0 sin-mult associate-+l-
rem-square-sqrt distribute-rgt-neg-out
distribute-neg-out sqrt-pow2 distribute-lft-neg-out exp-neg distribute-neg-in sqr-sin unpow-prod-up pow-sub expm1-log1p unsub-neg cos-sum associate--r- expm1-udef associate-+r-

prune2.0m (13.4%)

series1.1m (7.5%)

Calls

428 calls:

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.9s
(/ (* (* (- (* (+ (+ 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))))
887.0ms
(/ (fma (* (cos (* (* 2.0 PI) u2)) (cos (* (* 2.0 PI) u2))) (* (* (/ 1.0 6.0) (pow (* -2.0 (log u1)) (/ (* 2 0.5) 2))) (* (/ 1.0 6.0) (pow (* -2.0 (log u1)) (/ (* 2 0.5) 2)))) (- (* 0.5 0.5))) (- (* (* (/ 1.0 6.0) (pow (* -2.0 (log u1)) 0.5)) (cos (* (* 2.0 PI) u2))) 0.5))
861.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))
800.0ms
(/ (/ i (/ (- (* (+ (+ alpha beta) (* 2.0 i)) (+ (+ alpha beta) (* 2.0 i))) 1.0) (+ (+ alpha beta) i))) (/ (fma i 2.0 (+ alpha beta)) (/ (fma beta alpha (* i (+ (+ alpha beta) i))) (fma i 2.0 (+ alpha beta)))))

sample48.1s (5.3%)

Algorithm
98×intervals
Results
17.6s438014×body80valid
6.8s15977×body1280valid
3.0s12573×body640valid
2.9s41017×body80overflowed
2.5s69657×body80nan
985.0ms6622×body320valid
810.0ms7740×body160valid
703.0ms49536×pre80true
273.0ms1385×body2560valid
158.0ms611×body5120valid

simplify19.8s (2.2%)

Algorithm
243×egg-herbie

regimes4.5s (0.5%)

Accuracy

Total 52.4b remaining (46.9%)

Threshold costs 5.0b (4.5%)

9.8b40%Octave 3.8, jcobi/4
9.0b29.2%_divideComplex, imaginary part
7.6b30.4%_divideComplex, real part
5.8b13.8%Octave 3.8, jcobi/2
4.8b13.9%math.sqrt on complex, imaginary part, im greater than 0 branch

localize2.3s (0.3%)

bsearch1.2s (0.1%)

end1.0ms (0.0%)