Details

rewrite13.0m (73.8%)

Algorithm
162×rewrite-expression-head
Calls

483 calls:

31.2s
(* (/ (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))))) (/ (+ (+ (* (* (pow x 2) (* (pow x 2) (* (pow x 2) (* (pow x 2) (* x (pow x 3)))))) (* 2.0 0.0001789971)) (+ (+ (* (* (pow x 2) (* x (pow x 3))) 0.0694555761) 1.0) (* (pow x 2) (+ 0.7715471019 (* 0.2909738639 (pow x 2)))))) (* (pow x 2) (+ (* 0.0140005442 (* (* (* x x) x) (* (* x x) x))) (* 0.0008327945 (* (* (* (* 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))))))) x)
29.2s
(/ (+ (+ (* (* (pow x 2) (* (pow x 2) (* (pow x 2) (* (pow x 2) (* x (pow x 3)))))) (* 2.0 0.0001789971)) (+ (+ (* (* (pow x 2) (* x (pow x 3))) 0.0694555761) 1.0) (* (pow x 2) (+ 0.7715471019 (* 0.2909738639 (pow x 2)))))) (* (pow x 2) (+ (* 0.0140005442 (* (* (* x x) x) (* (* x x) x))) (* 0.0008327945 (* (* (* (* 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))))))
28.6s
(/ (+ (+ (* (* (pow x 2) (* (pow x 2) (* (pow x 2) (* (pow x 2) (* x (pow x 3)))))) (* 2.0 0.0001789971)) (+ (+ (* (* (pow x 2) (* x (pow x 3))) 0.0694555761) 1.0) (* (pow x 2) (+ 0.7715471019 (* 0.2909738639 (pow x 2)))))) (* (pow x 2) (+ (* 0.0140005442 (* (* (* x x) x) (* (* x x) x))) (* 0.0008327945 (* (* (* (* 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))))))
17.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))))) (/ (+ (+ (* (* (pow x 2) (* (pow x 2) (* (pow x 2) (* (pow x 2) (* x (pow x 3)))))) (* 2.0 0.0001789971)) (+ (+ (* (* (pow x 2) (* x (pow x 3))) 0.0694555761) 1.0) (* (pow x 2) (+ 0.7715471019 (* 0.2909738639 (pow x 2)))))) (* (pow x 2) (+ (* 0.0140005442 (* (* (* x x) x) (* (* x x) x))) (* 0.0008327945 (* (* (* (* 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)))))))
15.6s
(/ (* (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))))) x) (/ (+ (+ (* (* (pow x 2) (* (pow x 2) (* (pow x 2) (* (pow x 2) (* x (pow x 3)))))) (* 2.0 0.0001789971)) (+ (+ (* (* (pow x 2) (* x (pow x 3))) 0.0694555761) 1.0) (* (pow x 2) (+ 0.7715471019 (* 0.2909738639 (pow x 2)))))) (* (pow x 2) (+ (* 0.0140005442 (* (* (* x x) x) (* (* x x) x))) (* 0.0008327945 (* (* (* (* 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)))))))
Rules
19209×times-frac
13089×add-sqr-sqrt
11628×*-un-lft-identity
8920×add-cube-cbrt
4885×sqrt-prod
2857×add-exp-log
1920×add-cbrt-cube
1761×difference-of-squares
1565×associate-*r*
1513×pow1
1031×associate-*l*
974×prod-exp
919×unpow-prod-down
866×associate-/r/
849×distribute-lft-out--
796×div-exp
792×cube-prod
757×add-log-exp
712×flip-+ flip3-+ associate-/r*
662×div-inv
539×distribute-lft-out
536×cbrt-unprod
518×associate-/l*
392×cbrt-undiv
350×associate-*r/
341×pow-prod-down
315×cbrt-prod
306×frac-times
292×sqrt-div
275×sqr-pow
262×unswap-sqr
210×log-pow
209×pow-exp
195×associate-*l/
182×pow-to-exp
173×sqrt-pow1
146×associate-/l/
142×flip3-- flip--
141×*-commutative
134×swap-sqr
130×log-prod
109×pow1/2
99×distribute-rgt-in distribute-lft-in
94×clear-num frac-2neg
93×cbrt-div
86×unpow3 cube-mult
85×pow-unpow
78×sub-neg
77×rem-sqrt-square sum-log
75×diff-log
74×1-exp
71×rec-exp
62×exp-prod
49×pow-prod-up
44×cube-div
43×pow1/3 associate--l+
42×+-commutative
37×pow-plus
35×pow-pow
33×pow-sqr
30×exp-diff
29×rem-cube-cbrt exp-neg
25×pow2 neg-sub0
24×frac-add
21×div-sub
20×un-div-inv
18×distribute-rgt-neg-in distribute-lft-neg-in
17×log-div
16×associate-+r+
15×associate-+l+ pow-flip
14×inv-pow
13×rem-log-exp
12×rem-exp-log
10×exp-sum
sin-sum distribute-neg-in associate--l- unpow2
frac-sub distribute-neg-frac
difference-cubes
associate-+l- associate--r+
neg-mul-1
neg-log distribute-rgt-neg-out
pow3 cos-sum rem-cbrt-cube exp-to-pow
sqrt-pow2 sqrt-unprod
sqrt-undiv sum-cubes associate-+r- unpow-prod-up pow-sub rem-square-sqrt associate--r-

sample1.8m (10.2%)

Algorithm
99×intervals
Results
45.2s12259×body10240exit
19.6s464095×body80valid
11.6s27591×body1280valid
5.1s20923×body640valid
2.5s70684×body80nan
1.8s1665×body1280nan
1.7s10607×body320valid
1.1s9407×body160valid
994.0ms1335×body640nan
614.0ms49536×pre80true
371.0ms1488×body2560valid
359.0ms683×body320nan
159.0ms607×body5120valid
119.0ms324×body160nan

series1.3m (7.3%)

Calls

481 calls:

7.5s
(- (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 (* (* (* (cbrt (/ 1.0 (+ 1.0 (* 0.3275911 (fabs x))))) (cbrt (/ 1.0 (+ 1.0 (* 0.3275911 (fabs x)))))) (* (* (cbrt (cbrt (/ 1.0 (+ 1.0 (* 0.3275911 (fabs x)))))) (cbrt (cbrt (/ 1.0 (+ 1.0 (* 0.3275911 (fabs x))))))) (cbrt (cbrt (/ 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))
4.8s
(+ (pow (/ (* (+ alpha beta) (/ (- beta alpha) (+ (+ alpha beta) (* 2.0 i)))) (+ (+ (+ alpha beta) (* 2.0 i)) 2.0)) 3) (pow 1.0 3))
3.7s
(* (+ (sqrt (+ (- (* d1 d2) (* d1 d3)) (* d4 d1))) d1) (- (sqrt (+ (- (* d1 d2) (* d1 d3)) (* d4 d1))) d1))
3.1s
(pow (/ (* (+ alpha beta) (/ (- beta alpha) (+ (+ alpha beta) (* 2.0 i)))) (+ (+ (+ alpha beta) (* 2.0 i)) 2.0)) 3)
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))))

prune1.1m (6.0%)

simplify16.1s (1.5%)

regimes6.8s (0.6%)

Accuracy

Total 98.5b remaining (35.6%)

Threshold costs 3.7b (1.3%)

18.4b48.5%math.sqrt on complex, imaginary part, im greater than 0 branch
10.7b57.1%math.log/2 on complex, real part
10.4b58%math.log/1 on complex, real part
10.2b57.4%math.abs on complex
10.1b59.4%math.log10 on complex, real part

localize2.6s (0.2%)

bsearch2.3s (0.2%)

end1.0ms (0.0%)