Details

simplify51.8m

Calls

20355 calls:

Slowest
2.1s
(* (/ (/ (* (cbrt (+ (/ (+ -0.284496736 (/ (+ (/ (+ (/ 1.061405429 (+ 1 (* (fabs x) 0.3275911))) -1.453152027) (+ 1 (* (fabs x) 0.3275911))) 1.421413741) (+ 1 (* (fabs x) 0.3275911)))) (+ 1 (* (fabs x) 0.3275911))) 0.254829592)) (cbrt (+ (/ (+ -0.284496736 (/ (+ (/ (+ (/ 1.061405429 (+ 1 (* (fabs x) 0.3275911))) -1.453152027) (+ 1 (* (fabs x) 0.3275911))) 1.421413741) (+ 1 (* (fabs x) 0.3275911)))) (+ 1 (* (fabs x) 0.3275911))) 0.254829592))) (* (cbrt (+ 1 (* (fabs x) 0.3275911))) (cbrt (+ 1 (* (fabs x) 0.3275911))))) (sqrt (exp (* (fabs x) (fabs x))))) (/ (/ (* (cbrt (+ (/ (+ -0.284496736 (/ (+ (/ (+ (/ 1.061405429 (+ 1 (* (fabs x) 0.3275911))) -1.453152027) (+ 1 (* (fabs x) 0.3275911))) 1.421413741) (+ 1 (* (fabs x) 0.3275911)))) (+ 1 (* (fabs x) 0.3275911))) 0.254829592)) (cbrt (+ (/ (+ -0.284496736 (/ (+ (/ (+ (/ 1.061405429 (+ 1 (* (fabs x) 0.3275911))) -1.453152027) (+ 1 (* (fabs x) 0.3275911))) 1.421413741) (+ 1 (* (fabs x) 0.3275911)))) (+ 1 (* (fabs x) 0.3275911))) 0.254829592))) (* (cbrt (+ 1 (* (fabs x) 0.3275911))) (cbrt (+ 1 (* (fabs x) 0.3275911))))) (sqrt (exp (* (fabs x) (fabs x))))))
1.9s
(* (* (* (/ (/ (+ (/ (+ -0.284496736 (/ (+ (/ (+ (/ 1.061405429 (+ 1 (* (fabs x) 0.3275911))) -1.453152027) (+ 1 (* (fabs x) 0.3275911))) 1.421413741) (+ 1 (* (fabs x) 0.3275911)))) (+ 1 (* (fabs x) 0.3275911))) 0.254829592) (+ 1 (* (fabs x) 0.3275911))) (exp (* (fabs x) (fabs x)))) (/ (/ (+ (/ (+ -0.284496736 (/ (+ (/ (+ (/ 1.061405429 (+ 1 (* (fabs x) 0.3275911))) -1.453152027) (+ 1 (* (fabs x) 0.3275911))) 1.421413741) (+ 1 (* (fabs x) 0.3275911)))) (+ 1 (* (fabs x) 0.3275911))) 0.254829592) (+ 1 (* (fabs x) 0.3275911))) (exp (* (fabs x) (fabs x))))) (/ (/ (+ (/ (+ -0.284496736 (/ (+ (/ (+ (/ 1.061405429 (+ 1 (* (fabs x) 0.3275911))) -1.453152027) (+ 1 (* (fabs x) 0.3275911))) 1.421413741) (+ 1 (* (fabs x) 0.3275911)))) (+ 1 (* (fabs x) 0.3275911))) 0.254829592) (+ 1 (* (fabs x) 0.3275911))) (exp (* (fabs x) (fabs x))))) (/ (/ (* (* (+ (/ (+ -0.284496736 (/ (+ (/ (+ (/ 1.061405429 (+ 1 (* (fabs x) 0.3275911))) -1.453152027) (+ 1 (* (fabs x) 0.3275911))) 1.421413741) (+ 1 (* (fabs x) 0.3275911)))) (+ 1 (* (fabs x) 0.3275911))) 0.254829592) (+ (/ (+ -0.284496736 (/ (+ (/ (+ (/ 1.061405429 (+ 1 (* (fabs x) 0.3275911))) -1.453152027) (+ 1 (* (fabs x) 0.3275911))) 1.421413741) (+ 1 (* (fabs x) 0.3275911)))) (+ 1 (* (fabs x) 0.3275911))) 0.254829592)) (+ (/ (+ -0.284496736 (/ (+ (/ (+ (/ 1.061405429 (+ 1 (* (fabs x) 0.3275911))) -1.453152027) (+ 1 (* (fabs x) 0.3275911))) 1.421413741) (+ 1 (* (fabs x) 0.3275911)))) (+ 1 (* (fabs x) 0.3275911))) 0.254829592)) (* (* (+ 1 (* (fabs x) 0.3275911)) (+ 1 (* (fabs x) 0.3275911))) (+ 1 (* (fabs x) 0.3275911)))) (* (* (exp (* (fabs x) (fabs x))) (exp (* (fabs x) (fabs x)))) (exp (* (fabs x) (fabs x))))))
1.8s
(/ (/ (* (* (* 0.5 (* 0.5 0.5)) (* 0.5 (* 0.5 0.5))) (* 0.5 (* 0.5 0.5))) (* (* (/ (exp im) (sin re)) (/ (exp im) (sin re))) (/ (exp im) (sin re)))) (* (* (* (/ (exp im) (sin re)) (/ (exp im) (sin re))) (/ (exp im) (sin re))) (/ (* (* (exp im) (exp im)) (exp im)) (* (* (sin re) (sin re)) (sin re)))))
1.8s
(- (* (* 1.0 (* 1.0 1.0)) (* 1.0 (* 1.0 1.0))) (* (* (* (+ alpha beta) (/ (/ (- beta alpha) (+ (* 2 i) (+ alpha beta))) (+ 2.0 (+ (* 2 i) (+ alpha beta))))) (* (* (+ alpha beta) (/ (/ (- beta alpha) (+ (* 2 i) (+ alpha beta))) (+ 2.0 (+ (* 2 i) (+ alpha beta))))) (* (+ alpha beta) (/ (/ (- beta alpha) (+ (* 2 i) (+ alpha beta))) (+ 2.0 (+ (* 2 i) (+ alpha beta))))))) (* (* (+ alpha beta) (/ (/ (- beta alpha) (+ (* 2 i) (+ alpha beta))) (+ 2.0 (+ (* 2 i) (+ alpha beta))))) (* (* (+ alpha beta) (/ (/ (- beta alpha) (+ (* 2 i) (+ alpha beta))) (+ 2.0 (+ (* 2 i) (+ alpha beta))))) (* (+ alpha beta) (/ (/ (- beta alpha) (+ (* 2 i) (+ alpha beta))) (+ 2.0 (+ (* 2 i) (+ alpha beta)))))))))
1.7s
(* (* (+ (* 1.0 (* 1.0 1.0)) (* (* (+ alpha beta) (/ (/ (- beta alpha) (+ (* 2 i) (+ alpha beta))) (+ 2.0 (+ (* 2 i) (+ alpha beta))))) (* (* (+ alpha beta) (/ (/ (- beta alpha) (+ (* 2 i) (+ alpha beta))) (+ 2.0 (+ (* 2 i) (+ alpha beta))))) (* (+ alpha beta) (/ (/ (- beta alpha) (+ (* 2 i) (+ alpha beta))) (+ 2.0 (+ (* 2 i) (+ alpha beta)))))))) (+ (* 1.0 (* 1.0 1.0)) (* (* (+ alpha beta) (/ (/ (- beta alpha) (+ (* 2 i) (+ alpha beta))) (+ 2.0 (+ (* 2 i) (+ alpha beta))))) (* (* (+ alpha beta) (/ (/ (- beta alpha) (+ (* 2 i) (+ alpha beta))) (+ 2.0 (+ (* 2 i) (+ alpha beta))))) (* (+ alpha beta) (/ (/ (- beta alpha) (+ (* 2 i) (+ alpha beta))) (+ 2.0 (+ (* 2 i) (+ alpha beta))))))))) (+ (* 1.0 (* 1.0 1.0)) (* (* (+ alpha beta) (/ (/ (- beta alpha) (+ (* 2 i) (+ alpha beta))) (+ 2.0 (+ (* 2 i) (+ alpha beta))))) (* (* (+ alpha beta) (/ (/ (- beta alpha) (+ (* 2 i) (+ alpha beta))) (+ 2.0 (+ (* 2 i) (+ alpha beta))))) (* (+ alpha beta) (/ (/ (- beta alpha) (+ (* 2 i) (+ alpha beta))) (+ 2.0 (+ (* 2 i) (+ alpha beta)))))))))

