Details

sample10.7m

Algorithm
72×intervals
Results
7.8m79662×body10240exit
53.2s33355×body1280valid
24.9s197936×body80valid
24.7s24257×body640valid
20.5s152770×body80nan
14.8s25570×body320valid
12.1s34650×body160valid
9.1s153826×pre80true
2.9s3060×body2560valid
1.9s7791×body160nan
1.1s4067×pre10240exit
297.0ms238×body5120valid

simplify10.3m

Calls

5413 calls:

Slowest
4.5s
(/ (* (* (* 3 (* c a)) (* 3 (* c a))) (* 3 (* c a))) (* (* (* (* 3 a) (- (- b) (sqrt (- (* b b) (* (* 3 a) c))))) (* (* 3 a) (- (- b) (sqrt (- (* b b) (* (* 3 a) c)))))) (* (* 3 a) (- (- b) (sqrt (- (* b b) (* (* 3 a) c)))))))
1.6s
(/ (* (* (* (* 3 a) (- (- b) (sqrt (- (* b b) (* (* 3 a) c))))) (* (* 3 a) (- (- b) (sqrt (- (* b b) (* (* 3 a) c)))))) (* (* 3 a) (- (- b) (sqrt (- (* b b) (* (* 3 a) c)))))) (* (* (* c a) (* c a)) (* c a)))
1.6s
(/ (* (* (* (* 3 a) (* 3 a)) (* 3 a)) (* (* (- (- b) (sqrt (- (* b b) (* (* 3 a) c)))) (- (- b) (sqrt (- (* b b) (* (* 3 a) c))))) (- (- b) (sqrt (- (* b b) (* (* 3 a) c)))))) (* (* (* c a) (* c a)) (* c a)))
1.1s
(* (* (* (/ 1 (fma (cos v) e 1)) (/ 1 (fma (cos v) e 1))) (/ 1 (fma (cos v) e 1))) (* (* (sin v) (sin v)) (sin v)))
1.1s
(* (- (/ (* m (- 1 m)) v) 1) m)

prune2.0m

series59.8s

Calls

434 calls:

Slowest
2.8s
(cbrt (* (* (/ (/ (- (sqrt (fma c (* -4 a) (* b b))) b) 2) a) (/ (/ (- (sqrt (fma c (* -4 a) (* b b))) b) 2) a)) (/ (/ (/ (* -4 (* a c)) (+ (sqrt (fma c (* -4 a) (* b b))) b)) 2) a)))
1.7s
(cbrt (* (* (/ (/ (- (sqrt (fma c (* -4 a) (* b b))) b) 2) a) (/ (/ (- (sqrt (fma c (* -4 a) (* b b))) b) 2) a)) (/ (/ (/ (- (* (sqrt (fma c (* -4 a) (* b b))) (sqrt (fma c (* -4 a) (* b b)))) (* b b)) (+ (sqrt (fma c (* -4 a) (* b b))) b)) 2) a)))
755.0ms
(cbrt (* (* (/ (fma (sqrt (sqrt (fma -3 (* c a) (* b b)))) (sqrt (sqrt (fma -3 (* c a) (* b b)))) (- b)) (* 3 a)) (/ (fma (sqrt (sqrt (fma -3 (* c a) (* b b)))) (sqrt (sqrt (fma -3 (* c a) (* b b)))) (- b)) (* 3 a))) (/ (fma (sqrt (sqrt (fma -3 (* c a) (* b b)))) (sqrt (sqrt (fma -3 (* c a) (* b b)))) (- b)) (* 3 a))))
665.0ms
(* (hypot (* (- lambda1 lambda2) (cos (/ (+ phi2 phi1) 2))) (- phi1 phi2)) R)
620.0ms
(/ (fma (sqrt (sqrt (fma -3 (* c a) (* b b)))) (sqrt (sqrt (fma -3 (* c a) (* b b)))) (- b)) (* 3 a))

regimes11.5s

Accuracy

Total 34.5b remaining (11.1%)

7.6b46.2%Quadratic roots, narrow range
3.5b0%Cubic critical, medium range
3.4b69.5%Quotient of products
3.2b0%Quadratic roots, medium range
3.0b0%Quadratic roots, wide range

