Details

rewrite10.4m (57.6%)

Algorithm
156×rewrite-expression-head
Calls

469 calls:

2.6s
(* (/ x (* (- (* (+ (* (* x (* (pow (* x x) 3) (pow x 3))) (+ 0.0008327945 (* (* x x) (* 2.0 0.0001789971)))) (+ (* (* x x) (+ 0.7715471019 (* 0.2909738639 (* x x)))) 1.0)) (+ (* (* x (* (pow (* x x) 3) (pow x 3))) (+ 0.0008327945 (* (* x x) (* 2.0 0.0001789971)))) (+ (* (* x x) (+ 0.7715471019 (* 0.2909738639 (* x x)))) 1.0))) (* (* (pow x 6) (+ 0.0694555761 (* (* x x) 0.0140005442))) (* (pow x 6) (+ 0.0694555761 (* (* x x) 0.0140005442))))) (/ 1 (+ (+ (* (pow (* x x) 4) (+ 0.0005064034 (* (* x x) 0.0001789971))) (+ 1.0 (* 0.1049934947 (* x x)))) (* (pow x 4) (+ 0.0424060604 (* (* x x) 0.0072644182))))))) (- (+ (* (* x (* (pow (* x x) 3) (pow x 3))) (+ 0.0008327945 (* (* x x) (* 2.0 0.0001789971)))) (+ (* (* x x) (+ 0.7715471019 (* 0.2909738639 (* x x)))) 1.0)) (* (pow x 6) (+ 0.0694555761 (* (* x x) 0.0140005442)))))
1.1s
(* (+ (+ (* (* x (* (pow (* x x) 3) (pow x 3))) (+ 0.0008327945 (* (* x x) (* 2.0 0.0001789971)))) (+ (* (* x x) (+ 0.7715471019 (* 0.2909738639 (* x x)))) 1.0)) (* (pow x 6) (+ 0.0694555761 (* (* x x) 0.0140005442)))) (/ 1 (+ (+ (* (pow (* x x) 4) (+ 0.0005064034 (* (* x x) 0.0001789971))) (+ 1.0 (* 0.1049934947 (* x x)))) (* (pow x 4) (+ 0.0424060604 (* (* x x) 0.0072644182))))))
805.0ms
(* (- (* (+ (* (* x (* (pow (* x x) 3) (pow x 3))) (+ 0.0008327945 (* (* x x) (* 2.0 0.0001789971)))) (+ (* (* x x) (+ 0.7715471019 (* 0.2909738639 (* x x)))) 1.0)) (+ (* (* x (* (pow (* x x) 3) (pow x 3))) (+ 0.0008327945 (* (* x x) (* 2.0 0.0001789971)))) (+ (* (* x x) (+ 0.7715471019 (* 0.2909738639 (* x x)))) 1.0))) (* (* (pow x 6) (+ 0.0694555761 (* (* x x) 0.0140005442))) (* (pow x 6) (+ 0.0694555761 (* (* x x) 0.0140005442))))) (/ 1 (+ (+ (* (pow (* x x) 4) (+ 0.0005064034 (* (* x x) 0.0001789971))) (+ 1.0 (* 0.1049934947 (* x x)))) (* (pow x 4) (+ 0.0424060604 (* (* x x) 0.0072644182))))))
798.0ms
(/ (+ (+ (* (* x (* (pow (* x x) 3) (pow x 3))) (+ 0.0008327945 (* (* x x) (* 2.0 0.0001789971)))) (+ (* (* x x) (+ 0.7715471019 (* 0.2909738639 (* x x)))) 1.0)) (* (pow x 6) (+ 0.0694555761 (* (* x x) 0.0140005442)))) (+ (+ (* (pow (* x x) 4) (+ 0.0005064034 (* (* x x) 0.0001789971))) (+ 1.0 (* 0.1049934947 (* x x)))) (* (pow x 4) (+ 0.0424060604 (* (* x x) 0.0072644182)))))
604.0ms
(* (/ (sqrt (/ (+ (+ (+ alpha beta) (* beta alpha)) 1.0) (+ (+ alpha beta) (* 2.0 1.0)))) (sqrt (+ (+ alpha beta) (* 2.0 1.0)))) (/ (sqrt (/ (+ (+ (+ alpha beta) (* beta alpha)) 1.0) (+ (+ alpha beta) (* 2.0 1.0)))) (sqrt (+ (+ alpha beta) (* 2.0 1.0)))))
Rules
7324×times-frac
6719×associate-*r/
6656×*-un-lft-identity
6401×add-sqr-sqrt
5233×flip-+ flip3-+
4412×add-cube-cbrt
4092×add-exp-log
3731×frac-times
2723×sqrt-prod
2640×frac-add
2394×add-cbrt-cube
2121×prod-exp
2026×frac-sub
2018×associate-*r*
1852×associate-*l/
1762×associate-*l*
1691×pow1
1414×associate-/r/
898×cbrt-unprod
877×distribute-lft-out
801×div-exp
740×add-log-exp
492×cbrt-prod
491×cbrt-undiv
474×associate-/l*
465×pow-prod-down
438×swap-sqr
418×difference-of-squares
397×pow-exp
376×unswap-sqr
353×associate-/r*
329×div-inv
324×sqrt-div
322×unpow-prod-down
297×cbrt-div
285×pow-to-exp
283×log-pow
277×distribute-lft-out--
242×sqrt-pow1
214×cube-prod
178×associate-/l/
165×flip3-- flip--
158×log-prod
152×*-commutative
140×pow1/3
136×sqr-pow
132×pow1/2
95×distribute-rgt-neg-in
83×pow-prod-up distribute-rgt-in distribute-lft-in
80×frac-2neg clear-num diff-log
77×sub-neg
76×pow-unpow
74×sum-log
68×rem-sqrt-square
56×pow-sqr
55×distribute-lft-neg-in
50×exp-sum distribute-neg-frac
49×1-exp rec-exp
44×cube-div neg-mul-1
43×+-commutative
36×exp-diff
35×exp-prod
34×pow-plus
32×unpow3 cube-mult
30×pow-pow
29×exp-neg
27×associate--l+
26×neg-sub0
25×pow2
20×rem-cube-cbrt
18×associate--r+
16×un-div-inv pow-flip div-sub
15×inv-pow rem-log-exp log-div
13×associate-+l+ unpow2
12×associate-+r+
rem-exp-log associate--l-
distribute-rgt-out associate-+l-
distribute-neg-in
sqrt-unprod sin-sum
sqrt-undiv rem-cbrt-cube
rem-square-sqrt neg-log
distribute-rgt-neg-out
cos-sum difference-cubes pow3 associate-+r-
sqrt-pow2 unpow-prod-up pow-sub log-rec associate--r-

