Details

rewrite13.1m (48.8%)

Algorithm
160×rewrite-expression-head
Calls

485 calls:

30.1s
(* (/ (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)
27.5s
(/ (+ (+ (* (* (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.8s
(/ (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)))))))
14.8s
(* (/ (+ (+ (+ (+ (+ 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.3s
(/ (* (+ (+ (* (* (pow x 2) (* (pow x 2) (* (pow x 2) (* x (pow x 3))))) 0.0001789971) (+ (+ (* (* (pow x 2) (* x (pow x 3))) 0.0072644182) 1.0) (* (pow x 2) (+ 0.1049934947 (* 0.0424060604 (* x x)))))) (* 0.0005064034 (pow x 8))) 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
26356×times-frac
18037×*-un-lft-identity
16000×add-sqr-sqrt
11278×add-cube-cbrt
8678×sqrt-prod
3254×add-exp-log
2478×distribute-lft-out
2294×pow1
2283×add-cbrt-cube
2060×associate-*l*
1688×difference-of-squares
1506×prod-exp
1476×cbrt-prod
1453×associate-*r*
943×distribute-lft-out-- associate-/r/
894×flip-+ flip3-+
874×div-inv
845×cbrt-unprod
732×add-log-exp
712×associate-/r*
646×associate-/l*
645×div-exp
642×log-pow
557×pow-prod-down
535×unpow-prod-down
455×associate-*r/
435×cbrt-undiv
428×cube-prod
420×frac-times
400×sqrt-div
381×pow-exp
347×unswap-sqr
276×associate-*l/
258×sqrt-pow1
239×pow-to-exp
219×swap-sqr
203×cbrt-div
182×pow1/2
148×associate-/l/
135×*-commutative
124×sqr-pow
117×pow-prod-up
115×flip3-- flip--
111×pow1/3
90×distribute-rgt-in distribute-lft-in
89×log-prod
87×frac-2neg clear-num
85×rem-sqrt-square
82×sub-neg diff-log
80×pow-sqr
79×cube-mult
64×distribute-neg-frac
57×1-exp
56×sum-log
55×frac-sub
53×sum-cubes
52×frac-add
51×pow-unpow rec-exp
50×pow-plus
42×associate--l+
41×exp-diff
40×pow2
39×+-commutative
38×pow-pow
33×cube-div
31×unpow3
28×exp-neg exp-prod
25×neg-sub0
21×exp-sum
20×rem-cube-cbrt
17×log-div
15×unpow2
14×associate--l-
13×un-div-inv
12×distribute-rgt-neg-in distribute-lft-neg-in pow-flip div-sub
10×inv-pow associate--r+
sin-sum
associate-+l+ associate-+r+ rem-log-exp
rem-exp-log sqrt-unprod rem-square-sqrt associate-+l-
distribute-neg-in distribute-rgt-out-- neg-mul-1
cos-sum distribute-rgt-neg-out
difference-cubes sqrt-pow2 pow3 sub-div

prune6.8m (25.6%)

series4.0m (15.0%)

Calls

482 calls:

1.2m
(- (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 (* (* (cbrt (* (/ 1.0 (+ 1.0 (* 0.3275911 (fabs x)))) (+ -1.453152027 (* (/ 1.0 (+ 1.0 (* 0.3275911 (fabs x)))) 1.061405429)))) (cbrt (* (/ 1.0 (+ 1.0 (* 0.3275911 (fabs x)))) (+ -1.453152027 (* (/ 1.0 (+ 1.0 (* 0.3275911 (fabs x)))) 1.061405429))))) (cbrt (* (/ 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 (* (* (cbrt (* (/ 1.0 (+ 1.0 (* 0.3275911 (fabs x)))) (+ -1.453152027 (* (/ 1.0 (+ 1.0 (* 0.3275911 (fabs x)))) 1.061405429)))) (cbrt (* (/ 1.0 (+ 1.0 (* 0.3275911 (fabs x)))) (+ -1.453152027 (* (/ 1.0 (+ 1.0 (* 0.3275911 (fabs x)))) 1.061405429))))) (cbrt (* (/ 1.0 (+ 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 (* (* (cbrt (* (/ 1.0 (+ 1.0 (* 0.3275911 (fabs x)))) (+ -1.453152027 (* (/ 1.0 (+ 1.0 (* 0.3275911 (fabs x)))) 1.061405429)))) (cbrt (* (/ 1.0 (+ 1.0 (* 0.3275911 (fabs x)))) (+ -1.453152027 (* (/ 1.0 (+ 1.0 (* 0.3275911 (fabs x)))) 1.061405429))))) (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)))
51.3s
(* (/ (/ (sqrt 1.0) (* (cbrt (sqrt 9.0)) (cbrt (sqrt 9.0)))) (sqrt (+ (sqrt a) (sqrt (/ 1.0 3.0))))) (* (/ (/ (sqrt 1.0) (cbrt (sqrt 9.0))) (sqrt (- (sqrt a) (sqrt (/ 1.0 3.0))))) rand))
47.3s
(* (* (/ 1 (sqrt (+ (sqrt a) (sqrt (/ 1.0 3.0))))) (/ (/ 1.0 (sqrt 9.0)) (sqrt (- (sqrt a) (sqrt (/ 1.0 3.0)))))) rand)
6.6s
(- (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)))) (+ -1.453152027 (* (/ 1.0 (+ 1.0 (* 0.3275911 (fabs x)))) 1.061405429)))) (cbrt (* (/ 1.0 (+ 1.0 (* 0.3275911 (fabs x)))) (+ -1.453152027 (* (/ 1.0 (+ 1.0 (* 0.3275911 (fabs x)))) 1.061405429))))) (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.0s
(* (/ (/ (sqrt 1.0) (cbrt (sqrt 9.0))) (sqrt (- (sqrt a) (sqrt (/ 1.0 3.0))))) rand)

sample2.2m (8.1%)

Algorithm
99×intervals
Results
47.9s12168×body10240exit
36.8s488902×body80valid
13.0s27440×body1280valid
6.2s21142×body640valid
3.1s70021×body80nan
2.3s1615×body1280nan
1.9s10504×body320valid
1.5s9271×body160valid
1.3s1299×body640nan
668.0ms49536×pre80true
485.0ms647×body320nan
429.0ms1466×body2560valid
160.0ms554×body5120valid
156.0ms307×body160nan

regimes16.7s (1.0%)

Accuracy

Total 83.2b remaining (30.4%)

Threshold costs 4.1b (1.5%)

10.4b55.4%math.abs on complex
10.0b58.9%math.log10 on complex, real part
9.8b60.3%math.log/2 on complex, real part
9.7b59.7%math.log/1 on complex, real part
9.3b55.4%math.sqrt on complex, imaginary part, im greater than 0 branch

simplify16.1s (1.0%)

Algorithm
258×egg-herbie

bsearch4.9s (0.3%)

localize2.5s (0.2%)

end1.0ms (0.0%)