Details

Time bar (total: 20.8s)

analyze3.0s (14.2%)

Algorithm
search
Search
TrueOtherFalseIter
0%99.8%0.2%0
0%99.8%0.2%1
0%99.8%0.2%2
0%99.8%0.2%3
0%99.8%0.2%4
0%99.8%0.2%5
0%99.8%0.2%6
0%99.8%0.2%7
0%98.2%1.8%8
0%94.3%5.7%9
0.4%93%6.6%10
7.4%83.3%9.3%11
12.4%75.2%12.4%12
14.4%68.9%16.7%13
16.8%65.4%17.8%14
Compiler

Compiled 45 to 33 computations (26.7% saved)

sample157.0ms (0.8%)

Algorithm
intervals
Results
30.0ms171×body128valid
19.0ms31×body1024valid
16.0ms21×body2048valid
15.0ms19×body2048nan
13.0ms90×body128nan
12.0ms20×body1024nan
10.0ms22×body512valid
6.0ms14×body512nan
3.0ms11×body256valid
3.0msbody256nan
Compiler

Compiled 93 to 69 computations (25.8% saved)

simplify39.0ms (0.2%)

Algorithm
egg-herbie
Rules
595×associate-+l+_binary64
560×associate-*l*_binary64
528×associate-*r*_binary64
455×distribute-rgt-in_binary64
449×distribute-lft-in_binary64
Counts
1 → 1
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
02361
16661
219561
367461
4257861
5561761

prune5.0ms (0%)

Pruning

1 alts after pruning (1 fresh and 0 done)

PrunedKeptTotal
New101
Fresh011
Picked000
Done000
Total112
Error
55.2b
Counts
2 → 1
Alt Table
StatusErrorProgram
55.2b
(/.f64 (neg.f64 (sqrt.f64 (*.f64 (*.f64 2 (*.f64 (-.f64 (pow.f64 B 2) (*.f64 (*.f64 4 A) C)) F)) (+.f64 (+.f64 A C) (sqrt.f64 (+.f64 (pow.f64 (-.f64 A C) 2) (pow.f64 B 2))))))) (-.f64 (pow.f64 B 2) (*.f64 (*.f64 4 A) C)))
Compiler

Compiled 132 to 91 computations (31.1% saved)

localize25.0ms (0.1%)

Local error

Found 4 expressions with local error:

7.2b
(*.f64 (*.f64 2 (*.f64 (-.f64 (pow.f64 B 2) (*.f64 (*.f64 4 A) C)) F)) (+.f64 (+.f64 A C) (sqrt.f64 (+.f64 (pow.f64 (-.f64 A C) 2) (pow.f64 B 2)))))
16.7b
(sqrt.f64 (*.f64 (*.f64 2 (*.f64 (-.f64 (pow.f64 B 2) (*.f64 (*.f64 4 A) C)) F)) (+.f64 (+.f64 A C) (sqrt.f64 (+.f64 (pow.f64 (-.f64 A C) 2) (pow.f64 B 2))))))
21.8b
(/.f64 (neg.f64 (sqrt.f64 (*.f64 (*.f64 2 (*.f64 (-.f64 (pow.f64 B 2) (*.f64 (*.f64 4 A) C)) F)) (+.f64 (+.f64 A C) (sqrt.f64 (+.f64 (pow.f64 (-.f64 A C) 2) (pow.f64 B 2))))))) (-.f64 (pow.f64 B 2) (*.f64 (*.f64 4 A) C)))
35.7b
(sqrt.f64 (+.f64 (pow.f64 (-.f64 A C) 2) (pow.f64 B 2)))

rewrite1.1s (5.3%)

Algorithm
rewrite-expression-head
Error
52.6b
Rules
78×sqrt-div_binary64
60×associate-*r/_binary64
48×associate-*l/_binary64
46×flip3-+_binary64 flip-+_binary64
43×*-un-lft-identity_binary64
Counts
4 → 183
Calls

4 calls:

36.0ms
(*.f64 (*.f64 2 (*.f64 (-.f64 (pow.f64 B 2) (*.f64 (*.f64 4 A) C)) F)) (+.f64 (+.f64 A C) (sqrt.f64 (+.f64 (pow.f64 (-.f64 A C) 2) (pow.f64 B 2)))))
28.0ms
(sqrt.f64 (*.f64 (*.f64 2 (*.f64 (-.f64 (pow.f64 B 2) (*.f64 (*.f64 4 A) C)) F)) (+.f64 (+.f64 A C) (sqrt.f64 (+.f64 (pow.f64 (-.f64 A C) 2) (pow.f64 B 2))))))
17.0ms
(/.f64 (neg.f64 (sqrt.f64 (*.f64 (*.f64 2 (*.f64 (-.f64 (pow.f64 B 2) (*.f64 (*.f64 4 A) C)) F)) (+.f64 (+.f64 A C) (sqrt.f64 (+.f64 (pow.f64 (-.f64 A C) 2) (pow.f64 B 2))))))) (-.f64 (pow.f64 B 2) (*.f64 (*.f64 4 A) C)))
12.0ms
(sqrt.f64 (+.f64 (pow.f64 (-.f64 A C) 2) (pow.f64 B 2)))
Compiler

Compiled 13810 to 8754 computations (36.6% saved)

series3.3s (15.8%)

Error
27.8b
Counts
4 → 93
Calls

4 calls:

1.3s
(/.f64 (neg.f64 (sqrt.f64 (*.f64 (*.f64 2 (*.f64 (-.f64 (pow.f64 B 2) (*.f64 (*.f64 4 A) C)) F)) (+.f64 (+.f64 A C) (sqrt.f64 (+.f64 (pow.f64 (-.f64 A C) 2) (pow.f64 B 2))))))) (-.f64 (pow.f64 B 2) (*.f64 (*.f64 4 A) C)))
1.1s
(sqrt.f64 (*.f64 (*.f64 2 (*.f64 (-.f64 (pow.f64 B 2) (*.f64 (*.f64 4 A) C)) F)) (+.f64 (+.f64 A C) (sqrt.f64 (+.f64 (pow.f64 (-.f64 A C) 2) (pow.f64 B 2))))))
505.0ms
(*.f64 (*.f64 2 (*.f64 (-.f64 (pow.f64 B 2) (*.f64 (*.f64 4 A) C)) F)) (+.f64 (+.f64 A C) (sqrt.f64 (+.f64 (pow.f64 (-.f64 A C) 2) (pow.f64 B 2)))))
115.0ms
(sqrt.f64 (+.f64 (pow.f64 (-.f64 A C) 2) (pow.f64 B 2)))
Compiler

Compiled 26782 to 19556 computations (27% saved)

simplify341.0ms (1.6%)

Algorithm
egg-herbie
Rules
465×*-commutative_binary64
462×times-frac_binary64
243×associate-*r*_binary64
200×+-commutative_binary64
179×sub-neg_binary64 cancel-sign-sub-inv_binary64
Counts
276 → 252
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
0114722622
1339721980
2502521980

prune476.0ms (2.3%)

Pruning

21 alts after pruning (21 fresh and 0 done)

