Details

simplify22.3m

Calls

12158 calls:

Slowest
2.9s
(/ (* (* (* -2 -2) -2) (* (* (* a a) a) (* (* c c) c))) (* (* (* (* 2 a) b) (* (* 2 a) b)) (* (* 2 a) b)))
2.7s
(/ (* (* (* -2 (* a c)) (* -2 (* a c))) (* -2 (* a c))) (* (* (* (* 2 a) b) (* (* 2 a) b)) (* (* 2 a) b)))
2.7s
(/ (* (* (* (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.6s
(/ (* (* (* -2 -2) -2) (* (* (* a c) (* a c)) (* a c))) (* (* (* (* 2 a) b) (* (* 2 a) b)) (* (* 2 a) b)))
2.5s
(/ (* (* (* (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))))

sample11.6m

Algorithm
72×intervals
Results
8.6m81142×body10240exit
53.0s32933×body1280valid
25.7s198240×body80valid
22.3s24321×body640valid
20.3s151229×body80nan
15.2s25127×body320valid
12.8s35232×body160valid
9.0s153491×pre80true
3.0s3105×body2560valid
1.3s7933×body160nan
909.0ms4127×pre10240exit
251.0ms227×body5120valid

prune2.8m

series37.6s

Calls

433 calls:

Slowest
819.0ms
(sqrt (+ (* (* (cos (* (+ phi1 phi2) 1/2)) (cos (* (+ phi1 phi2) 1/2))) (+ (* lambda2 lambda2) (* lambda1 (- lambda1 (* lambda2 2))))) (* (- phi1 phi2) (- phi1 phi2))))
584.0ms
(sqrt (+ (* (* (- lambda1 lambda2) (posit16->real (real->posit16 (cos (/ (+ phi1 phi2) 2))))) (* (- lambda1 lambda2) (cos (/ (+ phi1 phi2) 2)))) (* (- phi1 phi2) (- phi1 phi2))))
565.0ms
(/ (* e (sin v)) (sqrt (+ 1 (* e (cos v)))))
531.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)))
524.0ms
(sqrt (+ (* (* (- lambda1 lambda2) (posit16->real (real->posit16 (cos (/ (+ phi1 phi2) 2))))) (* (- lambda1 lambda2) (posit16->real (real->posit16 (cos (/ (+ phi1 phi2) 2)))))) (* (- phi1 phi2) (- phi1 phi2))))

rewrite15.5s

Algorithm
134×rewrite-expression-head
Calls

433 calls:

Slowest
510.0ms
(+ x (+ (+ (/ -1/8 (* (* x x) x)) x) (/ 1/2 x)))
480.0ms
(* (/ (exp a) (+ (* (exp b) (* (exp b) (exp b))) (* (* (exp a) (exp a)) (exp a)))) (+ (* (exp a) (exp a)) (- (* (exp b) (exp b)) (* (exp a) (exp b)))))
385.0ms
(* (* (+ (/ 1 (- x 1)) (/ x (+ x 1))) (+ (/ 1 (- x 1)) (/ x (+ x 1)))) (+ (/ 1 (- x 1)) (/ x (+ x 1))))
322.0ms
(* (- (/ (- m (* (* m m) (* m m))) (* v (+ (* 1 1) (+ (* m m) (* 1 m))))) 1) (- 1 m))
318.0ms
(log (+ x (+ (+ (/ -1/8 (* (* x x) x)) x) (/ 1/2 x))))
Rules
4469×add-sqr-sqrt
4403×*-un-lft-identity
3969×times-frac
3274×add-exp-log
2727×add-cube-cbrt
1779×add-cbrt-cube
1435×pow1
1305×prod-exp
1103×div-exp
751×difference-of-squares
736×sqrt-prod
702×pow-exp
638×add-log-exp
620×associate-*l*
608×associate-*r*
584×cbrt-prod
583×associate-*l/
571×flip--
570×flip3--
566×sqrt-div
528×frac-times
499×cbrt-unprod
433×insert-posit16
423×associate-/r*
404×associate-/l*
395×cbrt-undiv
380×distribute-lft-out--
354×pow-to-exp
325×associate-*r/
310×frac-add
304×distribute-lft-out
297×pow-prod-down
282×flip-+ div-inv
281×flip3-+
251×swap-sqr
242×log-prod
189×associate-/r/
184×pow-prod-up
182×unswap-sqr
178×1-exp rec-exp
177×unpow-prod-down
136×difference-of-sqr-1
121×log-pow
118×exp-prod
116×cbrt-div
114×pow-sqr
113×*-commutative
104×tan-quot
102×frac-2neg clear-num
98×sub-neg
96×sqrt-pow1
94×cube-prod
90×pow-plus
88×associate--l+
84×log-div
80×distribute-rgt-in distribute-lft-in
78×pow1/2
65×pow2
63×sqr-pow
60×associate-/l/
59×diff-log
52×pow-flip
50×sum-log
47×associate-+l+
44×rem-sqrt-square
43×pow1/3 inv-pow
38×cos-mult
34×+-commutative
29×distribute-rgt-neg-in
27×rem-log-exp
24×associate-+r+
23×pow-pow
22×div-sub
15×pow-unpow
14×sum-cubes
12×exp-sum
11×associate--r+
10×pow3 sin-mult cos-diff
cos-sum distribute-rgt-out
associate--l- frac-sub cube-unmult
exp-diff un-div-inv acos-asin
sin-sum sqrt-unprod associate-+l- associate--r-
difference-cubes
remove-posit16
distribute-frac-neg acos-neg distribute-lft-neg-in distribute-rgt1-in
rem-cube-cbrt unpow3 distribute-rgt-out-- rem-square-sqrt cube-div cube-mult
neg-sub0 neg-mul-1 tanh-undef tanh-def sin-PI/3 exp-to-pow exp-neg asin-acos rem-exp-log rem-cbrt-cube sin-diff

regimes12.8s

Accuracy

Total 65.8b remaining (36.2%)

11.8b34.3%Equirectangular approximation to distance on a great circle
7.3b45.6%Quadratic roots, narrow range
7.3b46.4%Cubic critical, narrow range
6.2b12.4%Cubic critical, medium range
6.0b12.2%Quadratic roots, medium range

localize5.2s

bsearch1.3s

end1.0ms