Details

rewrite14.3m (56.5%)

Algorithm
153×rewrite-expression-head
Calls

457 calls:

1.1m
(* (* (/ 1.0 (sqrt PI)) (exp (* (fabs x) (fabs x)))) (+ (+ (+ (/ 1.0 (fabs x)) (* (/ 1.0 2.0) (* (* (/ 1.0 (fabs x)) (/ 1.0 (fabs x))) (/ 1.0 (fabs x))))) (* (/ 3.0 4.0) (* (* (* (* (/ 1.0 (fabs x)) (/ 1.0 (fabs x))) (/ 1.0 (fabs x))) (/ 1.0 (fabs x))) (/ 1.0 (fabs x))))) (* (/ 15.0 8.0) (* (* (* (* (* (* (/ 1.0 (fabs x)) (/ 1.0 (fabs x))) (/ 1.0 (fabs x))) (/ 1.0 (fabs x))) (/ 1.0 (fabs x))) (/ 1.0 (fabs x))) (/ 1.0 (fabs x))))))
7.1s
(* (/ (+ (+ (+ (+ (+ 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.1s
(/ (+ (+ (+ (+ (+ 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)))))
973.0ms
(* (/ (/ (* i (+ (+ alpha beta) i)) (+ (+ alpha beta) (* 2.0 i))) (+ (+ (+ alpha beta) (* 2.0 i)) (sqrt 1.0))) (/ (/ (sqrt (+ (* beta alpha) (* i (+ (+ alpha beta) i)))) (/ (+ (+ alpha beta) (* 2.0 i)) (sqrt (+ (* beta alpha) (* i (+ (+ alpha beta) i)))))) (- (+ (+ alpha beta) (* 2.0 i)) (sqrt 1.0))))
942.0ms
(sqrt (* 2.0 (* (* (fabs im) (* (cbrt (/ (fabs im) (- (sqrt (+ (* re re) (* im im))) re))) (cbrt (/ (fabs im) (- (sqrt (+ (* re re) (* im im))) re))))) (cbrt (/ (fabs im) (- (sqrt (+ (* re re) (* im im))) re))))))
Rules
3588848×frac-times
2865460×associate-*l/
1763574×associate-*r/
1575578×frac-add
33408×flip-+ flip3-+
11183×times-frac
8557×*-un-lft-identity
7759×add-sqr-sqrt
5782×add-cube-cbrt
3698×sqrt-prod
2294×add-exp-log
2049×associate-*r*
1717×add-cbrt-cube
1634×pow1
1035×distribute-lft-out
875×prod-exp
821×associate-*l*
735×add-log-exp
729×associate-/r/
711×cbrt-prod
612×difference-of-squares
537×cbrt-unprod
505×associate-/l*
449×div-exp
443×associate-/r*
432×unpow-prod-down
408×log-pow
405×pow-prod-down
394×div-inv
378×distribute-lft-out--
365×sqrt-div
308×cbrt-undiv
257×unswap-sqr
224×pow-exp
197×cbrt-div
168×pow1/3
146×flip3-- flip--
144×sqr-pow
137×sqrt-pow1
134×*-commutative
132×swap-sqr
131×pow-to-exp
106×log-prod
104×cube-prod
103×pow1/2
102×associate-/l/
93×diff-log
89×exp-prod pow-prod-up
85×distribute-rgt-in distribute-lft-in
83×frac-2neg clear-num
79×sub-neg
74×rem-sqrt-square
58×sum-log
57×pow-pow
53×pow-sqr
52×1-exp pow-plus rec-exp
42×pow-unpow
39×exp-diff +-commutative div-sub
37×associate--l+
32×exp-neg
31×pow2
30×distribute-neg-frac
29×neg-sub0 log-div
28×cube-div
22×unpow3 cube-mult
16×distribute-rgt-neg-in distribute-lft-neg-in
15×rem-cube-cbrt
14×un-div-inv rem-exp-log
13×associate--l-
12×associate-+l- associate--r+
11×unpow2
sin-sum
inv-pow pow-flip rem-log-exp
associate-+l+ neg-mul-1 exp-sum frac-sub
associate-+r+ pow3
associate-+r- distribute-neg-in
sqrt-unprod distribute-rgt-out-- distribute-rgt-out sum-cubes
rem-square-sqrt neg-log associate--r- rem-cbrt-cube distribute-rgt-neg-out
cos-sum difference-cubes sqrt-pow2 distribute-rgt1-in distribute-lft1-in unpow-prod-up pow-sub count-2

simplify6.3m (25.0%)

Algorithm
250×egg-herbie

sample2.1m (8.5%)

Algorithm
98×intervals
Results
46.5s7869×body10240exit
32.9s438795×body80valid
14.6s27095×body1280valid
7.0s20772×body640valid
3.9s69737×body80nan
2.6s1536×body1280nan
2.5s10732×body320valid
1.8s9537×body160valid
1.7s1232×body640nan
952.0ms49536×pre80true
595.0ms667×body320nan
565.0ms1420×body2560valid
283.0ms4291×body80overflowed
259.0ms610×body5120valid
204.0ms343×body160nan

series1.4m (5.6%)

Calls

455 calls:

19.9s
(- (pow 1.0 3) (/ (pow (* 1.0 (- (* 0.254829592 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))))))) (* (/ 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) (pow (* (* (+ 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)))) 3)))
3.2s
(- (pow 1.0 3) (pow (* (* (/ 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))))) 3))
2.5s
(* (/ (/ (* i (+ (+ alpha beta) i)) (+ (+ alpha beta) (* 2.0 i))) (+ (+ (+ alpha beta) (* 2.0 i)) (sqrt 1.0))) (/ (/ (+ (* beta alpha) (* i (+ (+ alpha beta) i))) (+ (+ alpha beta) (* 2.0 i))) (- (+ (+ alpha beta) (* 2.0 i)) (sqrt 1.0))))
2.3s
(* (/ (/ (* i (+ (+ alpha beta) i)) (+ (+ alpha beta) (* 2.0 i))) (+ (+ (+ alpha beta) (* 2.0 i)) (sqrt 1.0))) (/ (/ (sqrt (+ (* beta alpha) (* i (+ (+ alpha beta) i)))) (/ (+ (+ alpha beta) (* 2.0 i)) (sqrt (+ (* beta alpha) (* i (+ (+ alpha beta) i)))))) (- (+ (+ alpha beta) (* 2.0 i)) (sqrt 1.0))))
1.5s
(* (* (* (/ 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.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.0))

prune55.3s (3.6%)

regimes7.4s (0.5%)

Accuracy

Total 95.1b remaining (33.2%)

Threshold costs 4.7b (1.6%)

14.7b46.8%math.sqrt on complex, real part
11.2b54.4%math.log10 on complex, real part
11.0b55.2%math.log/1 on complex, real part
10.5b57.4%math.log/2 on complex, real part
10.2b57.1%math.abs on complex

localize2.4s (0.2%)

bsearch1.7s (0.1%)

end1.0ms (0.0%)