PrunedKeptTotal
New23121252
Fresh000
Picked101
Done000
Total23221253
Error
26.8b
Counts
253 → 21
Alt Table
StatusErrorProgram
63.3b
(/.f64 (neg.f64 (sqrt.f64 (+.f64 (*.f64 8 (*.f64 (*.f64 B B) (*.f64 A F))) (*.f64 (*.f64 C (*.f64 (*.f64 A A) F)) -16)))) (-.f64 (pow.f64 B 2) (*.f64 (*.f64 4 A) C)))
52.8b
(/.f64 (neg.f64 (sqrt.f64 (+.f64 (*.f64 8 (*.f64 C (*.f64 (*.f64 B B) F))) (*.f64 (*.f64 (*.f64 C C) (*.f64 A F)) -16)))) (-.f64 (pow.f64 B 2) (*.f64 (*.f64 4 A) C)))
55.8b
(*.f64 (/.f64 (sqrt.f64 (*.f64 2 (*.f64 F (-.f64 (*.f64 B B) (*.f64 (*.f64 C A) 4))))) (sqrt.f64 (-.f64 (*.f64 B B) (*.f64 (*.f64 C A) 4)))) (/.f64 (neg.f64 (sqrt.f64 (+.f64 (+.f64 C A) (sqrt.f64 (+.f64 (*.f64 B B) (pow.f64 (-.f64 A C) 2)))))) (sqrt.f64 (-.f64 (*.f64 B B) (*.f64 (*.f64 C A) 4)))))
61.4b
(/.f64 (neg.f64 (sqrt.f64 (*.f64 (*.f64 (pow.f64 B 3) F) -2))) (-.f64 (pow.f64 B 2) (*.f64 (*.f64 4 A) C)))
56.5b
(/.f64 (neg.f64 (sqrt.f64 (*.f64 (*.f64 2 (*.f64 (-.f64 (pow.f64 B 2) (*.f64 (*.f64 4 A) C)) F)) (+.f64 (+.f64 A C) (-.f64 (+.f64 C (*.f64 1/2 (/.f64 (*.f64 B B) C))) A))))) (-.f64 (pow.f64 B 2) (*.f64 (*.f64 4 A) C)))
58.8b
(/.f64 (neg.f64 (sqrt.f64 (*.f64 2 (*.f64 (+.f64 C (sqrt.f64 (+.f64 (*.f64 B B) (*.f64 C C)))) (*.f64 (*.f64 B B) F))))) (-.f64 (pow.f64 B 2) (*.f64 (*.f64 4 A) C)))
60.6b
(neg.f64 (*.f64 (sqrt.f64 (*.f64 -1/4 (/.f64 (*.f64 (+.f64 C (+.f64 A (sqrt.f64 (-.f64 (+.f64 (*.f64 C C) (*.f64 A A)) (*.f64 2 (*.f64 C A)))))) F) (*.f64 C A)))) (sqrt.f64 2)))
51.6b
(/.f64 (neg.f64 (sqrt.f64 (-.f64 (+.f64 (*.f64 4 (/.f64 (*.f64 (*.f64 C C) (*.f64 (*.f64 B B) F)) A)) (*.f64 8 (*.f64 C (*.f64 (*.f64 B B) F)))) (+.f64 (/.f64 (*.f64 F (pow.f64 B 4)) A) (*.f64 (*.f64 (*.f64 C C) (*.f64 A F)) 16))))) (-.f64 (pow.f64 B 2) (*.f64 (*.f64 4 A) C)))
62.1b
(/.f64 (neg.f64 (sqrt.f64 (-.f64 (+.f64 (*.f64 2 (+.f64 (*.f64 (*.f64 B B) (*.f64 A F)) (*.f64 C (*.f64 (*.f64 B B) F)))) (*.f64 10 (*.f64 C (*.f64 A (*.f64 B F))))) (+.f64 (*.f64 B (*.f64 (*.f64 A A) F)) (+.f64 (*.f64 2 (*.f64 (pow.f64 B 3) F)) (*.f64 (*.f64 C C) (*.f64 B F))))))) (-.f64 (pow.f64 B 2) (*.f64 (*.f64 4 A) C)))
59.3b
(/.f64 (neg.f64 (*.f64 (sqrt.f64 (*.f64 F (+.f64 A (sqrt.f64 (+.f64 (*.f64 B B) (*.f64 A A)))))) (*.f64 B (sqrt.f64 2)))) (-.f64 (pow.f64 B 2) (*.f64 (*.f64 4 A) C)))
49.5b
(/.f64 (neg.f64 (+.f64 (*.f64 C (*.f64 (sqrt.f64 2) (sqrt.f64 (*.f64 (*.f64 A F) -8)))) (/.f64 (*.f64 F (*.f64 (*.f64 B B) (sqrt.f64 2))) (sqrt.f64 (*.f64 (*.f64 A F) -8))))) (-.f64 (pow.f64 B 2) (*.f64 (*.f64 4 A) C)))
58.6b
(/.f64 (neg.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 (*.f64 -4 (*.f64 C (*.f64 (+.f64 C (+.f64 A (sqrt.f64 (-.f64 (+.f64 (*.f64 C C) (*.f64 A A)) (*.f64 2 (*.f64 C A)))))) (*.f64 A F))))))) (-.f64 (pow.f64 B 2) (*.f64 (*.f64 4 A) C)))
55.3b
(/.f64 (/.f64 (neg.f64 (sqrt.f64 (*.f64 (*.f64 2 (*.f64 F (-.f64 (*.f64 B B) (*.f64 (*.f64 C A) 4)))) (+.f64 (+.f64 C A) (sqrt.f64 (+.f64 (*.f64 B B) (pow.f64 (-.f64 A C) 2))))))) (*.f64 (cbrt.f64 (-.f64 (*.f64 B B) (*.f64 (*.f64 C A) 4))) (cbrt.f64 (-.f64 (*.f64 B B) (*.f64 (*.f64 C A) 4))))) (cbrt.f64 (-.f64 (pow.f64 B 2) (*.f64 (*.f64 4 A) C))))
49.3b
(/.f64 (neg.f64 (*.f64 C (*.f64 (sqrt.f64 2) (sqrt.f64 (*.f64 (*.f64 A F) -8))))) (-.f64 (pow.f64 B 2) (*.f64 (*.f64 4 A) C)))
45.6b
(neg.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 (*.f64 -1/2 (/.f64 F A)))))
58.9b
(neg.f64 (*.f64 (sqrt.f64 (*.f64 F (+.f64 C (sqrt.f64 (+.f64 (*.f64 B B) (*.f64 C C)))))) (/.f64 (sqrt.f64 2) B)))
53.2b
(/.f64 (sqrt.f64 (*.f64 2 (*.f64 (-.f64 (pow.f64 B 2) (*.f64 (*.f64 4 A) C)) F))) (/.f64 (-.f64 (*.f64 B B) (*.f64 (*.f64 C A) 4)) (neg.f64 (sqrt.f64 (+.f64 (+.f64 C A) (sqrt.f64 (+.f64 (*.f64 B B) (pow.f64 (-.f64 A C) 2))))))))
61.1b
(/.f64 (neg.f64 (-.f64 (+.f64 (*.f64 (sqrt.f64 (*.f64 F (+.f64 A (sqrt.f64 (+.f64 (*.f64 B B) (*.f64 A A)))))) (*.f64 B (sqrt.f64 2))) (*.f64 1/2 (*.f64 (*.f64 C (*.f64 B (sqrt.f64 2))) (sqrt.f64 (/.f64 F (+.f64 A (sqrt.f64 (+.f64 (*.f64 B B) (*.f64 A A))))))))) (+.f64 (*.f64 2 (*.f64 (/.f64 (*.f64 C (*.f64 (*.f64 A A) (sqrt.f64 2))) B) (sqrt.f64 (/.f64 F (+.f64 A (sqrt.f64 (+.f64 (*.f64 B B) (*.f64 A A)))))))) (+.f64 (*.f64 2 (*.f64 (/.f64 (*.f64 (*.f64 C A) (sqrt.f64 2)) B) (sqrt.f64 (/.f64 (*.f64 (+.f64 (*.f64 B B) (*.f64 A A)) F) (+.f64 A (sqrt.f64 (+.f64 (*.f64 B B) (*.f64 A A)))))))) (*.f64 1/2 (*.f64 (*.f64 (sqrt.f64 2) (*.f64 C (*.f64 B A))) (sqrt.f64 (/.f64 F (*.f64 (+.f64 (*.f64 B B) (*.f64 A A)) (+.f64 A (sqrt.f64 (+.f64 (*.f64 B B) (*.f64 A A))))))))))))) (-.f64 (pow.f64 B 2) (*.f64 (*.f64 4 A) C)))
59.3b
(neg.f64 (*.f64 (/.f64 (sqrt.f64 2) B) (sqrt.f64 (*.f64 F (+.f64 A (sqrt.f64 (+.f64 (*.f64 B B) (*.f64 A A))))))))
53.2b
(*.f64 (sqrt.f64 (*.f64 2 (*.f64 F (-.f64 (*.f64 B B) (*.f64 (*.f64 C A) 4))))) (/.f64 (neg.f64 (sqrt.f64 (+.f64 (+.f64 C A) (sqrt.f64 (+.f64 (*.f64 B B) (pow.f64 (-.f64 A C) 2)))))) (-.f64 (*.f64 B B) (*.f64 (*.f64 C A) 4))))
55.9b
(/.f64 (neg.f64 (sqrt.f64 (*.f64 F (-.f64 (+.f64 (*.f64 2 (*.f64 (*.f64 B B) A)) (*.f64 2 (+.f64 (*.f64 (*.f64 B B) (sqrt.f64 (-.f64 (+.f64 (+.f64 (*.f64 B B) (*.f64 C C)) (*.f64 A A)) (*.f64 2 (*.f64 C A))))) (*.f64 (*.f64 B B) C)))) (+.f64 (*.f64 (*.f64 C (*.f64 A A)) 8) (*.f64 8 (+.f64 (*.f64 (*.f64 C A) (sqrt.f64 (-.f64 (+.f64 (+.f64 (*.f64 B B) (*.f64 C C)) (*.f64 A A)) (*.f64 2 (*.f64 C A))))) (*.f64 (*.f64 C C) A)))))))) (-.f64 (pow.f64 B 2) (*.f64 (*.f64 4 A) C)))
Compiler

