Details

simplify18.4m (45.8%)

rewrite15.3m (38.1%)

Algorithm
121×rewrite-expression-head
Calls

392 calls:

2.5m
(/.p16 (/.p16 (/.p16 (+.p16 (*.p16 beta alpha) (+.p16 (+.p16 alpha beta) (real->posit16 1.0))) (+.p16 (+.p16 alpha beta) (*.p16 (real->posit16 2) (real->posit16 1)))) (+.p16 (+.p16 alpha beta) (*.p16 (real->posit16 2) (real->posit16 1)))) (+.p16 (+.p16 (+.p16 alpha beta) (*.p16 (real->posit16 2) (real->posit16 1))) (real->posit16 1.0)))
1.6m
(/.p16 (+.p16 (*.p16 (*.p16 (*.p16 x x) (*.p16 x x)) (+.p16 (*.p16 (*.p16 (*.p16 x x) (*.p16 x x)) (+.p16 (real->posit16 0.0005064034) (*.p16 (*.p16 x x) (real->posit16 0.0001789971)))) (+.p16 (real->posit16 0.0424060604) (*.p16 (real->posit16 0.0072644182) (*.p16 x x))))) (+.p16 (real->posit16 1) (*.p16 (*.p16 x x) (real->posit16 0.1049934947)))) (+.p16 (+.p16 (real->posit16 1) (*.p16 (*.p16 x x) (+.p16 (+.p16 (+.p16 (*.p16 (*.p16 x x) (real->posit16 0.2909738639)) (real->posit16 0.7715471019)) (*.p16 (*.p16 (*.p16 x x) (*.p16 x x)) (real->posit16 0.0694555761))) (*.p16 (*.p16 (*.p16 (*.p16 x x) (*.p16 x x)) (*.p16 (*.p16 x x) (*.p16 x x))) (+.p16 (real->posit16 0.0008327945) (*.p16 (*.p16 (*.p16 x x) (real->posit16 2)) (real->posit16 0.0001789971))))))) (*.p16 (real->posit16 0.0140005442) (*.p16 (*.p16 (*.p16 x x) (*.p16 x x)) (*.p16 (*.p16 x x) (*.p16 x x))))))
1.2m
(/.p16 (+.p16 (real->posit16 1) (*.p16 (*.p16 x x) (+.p16 (*.p16 (+.p16 (*.p16 (*.p16 x x) (+.p16 (real->posit16 0.0072644182) (*.p16 (*.p16 x x) (+.p16 (*.p16 (*.p16 x x) (real->posit16 0.0001789971)) (real->posit16 0.0005064034))))) (real->posit16 0.0424060604)) (*.p16 x x)) (real->posit16 0.1049934947)))) (+.p16 (+.p16 (real->posit16 1) (*.p16 (*.p16 x x) (+.p16 (+.p16 (+.p16 (*.p16 (*.p16 x x) (real->posit16 0.2909738639)) (real->posit16 0.7715471019)) (*.p16 (*.p16 (*.p16 x x) (*.p16 x x)) (real->posit16 0.0694555761))) (*.p16 (*.p16 (*.p16 (*.p16 x x) (*.p16 x x)) (*.p16 (*.p16 x x) (*.p16 x x))) (+.p16 (real->posit16 0.0008327945) (*.p16 (*.p16 (*.p16 x x) (real->posit16 2)) (real->posit16 0.0001789971))))))) (*.p16 (*.p16 (real->posit16 0.0140005442) (*.p16 x x)) (*.p16 (*.p16 x x) (*.p16 (*.p16 x x) (*.p16 x x))))))
1.2m
(/.p16 (+.p16 (*.p16 (*.p16 (*.p16 x x) (*.p16 x x)) (+.p16 (*.p16 (*.p16 (*.p16 x x) (*.p16 x x)) (+.p16 (real->posit16 0.0005064034) (*.p16 (*.p16 x x) (real->posit16 0.0001789971)))) (+.p16 (real->posit16 0.0424060604) (*.p16 (real->posit16 0.0072644182) (*.p16 x x))))) (+.p16 (real->posit16 1) (*.p16 (*.p16 x x) (real->posit16 0.1049934947)))) (+.p16 (+.p16 (real->posit16 1) (*.p16 (*.p16 x x) (+.p16 (+.p16 (+.p16 (*.p16 (*.p16 x x) (real->posit16 0.2909738639)) (real->posit16 0.7715471019)) (*.p16 (*.p16 (*.p16 x x) (*.p16 x x)) (real->posit16 0.0694555761))) (*.p16 (*.p16 (*.p16 (*.p16 x x) (*.p16 x x)) (*.p16 (*.p16 x x) (*.p16 x x))) (+.p16 (real->posit16 0.0008327945) (*.p16 (*.p16 (*.p16 x x) (real->posit16 2)) (real->posit16 0.0001789971))))))) (*.p16 (*.p16 (real->posit16 0.0140005442) (*.p16 x x)) (*.p16 (*.p16 x x) (*.p16 (*.p16 x x) (*.p16 x x))))))
16.8s
(/.p16 (*.p16 (+.p16 (real->posit16 1) (*.p16 (*.p16 x x) (+.p16 (+.p16 (real->posit16 0.1049934947) (*.p16 (real->posit16 0.0424060604) (*.p16 x x))) (*.p16 (*.p16 (*.p16 x x) (*.p16 x x)) (+.p16 (+.p16 (real->posit16 0.0072644182) (*.p16 (real->posit16 0.0001789971) (*.p16 (*.p16 x x) (*.p16 x x)))) (*.p16 (real->posit16 0.0005064034) (*.p16 x x))))))) x) (+.p16 (*.p16 (+.p16 (real->posit16 0.7715471019) (*.p16 (*.p16 x x) (+.p16 (real->posit16 0.2909738639) (*.p16 (real->posit16 0.0694555761) (*.p16 x x))))) (*.p16 x x)) (+.p16 (*.p16 (*.p16 (*.p16 (*.p16 x x) (*.p16 x x)) (*.p16 (*.p16 x x) (*.p16 x x))) (+.p16 (+.p16 (*.p16 (real->posit16 0.0001789971) (*.p16 (*.p16 (*.p16 x x) (*.p16 x x)) (real->posit16 2))) (*.p16 (real->posit16 0.0008327945) (*.p16 x x))) (real->posit16 0.0140005442))) (real->posit16 1))))
Rules
912927×*p16-lft-identity-expand p16-*-un-lft-identity
724134×associate-*l*
572163×p16-times-frac
504566×distribute-lft-out p16-distribute-lft-out
282551×*p16-rgt-identity-expand
146791×associate-*r*
87342×distribute-lft-out--
80931×distribute-rgt-out
17992×*-commutative
9330×distribute-rgt-out--
7370×difference-of-squares
5457×associate-/l*
4274×associate-/r*
3110×/p16-rgt-identity-expand
2590×associate-/r/
2362×difference-of-sqr-1
1433×introduce-quire
1295×distribute-lft1-in
1074×associate-*r/
878×+p16-lft-identity-expand +p16-rgt-identity-expand
875×associate-*l/
715×insert-quire-fdp-add
626×-p16-rgt-identity-expand
594×associate-/l/
434×distribute-lft-in distribute-rgt-in
425×insert-quire-fdp-sub
308×associate-+l+
290×associate-+r+
244×associate--l+
169×p16-flip--
145×associate--r+
124×+-commutative
119×sub-neg
109×insert-quire-add
96×insert-quire-sub
90×associate-+l-
87×associate-+r-
76×associate--r-
73×associate--l-
28×remove-double-div.p16
16×distribute-rgt1-in
sqrt-sqrd.p16