sample9.3m

Algorithm
88×intervals
Results
6.6m101254×body10240exit
1.1m394000×body80valid
25.3s23305×body1280valid
14.3s18212×body640valid
11.4s69151×body80nan
7.1s1586×body1280nan
4.5s9137×body320valid
3.6s1334×body640nan
2.7s41536×pre80true
1.6s5008×body160valid
1.4s650×body320nan
1.3s1454×body2560valid
552.0ms592×body5120valid
491.0ms365×body160nan

rewrite7.5m

Algorithm
144×rewrite-expression-head
Calls

432 calls:

Slowest
1.2m
(* (* 1 (/ (+ (+ (+ (* (* (* (* x x) (* x x)) (* (* x x) (* x x))) 0.0005064034) (+ (+ 1 (* (* x x) 0.1049934947)) (* (* (* x x) (* x x)) 0.0424060604))) (* 0.0072644182 (* (* x x) (* (* x x) (* x x))))) (* (* (* x x) (* (* x x) (* x x))) (* (* (* x x) (* x x)) 0.0001789971))) (+ (+ (+ (* (* x x) (+ 0.7715471019 (* (* x x) 0.2909738639))) 1) (* 0.0694555761 (* (* x x) (* (* x x) (* x x))))) (+ (+ (* (* x x) (* 0.0008327945 (* (* (* x x) (* x x)) (* (* x x) (* x x))))) (* (* (* (* x x) (* x x)) (* (* x x) (* x x))) 0.0140005442)) (* (* (* 2 0.0001789971) (* (* (* x x) (* x x)) (* (* x x) (* x x)))) (* (* x x) (* x x))))))) x)
1.1m
(* (* (* (/ (/ (+ (/ (+ -0.284496736 (/ (+ (/ (+ (/ 1.061405429 (+ 1 (* (fabs x) 0.3275911))) -1.453152027) (+ 1 (* (fabs x) 0.3275911))) 1.421413741) (+ 1 (* (fabs x) 0.3275911)))) (+ 1 (* (fabs x) 0.3275911))) 0.254829592) (+ 1 (* (fabs x) 0.3275911))) (exp (* (fabs x) (fabs x)))) (/ (/ (+ (/ (+ -0.284496736 (/ (+ (/ (+ (/ 1.061405429 (+ 1 (* (fabs x) 0.3275911))) -1.453152027) (+ 1 (* (fabs x) 0.3275911))) 1.421413741) (+ 1 (* (fabs x) 0.3275911)))) (+ 1 (* (fabs x) 0.3275911))) 0.254829592) (+ 1 (* (fabs x) 0.3275911))) (exp (* (fabs x) (fabs x))))) (/ (/ (+ (/ (+ -0.284496736 (/ (+ (/ (+ (/ 1.061405429 (+ 1 (* (fabs x) 0.3275911))) -1.453152027) (+ 1 (* (fabs x) 0.3275911))) 1.421413741) (+ 1 (* (fabs x) 0.3275911)))) (+ 1 (* (fabs x) 0.3275911))) 0.254829592) (+ 1 (* (fabs x) 0.3275911))) (exp (* (fabs x) (fabs x))))) (* (* (/ (/ (+ (/ (+ -0.284496736 (/ (+ (/ (+ (/ 1.061405429 (+ 1 (* (fabs x) 0.3275911))) -1.453152027) (+ 1 (* (fabs x) 0.3275911))) 1.421413741) (+ 1 (* (fabs x) 0.3275911)))) (+ 1 (* (fabs x) 0.3275911))) 0.254829592) (+ 1 (* (fabs x) 0.3275911))) (exp (* (fabs x) (fabs x)))) (/ (/ (+ (/ (+ -0.284496736 (/ (+ (/ (+ (/ 1.061405429 (+ 1 (* (fabs x) 0.3275911))) -1.453152027) (+ 1 (* (fabs x) 0.3275911))) 1.421413741) (+ 1 (* (fabs x) 0.3275911)))) (+ 1 (* (fabs x) 0.3275911))) 0.254829592) (+ 1 (* (fabs x) 0.3275911))) (exp (* (fabs x) (fabs x))))) (/ (/ (+ (/ (+ -0.284496736 (/ (+ (/ (+ (/ 1.061405429 (+ 1 (* (fabs x) 0.3275911))) -1.453152027) (+ 1 (* (fabs x) 0.3275911))) 1.421413741) (+ 1 (* (fabs x) 0.3275911)))) (+ 1 (* (fabs x) 0.3275911))) 0.254829592) (+ 1 (* (fabs x) 0.3275911))) (exp (* (fabs x) (fabs x))))))
1.0m
(/ (+ (+ (+ (* (* (* (* x x) (* x x)) (* (* x x) (* x x))) 0.0005064034) (+ (+ 1 (* (* x x) 0.1049934947)) (* (* (* x x) (* x x)) 0.0424060604))) (* 0.0072644182 (* (* x x) (* (* x x) (* x x))))) (* (* (* x x) (* (* x x) (* x x))) (* (* (* x x) (* x x)) 0.0001789971))) (+ (+ (+ (* (* x x) (+ 0.7715471019 (* (* x x) 0.2909738639))) 1) (* 0.0694555761 (* (* x x) (* (* x x) (* x x))))) (+ (+ (* (* x x) (* 0.0008327945 (* (* (* x x) (* x x)) (* (* x x) (* x x))))) (* (* (* (* x x) (* x x)) (* (* x x) (* x x))) 0.0140005442)) (* (* (* 2 0.0001789971) (* (* (* x x) (* x x)) (* (* x x) (* x x)))) (* (* x x) (* x x))))))
28.2s
(* (+ (+ (/ 9.984369578019572e-06 (- z -6)) (/ 1.5056327351493116e-07 (+ z 7))) (+ (+ (/ -0.13857109526572012 (- z -5)) (/ 12.507343278686905 (+ z 4))) (+ (+ (/ 771.3234287776531 (+ z 2)) (+ (/ 676.5203681218851 z) (+ 0.9999999999998099 (/ -1259.1392167224028 (- z -1))))) (/ -176.6150291621406 (+ z 3))))) (exp (- (+ (- z -6) 0.5))))
28.1s
(* (/ (/ (+ (+ (+ (+ (+ 1 (* 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)))) (sqrt (+ (+ (+ (+ (+ (+ 1 (* 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.0001789971) (* (* (* (* (* (* x x) (* x x)) (* x x)) (* x x)) (* x x)) (* x x)))))) (sqrt (+ (+ (+ (+ (+ (+ 1 (* 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.0001789971) (* (* (* (* (* (* x x) (* x x)) (* x x)) (* x x)) (* x x)) (* x x)))))) x)
Rules
17072×*-un-lft-identity
14559×times-frac
13051×add-cbrt-cube
11155×add-exp-log
9248×add-sqr-sqrt
6485×div-exp
6138×prod-exp
6105×add-cube-cbrt
5803×cbrt-undiv
5460×distribute-lft-out
5299×cbrt-unprod
3671×pow1
2812×frac-add
1960×associate-*l*
1907×sqrt-prod
1783×associate-*r*
1548×pow-prod-up
1472×flip-+ flip3-+
1051×frac-times
1025×difference-of-squares
950×distribute-lft-out--
867×associate-*l/
742×pow-plus
735×associate-/l*
656×associate-/r/
613×add-log-exp
577×pow-prod-down
531×cbrt-prod
518×associate-*r/
465×div-inv
459×swap-sqr
432×insert-posit16
350×associate-/r*
329×pow-sqr
315×unswap-sqr
249×exp-diff
246×exp-neg
245×pow-sub
243×neg-sub0
238×pow2
213×cbrt-div
201×sqrt-div
178×1-exp
168×sqrt-pow1
155×rec-exp
150×*-commutative
125×pow1/3
119×log-pow
115×flip3-- associate-/l/ flip--
108×pow1/2
107×pow-exp
105×log-prod
82×frac-2neg clear-num
64×distribute-rgt-in distribute-lft-in
62×unpow-prod-down sub-neg
60×pow-to-exp
53×sum-log cube-unmult
52×rem-sqrt-square
46×pow-div
45×diff-log
41×pow-flip
39×frac-sub +-commutative
37×sqr-pow
30×inv-pow
26×pow3
25×log-div
22×div-sub
20×associate--l+
12×rem-log-exp
11×exp-sum
10×exp-prod
associate--r+
un-div-inv
associate-+l+ sin-sum pow-unpow
associate--l-
associate-+r+ difference-of-sqr-1 sqrt-unprod pow-pow rem-square-sqrt distribute-rgt-out distribute-rgt1-in
unpow-prod-up distribute-lft-neg-out distribute-lft-neg-in distribute-rgt-neg-in associate-+l- associate--r- distribute-rgt-out--
exp-to-pow rem-exp-log
sqrt-undiv sub-div sum-cubes neg-mul-1 cos-sum distribute-neg-in

prune3.7m

series1.4m

Calls

432 calls:

Slowest
5.6s
(+ (* 1.0 (* 1.0 1.0)) (* (* (+ alpha beta) (/ (/ (- beta alpha) (+ (* 2 i) (+ alpha beta))) (+ 2.0 (+ (* 2 i) (+ alpha beta))))) (* (* (+ alpha beta) (/ (/ (- beta alpha) (+ (* 2 i) (+ alpha beta))) (+ 2.0 (+ (* 2 i) (+ alpha beta))))) (* (+ alpha beta) (/ (/ (- beta alpha) (+ (* 2 i) (+ alpha beta))) (+ 2.0 (+ (* 2 i) (+ alpha beta))))))))
3.2s
(* (/ (/ (* i (+ (+ alpha beta) i)) (+ (+ alpha beta) (* 2 i))) (+ (+ (+ alpha beta) (* 2 i)) (sqrt 1.0))) (/ (/ (+ (* beta alpha) (* i (+ (+ alpha beta) i))) (+ (+ alpha beta) (* 2 i))) (- (+ (+ alpha beta) (* 2 i)) (sqrt 1.0))))
2.7s
(- (* 1 1) (cbrt (* (* (* (/ (/ (+ (/ (+ -0.284496736 (/ (+ (/ (+ (/ 1.061405429 (+ 1 (* (fabs x) 0.3275911))) -1.453152027) (+ 1 (* (fabs x) 0.3275911))) 1.421413741) (+ 1 (* (fabs x) 0.3275911)))) (+ 1 (* (fabs x) 0.3275911))) 0.254829592) (+ 1 (* (fabs x) 0.3275911))) (exp (* (fabs x) (fabs x)))) (/ (/ (+ (/ (+ -0.284496736 (/ (+ (/ (+ (/ 1.061405429 (+ 1 (* (fabs x) 0.3275911))) -1.453152027) (+ 1 (* (fabs x) 0.3275911))) 1.421413741) (+ 1 (* (fabs x) 0.3275911)))) (+ 1 (* (fabs x) 0.3275911))) 0.254829592) (+ 1 (* (fabs x) 0.3275911))) (exp (* (fabs x) (fabs x))))) (/ (/ (+ (/ (+ -0.284496736 (/ (+ (/ (+ (/ 1.061405429 (+ 1 (* (fabs x) 0.3275911))) -1.453152027) (+ 1 (* (fabs x) 0.3275911))) 1.421413741) (+ 1 (* (fabs x) 0.3275911)))) (+ 1 (* (fabs x) 0.3275911))) 0.254829592) (+ 1 (* (fabs x) 0.3275911))) (exp (* (fabs x) (fabs x))))) (* (* (/ (/ (+ (/ (+ -0.284496736 (/ (+ (/ (+ (/ 1.061405429 (+ 1 (* (fabs x) 0.3275911))) -1.453152027) (+ 1 (* (fabs x) 0.3275911))) 1.421413741) (+ 1 (* (fabs x) 0.3275911)))) (+ 1 (* (fabs x) 0.3275911))) 0.254829592) (+ 1 (* (fabs x) 0.3275911))) (exp (* (fabs x) (fabs x)))) (/ (/ (+ (/ (+ -0.284496736 (/ (+ (/ (+ (/ 1.061405429 (+ 1 (* (fabs x) 0.3275911))) -1.453152027) (+ 1 (* (fabs x) 0.3275911))) 1.421413741) (+ 1 (* (fabs x) 0.3275911)))) (+ 1 (* (fabs x) 0.3275911))) 0.254829592) (+ 1 (* (fabs x) 0.3275911))) (exp (* (fabs x) (fabs x))))) (/ (/ (+ (/ (+ -0.284496736 (/ (+ (/ (+ (/ 1.061405429 (+ 1 (* (fabs x) 0.3275911))) -1.453152027) (+ 1 (* (fabs x) 0.3275911))) 1.421413741) (+ 1 (* (fabs x) 0.3275911)))) (+ 1 (* (fabs x) 0.3275911))) 0.254829592) (+ 1 (* (fabs x) 0.3275911))) (exp (* (fabs x) (fabs x))))))))
2.3s
(- (* 1 1) (* (/ (/ (+ (/ (+ -0.284496736 (/ (+ (/ (+ (/ 1.061405429 (+ 1 (* (fabs x) 0.3275911))) -1.453152027) (+ 1 (* (fabs x) 0.3275911))) 1.421413741) (+ 1 (* (fabs x) 0.3275911)))) (+ 1 (* (fabs x) 0.3275911))) 0.254829592) (+ 1 (* (fabs x) 0.3275911))) (exp (* (fabs x) (fabs x)))) (/ (/ (+ (/ (+ -0.284496736 (/ (+ (/ (+ (/ 1.061405429 (+ 1 (* (fabs x) 0.3275911))) -1.453152027) (+ 1 (* (fabs x) 0.3275911))) 1.421413741) (+ 1 (* (fabs x) 0.3275911)))) (+ 1 (* (fabs x) 0.3275911))) 0.254829592) (+ 1 (* (fabs x) 0.3275911))) (exp (* (fabs x) (fabs x))))))
1.2s
(/ (/ (sqrt (+ (* beta alpha) (* i (+ (+ alpha beta) i)))) 1) (+ (sqrt (+ (+ alpha beta) (* 2 i))) (sqrt (sqrt 1.0))))

regimes10.9s

Accuracy

Total 85.1b remaining (35.4%)

Threshold costs 4.3b (1.8%)

10.2b57%math.log10 on complex, real part
10.0b57.8%math.log/1 on complex, real part
9.7b55.7%math.log/2 on complex, real part
9.6b56.6%math.abs on complex
9.0b56.7%math.sqrt on complex, imaginary part, im greater than 0 branch

bsearch7.3s

localize6.6s

end16.0ms