Details

simplify35.3m

Calls

16261 calls:

Slowest
2.9s
(/ (* (* (* (pow (/ 1 (+ 1 (exp (- s)))) c_p) (pow (- 1 (/ 1 (+ 1 (exp (- s))))) c_n)) (* (pow (/ 1 (+ 1 (exp (- s)))) c_p) (pow (- 1 (/ 1 (+ 1 (exp (- s))))) c_n))) (* (pow (/ 1 (+ 1 (exp (- s)))) c_p) (pow (- 1 (/ 1 (+ 1 (exp (- s))))) c_n))) (* (* (* (pow (/ 1 (+ 1 (exp (- t)))) c_p) (pow (- 1 (/ 1 (+ 1 (exp (- t))))) c_n)) (* (pow (/ 1 (+ 1 (exp (- t)))) c_p) (pow (- 1 (/ 1 (+ 1 (exp (- t))))) c_n))) (* (pow (/ 1 (+ 1 (exp (- t)))) c_p) (pow (- 1 (/ 1 (+ 1 (exp (- t))))) c_n))))
2.8s
(/ (* (* (* (pow (/ 1 (+ 1 (exp (- s)))) c_p) (pow (/ 1 (+ 1 (exp (- s)))) c_p)) (pow (/ 1 (+ 1 (exp (- s)))) c_p)) (* (* (pow (- 1 (/ 1 (+ 1 (exp (- s))))) c_n) (pow (- 1 (/ 1 (+ 1 (exp (- s))))) c_n)) (pow (- 1 (/ 1 (+ 1 (exp (- s))))) c_n))) (* (* (* (pow (/ 1 (+ 1 (exp (- t)))) c_p) (pow (/ 1 (+ 1 (exp (- t)))) c_p)) (pow (/ 1 (+ 1 (exp (- t)))) c_p)) (* (* (pow (- 1 (/ 1 (+ 1 (exp (- t))))) c_n) (pow (- 1 (/ 1 (+ 1 (exp (- t))))) c_n)) (pow (- 1 (/ 1 (+ 1 (exp (- t))))) c_n))))
2.8s
(/ (* (* (* (pow (/ 1 (+ 1 (exp (- s)))) c_p) (pow (/ 1 (+ 1 (exp (- s)))) c_p)) (pow (/ 1 (+ 1 (exp (- s)))) c_p)) (* (* (pow (- 1 (/ 1 (+ 1 (exp (- s))))) c_n) (pow (- 1 (/ 1 (+ 1 (exp (- s))))) c_n)) (pow (- 1 (/ 1 (+ 1 (exp (- s))))) c_n))) (* (* (* (pow (/ 1 (+ 1 (exp (- t)))) c_p) (pow (- 1 (/ 1 (+ 1 (exp (- t))))) c_n)) (* (pow (/ 1 (+ 1 (exp (- t)))) c_p) (pow (- 1 (/ 1 (+ 1 (exp (- t))))) c_n))) (* (pow (/ 1 (+ 1 (exp (- t)))) c_p) (pow (- 1 (/ 1 (+ 1 (exp (- t))))) c_n))))
2.3s
(/ (* (* (* (pow (/ 1 (+ 1 (exp (- s)))) c_p) (pow (- 1 (/ 1 (+ 1 (exp (- s))))) c_n)) (* (pow (/ 1 (+ 1 (exp (- s)))) c_p) (pow (- 1 (/ 1 (+ 1 (exp (- s))))) c_n))) (* (pow (/ 1 (+ 1 (exp (- s)))) c_p) (pow (- 1 (/ 1 (+ 1 (exp (- s))))) c_n))) (* (* (* (pow (/ 1 (+ 1 (exp (- t)))) c_p) (pow (/ 1 (+ 1 (exp (- t)))) c_p)) (pow (/ 1 (+ 1 (exp (- t)))) c_p)) (* (* (pow (- 1 (/ 1 (+ 1 (exp (- t))))) c_n) (pow (- 1 (/ 1 (+ 1 (exp (- t))))) c_n)) (pow (- 1 (/ 1 (+ 1 (exp (- t))))) c_n))))
1.3s
(- (+ (* (/ (* phi1 (* (pow (cos (* 1/2 phi2)) 2) (* R (* lambda2 (* (pow (cos (* 1/2 phi1)) 2) phi2))))) (pow lambda1 2)) (sqrt (/ 1 (pow (- (+ (* (pow (cos (* 1/2 phi2)) 2) (pow (cos (* 1/2 phi1)) 2)) (* (pow (sin (* 1/2 phi2)) 2) (pow (sin (* 1/2 phi1)) 2))) (+ (* (cos (* 1/2 phi2)) (* (sin (* 1/2 phi2)) (* (sin (* 1/2 phi1)) (cos (* 1/2 phi1))))) (* (sin (* 1/2 phi2)) (* (cos (* 1/2 phi2)) (* (sin (* 1/2 phi1)) (cos (* 1/2 phi1))))))) 3)))) (+ (* (/ (* R (* phi1 phi2)) lambda1) (sqrt (/ 1 (- (+ (* (pow (cos (* 1/2 phi2)) 2) (pow (cos (* 1/2 phi1)) 2)) (* (pow (sin (* 1/2 phi2)) 2) (pow (sin (* 1/2 phi1)) 2))) (+ (* (cos (* 1/2 phi2)) (* (sin (* 1/2 phi2)) (* (sin (* 1/2 phi1)) (cos (* 1/2 phi1))))) (* (sin (* 1/2 phi2)) (* (cos (* 1/2 phi2)) (* (sin (* 1/2 phi1)) (cos (* 1/2 phi1)))))))))) (+ (* (* (pow (cos (* 1/2 phi2)) 2) (* lambda2 (* (pow (cos (* 1/2 phi1)) 2) R))) (sqrt (/ 1 (- (+ (* (pow (cos (* 1/2 phi2)) 2) (pow (cos (* 1/2 phi1)) 2)) (* (pow (sin (* 1/2 phi2)) 2) (pow (sin (* 1/2 phi1)) 2))) (+ (* (cos (* 1/2 phi2)) (* (sin (* 1/2 phi2)) (* (sin (* 1/2 phi1)) (cos (* 1/2 phi1))))) (* (sin (* 1/2 phi2)) (* (cos (* 1/2 phi2)) (* (sin (* 1/2 phi1)) (cos (* 1/2 phi1)))))))))) (+ (* (/ (* (pow (sin (* 1/2 phi2)) 2) (* R (* phi1 (* lambda2 (* (pow (sin (* 1/2 phi1)) 2) phi2))))) (pow lambda1 2)) (sqrt (/ 1 (pow (- (+ (* (pow (cos (* 1/2 phi2)) 2) (pow (cos (* 1/2 phi1)) 2)) (* (pow (sin (* 1/2 phi2)) 2) (pow (sin (* 1/2 phi1)) 2))) (+ (* (cos (* 1/2 phi2)) (* (sin (* 1/2 phi2)) (* (sin (* 1/2 phi1)) (cos (* 1/2 phi1))))) (* (sin (* 1/2 phi2)) (* (cos (* 1/2 phi2)) (* (sin (* 1/2 phi1)) (cos (* 1/2 phi1))))))) 3)))) (* (* (pow (sin (* 1/2 phi2)) 2) (* lambda2 (* (pow (sin (* 1/2 phi1)) 2) R))) (sqrt (/ 1 (- (+ (* (pow (cos (* 1/2 phi2)) 2) (pow (cos (* 1/2 phi1)) 2)) (* (pow (sin (* 1/2 phi2)) 2) (pow (sin (* 1/2 phi1)) 2))) (+ (* (cos (* 1/2 phi2)) (* (sin (* 1/2 phi2)) (* (sin (* 1/2 phi1)) (cos (* 1/2 phi1))))) (* (sin (* 1/2 phi2)) (* (cos (* 1/2 phi2)) (* (sin (* 1/2 phi1)) (cos (* 1/2 phi1)))))))))))))) (+ (* 2 (* (/ (* (sin (* 1/2 phi2)) (* R (* (cos (* 1/2 phi2)) (* phi1 (* lambda2 (* (cos (* 1/2 phi1)) (* (sin (* 1/2 phi1)) phi2))))))) (pow lambda1 2)) (sqrt (/ 1 (pow (- (+ (* (pow (cos (* 1/2 phi2)) 2) (pow (cos (* 1/2 phi1)) 2)) (* (pow (sin (* 1/2 phi2)) 2) (pow (sin (* 1/2 phi1)) 2))) (+ (* (cos (* 1/2 phi2)) (* (sin (* 1/2 phi2)) (* (sin (* 1/2 phi1)) (cos (* 1/2 phi1))))) (* (sin (* 1/2 phi2)) (* (cos (* 1/2 phi2)) (* (sin (* 1/2 phi1)) (cos (* 1/2 phi1))))))) 3))))) (* 2 (* (* (sin (* 1/2 phi2)) (* R (* (cos (* 1/2 phi2)) (* (sin (* 1/2 phi1)) (* (cos (* 1/2 phi1)) lambda2))))) (sqrt (/ 1 (- (+ (* (pow (cos (* 1/2 phi2)) 2) (pow (cos (* 1/2 phi1)) 2)) (* (pow (sin (* 1/2 phi2)) 2) (pow (sin (* 1/2 phi1)) 2))) (+ (* (cos (* 1/2 phi2)) (* (sin (* 1/2 phi2)) (* (sin (* 1/2 phi1)) (cos (* 1/2 phi1))))) (* (sin (* 1/2 phi2)) (* (cos (* 1/2 phi2)) (* (sin (* 1/2 phi1)) (cos (* 1/2 phi1)))))))))))))