series3.1m (17.2%)

Calls

467 calls:

1.9m
(- (pow 1.0 3) (/ (pow (* (/ 1.0 (+ 1.0 (* 0.3275911 (fabs x)))) (- (* 0.254829592 0.254829592) (* (* (/ 1.0 (+ 1.0 (* 0.3275911 (fabs x)))) (+ -0.284496736 (* (/ 1.0 (+ 1.0 (* 0.3275911 (fabs x)))) (+ 1.421413741 (* (* (/ (sqrt 1.0) (* (cbrt (+ 1.0 (* 0.3275911 (fabs x)))) (cbrt (+ 1.0 (* 0.3275911 (fabs x)))))) (/ (sqrt 1.0) (cbrt (+ 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 (* (* (/ (sqrt 1.0) (* (cbrt (+ 1.0 (* 0.3275911 (fabs x)))) (cbrt (+ 1.0 (* 0.3275911 (fabs x)))))) (/ (sqrt 1.0) (cbrt (+ 1.0 (* 0.3275911 (fabs x)))))) (+ -1.453152027 (* (/ 1.0 (+ 1.0 (* 0.3275911 (fabs x)))) 1.061405429)))))))))) 3) (pow (* (- 0.254829592 (* (/ 1.0 (+ 1.0 (* 0.3275911 (fabs x)))) (+ -0.284496736 (* (/ 1.0 (+ 1.0 (* 0.3275911 (fabs x)))) (+ 1.421413741 (* (* (/ (sqrt 1.0) (* (cbrt (+ 1.0 (* 0.3275911 (fabs x)))) (cbrt (+ 1.0 (* 0.3275911 (fabs x)))))) (/ (sqrt 1.0) (cbrt (+ 1.0 (* 0.3275911 (fabs x)))))) (+ -1.453152027 (* (/ 1.0 (+ 1.0 (* 0.3275911 (fabs x)))) 1.061405429)))))))) (exp (* (fabs x) (fabs x)))) 3)))
7.8s
(- (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 (* (* (/ (sqrt 1.0) (* (cbrt (+ 1.0 (* 0.3275911 (fabs x)))) (cbrt (+ 1.0 (* 0.3275911 (fabs x)))))) (/ (sqrt 1.0) (cbrt (+ 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))) (/ (/ (+ (* beta alpha) (* i (+ (+ alpha beta) i))) (+ (+ alpha beta) (* 2.0 i))) (- (+ (+ alpha beta) (* 2.0 i)) (sqrt 1.0)))) (+ (+ (+ alpha beta) (* 2.0 i)) (sqrt 1.0)))
2.4s
(/ (/ (* (* i (+ (+ alpha beta) i)) (/ (/ (+ (* beta alpha) (* i (+ (+ alpha beta) i))) (+ (+ alpha beta) (* 2.0 i))) (- (+ (+ alpha beta) (* 2.0 i)) (sqrt 1.0)))) (+ (+ 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))) (/ (/ (+ (* beta alpha) (* i (+ (+ alpha beta) i))) (+ (+ alpha beta) (* 2.0 i))) (- (+ (+ alpha beta) (* 2.0 i)) (sqrt 1.0))))

sample2.3m (12.9%)

Algorithm
99×intervals
Results
46.4s12042×body10240exit
46.4s526217×body80valid
12.6s27366×body1280valid
6.0s21291×body640valid
4.5s70448×body80nan
2.1s1663×body1280nan
2.0s10598×body320valid
1.4s9546×body160valid
1.2s1339×body640nan
1.1s49536×pre80true
608.0ms1438×body2560valid
454.0ms663×body320nan
180.0ms593×body5120valid
155.0ms312×body160nan

prune1.7m (9.6%)

simplify16.8s (1.6%)

Algorithm
254×egg-herbie

regimes6.5s (0.6%)

Accuracy

Total 102.4b remaining (35.7%)

Threshold costs 3.6b (1.3%)

17.5b44.8%math.abs on complex
12.7b39.4%math.sqrt on complex, imaginary part, im greater than 0 branch
10.5b56.8%math.log/2 on complex, real part
10.4b57.9%math.log10 on complex, real part
10.3b58.3%math.log/1 on complex, real part

localize2.4s (0.2%)

bsearch2.0s (0.2%)

end1.0ms (0.0%)