Details

rewrite12.8m (75.8%)

Algorithm
159×rewrite-expression-head
Calls

459 calls:

31.1s
(* (/ 1 (sqrt (+ (+ (+ (+ (+ (+ 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)))))) (/ (+ (+ (* (* (pow x 2) (* (pow x 2) (* (pow x 2) (* x (pow x 3))))) 0.0001789971) (+ (+ (* 0.0072644182 (pow x 6)) 1.0) (* (pow x 2) (+ 0.1049934947 (* 0.0424060604 (pow x 2)))))) (* (* (pow x 2) (* (pow x 2) (* x (pow x 3)))) 0.0005064034)) (sqrt (+ (+ (+ (+ (+ (+ 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)))))))
31.0s
(* (* (/ 1 (sqrt (+ (+ (+ (+ (+ (+ 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)))))) (/ (+ (+ (* (* (pow x 2) (* (pow x 2) (* (pow x 2) (* x (pow x 3))))) 0.0001789971) (+ (+ (* 0.0072644182 (pow x 6)) 1.0) (* (pow x 2) (+ 0.1049934947 (* 0.0424060604 (pow x 2)))))) (* (* (pow x 2) (* (pow x 2) (* x (pow x 3)))) 0.0005064034)) (sqrt (+ (+ (+ (+ (+ (+ 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)
15.7s
(/ (* 1 (+ (+ (* (* (pow x 2) (* (pow x 2) (* (pow x 2) (* x (pow x 3))))) 0.0001789971) (+ (+ (* 0.0072644182 (pow x 6)) 1.0) (* (pow x 2) (+ 0.1049934947 (* 0.0424060604 (pow x 2)))))) (* (* (pow x 2) (* (pow x 2) (* x (pow x 3)))) 0.0005064034))) (+ (+ (* (* (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)))))))
15.0s
(* (/ (+ (+ (+ (+ (+ 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)
12.4s
(/ (+ (+ (* (* (pow x 2) (* (pow x 2) (* (pow x 2) (* x (pow x 3))))) 0.0001789971) (+ (+ (* 0.0072644182 (pow x 6)) 1.0) (* (pow x 2) (+ 0.1049934947 (* 0.0424060604 (pow x 2)))))) (* (* (pow x 2) (* (pow x 2) (* x (pow x 3)))) 0.0005064034)) (sqrt (+ (+ (+ (+ (+ (+ 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))))))
Rules
12651×times-frac
9289×*-un-lft-identity
7759×add-sqr-sqrt
6556×add-cube-cbrt
5626×add-exp-log
3435×sqrt-prod
3087×add-cbrt-cube
2719×prod-exp
1838×pow1
1707×div-exp
1561×frac-times
1419×associate-*r*
1391×associate-*r/
1295×cbrt-unprod
1234×distribute-lft-out
1026×associate-*l/
896×associate-*l*
831×add-log-exp
722×cbrt-undiv
601×flip-+ flip3-+
562×frac-add
554×associate-/r/
480×pow-prod-down associate-/l*
456×div-inv
451×associate-/r*
373×unpow-prod-down
369×sqrt-div
311×cbrt-prod
307×unswap-sqr
292×log-pow
243×sqrt-pow1
234×swap-sqr
215×cube-prod
204×difference-of-squares
192×distribute-lft-out--
170×pow1/2
163×pow-exp
162×1-exp
154×log-prod
151×pow-to-exp
148×*-commutative
138×flip3-- flip--
137×pow-prod-up
131×sum-log
124×cbrt-div
100×diff-log
99×pow-plus
98×pow-unpow
88×associate-/l/ sqr-pow
83×distribute-rgt-in distribute-lft-in
80×frac-2neg clear-num
74×sub-neg
73×pow1/3
69×pow-sqr
67×rem-sqrt-square
64×frac-sub
61×exp-prod
46×rec-exp
45×log-div
42×distribute-neg-frac
41×+-commutative
39×pow2
38×associate--l+
34×pow-pow
33×inv-pow pow-flip
28×unpow3 cube-mult
24×cube-div rem-log-exp
20×associate-+l+
17×sum-cubes div-sub
16×exp-diff distribute-lft-neg-in distribute-rgt-neg-in
15×rem-exp-log
14×associate--l-
13×exp-sum
12×associate-+r+
rem-cube-cbrt sqrt-unprod unpow2 associate--r+
un-div-inv
distribute-neg-in
sin-sum
pow3 associate-+l-
neg-log rem-cbrt-cube neg-mul-1
sqrt-pow2 rem-square-sqrt log-rec distribute-rgt-neg-out
sqrt-undiv
cos-sum unpow1/3 exp-neg unpow-prod-up pow-sub distribute-frac-neg neg-sub0 associate--r-

sample1.8m (10.6%)

Algorithm
99×intervals
Results
42.9s12064×body10240exit
21.7s495844×body80valid
11.1s27503×body1280valid
5.0s21253×body640valid
2.4s68070×body80nan
1.7s1658×body1280nan
1.6s10646×body320valid
997.0ms1391×body640nan
960.0ms9277×body160valid
607.0ms49536×pre80true
359.0ms1552×body2560valid
344.0ms646×body320nan
141.0ms587×body5120valid
105.0ms301×body160nan

prune56.0s (5.5%)

series55.4s (5.5%)

Calls

459 calls:

1.1s
(log (- (+ 1.0 (+ (* 0.284496736 (/ (exp (- (pow (fabs x) 2))) (pow (+ (* 0.3275911 (fabs x)) 1.0) 2))) (* 1.453152027 (/ (exp (- (pow (fabs x) 2))) (pow (+ (* 0.3275911 (fabs x)) 1.0) 4))))) (+ (* 1.061405429 (/ (exp (- (pow (fabs x) 2))) (pow (+ (* 0.3275911 (fabs x)) 1.0) 5))) (+ (* 1.421413741 (/ (exp (- (pow (fabs x) 2))) (pow (+ (* 0.3275911 (fabs x)) 1.0) 3))) (* 0.254829592 (/ (exp (- (pow (fabs x) 2))) (+ (* 0.3275911 (fabs x)) 1.0)))))))
1.1s
(log (- (+ 1.0 (+ (* 0.284496736 (/ (exp (- (pow (fabs x) 2))) (pow (+ (* 0.3275911 (fabs x)) 1.0) 2))) (* 1.453152027 (/ (exp (- (pow (fabs x) 2))) (pow (+ (* 0.3275911 (fabs x)) 1.0) 4))))) (+ (* 1.061405429 (/ (exp (- (pow (fabs x) 2))) (pow (+ (* 0.3275911 (fabs x)) 1.0) 5))) (+ (* 1.421413741 (/ (exp (- (pow (fabs x) 2))) (pow (+ (* 0.3275911 (fabs x)) 1.0) 3))) (* 0.254829592 (/ (exp (- (pow (fabs x) 2))) (+ (* 0.3275911 (fabs x)) 1.0)))))))
853.0ms
(- (+ 1.0 (+ (* 0.284496736 (/ (exp (- (pow (fabs x) 2))) (pow (+ (* 0.3275911 (fabs x)) 1.0) 2))) (* 1.453152027 (/ (exp (- (pow (fabs x) 2))) (pow (+ (* 0.3275911 (fabs x)) 1.0) 4))))) (+ (* 1.061405429 (/ (exp (- (pow (fabs x) 2))) (pow (+ (* 0.3275911 (fabs x)) 1.0) 5))) (+ (* 1.421413741 (/ (exp (- (pow (fabs x) 2))) (pow (+ (* 0.3275911 (fabs x)) 1.0) 3))) (* 0.254829592 (/ (exp (- (pow (fabs x) 2))) (+ (* 0.3275911 (fabs x)) 1.0))))))
849.0ms
(exp (cbrt (pow (log (- (+ 1.0 (+ (* 0.284496736 (/ (exp (- (pow (fabs x) 2))) (pow (+ (* 0.3275911 (fabs x)) 1.0) 2))) (* 1.453152027 (/ (exp (- (pow (fabs x) 2))) (pow (+ (* 0.3275911 (fabs x)) 1.0) 4))))) (+ (* 1.061405429 (/ (exp (- (pow (fabs x) 2))) (pow (+ (* 0.3275911 (fabs x)) 1.0) 5))) (+ (* 1.421413741 (/ (exp (- (pow (fabs x) 2))) (pow (+ (* 0.3275911 (fabs x)) 1.0) 3))) (* 0.254829592 (/ (exp (- (pow (fabs x) 2))) (+ (* 0.3275911 (fabs x)) 1.0))))))) 3)))
842.0ms
(- (+ 1.0 (+ (* 0.284496736 (/ (exp (- (pow (fabs x) 2))) (pow (+ (* 0.3275911 (fabs x)) 1.0) 2))) (* 1.453152027 (/ (exp (- (pow (fabs x) 2))) (pow (+ (* 0.3275911 (fabs x)) 1.0) 4))))) (+ (* 1.061405429 (/ (exp (- (pow (fabs x) 2))) (pow (+ (* 0.3275911 (fabs x)) 1.0) 5))) (+ (* 1.421413741 (/ (exp (- (pow (fabs x) 2))) (pow (+ (* 0.3275911 (fabs x)) 1.0) 3))) (* 0.254829592 (/ (exp (- (pow (fabs x) 2))) (+ (* 0.3275911 (fabs x)) 1.0))))))

simplify14.2s (1.4%)

regimes6.6s (0.7%)

Accuracy

Total 91.0b remaining (33.6%)

Threshold costs 3.7b (1.4%)

10.8b56.6%math.log/2 on complex, real part
10.4b57.9%math.log10 on complex, real part
10.3b58.1%math.log/1 on complex, real part
10.1b58%math.abs on complex
9.9b57.1%math.sqrt on complex, real part

localize2.6s (0.3%)

bsearch2.3s (0.2%)

end1.0ms (0.0%)