Details

rewrite11.5m (45.0%)

Algorithm
163×rewrite-expression-head
Calls

504 calls:

5.6s
(* (/ (+ (+ (* (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)))) (fabs (cbrt (+ (+ (* (* 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))))))) (/ x (/ (sqrt (cbrt (+ (+ (* (* 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 (sqrt (+ (+ (* (* 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)))))))))
5.0s
(* (sqrt (/ 1.0 (sqrt PI))) (* (sqrt (/ 1.0 (sqrt PI))) (+ (+ (+ (* 2.0 (fabs x)) (* (/ 2.0 3.0) (* (* (fabs x) (fabs x)) (fabs x)))) (* (/ 1.0 5.0) (* (* (* (* (fabs x) (fabs x)) (fabs x)) (fabs x)) (fabs x)))) (* (/ 1.0 21.0) (* (* (* (* (* (* (fabs x) (fabs x)) (fabs x)) (fabs x)) (fabs x)) (fabs x)) (fabs x))))))
3.0s
(/ (* (+ (+ (* (* (* (pow (fabs x) 3) (* (fabs x) (fabs x))) (* (fabs x) (fabs x))) (/ 1.0 21.0)) (+ (/ (* 2.0 (pow (fabs x) 3)) 3.0) (* 2.0 (fabs x)))) (* (* (pow (fabs x) 3) (* (fabs x) (fabs x))) (/ 1.0 5.0))) 1.0) (sqrt PI))
3.0s
(/ (sqrt (+ (+ (* (* 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)))) (sqrt (+ (+ (* (* 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)))))))
2.5s
(/ (+ (+ (* (* 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)))))
Rules
15618×times-frac
11593×*-un-lft-identity
10484×add-sqr-sqrt
7913×add-cube-cbrt
6828×sqrt-prod
3220×associate-*r*
3217×add-exp-log
2502×add-cbrt-cube
2334×associate-*r/
2147×flip-+ flip3-+
1851×associate-*l*
1780×pow1
1755×associate-/r/
1710×frac-add
1426×distribute-lft-out
1271×sqrt-div
1184×prod-exp
946×frac-times
938×cbrt-prod
815×cbrt-unprod
797×flip3-- flip--
783×div-exp
775×add-log-exp
741×associate-/r*
592×associate-/l*
576×cbrt-undiv
513×associate-*l/ unswap-sqr
507×distribute-lft-out--
504×div-inv
477×difference-of-squares
470×frac-sub
429×pow-prod-down
415×cbrt-div
349×unpow-prod-down
317×associate-/l/
303×swap-sqr
261×log-prod
227×log-pow
217×cube-prod
191×pow-exp
180×sqrt-pow1
166×*-commutative
155×distribute-rgt-in distribute-lft-in
135×sqr-pow
121×pow-to-exp
119×pow-prod-up
116×pow1/2
93×sub-neg
92×clear-num frac-2neg
91×pow1/3
80×pow-plus
74×sum-log diff-log
71×pow-sqr
70×rem-sqrt-square exp-prod
64×1-exp
61×associate-+l+ rec-exp
60×distribute-neg-frac
55×pow-unpow
53×+-commutative
49×associate--l+
43×pow2
40×associate-+r+
39×distribute-rgt-neg-in
37×distribute-lft-neg-in exp-sum
25×log-div
20×pow-pow
18×unpow3 cube-mult div-sub rem-log-exp
17×inv-pow pow-flip
15×cube-div unpow2
14×associate--r+
13×exp-diff associate--l-
12×neg-mul-1
11×rem-exp-log
10×distribute-rgt-out
un-div-inv sum-cubes
distribute-neg-in
rem-cube-cbrt sin-sum
difference-cubes exp-neg distribute-lft1-in
pow-div pow3 sub-div neg-log distribute-rgt-neg-out exp-to-pow mul-1-neg
sqrt-unprod rem-square-sqrt associate-+l-
cos-sum associate-+r- log-rec rem-cbrt-cube
distribute-rgt-out-- unpow-prod-up pow-sub neg-sub0

simplify4.8m (18.7%)

sample3.8m (14.9%)

Algorithm
99×intervals
Results
1.2m12188×body10240exit
1.0m487521×body80valid
27.4s27367×body1280valid
12.3s20960×body640valid
6.6s70254×body80nan
4.6s1683×body1280nan
4.3s10614×body320valid
3.6s1326×body640nan
3.5s9284×body160valid
2.2s49536×pre80true
1.5s669×body320nan
1.3s1485×body2560valid
358.0ms614×body5120valid
199.0ms291×body160nan

prune2.7m (10.6%)

series2.4m (9.5%)

Calls

502 calls:

13.6s
(+ (* (- (/ (* (* 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)))))))))) (* 1.0 (+ 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)))))))))) (* (pow (+ (* 0.3275911 (fabs x)) 1.0) 2) (- 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 (+ (- (pow (fabs x) 2)) (- (pow (fabs x) 2))))) (* 1.0 1.0))
13.5s
(exp (log (+ (* (- (/ (* (* 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)))))))))) (* 1.0 (+ 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)))))))))) (* (pow (+ (* 0.3275911 (fabs x)) 1.0) 2) (- 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 (+ (- (pow (fabs x) 2)) (- (pow (fabs x) 2))))) (* 1.0 1.0))))
13.1s
(+ (* (- (/ (* (* 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)))))))))) (* 1.0 (+ 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)))))))))) (* (pow (+ (* 0.3275911 (fabs x)) 1.0) 2) (- 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 (+ (- (pow (fabs x) 2)) (- (pow (fabs x) 2))))) (* 1.0 1.0))
4.1s
(/ (- (* (- d2 d3) (- d2 d3)) (* (- d4 d1) (- d4 d1))) (cbrt (- (- d2 d3) (- d4 d1))))
3.4s
(* (/ (/ (* 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))))

regimes10.5s (0.7%)

Accuracy

Total 104.0b remaining (37.6%)

Threshold costs 4.5b (1.6%)

16.9b46.3%math.abs on complex
16.5b48.6%math.sqrt on complex, imaginary part, im greater than 0 branch
10.5b57%math.log/2 on complex, real part
10.0b59.9%math.log10 on complex, real part
9.8b60.5%math.log/1 on complex, real part

localize5.6s (0.4%)

bsearch3.7s (0.2%)

end1.0ms (0.0%)