sample3.1m (7.7%)

Algorithm
68×halfpoints

prune2.5m (6.2%)

localize31.4s (1.3%)

regimes18.9s (0.8%)

Accuracy

Total 9.2b remaining (35.9%)

Threshold costs 8.2b (31.9%)

1.0b0%Octave 3.8, jcobi/4
0.6b0%quad2p (problem 3.2.1, positive)
0.5b0%Jmat.Real.dawson
0.5b0%quadp (p42, positive)
0.4b0%math.sqrt on complex, imaginary part, im greater than 0 branch

series33.0ms (0.0%)

Calls

388 calls:

0.0ms
(-.p16 (neg.p16 b) (sqrt.p16 (-.p16 (*.p16 b b) (*.p16 (real->posit16 4) (*.p16 a c)))))
0.0ms
(*.p16 (-.p16 re im) (+.p16 im re))
0.0ms
(-.p16 (neg.p16 b_2) (sqrt.p16 (-.p16 (*.p16 b_2 b_2) (*.p16 a c))))
0.0ms
(-.p16 (sqrt.p16 (-.p16 (*.p16 b b) (*.p16 (*.p16 c a) (real->posit16 4)))) b)
0.0ms
(-.p16 (sqrt.p16 (-.p16 (*.p16 b_2 b_2) (*.p16 c a))) b_2)

end1.0ms (0.0%)

bsearch1.0ms (0.0%)