Compiled 19235 to 9504 computations (50.6% saved)

localize7.0ms (0%)

Local error

Found 2 expressions with local error:

0.4b
(*.f64 (sqrt.f64 2) (sqrt.f64 (*.f64 -1/2 (/.f64 F A))))
12.1b
(sqrt.f64 (*.f64 -1/2 (/.f64 F A)))

rewrite59.0ms (0.3%)

Algorithm
rewrite-expression-head
Error
26.7b
Rules
12×pow1_binary64
add-sqr-sqrt_binary64
pow-prod-down_binary64 sqrt-pow1_binary64 sqrt-prod_binary64 associate-*l*_binary64
add-cube-cbrt_binary64 *-un-lft-identity_binary64
add-exp-log_binary64 add-cbrt-cube_binary64 associate-*r*_binary64
Counts
2 → 40
Calls

2 calls:

9.0ms
(*.f64 (sqrt.f64 2) (sqrt.f64 (*.f64 -1/2 (/.f64 F A))))
4.0ms
(sqrt.f64 (*.f64 -1/2 (/.f64 F A)))
Compiler

Compiled 557 to 408 computations (26.8% saved)

series38.0ms (0.2%)

Error
26.8b
Counts
2 → 12
Calls

2 calls:

20.0ms
(*.f64 (sqrt.f64 2) (sqrt.f64 (*.f64 -1/2 (/.f64 F A))))
17.0ms
(sqrt.f64 (*.f64 -1/2 (/.f64 F A)))
Compiler

Compiled 478 to 406 computations (15.1% saved)

simplify165.0ms (0.8%)

Algorithm
egg-herbie
Rules
580×fabs-mul_binary64
381×unsub-neg_binary64
332×associate-/r/_binary64
300×*-commutative_binary64
260×neg-sub0_binary64
Counts
52 → 27
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
072698
1143676
2390676
3936676
41694676
52384676
62801676
73173676
84453676
94990676
104746676
114808676
124840676

prune72.0ms (0.3%)

Pruning

25 alts after pruning (25 fresh and 0 done)