sample12.3m

Algorithm
72×intervals
Results
9.2m80009×body10240exit
56.9s32902×body1280valid
25.9s197935×body80valid
23.8s24254×body640valid
19.5s152414×body80nan
14.1s25449×body320valid
13.9s35148×body160valid
10.2s153407×pre80true
3.0s3027×body2560valid
1.9s8130×body160nan
1.2s4195×pre10240exit
189.0ms202×body5120valid

prune3.2m

series1.4m

Calls

434 calls:

Slowest
21.6s
(* (hypot (* (- lambda1 lambda2) (- (* (cos (* 1/2 phi1)) (cos (* 1/2 phi2))) (* (sin (* 1/2 phi1)) (sin (* 1/2 phi2))))) (- phi1 phi2)) R)
917.0ms
(cbrt (fma 2/15 (pow x 5) x))
909.0ms
(cbrt (fma 2/15 (pow x 5) x))
880.0ms
(cbrt (fma 2/15 (pow x 5) x))
748.0ms
(cbrt (* (* (/ (fma (sqrt (sqrt (fma -3 (* c a) (* b b)))) (pow (fma -3 (* c a) (* b b)) (/ 1/2 2)) (- b)) (* 3 a)) (/ (fma (sqrt (sqrt (fma -3 (* c a) (* b b)))) (pow (fma -3 (* c a) (* b b)) (/ 1/2 2)) (- b)) (* 3 a))) (/ (fma (sqrt (sqrt (fma -3 (* c a) (* b b)))) (pow (fma -3 (* c a) (* b b)) (/ 1/2 2)) (- b)) (* 3 a))))

