Details

simplify15.6m (52.3%)

rewrite4.5m (15.1%)

Algorithm
142×rewrite-expression-head
Calls

423 calls:

41.5s
(* (/ (+ (+ (+ (+ (+ 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)
36.5s
(* (/ (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))))) 1) (* (/ (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))))) (+ (+ (+ (+ (+ (+ 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))
22.9s
(/ (+ (+ (+ (+ (+ 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)))))
21.7s
(* d1 (* (* (* (* (* d1 (* d1 d1)) d1) d1) (* d1 d1)) d1))
21.5s
(/ (* (/ (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))))) 1) (* (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)) (+ (+ (+ (+ (+ (+ 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
9583×times-frac
7734×*-un-lft-identity
6277×add-sqr-sqrt
4840×add-cube-cbrt
3075×pow1
2685×associate-*l/
2644×frac-times
2618×cbrt-div
2544×add-exp-log
1807×add-cbrt-cube
1770×associate-*r*
1511×flip-+ flip3-+
1312×pow-prod-up
1236×distribute-lft-out
1208×cbrt-prod
1088×flip3-- flip--
949×sqrt-prod
932×associate-*r/
929×associate-*l*
830×prod-exp
801×div-exp
619×add-log-exp
617×associate-/r*
604×cbrt-unprod
584×associate-/r/
540×pow-plus
446×pow-prod-down
441×cbrt-undiv
423×insert-posit16
355×associate-/l*
335×div-inv
323×unswap-sqr
275×difference-of-squares
244×distribute-lft-out--
239×sqrt-div
223×pow-sqr
213×log-pow
210×swap-sqr
174×pow2
163×sqrt-pow1
146×pow1/3
128×*-commutative
120×1-exp
113×frac-add
110×frac-sub
109×pow1/2
100×associate-/l/
84×log-prod
74×frac-2neg clear-num
70×distribute-rgt-in distribute-lft-in
69×cube-unmult
64×sum-log sub-neg
49×+-commutative rem-sqrt-square
43×rec-exp
41×diff-log
36×unpow-prod-down
35×pow3
26×sqr-pow
18×div-sub exp-prod
16×difference-cubes
14×associate-+r+
13×log-div
12×cube-prod sin-sum
10×associate--r+
associate--l+ rem-log-exp cube-div
un-div-inv distribute-rgt-out
associate-+l+
pow-flip pow-exp inv-pow pow-to-exp distribute-rgt1-in
cos-sum
pow-unpow sqrt-unprod associate-+l- rem-square-sqrt
associate-+r- exp-sum pow-pow rem-exp-log
rem-cube-cbrt exp-diff sqrt-undiv unpow3 cube-mult associate--r- count-2

prune3.4m (11.6%)

series2.8m (9.4%)

Calls

423 calls:

51.7s
(- (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 1.0) (* (* 0.3275911 (fabs x)) (* 0.3275911 (fabs x))))) (- 1.0 (* 0.3275911 (fabs x)))) 1.061405429))))))))) (exp (- (* (fabs x) (fabs x))))) 3))
5.2s
(* (* (/ (/ (* 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)))) (/ 1 (- (+ (+ alpha beta) (* 2.0 i)) (sqrt 1.0))))
5.2s
(- (pow (sqrt 1.0) 3) (sqrt (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 1.0) (* (* 0.3275911 (fabs x)) (* 0.3275911 (fabs x))))) (- 1.0 (* 0.3275911 (fabs x)))) 1.061405429))))))))) (exp (- (* (fabs x) (fabs x))))) 3)))
4.8s
(* (/ (/ (* 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))))
3.4s
(- 1.0 (* (* (/ 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 1.0) (* (* 0.3275911 (fabs x)) (* 0.3275911 (fabs x))))) (- 1.0 (* 0.3275911 (fabs x)))) 1.061405429))))))))) (exp (- (* (fabs x) (fabs x))))))

sample2.4m (8.1%)

Algorithm
95×intervals
Results
49.1s411000×body80valid
27.9s27475×body1280valid
16.2s21358×body640valid
9.5s69354×body80nan
8.2s8079×body10240exit
4.8s10693×body320valid
2.9s9514×body160valid
2.4s41536×pre80true
939.0ms1359×body2560valid
487.0ms596×body5120valid
222.0ms101×body1280nan
89.0ms63×body640nan
38.0ms40×body320nan
14.0ms20×body160nan

regimes30.1s (1.7%)

Accuracy

Total 93.7b remaining (33.7%)

Threshold costs 3.4b (1.2%)

11.0b54.8%math.log10 on complex, real part
10.8b55.5%math.log/1 on complex, real part
10.7b57.5%math.log/2 on complex, real part
10.6b55%math.abs on complex
9.1b66.4%math.sqrt on complex, imaginary part, im greater than 0 branch

localize28.7s (1.6%)

bsearch3.9s (0.2%)

end1.0ms (0.0%)