PrunedKeptTotal
New22527
Fresh02020
Picked101
Done000
Total232548
Error
26.7b
Counts
48 → 25
Alt Table
StatusErrorProgram
63.3b
(/.f64 (neg.f64 (sqrt.f64 (+.f64 (*.f64 8 (*.f64 (*.f64 B B) (*.f64 A F))) (*.f64 (*.f64 C (*.f64 (*.f64 A A) F)) -16)))) (-.f64 (pow.f64 B 2) (*.f64 (*.f64 4 A) C)))
52.8b
(/.f64 (neg.f64 (sqrt.f64 (+.f64 (*.f64 8 (*.f64 C (*.f64 (*.f64 B B) F))) (*.f64 (*.f64 (*.f64 C C) (*.f64 A F)) -16)))) (-.f64 (pow.f64 B 2) (*.f64 (*.f64 4 A) C)))
55.8b
(*.f64 (/.f64 (sqrt.f64 (*.f64 2 (*.f64 F (-.f64 (*.f64 B B) (*.f64 (*.f64 C A) 4))))) (sqrt.f64 (-.f64 (*.f64 B B) (*.f64 (*.f64 C A) 4)))) (/.f64 (neg.f64 (sqrt.f64 (+.f64 (+.f64 C A) (sqrt.f64 (+.f64 (*.f64 B B) (pow.f64 (-.f64 A C) 2)))))) (sqrt.f64 (-.f64 (*.f64 B B) (*.f64 (*.f64 C A) 4)))))
61.4b
(/.f64 (neg.f64 (sqrt.f64 (*.f64 (*.f64 (pow.f64 B 3) F) -2))) (-.f64 (pow.f64 B 2) (*.f64 (*.f64 4 A) C)))
56.5b
(/.f64 (neg.f64 (sqrt.f64 (*.f64 (*.f64 2 (*.f64 (-.f64 (pow.f64 B 2) (*.f64 (*.f64 4 A) C)) F)) (+.f64 (+.f64 A C) (-.f64 (+.f64 C (*.f64 1/2 (/.f64 (*.f64 B B) C))) A))))) (-.f64 (pow.f64 B 2) (*.f64 (*.f64 4 A) C)))
58.8b
(/.f64 (neg.f64 (sqrt.f64 (*.f64 2 (*.f64 (+.f64 C (sqrt.f64 (+.f64 (*.f64 B B) (*.f64 C C)))) (*.f64 (*.f64 B B) F))))) (-.f64 (pow.f64 B 2) (*.f64 (*.f64 4 A) C)))
60.6b
(neg.f64 (*.f64 (sqrt.f64 (*.f64 -1/4 (/.f64 (*.f64 (+.f64 C (+.f64 A (sqrt.f64 (-.f64 (+.f64 (*.f64 C C) (*.f64 A A)) (*.f64 2 (*.f64 C A)))))) F) (*.f64 C A)))) (sqrt.f64 2)))
51.6b
(/.f64 (neg.f64 (sqrt.f64 (-.f64 (+.f64 (*.f64 4 (/.f64 (*.f64 (*.f64 C C) (*.f64 (*.f64 B B) F)) A)) (*.f64 8 (*.f64 C (*.f64 (*.f64 B B) F)))) (+.f64 (/.f64 (*.f64 F (pow.f64 B 4)) A) (*.f64 (*.f64 (*.f64 C C) (*.f64 A F)) 16))))) (-.f64 (pow.f64 B 2) (*.f64 (*.f64 4 A) C)))
62.1b
(/.f64 (neg.f64 (sqrt.f64 (-.f64 (+.f64 (*.f64 2 (+.f64 (*.f64 (*.f64 B B) (*.f64 A F)) (*.f64 C (*.f64 (*.f64 B B) F)))) (*.f64 10 (*.f64 C (*.f64 A (*.f64 B F))))) (+.f64 (*.f64 B (*.f64 (*.f64 A A) F)) (+.f64 (*.f64 2 (*.f64 (pow.f64 B 3) F)) (*.f64 (*.f64 C C) (*.f64 B F))))))) (-.f64 (pow.f64 B 2) (*.f64 (*.f64 4 A) C)))
61.0b
(neg.f64 (log.f64 (pow.f64 (exp.f64 (sqrt.f64 (*.f64 -1/2 (/.f64 F A)))) (sqrt.f64 2))))
45.6b
(neg.f64 (*.f64 (*.f64 (sqrt.f64 (sqrt.f64 (*.f64 -1/2 (/.f64 F A)))) (sqrt.f64 (sqrt.f64 2))) (*.f64 (sqrt.f64 (sqrt.f64 (*.f64 -1/2 (/.f64 F A)))) (sqrt.f64 (sqrt.f64 2)))))
59.3b
(/.f64 (neg.f64 (*.f64 (sqrt.f64 (*.f64 F (+.f64 A (sqrt.f64 (+.f64 (*.f64 B B) (*.f64 A A)))))) (*.f64 B (sqrt.f64 2)))) (-.f64 (pow.f64 B 2) (*.f64 (*.f64 4 A) C)))
45.6b
(neg.f64 (*.f64 (sqrt.f64 (sqrt.f64 2)) (*.f64 (sqrt.f64 (*.f64 -1/2 (/.f64 F A))) (sqrt.f64 (sqrt.f64 2)))))
45.5b
(neg.f64 (sqrt.f64 (neg.f64 (/.f64 F A))))
49.5b
(/.f64 (neg.f64 (+.f64 (*.f64 C (*.f64 (sqrt.f64 2) (sqrt.f64 (*.f64 (*.f64 A F) -8)))) (/.f64 (*.f64 F (*.f64 (*.f64 B B) (sqrt.f64 2))) (sqrt.f64 (*.f64 (*.f64 A F) -8))))) (-.f64 (pow.f64 B 2) (*.f64 (*.f64 4 A) C)))
58.6b
(/.f64 (neg.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 (*.f64 -4 (*.f64 C (*.f64 (+.f64 C (+.f64 A (sqrt.f64 (-.f64 (+.f64 (*.f64 C C) (*.f64 A A)) (*.f64 2 (*.f64 C A)))))) (*.f64 A F))))))) (-.f64 (pow.f64 B 2) (*.f64 (*.f64 4 A) C)))
55.3b
(/.f64 (/.f64 (neg.f64 (sqrt.f64 (*.f64 (*.f64 2 (*.f64 F (-.f64 (*.f64 B B) (*.f64 (*.f64 C A) 4)))) (+.f64 (+.f64 C A) (sqrt.f64 (+.f64 (*.f64 B B) (pow.f64 (-.f64 A C) 2))))))) (*.f64 (cbrt.f64 (-.f64 (*.f64 B B) (*.f64 (*.f64 C A) 4))) (cbrt.f64 (-.f64 (*.f64 B B) (*.f64 (*.f64 C A) 4))))) (cbrt.f64 (-.f64 (pow.f64 B 2) (*.f64 (*.f64 4 A) C))))
50.5b
(neg.f64 (cbrt.f64 (pow.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 (*.f64 -1/2 (/.f64 F A)))) 3)))
49.3b
(/.f64 (neg.f64 (*.f64 C (*.f64 (sqrt.f64 2) (sqrt.f64 (*.f64 (*.f64 A F) -8))))) (-.f64 (pow.f64 B 2) (*.f64 (*.f64 4 A) C)))
58.9b
(neg.f64 (*.f64 (sqrt.f64 (*.f64 F (+.f64 C (sqrt.f64 (+.f64 (*.f64 B B) (*.f64 C C)))))) (/.f64 (sqrt.f64 2) B)))
53.2b
(/.f64 (sqrt.f64 (*.f64 2 (*.f64 (-.f64 (pow.f64 B 2) (*.f64 (*.f64 4 A) C)) F))) (/.f64 (-.f64 (*.f64 B B) (*.f64 (*.f64 C A) 4)) (neg.f64 (sqrt.f64 (+.f64 (+.f64 C A) (sqrt.f64 (+.f64 (*.f64 B B) (pow.f64 (-.f64 A C) 2))))))))
61.1b
(/.f64 (neg.f64 (-.f64 (+.f64 (*.f64 (sqrt.f64 (*.f64 F (+.f64 A (sqrt.f64 (+.f64 (*.f64 B B) (*.f64 A A)))))) (*.f64 B (sqrt.f64 2))) (*.f64 1/2 (*.f64 (*.f64 C (*.f64 B (sqrt.f64 2))) (sqrt.f64 (/.f64 F (+.f64 A (sqrt.f64 (+.f64 (*.f64 B B) (*.f64 A A))))))))) (+.f64 (*.f64 2 (*.f64 (/.f64 (*.f64 C (*.f64 (*.f64 A A) (sqrt.f64 2))) B) (sqrt.f64 (/.f64 F (+.f64 A (sqrt.f64 (+.f64 (*.f64 B B) (*.f64 A A)))))))) (+.f64 (*.f64 2 (*.f64 (/.f64 (*.f64 (*.f64 C A) (sqrt.f64 2)) B) (sqrt.f64 (/.f64 (*.f64 (+.f64 (*.f64 B B) (*.f64 A A)) F) (+.f64 A (sqrt.f64 (+.f64 (*.f64 B B) (*.f64 A A)))))))) (*.f64 1/2 (*.f64 (*.f64 (sqrt.f64 2) (*.f64 C (*.f64 B A))) (sqrt.f64 (/.f64 F (*.f64 (+.f64 (*.f64 B B) (*.f64 A A)) (+.f64 A (sqrt.f64 (+.f64 (*.f64 B B) (*.f64 A A))))))))))))) (-.f64 (pow.f64 B 2) (*.f64 (*.f64 4 A) C)))
59.3b
(neg.f64 (*.f64 (/.f64 (sqrt.f64 2) B) (sqrt.f64 (*.f64 F (+.f64 A (sqrt.f64 (+.f64 (*.f64 B B) (*.f64 A A))))))))
53.2b
(*.f64 (sqrt.f64 (*.f64 2 (*.f64 F (-.f64 (*.f64 B B) (*.f64 (*.f64 C A) 4))))) (/.f64 (neg.f64 (sqrt.f64 (+.f64 (+.f64 C A) (sqrt.f64 (+.f64 (*.f64 B B) (pow.f64 (-.f64 A C) 2)))))) (-.f64 (*.f64 B B) (*.f64 (*.f64 C A) 4))))
55.9b
(/.f64 (neg.f64 (sqrt.f64 (*.f64 F (-.f64 (+.f64 (*.f64 2 (*.f64 (*.f64 B B) A)) (*.f64 2 (+.f64 (*.f64 (*.f64 B B) (sqrt.f64 (-.f64 (+.f64 (+.f64 (*.f64 B B) (*.f64 C C)) (*.f64 A A)) (*.f64 2 (*.f64 C A))))) (*.f64 (*.f64 B B) C)))) (+.f64 (*.f64 (*.f64 C (*.f64 A A)) 8) (*.f64 8 (+.f64 (*.f64 (*.f64 C A) (sqrt.f64 (-.f64 (+.f64 (+.f64 (*.f64 B B) (*.f64 C C)) (*.f64 A A)) (*.f64 2 (*.f64 C A))))) (*.f64 (*.f64 C C) A)))))))) (-.f64 (pow.f64 B 2) (*.f64 (*.f64 4 A) C)))
Compiler