regimes12.6s

Accuracy

Total 35.3b remaining (12%)

6.9b22.5%Cubic critical, narrow range
5.2b26.5%Quotient of products
3.4b85.4%Cubic critical
3.1b0%Quadratic roots, wide range
2.9b24%Cubic critical, medium range

rewrite8.7s

Algorithm
129×rewrite-expression-head
Calls

434 calls:

Slowest
399.0ms
(- (log (+ 1 (exp x))) (* x y))
238.0ms
(* (- lambda1 lambda2) (- (* (cos (* 1/2 phi1)) (cos (* 1/2 phi2))) (* (sin (* 1/2 phi1)) (sin (* 1/2 phi2)))))
210.0ms
(cbrt (* (* (* (cbrt (cos (fma 2/3 PI (/ (acos (/ (- g) h)) 3)))) (cbrt (cos (fma 2/3 PI (/ (acos (/ (- g) h)) 3))))) (* (cbrt (cos (fma 2/3 PI (/ (acos (/ (- g) h)) 3)))) (cbrt (cos (fma 2/3 PI (/ (acos (/ (- g) h)) 3)))))) (* (cbrt (cos (fma 2/3 PI (/ (acos (/ (- g) h)) 3)))) (cbrt (cos (fma 2/3 PI (/ (acos (/ (- g) h)) 3)))))))
177.0ms
(* (cbrt (* (- (/ m (/ v (- 1 m))) 1) (- 1 m))) (cbrt (* (- (/ m (/ v (- 1 m))) 1) (- 1 m))))
176.0ms
(/ (* (pow (/ 1 (+ 1 (exp (- s)))) c_p) (pow (- 1 (/ 1 (+ 1 (exp (- s))))) c_n)) (* (pow (/ 1 (+ 1 (exp (- t)))) c_p) (pow (- 1 (/ 1 (+ 1 (exp (- t))))) c_n)))
Rules
8579×times-frac
7842×*-un-lft-identity
7450×add-sqr-sqrt
5653×add-cube-cbrt
2486×add-exp-log
2115×prod-diff
1158×add-cbrt-cube
1060×pow1
923×prod-exp
880×div-exp
794×difference-of-squares
698×pow-exp
608×associate-/l*
576×add-log-exp
551×distribute-lft-out
528×cbrt-prod
523×sqrt-prod
517×associate-/r*
464×associate-*r*
457×frac-times
453×div-inv
437×expm1-log1p-u
435×log1p-expm1-u
434×insert-posit16
422×distribute-lft-out--
386×flip--
385×flip3--
356×associate-/r/
347×pow-to-exp
342×associate-*l*
338×cbrt-div
294×distribute-rgt-in distribute-lft-in
247×associate-*r/
245×fma-neg
230×cbrt-unprod
222×cbrt-undiv
212×associate-*l/
195×pow-prod-down
194×flip-+
193×flip3-+
172×difference-of-sqr-1
144×1-exp rec-exp
138×fma-def
122×unswap-sqr
106×tanh-def
95×pow1/3 fma-udef
92×log-prod swap-sqr
91×*-commutative
88×frac-2neg clear-num
87×sqrt-pow1
85×sub-neg
82×pow-prod-up
73×associate--l+ associate-/l/
61×pow1/2
60×pow-plus
56×sqrt-div
55×frac-sub diff-log
50×pow-sqr
46×unpow-prod-down
42×rem-sqrt-square
35×associate--r+
33×sin-sum log-pow
32×pow2
29×cos-sum
26×pow-unpow log-div
25×tan-quot exp-prod
24×sum-log
22×pow-flip +-commutative div-sub
21×pow-pow
19×exp-sum
17×cos-mult log1p-udef
14×inv-pow
12×sin-mult
11×pow3 rem-log-exp
distribute-rgt-neg-in acos-asin
frac-add
sub-div associate--r- distribute-lft-neg-in
sqr-pow rem-cbrt-cube
log1p-expm1 rem-exp-log expm1-def
unpow-prod-up exp-diff log1p-def cube-unmult hypot-udef distribute-rgt-out
neg-sub0 associate--l- distribute-frac-neg neg-log sqrt-unprod neg-mul-1 acos-neg associate-+l- rem-square-sqrt cos-diff
expm1-log1p expm1-udef distribute-rgt1-in difference-cubes associate-+r+ un-div-inv tanh-undef asin-acos unpow1/3 sin-diff e-exp-1

localize4.9s

bsearch1.1s

end1.0ms