localize3.1s

rewrite2.9s

Algorithm
126×rewrite-expression-head
Calls

434 calls:

Slowest
60.0ms
(* (sqrt (* (fma 1/3 (* x x) 2) x)) (sqrt (* (* (* (cbrt (fma 1/3 (* x x) 2)) (cbrt (fma 1/3 (* x x) 2))) (cbrt (fma 1/3 (* x x) 2))) x)))
54.0ms
(cbrt (* (* (/ (/ (- (sqrt (fma c (* -4 a) (* b b))) b) 2) a) (/ (/ (- (sqrt (fma c (* -4 a) (* b b))) b) 2) a)) (/ (/ (/ (- (* (sqrt (fma c (* -4 a) (* b b))) (sqrt (fma c (* -4 a) (* b b)))) (* b b)) (+ (sqrt (fma c (* -4 a) (* b b))) b)) 2) a)))
48.0ms
(cbrt (* (* (/ (/ (- (sqrt (fma c (* -4 a) (* b b))) b) 2) a) (/ (/ (- (sqrt (fma c (* -4 a) (* b b))) b) 2) a)) (/ (/ (- (sqrt (fma c (* -4 a) (* b b))) b) 2) a)))
40.0ms
(+ (- (/ -1 (* (/ -1 x) (/ -1 y))) (fma (/ (/ (/ -1 x) (* (/ -1 x) (/ -1 y))) y) (log1p (exp x)) (/ (/ (/ -1 x) (* (/ -1 x) (/ -1 y))) y))) -1)
40.0ms
(/ (+ (pow x 3) (pow (hypot 1 x) 3)) (+ (* x x) (- (* (hypot 1 x) (hypot 1 x)) (* x (hypot 1 x)))))
Rules
1406×*-un-lft-identity
1364×add-sqr-sqrt
1263×add-cube-cbrt
1150×add-exp-log
694×pow1
613×add-cbrt-cube
538×add-log-exp
526×prod-diff
500×times-frac
444×expm1-log1p-u
438×log1p-expm1-u
434×insert-posit16
398×prod-exp
304×sqrt-prod
293×associate-/r/
287×div-inv
264×pow-exp
240×associate-*r*
236×flip--
235×flip3--
220×associate-*l*
206×div-exp
201×fma-neg
184×pow-to-exp
181×associate-/r*
163×frac-times
155×associate-*l/
148×associate-/l*
119×flip-+
118×flip3-+ associate-*r/
110×cbrt-div rec-exp
108×cbrt-prod
91×sub-neg
83×pow-prod-down distribute-rgt-in distribute-lft-in
82×frac-2neg clear-num
81×*-commutative
80×log-prod
74×fma-udef
71×pow-prod-up
70×fma-def
68×cbrt-unprod
60×tan-quot
51×distribute-lft-out
50×sqrt-div
48×pow1/2
47×pow1/3
46×associate-/l/
45×diff-log
41×frac-sub
40×difference-of-squares
38×cbrt-undiv
35×pow-plus
34×rem-sqrt-square
33×log1p-udef
32×pow-flip inv-pow
30×neg-mul-1
29×pow2
25×distribute-lft-out--
24×associate-+l+
23×div-sub log-div
21×+-commutative
20×log-pow
18×exp-prod
16×sum-log
15×frac-add
14×log1p-expm1 un-div-inv
13×difference-of-sqr-1
12×tanh-def unpow-prod-down
11×rem-log-exp
acos-asin expm1-def
expm1-log1p expm1-udef sum-cubes cos-sum associate-+l-
neg-sub0 pow3
sin-sum associate--r+ pow-pow rem-cbrt-cube
exp-diff associate--r-
associate-+r+ exp-sum sqrt-unprod sub-div distribute-rgt-out
rem-exp-log rem-square-sqrt
distribute-rgt1-in distribute-rgt-out-- associate--l+ log-rec cos-diff
quot-tan difference-of-sqr--1 associate--l- associate-+r- distribute-frac-neg unpow3 tanh-undef sin-mult hypot-udef asin-acos acos-neg cube-mult unsub-neg sin-diff

bsearch1.5s

end1.0ms