Compiled 2337 to 1491 computations (36.2% saved)

localize5.0ms (0%)

Local error

Found 1 expressions with local error:

12.1b
(sqrt.f64 (neg.f64 (/.f64 F A)))

rewrite46.0ms (0.2%)

Algorithm
rewrite-expression-head
Error
24.8b
Rules
30×sqrt-prod_binary64
18×times-frac_binary64
17×add-sqr-sqrt_binary64
16×add-cube-cbrt_binary64 *-un-lft-identity_binary64
13×distribute-rgt-neg-in_binary64 distribute-lft-neg-in_binary64
Counts
1 → 41
Calls

1 calls:

4.0ms
(sqrt.f64 (neg.f64 (/.f64 F A)))
Compiler

Compiled 528 to 217 computations (58.9% saved)

series14.0ms (0.1%)

Error
26.7b
Counts
1 → 6
Calls

1 calls:

13.0ms
(sqrt.f64 (neg.f64 (/.f64 F A)))
Compiler

Compiled 176 to 140 computations (20.5% saved)

simplify275.0ms (1.3%)

Algorithm
egg-herbie
Rules
766×associate-/l*_binary64
673×div-sub_binary64
594×unsub-neg_binary64
544×unswap-sqr_binary64
442×neg-sub0_binary64
Counts
47 → 24
Iterations

Useful iterations: 10 (0.0ms)

IterNodesCost
0115696
1201676
2373676
3576676
41053676
51734676
62095676
72229676
82358676
92511676
102638671
114020671
123583671
134000671
144374671
154437671
164755671
174968671
184705671

prune75.0ms (0.4%)

Pruning

28 alts after pruning (27 fresh and 1 done)

PrunedKeptTotal
New18624
Fresh32124
Picked011
Done000
Total212849
Error
24.8b
Counts
49 → 28
Alt Table
StatusErrorProgram
63.3b
(/.f64 (neg.f64 (sqrt.f64 (+.f64 (*.f64 8 (*.f64 (*.f64 B B) (*.f64 A F))) (*.f64 (*.f64 C (*.f64 (*.f64 A A) F)) -16)))) (-.f64 (pow.f64 B 2) (*.f64 (*.f64 4 A) C)))
52.8b
(/.f64 (neg.f64 (sqrt.f64 (+.f64 (*.f64 8 (*.f64 C (*.f64 (*.f64 B B) F))) (*.f64 (*.f64 (*.f64 C C) (*.f64 A F)) -16)))) (-.f64 (pow.f64 B 2) (*.f64 (*.f64 4 A) C)))
55.8b
(*.f64 (/.f64 (sqrt.f64 (*.f64 2 (*.f64 F (-.f64 (*.f64 B B) (*.f64 (*.f64 C A) 4))))) (sqrt.f64 (-.f64 (*.f64 B B) (*.f64 (*.f64 C A) 4)))) (/.f64 (neg.f64 (sqrt.f64 (+.f64 (+.f64 C A) (sqrt.f64 (+.f64 (*.f64 B B) (pow.f64 (-.f64 A C) 2)))))) (sqrt.f64 (-.f64 (*.f64 B B) (*.f64 (*.f64 C A) 4)))))
61.4b
(/.f64 (neg.f64 (sqrt.f64 (*.f64 (*.f64 (pow.f64 B 3) F) -2))) (-.f64 (pow.f64 B 2) (*.f64 (*.f64 4 A) C)))
56.5b
(/.f64 (neg.f64 (sqrt.f64 (*.f64 (*.f64 2 (*.f64 (-.f64 (pow.f64 B 2) (*.f64 (*.f64 4 A) C)) F)) (+.f64 (+.f64 A C) (-.f64 (+.f64 C (*.f64 1/2 (/.f64 (*.f64 B B) C))) A))))) (-.f64 (pow.f64 B 2) (*.f64 (*.f64 4 A) C)))
58.8b
(/.f64 (neg.f64 (sqrt.f64 (*.f64 2 (*.f64 (+.f64 C (sqrt.f64 (+.f64 (*.f64 B B) (*.f64 C C)))) (*.f64 (*.f64 B B) F))))) (-.f64 (pow.f64 B 2) (*.f64 (*.f64 4 A) C)))
60.6b
(neg.f64 (*.f64 (sqrt.f64 (*.f64 -1/4 (/.f64 (*.f64 (+.f64 C (+.f64 A (sqrt.f64 (-.f64 (+.f64 (*.f64 C C) (*.f64 A A)) (*.f64 2 (*.f64 C A)))))) F) (*.f64 C A)))) (sqrt.f64 2)))
62.1b
(/.f64 (neg.f64 (sqrt.f64 (-.f64 (+.f64 (*.f64 2 (+.f64 (*.f64 (*.f64 B B) (*.f64 A F)) (*.f64 C (*.f64 (*.f64 B B) F)))) (*.f64 10 (*.f64 C (*.f64 A (*.f64 B F))))) (+.f64 (*.f64 B (*.f64 (*.f64 A A) F)) (+.f64 (*.f64 2 (*.f64 (pow.f64 B 3) F)) (*.f64 (*.f64 C C) (*.f64 B F))))))) (-.f64 (pow.f64 B 2) (*.f64 (*.f64 4 A) C)))
41.1b
(neg.f64 (*.f64 (sqrt.f64 F) (sqrt.f64 (/.f64 -1 A))))
41.3b
(neg.f64 (*.f64 (fabs.f64 (/.f64 (cbrt.f64 F) (cbrt.f64 A))) (sqrt.f64 (neg.f64 (/.f64 (cbrt.f64 F) (cbrt.f64 A))))))
61.0b
(neg.f64 (log.f64 (pow.f64 (exp.f64 (sqrt.f64 (*.f64 -1/2 (/.f64 F A)))) (sqrt.f64 2))))
45.6b
(neg.f64 (*.f64 (*.f64 (sqrt.f64 (sqrt.f64 (*.f64 -1/2 (/.f64 F A)))) (sqrt.f64 (sqrt.f64 2))) (*.f64 (sqrt.f64 (sqrt.f64 (*.f64 -1/2 (/.f64 F A)))) (sqrt.f64 (sqrt.f64 2)))))
59.3b
(/.f64 (neg.f64 (*.f64 (sqrt.f64 (*.f64 F (+.f64 A (sqrt.f64 (+.f64 (*.f64 B B) (*.f64 A A)))))) (*.f64 B (sqrt.f64 2)))) (-.f64 (pow.f64 B 2) (*.f64 (*.f64 4 A) C)))
41.9b
(neg.f64 (*.f64 (/.f64 1 (fabs.f64 (cbrt.f64 A))) (sqrt.f64 (/.f64 (neg.f64 F) (cbrt.f64 A)))))
45.6b
(neg.f64 (*.f64 (fabs.f64 (cbrt.f64 (/.f64 F A))) (sqrt.f64 (neg.f64 (cbrt.f64 (/.f64 F A))))))
45.5b
(neg.f64 (sqrt.f64 (neg.f64 (/.f64 F A))))
49.5b
(/.f64 (neg.f64 (+.f64 (*.f64 C (*.f64 (sqrt.f64 2) (sqrt.f64 (*.f64 (*.f64 A F) -8)))) (/.f64 (*.f64 F (*.f64 (*.f64 B B) (sqrt.f64 2))) (sqrt.f64 (*.f64 (*.f64 A F) -8))))) (-.f64 (pow.f64 B 2) (*.f64 (*.f64 4 A) C)))
58.6b
(/.f64 (neg.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 (*.f64 -4 (*.f64 C (*.f64 (+.f64 C (+.f64 A (sqrt.f64 (-.f64 (+.f64 (*.f64 C C) (*.f64 A A)) (*.f64 2 (*.f64 C A)))))) (*.f64 A F))))))) (-.f64 (pow.f64 B 2) (*.f64 (*.f64 4 A) C)))
55.3b
(/.f64 (/.f64 (neg.f64 (sqrt.f64 (*.f64 (*.f64 2 (*.f64 F (-.f64 (*.f64 B B) (*.f64 (*.f64 C A) 4)))) (+.f64 (+.f64 C A) (sqrt.f64 (+.f64 (*.f64 B B) (pow.f64 (-.f64 A C) 2))))))) (*.f64 (cbrt.f64 (-.f64 (*.f64 B B) (*.f64 (*.f64 C A) 4))) (cbrt.f64 (-.f64 (*.f64 B B) (*.f64 (*.f64 C A) 4))))) (cbrt.f64 (-.f64 (pow.f64 B 2) (*.f64 (*.f64 4 A) C))))
43.2b
(neg.f64 (*.f64 (sqrt.f64 (sqrt.f64 F)) (sqrt.f64 (neg.f64 (/.f64 (sqrt.f64 F) A)))))
49.3b
(/.f64 (neg.f64 (*.f64 C (*.f64 (sqrt.f64 2) (sqrt.f64 (*.f64 (*.f64 A F) -8))))) (-.f64 (pow.f64 B 2) (*.f64 (*.f64 4 A) C)))
58.9b
(neg.f64 (*.f64 (sqrt.f64 (*.f64 F (+.f64 C (sqrt.f64 (+.f64 (*.f64 B B) (*.f64 C C)))))) (/.f64 (sqrt.f64 2) B)))
53.2b
(/.f64 (sqrt.f64 (*.f64 2 (*.f64 (-.f64 (pow.f64 B 2) (*.f64 (*.f64 4 A) C)) F))) (/.f64 (-.f64 (*.f64 B B) (*.f64 (*.f64 C A) 4)) (neg.f64 (sqrt.f64 (+.f64 (+.f64 C A) (sqrt.f64 (+.f64 (*.f64 B B) (pow.f64 (-.f64 A C) 2))))))))
42.4b
(neg.f64 (*.f64 (fabs.f64 (cbrt.f64 F)) (sqrt.f64 (neg.f64 (/.f64 (cbrt.f64 F) A)))))
61.1b
(/.f64 (neg.f64 (-.f64 (+.f64 (*.f64 (sqrt.f64 (*.f64 F (+.f64 A (sqrt.f64 (+.f64 (*.f64 B B) (*.f64 A A)))))) (*.f64 B (sqrt.f64 2))) (*.f64 1/2 (*.f64 (*.f64 C (*.f64 B (sqrt.f64 2))) (sqrt.f64 (/.f64 F (+.f64 A (sqrt.f64 (+.f64 (*.f64 B B) (*.f64 A A))))))))) (+.f64 (*.f64 2 (*.f64 (/.f64 (*.f64 C (*.f64 (*.f64 A A) (sqrt.f64 2))) B) (sqrt.f64 (/.f64 F (+.f64 A (sqrt.f64 (+.f64 (*.f64 B B) (*.f64 A A)))))))) (+.f64 (*.f64 2 (*.f64 (/.f64 (*.f64 (*.f64 C A) (sqrt.f64 2)) B) (sqrt.f64 (/.f64 (*.f64 (+.f64 (*.f64 B B) (*.f64 A A)) F) (+.f64 A (sqrt.f64 (+.f64 (*.f64 B B) (*.f64 A A)))))))) (*.f64 1/2 (*.f64 (*.f64 (sqrt.f64 2) (*.f64 C (*.f64 B A))) (sqrt.f64 (/.f64 F (*.f64 (+.f64 (*.f64 B B) (*.f64 A A)) (+.f64 A (sqrt.f64 (+.f64 (*.f64 B B) (*.f64 A A))))))))))))) (-.f64 (pow.f64 B 2) (*.f64 (*.f64 4 A) C)))
59.3b
(neg.f64 (*.f64 (/.f64 (sqrt.f64 2) B) (sqrt.f64 (*.f64 F (+.f64 A (sqrt.f64 (+.f64 (*.f64 B B) (*.f64 A A))))))))
53.2b
(*.f64 (sqrt.f64 (*.f64 2 (*.f64 F (-.f64 (*.f64 B B) (*.f64 (*.f64 C A) 4))))) (/.f64 (neg.f64 (sqrt.f64 (+.f64 (+.f64 C A) (sqrt.f64 (+.f64 (*.f64 B B) (pow.f64 (-.f64 A C) 2)))))) (-.f64 (*.f64 B B) (*.f64 (*.f64 C A) 4))))
55.9b
(/.f64 (neg.f64 (sqrt.f64 (*.f64 F (-.f64 (+.f64 (*.f64 2 (*.f64 (*.f64 B B) A)) (*.f64 2 (+.f64 (*.f64 (*.f64 B B) (sqrt.f64 (-.f64 (+.f64 (+.f64 (*.f64 B B) (*.f64 C C)) (*.f64 A A)) (*.f64 2 (*.f64 C A))))) (*.f64 (*.f64 B B) C)))) (+.f64 (*.f64 (*.f64 C (*.f64 A A)) 8) (*.f64 8 (+.f64 (*.f64 (*.f64 C A) (sqrt.f64 (-.f64 (+.f64 (+.f64 (*.f64 B B) (*.f64 C C)) (*.f64 A A)) (*.f64 2 (*.f64 C A))))) (*.f64 (*.f64 C C) A)))))))) (-.f64 (pow.f64 B 2) (*.f64 (*.f64 4 A) C)))
Compiler

Compiled 2397 to 1465 computations (38.9% saved)

localize6.0ms (0%)

Local error

Found 2 expressions with local error:

0.1b
(sqrt.f64 (/.f64 -1 A))
0.3b
(*.f64 (sqrt.f64 F) (sqrt.f64 (/.f64 -1 A)))

rewrite89.0ms (0.4%)

Algorithm
rewrite-expression-head
Error
24.8b
Rules
41×add-sqr-sqrt_binary64
36×sqrt-prod_binary64
22×times-frac_binary64
19×add-cube-cbrt_binary64 *-un-lft-identity_binary64
16×associate-*r*_binary64
Counts
2 → 70
Calls

2 calls:

12.0ms
(*.f64 (sqrt.f64 F) (sqrt.f64 (/.f64 -1 A)))
3.0ms
(sqrt.f64 (/.f64 -1 A))
Compiler

Compiled 901 to 610 computations (32.3% saved)

series23.0ms (0.1%)

Error
24.8b
Counts
2 → 9
Calls

2 calls:

16.0ms
(*.f64 (sqrt.f64 F) (sqrt.f64 (/.f64 -1 A)))
6.0ms
(sqrt.f64 (/.f64 -1 A))
Compiler

Compiled 285 to 231 computations (18.9% saved)

simplify171.0ms (0.8%)

Algorithm
egg-herbie
Rules
804×fabs-mul_binary64
721×unsub-neg_binary64
577×div-sub_binary64
405×unswap-sqr_binary64
386×associate-/r*_binary64
Counts
79 → 36
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
01091061
11841016
24421013
36531013
412931013
519251013
623511013
731671013
842131013
948851013
1049121013
1151011013

prune66.0ms (0.3%)

Pruning

29 alts after pruning (28 fresh and 1 done)

PrunedKeptTotal
New30636
Fresh42226
Picked101
Done011
Total352964
Error
24.8b
Counts
64 → 29
Alt Table
StatusErrorProgram
63.3b
(/.f64 (neg.f64 (sqrt.f64 (+.f64 (*.f64 8 (*.f64 (*.f64 B B) (*.f64 A F))) (*.f64 (*.f64 C (*.f64 (*.f64 A A) F)) -16)))) (-.f64 (pow.f64 B 2) (*.f64 (*.f64 4 A) C)))
52.8b
(/.f64 (neg.f64 (sqrt.f64 (+.f64 (*.f64 8 (*.f64 C (*.f64 (*.f64 B B) F))) (*.f64 (*.f64 (*.f64 C C) (*.f64 A F)) -16)))) (-.f64 (pow.f64 B 2) (*.f64 (*.f64 4 A) C)))
55.8b
(*.f64 (/.f64 (sqrt.f64 (*.f64 2 (*.f64 F (-.f64 (*.f64 B B) (*.f64 (*.f64 C A) 4))))) (sqrt.f64 (-.f64 (*.f64 B B) (*.f64 (*.f64 C A) 4)))) (/.f64 (neg.f64 (sqrt.f64 (+.f64 (+.f64 C A) (sqrt.f64 (+.f64 (*.f64 B B) (pow.f64 (-.f64 A C) 2)))))) (sqrt.f64 (-.f64 (*.f64 B B) (*.f64 (*.f64 C A) 4)))))
61.4b
(/.f64 (neg.f64 (sqrt.f64 (*.f64 (*.f64 (pow.f64 B 3) F) -2))) (-.f64 (pow.f64 B 2) (*.f64 (*.f64 4 A) C)))
56.5b
(/.f64 (neg.f64 (sqrt.f64 (*.f64 (*.f64 2 (*.f64 (-.f64 (pow.f64 B 2) (*.f64 (*.f64 4 A) C)) F)) (+.f64 (+.f64 A C) (-.f64 (+.f64 C (*.f64 1/2 (/.f64 (*.f64 B B) C))) A))))) (-.f64 (pow.f64 B 2) (*.f64 (*.f64 4 A) C)))
58.8b
(/.f64 (neg.f64 (sqrt.f64 (*.f64 2 (*.f64 (+.f64 C (sqrt.f64 (+.f64 (*.f64 B B) (*.f64 C C)))) (*.f64 (*.f64 B B) F))))) (-.f64 (pow.f64 B 2) (*.f64 (*.f64 4 A) C)))
60.6b
(neg.f64 (*.f64 (sqrt.f64 (*.f64 -1/4 (/.f64 (*.f64 (+.f64 C (+.f64 A (sqrt.f64 (-.f64 (+.f64 (*.f64 C C) (*.f64 A A)) (*.f64 2 (*.f64 C A)))))) F) (*.f64 C A)))) (sqrt.f64 2)))
41.5b
(neg.f64 (*.f64 (*.f64 (cbrt.f64 (sqrt.f64 F)) (cbrt.f64 (sqrt.f64 F))) (*.f64 (sqrt.f64 (/.f64 -1 A)) (cbrt.f64 (sqrt.f64 F)))))
41.3b
(neg.f64 (*.f64 (*.f64 (sqrt.f64 F) (fabs.f64 (cbrt.f64 (/.f64 -1 A)))) (sqrt.f64 (cbrt.f64 (/.f64 -1 A)))))
42.6b
(neg.f64 (exp.f64 (log.f64 (*.f64 (sqrt.f64 (/.f64 -1 A)) (sqrt.f64 F)))))
62.1b
(/.f64 (neg.f64 (sqrt.f64 (-.f64 (+.f64 (*.f64 2 (+.f64 (*.f64 (*.f64 B B) (*.f64 A F)) (*.f64 C (*.f64 (*.f64 B B) F)))) (*.f64 10 (*.f64 C (*.f64 A (*.f64 B F))))) (+.f64 (*.f64 B (*.f64 (*.f64 A A) F)) (+.f64 (*.f64 2 (*.f64 (pow.f64 B 3) F)) (*.f64 (*.f64 C C) (*.f64 B F))))))) (-.f64 (pow.f64 B 2) (*.f64 (*.f64 4 A) C)))
41.5b
(neg.f64 (*.f64 (*.f64 (cbrt.f64 (*.f64 (sqrt.f64 (/.f64 -1 A)) (sqrt.f64 F))) (cbrt.f64 (*.f64 (sqrt.f64 (/.f64 -1 A)) (sqrt.f64 F)))) (cbrt.f64 (*.f64 (sqrt.f64 (/.f64 -1 A)) (sqrt.f64 F)))))
41.3b
(neg.f64 (*.f64 (fabs.f64 (/.f64 (cbrt.f64 F) (cbrt.f64 A))) (sqrt.f64 (neg.f64 (/.f64 (cbrt.f64 F) (cbrt.f64 A))))))
45.6b
(neg.f64 (*.f64 (*.f64 (sqrt.f64 (sqrt.f64 (*.f64 -1/2 (/.f64 F A)))) (sqrt.f64 (sqrt.f64 2))) (*.f64 (sqrt.f64 (sqrt.f64 (*.f64 -1/2 (/.f64 F A)))) (sqrt.f64 (sqrt.f64 2)))))
59.3b
(/.f64 (neg.f64 (*.f64 (sqrt.f64 (*.f64 F (+.f64 A (sqrt.f64 (+.f64 (*.f64 B B) (*.f64 A A)))))) (*.f64 B (sqrt.f64 2)))) (-.f64 (pow.f64 B 2) (*.f64 (*.f64 4 A) C)))
41.3b
(neg.f64 (*.f64 (sqrt.f64 F) (*.f64 (fabs.f64 (/.f64 (cbrt.f64 -1) (cbrt.f64 A))) (sqrt.f64 (/.f64 (cbrt.f64 -1) (cbrt.f64 A))))))
45.5b
(neg.f64 (sqrt.f64 (neg.f64 (/.f64 F A))))
49.5b
(/.f64 (neg.f64 (+.f64 (*.f64 C (*.f64 (sqrt.f64 2) (sqrt.f64 (*.f64 (*.f64 A F) -8)))) (/.f64 (*.f64 F (*.f64 (*.f64 B B) (sqrt.f64 2))) (sqrt.f64 (*.f64 (*.f64 A F) -8))))) (-.f64 (pow.f64 B 2) (*.f64 (*.f64 4 A) C)))
58.6b
(/.f64 (neg.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 (*.f64 -4 (*.f64 C (*.f64 (+.f64 C (+.f64 A (sqrt.f64 (-.f64 (+.f64 (*.f64 C C) (*.f64 A A)) (*.f64 2 (*.f64 C A)))))) (*.f64 A F))))))) (-.f64 (pow.f64 B 2) (*.f64 (*.f64 4 A) C)))
48.3b
(neg.f64 (*.f64 (sqrt.f64 F) (cbrt.f64 (pow.f64 (sqrt.f64 (/.f64 -1 A)) 3))))
55.3b
(/.f64 (/.f64 (neg.f64 (sqrt.f64 (*.f64 (*.f64 2 (*.f64 F (-.f64 (*.f64 B B) (*.f64 (*.f64 C A) 4)))) (+.f64 (+.f64 C A) (sqrt.f64 (+.f64 (*.f64 B B) (pow.f64 (-.f64 A C) 2))))))) (*.f64 (cbrt.f64 (-.f64 (*.f64 B B) (*.f64 (*.f64 C A) 4))) (cbrt.f64 (-.f64 (*.f64 B B) (*.f64 (*.f64 C A) 4))))) (cbrt.f64 (-.f64 (pow.f64 B 2) (*.f64 (*.f64 4 A) C))))
43.2b
(neg.f64 (*.f64 (sqrt.f64 (sqrt.f64 F)) (sqrt.f64 (neg.f64 (/.f64 (sqrt.f64 F) A)))))
49.3b
(/.f64 (neg.f64 (*.f64 C (*.f64 (sqrt.f64 2) (sqrt.f64 (*.f64 (*.f64 A F) -8))))) (-.f64 (pow.f64 B 2) (*.f64 (*.f64 4 A) C)))
58.9b
(neg.f64 (*.f64 (sqrt.f64 (*.f64 F (+.f64 C (sqrt.f64 (+.f64 (*.f64 B B) (*.f64 C C)))))) (/.f64 (sqrt.f64 2) B)))
53.2b
(/.f64 (sqrt.f64 (*.f64 2 (*.f64 (-.f64 (pow.f64 B 2) (*.f64 (*.f64 4 A) C)) F))) (/.f64 (-.f64 (*.f64 B B) (*.f64 (*.f64 C A) 4)) (neg.f64 (sqrt.f64 (+.f64 (+.f64 C A) (sqrt.f64 (+.f64 (*.f64 B B) (pow.f64 (-.f64 A C) 2))))))))
61.1b
(/.f64 (neg.f64 (-.f64 (+.f64 (*.f64 (sqrt.f64 (*.f64 F (+.f64 A (sqrt.f64 (+.f64 (*.f64 B B) (*.f64 A A)))))) (*.f64 B (sqrt.f64 2))) (*.f64 1/2 (*.f64 (*.f64 C (*.f64 B (sqrt.f64 2))) (sqrt.f64 (/.f64 F (+.f64 A (sqrt.f64 (+.f64 (*.f64 B B) (*.f64 A A))))))))) (+.f64 (*.f64 2 (*.f64 (/.f64 (*.f64 C (*.f64 (*.f64 A A) (sqrt.f64 2))) B) (sqrt.f64 (/.f64 F (+.f64 A (sqrt.f64 (+.f64 (*.f64 B B) (*.f64 A A)))))))) (+.f64 (*.f64 2 (*.f64 (/.f64 (*.f64 (*.f64 C A) (sqrt.f64 2)) B) (sqrt.f64 (/.f64 (*.f64 (+.f64 (*.f64 B B) (*.f64 A A)) F) (+.f64 A (sqrt.f64 (+.f64 (*.f64 B B) (*.f64 A A)))))))) (*.f64 1/2 (*.f64 (*.f64 (sqrt.f64 2) (*.f64 C (*.f64 B A))) (sqrt.f64 (/.f64 F (*.f64 (+.f64 (*.f64 B B) (*.f64 A A)) (+.f64 A (sqrt.f64 (+.f64 (*.f64 B B) (*.f64 A A))))))))))))) (-.f64 (pow.f64 B 2) (*.f64 (*.f64 4 A) C)))
59.3b
(neg.f64 (*.f64 (/.f64 (sqrt.f64 2) B) (sqrt.f64 (*.f64 F (+.f64 A (sqrt.f64 (+.f64 (*.f64 B B) (*.f64 A A))))))))
53.2b
(*.f64 (sqrt.f64 (*.f64 2 (*.f64 F (-.f64 (*.f64 B B) (*.f64 (*.f64 C A) 4))))) (/.f64 (neg.f64 (sqrt.f64 (+.f64 (+.f64 C A) (sqrt.f64 (+.f64 (*.f64 B B) (pow.f64 (-.f64 A C) 2)))))) (-.f64 (*.f64 B B) (*.f64 (*.f64 C A) 4))))
55.9b
(/.f64 (neg.f64 (sqrt.f64 (*.f64 F (-.f64 (+.f64 (*.f64 2 (*.f64 (*.f64 B B) A)) (*.f64 2 (+.f64 (*.f64 (*.f64 B B) (sqrt.f64 (-.f64 (+.f64 (+.f64 (*.f64 B B) (*.f64 C C)) (*.f64 A A)) (*.f64 2 (*.f64 C A))))) (*.f64 (*.f64 B B) C)))) (+.f64 (*.f64 (*.f64 C (*.f64 A A)) 8) (*.f64 8 (+.f64 (*.f64 (*.f64 C A) (sqrt.f64 (-.f64 (+.f64 (+.f64 (*.f64 B B) (*.f64 C C)) (*.f64 A A)) (*.f64 2 (*.f64 C A))))) (*.f64 (*.f64 C C) A)))))))) (-.f64 (pow.f64 B 2) (*.f64 (*.f64 4 A) C)))
Compiler

Compiled 1459 to 942 computations (35.4% saved)

regimes5.4s (26%)

Accuracy

Total 8.2b remaining (25%)

Threshold costs 0b (0%)

Compiler

Compiled 88677 to 60433 computations (31.9% saved)

bsearch21.0ms (0.1%)

Compiler

Compiled 44 to 32 computations (27.3% saved)

simplify24.0ms (0.1%)

Algorithm
egg-herbie
Rules
57×*-commutative_binary64
44×+-commutative_binary64
37×sub-neg_binary64
34×neg-mul-1_binary64 neg-sub0_binary64
24×distribute-rgt-neg-in_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
089486
1164486
2239486
3296486
4341486
5369486
6382486
7387486
8383486

end24.0ms (0.1%)

Compiler

Compiled 960 to 609 computations (36.6% saved)

sample5.8s (28%)

Algorithm
intervals
Results
831.0ms5540×body128valid
556.0ms929×body1024valid
513.0ms830×body1024nan
498.0ms629×body2048nan
487.0ms611×body2048valid
423.0ms2920×body128nan
269.0ms607×body512valid
251.0ms554×body512nan
100.0ms331×body256nan
90.0ms313×body256valid
Compiler

Compiled 1486 to 949 computations (36.1% saved)

Profiling

Loading profile data...