Details

Time bar (total: 42.8s)

analyze3.1s (7.3%)

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%98.2%1.8%7
0%92%8%8
0%91.2%8.8%9
0.4%89.3%10.3%10
7.1%79.2%13.6%11
11.9%70.2%17.9%12
13.8%67.4%18.7%13
16.6%63.3%20.1%14
Compiler

Compiled 45 to 33 computations (26.7% saved)

sample6.3s (14.6%)

Symmetry

(sort A C)

Results
1.4s5686×body128valid
835.0ms922×body1024valid
804.0ms906×body1024invalid
745.0ms662×body2048valid
631.0ms588×body2048invalid
603.0ms2532×body128invalid
429.0ms643×body512valid
367.0ms581×body512invalid
157.0ms341×body256valid
154.0ms333×body256invalid
3.0msbody4096valid
Compiler

Compiled 134 to 98 computations (26.9% saved)

simplify52.0ms (0.1%)

Algorithm
egg-herbie
Rules
759×neg-mul-1_binary64
493×associate-*l*_binary64
463×associate-*r*_binary64
420×distribute-rgt-in_binary64
410×distribute-lft-in_binary64
Counts
1 → 2
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
02361
16149
217649
364849
4272749
5486949
6551249

prune5.0ms (0%)

Pruning

3 alts after pruning (3 fresh and 0 done)

PrunedKeptTotal
New022
Fresh011
Picked000
Done000
Total033
Error
48.1b
Counts
3 → 2
Alt Table
StatusErrorProgram
50.7b
(/.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)))
48.4b
(/.f64 (neg.f64 (sqrt.f64 (*.f64 (fma.f64 A (*.f64 C -4) (*.f64 B B)) (*.f64 2 (*.f64 F (-.f64 (+.f64 A C) (hypot.f64 B (-.f64 A C)))))))) (fma.f64 A (*.f64 C -4) (*.f64 B B)))
Compiler

Compiled 239 to 156 computations (34.7% saved)

localize16.0ms (0%)

Local error

Found 4 expressions with local error:

NewErrorProgram
1.5b
(-.f64 (+.f64 A C) (hypot.f64 B (-.f64 A C)))
3.5b
(*.f64 (fma.f64 A (*.f64 C -4) (*.f64 B B)) (*.f64 2 (*.f64 F (-.f64 (+.f64 A C) (hypot.f64 B (-.f64 A C))))))
15.9b
(sqrt.f64 (*.f64 (fma.f64 A (*.f64 C -4) (*.f64 B B)) (*.f64 2 (*.f64 F (-.f64 (+.f64 A C) (hypot.f64 B (-.f64 A C)))))))
19.3b
(/.f64 (neg.f64 (sqrt.f64 (*.f64 (fma.f64 A (*.f64 C -4) (*.f64 B B)) (*.f64 2 (*.f64 F (-.f64 (+.f64 A C) (hypot.f64 B (-.f64 A C)))))))) (fma.f64 A (*.f64 C -4) (*.f64 B B)))

series15.6s (36.6%)

Counts
4 → 124
Calls

4 calls:

8.8s
(sqrt.f64 (*.f64 (fma.f64 A (*.f64 C -4) (*.f64 B B)) (*.f64 2 (*.f64 F (-.f64 (+.f64 A C) (hypot.f64 B (-.f64 A C)))))))
6.4s
(/.f64 (neg.f64 (sqrt.f64 (*.f64 (fma.f64 A (*.f64 C -4) (*.f64 B B)) (*.f64 2 (*.f64 F (-.f64 (+.f64 A C) (hypot.f64 B (-.f64 A C)))))))) (fma.f64 A (*.f64 C -4) (*.f64 B B)))
360.0ms
(*.f64 (fma.f64 A (*.f64 C -4) (*.f64 B B)) (*.f64 2 (*.f64 F (-.f64 (+.f64 A C) (hypot.f64 B (-.f64 A C))))))
52.0ms
(-.f64 (+.f64 A C) (hypot.f64 B (-.f64 A C)))

rewrite82.0ms (0.2%)

Algorithm
batch-egg-rewrite
Rules
222×add-sqr-sqrt_binary64
217×prod-diff_binary64
212×log1p-expm1-u_binary64
212×expm1-log1p-u_binary64
207×add-cbrt-cube_binary64
Counts
4 → 116
Calls

4 calls:

78.0ms
(-.f64 (+.f64 A C) (hypot.f64 B (-.f64 A C)))
78.0ms
(*.f64 (fma.f64 A (*.f64 C -4) (*.f64 B B)) (*.f64 2 (*.f64 F (-.f64 (+.f64 A C) (hypot.f64 B (-.f64 A C))))))
78.0ms
(sqrt.f64 (*.f64 (fma.f64 A (*.f64 C -4) (*.f64 B B)) (*.f64 2 (*.f64 F (-.f64 (+.f64 A C) (hypot.f64 B (-.f64 A C)))))))
78.0ms
(/.f64 (neg.f64 (sqrt.f64 (*.f64 (fma.f64 A (*.f64 C -4) (*.f64 B B)) (*.f64 2 (*.f64 F (-.f64 (+.f64 A C) (hypot.f64 B (-.f64 A C)))))))) (fma.f64 A (*.f64 C -4) (*.f64 B B)))
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
020128
1443126
24612126
34892126
000
100

simplify331.0ms (0.8%)

Algorithm
egg-herbie
Rules
590×fma-def_binary64
269×associate-/l*_binary64
255×associate-*l/_binary64
178×associate-/r*_binary64
148×times-frac_binary64
Counts
240 → 329
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0226837870
1505037870

prune1.9s (4.3%)

Pruning

27 alts after pruning (27 fresh and 0 done)

PrunedKeptTotal
New30227329
Fresh101
Picked101
Done000
Total30427331
Error
24.1b
Counts
331 → 27
Alt Table
StatusErrorProgram
57.5b
(/.f64 (neg.f64 (sqrt.f64 (*.f64 2 (*.f64 F (*.f64 (-.f64 A (sqrt.f64 (+.f64 (pow.f64 A 2) (pow.f64 B 2)))) (pow.f64 B 2)))))) (fma.f64 A (*.f64 C -4) (*.f64 B B)))
58.2b
(/.f64 (neg.f64 (*.f64 (sqrt.f64 (*.f64 F (-.f64 C (sqrt.f64 (+.f64 (pow.f64 C 2) (pow.f64 B 2)))))) (*.f64 (sqrt.f64 2) B))) (fma.f64 A (*.f64 C -4) (*.f64 B B)))
48.6b
(*.f64 (/.f64 -1 (pow.f64 (cbrt.f64 (fma.f64 A (*.f64 C -4) (*.f64 B B))) 2)) (/.f64 (sqrt.f64 (*.f64 (fma.f64 A (*.f64 C -4) (*.f64 B B)) (*.f64 2 (*.f64 F (-.f64 (+.f64 A C) (hypot.f64 B (-.f64 A C))))))) (cbrt.f64 (fma.f64 A (*.f64 C -4) (*.f64 B B)))))
59.7b
(neg.f64 (*.f64 (sqrt.f64 (*.f64 -1/4 (/.f64 (*.f64 F (-.f64 (+.f64 A C) (sqrt.f64 (-.f64 (+.f64 (*.f64 A A) (*.f64 C C)) (*.f64 2 (*.f64 A C)))))) (*.f64 A C)))) (sqrt.f64 2)))
47.2b
(/.f64 (neg.f64 (*.f64 (sqrt.f64 (fma.f64 A (*.f64 C -4) (*.f64 B B))) (sqrt.f64 (*.f64 2 (*.f64 F (-.f64 (+.f64 A C) (hypot.f64 B (-.f64 A C)))))))) (fma.f64 A (*.f64 C -4) (*.f64 B B)))
60.6b
(/.f64 (neg.f64 (sqrt.f64 (*.f64 (fma.f64 A (*.f64 C -4) (*.f64 B B)) (*.f64 2 (*.f64 F (-.f64 (+.f64 A (+.f64 C (/.f64 (*.f64 A C) B))) (fma.f64 1/2 (/.f64 (*.f64 A A) B) (fma.f64 1/2 (/.f64 (*.f64 C C) B) B)))))))) (fma.f64 A (*.f64 C -4) (*.f64 B B)))
53.3b
(/.f64 (neg.f64 (sqrt.f64 (*.f64 -16 (*.f64 (pow.f64 A 2) (*.f64 C F))))) (fma.f64 A (*.f64 C -4) (*.f64 B B)))
63.1b
(neg.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 (*.f64 -1/2 (/.f64 F A)))))
48.4b
(/.f64 (neg.f64 (sqrt.f64 (*.f64 (fma.f64 A (*.f64 C -4) (*.f64 B B)) (*.f64 2 (*.f64 F (*.f64 2 A)))))) (fma.f64 A (*.f64 C -4) (*.f64 B B)))
62.6b
(/.f64 (neg.f64 (sqrt.f64 (*.f64 -16 (*.f64 A (*.f64 (pow.f64 C 2) F))))) (fma.f64 A (*.f64 C -4) (*.f64 B B)))
57.9b
(neg.f64 (*.f64 (sqrt.f64 (*.f64 F (-.f64 A (sqrt.f64 (+.f64 (*.f64 A A) (*.f64 B B)))))) (/.f64 (sqrt.f64 2) B)))
59.9b
(/.f64 (neg.f64 (sqrt.f64 (*.f64 (fma.f64 A (*.f64 C -4) (*.f64 B B)) (*.f64 2 (*.f64 F (neg.f64 B)))))) (fma.f64 A (*.f64 C -4) (*.f64 B B)))
60.9b
(/.f64 (neg.f64 (sqrt.f64 (-.f64 (fma.f64 2 (*.f64 C (*.f64 F (*.f64 B B))) (fma.f64 2 (*.f64 A (*.f64 F (*.f64 B B))) (fma.f64 2 (*.f64 F (pow.f64 B 3)) (*.f64 (*.f64 F B) (+.f64 (*.f64 A A) (*.f64 C C)))))) (*.f64 10 (*.f64 A (*.f64 C (*.f64 F B))))))) (fma.f64 A (*.f64 C -4) (*.f64 B B)))
48.6b
(/.f64 (neg.f64 (sqrt.f64 (*.f64 (fma.f64 A (*.f64 C -4) (*.f64 B B)) (*.f64 2 (*.f64 F (+.f64 (-.f64 (+.f64 A C) (hypot.f64 B (-.f64 A C))) (fma.f64 (neg.f64 (sqrt.f64 (hypot.f64 B (-.f64 A C)))) (sqrt.f64 (hypot.f64 B (-.f64 A C))) (hypot.f64 B (-.f64 A C))))))))) (fma.f64 A (*.f64 C -4) (*.f64 B B)))
63.0b
(/.f64 (neg.f64 (neg.f64 (*.f64 (sqrt.f64 (*.f64 -8 (*.f64 A F))) (*.f64 C (sqrt.f64 2))))) (fma.f64 A (*.f64 C -4) (*.f64 B B)))
60.5b
(-.f64 (*.f64 2 (*.f64 (/.f64 (*.f64 A (*.f64 C (sqrt.f64 2))) (pow.f64 B 3)) (sqrt.f64 (/.f64 (*.f64 (+.f64 (*.f64 C C) (*.f64 B B)) F) (-.f64 C (sqrt.f64 (+.f64 (*.f64 B B) (*.f64 C C)))))))) (fma.f64 (sqrt.f64 (*.f64 F (-.f64 C (sqrt.f64 (+.f64 (*.f64 B B) (*.f64 C C)))))) (/.f64 (sqrt.f64 2) B) (fma.f64 1/2 (*.f64 (/.f64 (*.f64 A (*.f64 C (sqrt.f64 2))) B) (sqrt.f64 (/.f64 F (*.f64 (+.f64 (*.f64 B B) (*.f64 C C)) (-.f64 C (sqrt.f64 (+.f64 (*.f64 B B) (*.f64 C C)))))))) (fma.f64 2 (*.f64 (/.f64 (*.f64 A (*.f64 (*.f64 C C) (sqrt.f64 2))) (pow.f64 B 3)) (sqrt.f64 (/.f64 F (-.f64 C (sqrt.f64 (+.f64 (*.f64 B B) (*.f64 C C))))))) (*.f64 1/2 (*.f64 (/.f64 (*.f64 A (sqrt.f64 2)) B) (sqrt.f64 (/.f64 F (-.f64 C (sqrt.f64 (+.f64 (*.f64 B B) (*.f64 C C))))))))))))
49.4b
(/.f64 (neg.f64 (neg.f64 (fma.f64 A (*.f64 (sqrt.f64 2) (sqrt.f64 (*.f64 -8 (*.f64 C F)))) (/.f64 (*.f64 F (*.f64 (sqrt.f64 2) (*.f64 B B))) (sqrt.f64 (*.f64 -8 (*.f64 C F))))))) (fma.f64 A (*.f64 C -4) (*.f64 B B)))
60.3b
(sqrt.f64 (/.f64 (*.f64 (fma.f64 A (*.f64 C -4) (*.f64 B B)) (*.f64 2 (*.f64 F (-.f64 (+.f64 A C) (hypot.f64 B (-.f64 A C)))))) (pow.f64 (fma.f64 A (*.f64 C -4) (*.f64 B B)) 2)))
49.3b
(/.f64 (neg.f64 (neg.f64 (*.f64 A (*.f64 (sqrt.f64 2) (sqrt.f64 (*.f64 -8 (*.f64 C F))))))) (fma.f64 A (*.f64 C -4) (*.f64 B B)))
63.0b
(/.f64 (neg.f64 (sqrt.f64 (log.f64 (pow.f64 (exp.f64 (fma.f64 A (*.f64 C -4) (*.f64 B B))) (*.f64 2 (*.f64 F (-.f64 (+.f64 A C) (hypot.f64 B (-.f64 A C))))))))) (fma.f64 A (*.f64 C -4) (*.f64 B B)))
60.7b
(/.f64 (neg.f64 (sqrt.f64 (*.f64 -2 (*.f64 F (pow.f64 B 3))))) (fma.f64 A (*.f64 C -4) (*.f64 B B)))
52.4b
(*.f64 (/.f64 -1 (sqrt.f64 (fma.f64 A (*.f64 C -4) (*.f64 B B)))) (/.f64 (sqrt.f64 (*.f64 (fma.f64 A (*.f64 C -4) (*.f64 B B)) (*.f64 2 (*.f64 F (-.f64 (+.f64 A C) (hypot.f64 B (-.f64 A C))))))) (sqrt.f64 (fma.f64 A (*.f64 C -4) (*.f64 B B)))))
48.7b
(/.f64 (neg.f64 (sqrt.f64 (*.f64 (fma.f64 A (*.f64 C -4) (*.f64 B B)) (*.f64 2 (*.f64 F (fma.f64 (pow.f64 (cbrt.f64 (+.f64 A C)) 2) (cbrt.f64 (+.f64 A C)) (neg.f64 (hypot.f64 B (-.f64 A C))))))))) (fma.f64 A (*.f64 C -4) (*.f64 B B)))
47.6b
(neg.f64 (*.f64 (sqrt.f64 (*.f64 -1/2 (/.f64 F C))) (sqrt.f64 2)))
60.5b
(/.f64 (neg.f64 (sqrt.f64 (*.f64 2 (*.f64 F (pow.f64 B 3))))) (fma.f64 A (*.f64 C -4) (*.f64 B B)))
58.1b
(neg.f64 (*.f64 (sqrt.f64 (*.f64 F (-.f64 C (sqrt.f64 (+.f64 (*.f64 B B) (*.f64 C C)))))) (/.f64 (sqrt.f64 2) B)))
46.2b
(/.f64 (neg.f64 (sqrt.f64 (*.f64 (fma.f64 A (*.f64 C -4) (*.f64 B B)) (*.f64 2 (*.f64 F (-.f64 (*.f64 2 A) (*.f64 1/2 (/.f64 (pow.f64 B 2) C)))))))) (fma.f64 A (*.f64 C -4) (*.f64 B B)))
Compiler

Compiled 59098 to 32747 computations (44.6% saved)

localize36.0ms (0.1%)

Local error

Found 4 expressions with local error:

NewErrorProgram
3.3b
(*.f64 F (-.f64 (*.f64 2 A) (*.f64 1/2 (/.f64 (pow.f64 B 2) C))))
4.5b
(/.f64 (pow.f64 B 2) C)
16.2b
(sqrt.f64 (*.f64 (fma.f64 A (*.f64 C -4) (*.f64 B B)) (*.f64 2 (*.f64 F (-.f64 (*.f64 2 A) (*.f64 1/2 (/.f64 (pow.f64 B 2) C)))))))
18.9b
(/.f64 (neg.f64 (sqrt.f64 (*.f64 (fma.f64 A (*.f64 C -4) (*.f64 B B)) (*.f64 2 (*.f64 F (-.f64 (*.f64 2 A) (*.f64 1/2 (/.f64 (pow.f64 B 2) C)))))))) (fma.f64 A (*.f64 C -4) (*.f64 B B)))

series1.4s (3.4%)

Counts
4 → 84
Calls

4 calls:

673.0ms
(sqrt.f64 (*.f64 (fma.f64 A (*.f64 C -4) (*.f64 B B)) (*.f64 2 (*.f64 F (-.f64 (*.f64 2 A) (*.f64 1/2 (/.f64 (pow.f64 B 2) C)))))))
643.0ms
(/.f64 (neg.f64 (sqrt.f64 (*.f64 (fma.f64 A (*.f64 C -4) (*.f64 B B)) (*.f64 2 (*.f64 F (-.f64 (*.f64 2 A) (*.f64 1/2 (/.f64 (pow.f64 B 2) C)))))))) (fma.f64 A (*.f64 C -4) (*.f64 B B)))
98.0ms
(*.f64 F (-.f64 (*.f64 2 A) (*.f64 1/2 (/.f64 (pow.f64 B 2) C))))
22.0ms
(/.f64 (pow.f64 B 2) C)

rewrite122.0ms (0.3%)

Algorithm
batch-egg-rewrite
Rules
229×add-sqr-sqrt_binary64
218×log1p-expm1-u_binary64
218×expm1-log1p-u_binary64
213×add-cbrt-cube_binary64
213×add-exp-log_binary64
Counts
4 → 104
Calls

4 calls:

116.0ms
(*.f64 F (-.f64 (*.f64 2 A) (*.f64 1/2 (/.f64 (pow.f64 B 2) C))))
116.0ms
(/.f64 (pow.f64 B 2) C)
116.0ms
(sqrt.f64 (*.f64 (fma.f64 A (*.f64 C -4) (*.f64 B B)) (*.f64 2 (*.f64 F (-.f64 (*.f64 2 A) (*.f64 1/2 (/.f64 (pow.f64 B 2) C)))))))
116.0ms
(/.f64 (neg.f64 (sqrt.f64 (*.f64 (fma.f64 A (*.f64 C -4) (*.f64 B B)) (*.f64 2 (*.f64 F (-.f64 (*.f64 2 A) (*.f64 1/2 (/.f64 (pow.f64 B 2) C)))))))) (fma.f64 A (*.f64 C -4) (*.f64 B B)))
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
022115
1464107
24696107
34870107
000
100

simplify156.0ms (0.4%)

Algorithm
egg-herbie
Rules
477×times-frac_binary64
331×associate-/l*_binary64
317×associate-*r*_binary64
310×associate-/r*_binary64
241×fma-neg_binary64
Counts
188 → 160
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
02573817
19293757
247953757
349903757

prune400.0ms (0.9%)

Pruning

22 alts after pruning (22 fresh and 0 done)

PrunedKeptTotal
New1537160
Fresh111526
Picked101
Done000
Total16522187
Error
20.2b
Counts
187 → 22
Alt Table
StatusErrorProgram
57.5b
(/.f64 (neg.f64 (sqrt.f64 (*.f64 2 (*.f64 F (*.f64 (-.f64 A (sqrt.f64 (+.f64 (pow.f64 A 2) (pow.f64 B 2)))) (pow.f64 B 2)))))) (fma.f64 A (*.f64 C -4) (*.f64 B B)))
58.2b
(/.f64 (neg.f64 (*.f64 (sqrt.f64 (*.f64 F (-.f64 C (sqrt.f64 (+.f64 (pow.f64 C 2) (pow.f64 B 2)))))) (*.f64 (sqrt.f64 2) B))) (fma.f64 A (*.f64 C -4) (*.f64 B B)))
48.6b
(*.f64 (/.f64 -1 (pow.f64 (cbrt.f64 (fma.f64 A (*.f64 C -4) (*.f64 B B))) 2)) (/.f64 (sqrt.f64 (*.f64 (fma.f64 A (*.f64 C -4) (*.f64 B B)) (*.f64 2 (*.f64 F (-.f64 (+.f64 A C) (hypot.f64 B (-.f64 A C))))))) (cbrt.f64 (fma.f64 A (*.f64 C -4) (*.f64 B B)))))
49.9b
(/.f64 (neg.f64 (*.f64 (sqrt.f64 (*.f64 (fma.f64 A (*.f64 C -4) (*.f64 B B)) 2)) (sqrt.f64 (*.f64 F (fma.f64 A 2 (*.f64 -1/2 (/.f64 (*.f64 B B) C))))))) (fma.f64 A (*.f64 C -4) (*.f64 B B)))
58.4b
(/.f64 (neg.f64 (*.f64 A (*.f64 (sqrt.f64 2) (sqrt.f64 (*.f64 -8 (*.f64 C F)))))) (fma.f64 A (*.f64 C -4) (*.f64 B B)))
47.2b
(/.f64 (neg.f64 (*.f64 (sqrt.f64 (fma.f64 A (*.f64 C -4) (*.f64 B B))) (sqrt.f64 (*.f64 2 (*.f64 F (-.f64 (+.f64 A C) (hypot.f64 B (-.f64 A C)))))))) (fma.f64 A (*.f64 C -4) (*.f64 B B)))
53.3b
(/.f64 (neg.f64 (sqrt.f64 (*.f64 -16 (*.f64 (pow.f64 A 2) (*.f64 C F))))) (fma.f64 A (*.f64 C -4) (*.f64 B B)))
63.1b
(neg.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 (*.f64 -1/2 (/.f64 F A)))))
48.4b
(/.f64 (neg.f64 (sqrt.f64 (*.f64 (fma.f64 A (*.f64 C -4) (*.f64 B B)) (*.f64 2 (*.f64 F (*.f64 2 A)))))) (fma.f64 A (*.f64 C -4) (*.f64 B B)))
62.6b
(/.f64 (neg.f64 (sqrt.f64 (*.f64 -16 (*.f64 A (*.f64 (pow.f64 C 2) F))))) (fma.f64 A (*.f64 C -4) (*.f64 B B)))
60.5b
(/.f64 (neg.f64 (sqrt.f64 (*.f64 2 (*.f64 F (pow.f64 B 3))))) (fma.f64 A (*.f64 C -4) (*.f64 B B)))
51.7b
(/.f64 (neg.f64 (fma.f64 (sqrt.f64 (*.f64 -1/2 (/.f64 F C))) (*.f64 (sqrt.f64 2) (*.f64 B B)) (*.f64 2 (/.f64 (*.f64 A (*.f64 F (sqrt.f64 2))) (sqrt.f64 (*.f64 -1/2 (/.f64 F C))))))) (fma.f64 A (*.f64 C -4) (*.f64 B B)))
42.0b
(*.f64 -1/4 (/.f64 (sqrt.f64 (*.f64 -16 (*.f64 C F))) C))
58.1b
(sqrt.f64 (/.f64 (*.f64 (fma.f64 A (*.f64 C -4) (*.f64 B B)) (*.f64 2 (*.f64 F (fma.f64 A 2 (*.f64 -1/2 (/.f64 (*.f64 B B) C)))))) (pow.f64 (fma.f64 A (*.f64 C -4) (*.f64 B B)) 2)))
47.6b
(neg.f64 (*.f64 (sqrt.f64 (*.f64 -1/2 (/.f64 F C))) (sqrt.f64 2)))
48.6b
(/.f64 (neg.f64 (sqrt.f64 (*.f64 (fma.f64 A (*.f64 C -4) (*.f64 B B)) (*.f64 2 (*.f64 F (+.f64 (-.f64 (+.f64 A C) (hypot.f64 B (-.f64 A C))) (fma.f64 (neg.f64 (sqrt.f64 (hypot.f64 B (-.f64 A C)))) (sqrt.f64 (hypot.f64 B (-.f64 A C))) (hypot.f64 B (-.f64 A C))))))))) (fma.f64 A (*.f64 C -4) (*.f64 B B)))
60.5b
(-.f64 (*.f64 2 (*.f64 (/.f64 (*.f64 A (*.f64 C (sqrt.f64 2))) (pow.f64 B 3)) (sqrt.f64 (/.f64 (*.f64 (+.f64 (*.f64 C C) (*.f64 B B)) F) (-.f64 C (sqrt.f64 (+.f64 (*.f64 B B) (*.f64 C C)))))))) (fma.f64 (sqrt.f64 (*.f64 F (-.f64 C (sqrt.f64 (+.f64 (*.f64 B B) (*.f64 C C)))))) (/.f64 (sqrt.f64 2) B) (fma.f64 1/2 (*.f64 (/.f64 (*.f64 A (*.f64 C (sqrt.f64 2))) B) (sqrt.f64 (/.f64 F (*.f64 (+.f64 (*.f64 B B) (*.f64 C C)) (-.f64 C (sqrt.f64 (+.f64 (*.f64 B B) (*.f64 C C)))))))) (fma.f64 2 (*.f64 (/.f64 (*.f64 A (*.f64 (*.f64 C C) (sqrt.f64 2))) (pow.f64 B 3)) (sqrt.f64 (/.f64 F (-.f64 C (sqrt.f64 (+.f64 (*.f64 B B) (*.f64 C C))))))) (*.f64 1/2 (*.f64 (/.f64 (*.f64 A (sqrt.f64 2)) B) (sqrt.f64 (/.f64 F (-.f64 C (sqrt.f64 (+.f64 (*.f64 B B) (*.f64 C C))))))))))))
58.1b
(neg.f64 (*.f64 (sqrt.f64 (*.f64 F (-.f64 C (sqrt.f64 (+.f64 (*.f64 B B) (*.f64 C C)))))) (/.f64 (sqrt.f64 2) B)))
58.4b
(/.f64 (neg.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 (*.f64 -1/2 (/.f64 F C))) (pow.f64 B 2)))) (fma.f64 A (*.f64 C -4) (*.f64 B B)))
46.6b
(/.f64 (neg.f64 (neg.f64 (fma.f64 (sqrt.f64 (*.f64 -16 (*.f64 F C))) A (*.f64 4 (/.f64 (*.f64 F (*.f64 B B)) (sqrt.f64 (*.f64 -16 (*.f64 F C)))))))) (fma.f64 A (*.f64 C -4) (*.f64 B B)))
49.3b
(/.f64 (neg.f64 (neg.f64 (*.f64 A (*.f64 (sqrt.f64 2) (sqrt.f64 (*.f64 -8 (*.f64 C F))))))) (fma.f64 A (*.f64 C -4) (*.f64 B B)))
52.4b
(*.f64 (/.f64 -1 (sqrt.f64 (fma.f64 A (*.f64 C -4) (*.f64 B B)))) (/.f64 (sqrt.f64 (*.f64 (fma.f64 A (*.f64 C -4) (*.f64 B B)) (*.f64 2 (*.f64 F (-.f64 (+.f64 A C) (hypot.f64 B (-.f64 A C))))))) (sqrt.f64 (fma.f64 A (*.f64 C -4) (*.f64 B B)))))
Compiler

Compiled 9763 to 5745 computations (41.2% saved)

localize14.0ms (0%)

Local error

Found 3 expressions with local error:

NewErrorProgram
0.0b
(*.f64 -16 (*.f64 C F))
0.2b
(/.f64 (sqrt.f64 (*.f64 -16 (*.f64 C F))) C)
15.4b
(sqrt.f64 (*.f64 -16 (*.f64 C F)))

series82.0ms (0.2%)

Counts
3 → 0
Calls

3 calls:

39.0ms
(/.f64 (sqrt.f64 (*.f64 -16 (*.f64 C F))) C)
34.0ms
(sqrt.f64 (*.f64 -16 (*.f64 C F)))
10.0ms
(*.f64 -16 (*.f64 C F))

rewrite74.0ms (0.2%)

Algorithm
batch-egg-rewrite
Rules
789×log1p-expm1-u_binary64
789×expm1-log1p-u_binary64
147×log1p-udef_binary64
82×add-sqr-sqrt_binary64
78×egg-rr
Counts
3 → 78
Calls

3 calls:

71.0ms
(*.f64 -16 (*.f64 C F))
71.0ms
(/.f64 (sqrt.f64 (*.f64 -16 (*.f64 C F))) C)
71.0ms
(sqrt.f64 (*.f64 -16 (*.f64 C F)))
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0828
116728
2205028
3512928
000
100

simplify12.0ms (0%)

Algorithm
egg-herbie
Counts
78 → 78
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
000
100

prune219.0ms (0.5%)

Pruning

33 alts after pruning (33 fresh and 0 done)

PrunedKeptTotal
New631578
Fresh31821
Picked101
Done000
Total6733100
Error
19.2b
Counts
100 → 33
Alt Table
StatusErrorProgram
57.5b
(/.f64 (neg.f64 (sqrt.f64 (*.f64 2 (*.f64 F (*.f64 (-.f64 A (sqrt.f64 (+.f64 (pow.f64 A 2) (pow.f64 B 2)))) (pow.f64 B 2)))))) (fma.f64 A (*.f64 C -4) (*.f64 B B)))
58.2b
(/.f64 (neg.f64 (*.f64 (sqrt.f64 (*.f64 F (-.f64 C (sqrt.f64 (+.f64 (pow.f64 C 2) (pow.f64 B 2)))))) (*.f64 (sqrt.f64 2) B))) (fma.f64 A (*.f64 C -4) (*.f64 B B)))
48.6b
(*.f64 (/.f64 -1 (pow.f64 (cbrt.f64 (fma.f64 A (*.f64 C -4) (*.f64 B B))) 2)) (/.f64 (sqrt.f64 (*.f64 (fma.f64 A (*.f64 C -4) (*.f64 B B)) (*.f64 2 (*.f64 F (-.f64 (+.f64 A C) (hypot.f64 B (-.f64 A C))))))) (cbrt.f64 (fma.f64 A (*.f64 C -4) (*.f64 B B)))))
42.1b
(*.f64 -1/4 (/.f64 (pow.f64 (pow.f64 (*.f64 -16 (*.f64 C F)) 1/4) 2) C))
51.5b
(*.f64 -1/4 (/.f64 (sqrt.f64 (-.f64 (exp.f64 (log1p.f64 (*.f64 -16 (*.f64 C F)))) 1)) C))
47.2b
(/.f64 (neg.f64 (*.f64 (sqrt.f64 (fma.f64 A (*.f64 C -4) (*.f64 B B))) (sqrt.f64 (*.f64 2 (*.f64 F (-.f64 (+.f64 A C) (hypot.f64 B (-.f64 A C)))))))) (fma.f64 A (*.f64 C -4) (*.f64 B B)))
49.9b
(/.f64 (neg.f64 (*.f64 (sqrt.f64 (*.f64 (fma.f64 A (*.f64 C -4) (*.f64 B B)) 2)) (sqrt.f64 (*.f64 F (fma.f64 A 2 (*.f64 -1/2 (/.f64 (*.f64 B B) C))))))) (fma.f64 A (*.f64 C -4) (*.f64 B B)))
58.4b
(/.f64 (neg.f64 (*.f64 A (*.f64 (sqrt.f64 2) (sqrt.f64 (*.f64 -8 (*.f64 C F)))))) (fma.f64 A (*.f64 C -4) (*.f64 B B)))
42.3b
(*.f64 -1/4 (/.f64 (pow.f64 (cbrt.f64 (sqrt.f64 (*.f64 -16 (*.f64 C F)))) 3) C))
49.0b
(*.f64 -1/4 (exp.f64 (log.f64 (/.f64 (sqrt.f64 (*.f64 -16 (*.f64 C F))) C))))
49.9b
(*.f64 -1/4 (/.f64 (pow.f64 (pow.f64 (*.f64 -16 (*.f64 C F)) 3/2) 1/3) C))
48.4b
(/.f64 (neg.f64 (sqrt.f64 (*.f64 (fma.f64 A (*.f64 C -4) (*.f64 B B)) (*.f64 2 (*.f64 F (*.f64 2 A)))))) (fma.f64 A (*.f64 C -4) (*.f64 B B)))
62.6b
(/.f64 (neg.f64 (sqrt.f64 (*.f64 -16 (*.f64 A (*.f64 (pow.f64 C 2) F))))) (fma.f64 A (*.f64 C -4) (*.f64 B B)))
47.6b
(neg.f64 (*.f64 (sqrt.f64 (*.f64 -1/2 (/.f64 F C))) (sqrt.f64 2)))
42.2b
(*.f64 -1/4 (*.f64 (cbrt.f64 (*.f64 -16 (*.f64 C F))) (*.f64 (cbrt.f64 (sqrt.f64 (*.f64 -16 (*.f64 C F)))) (/.f64 1 C))))
48.6b
(/.f64 (neg.f64 (sqrt.f64 (*.f64 (fma.f64 A (*.f64 C -4) (*.f64 B B)) (*.f64 2 (*.f64 F (+.f64 (-.f64 (+.f64 A C) (hypot.f64 B (-.f64 A C))) (fma.f64 (neg.f64 (sqrt.f64 (hypot.f64 B (-.f64 A C)))) (sqrt.f64 (hypot.f64 B (-.f64 A C))) (hypot.f64 B (-.f64 A C))))))))) (fma.f64 A (*.f64 C -4) (*.f64 B B)))
43.5b
(*.f64 -1/4 (/.f64 (sqrt.f64 (exp.f64 (log.f64 (*.f64 -16 (*.f64 C F))))) C))
60.5b
(/.f64 (neg.f64 (sqrt.f64 (*.f64 2 (*.f64 F (pow.f64 B 3))))) (fma.f64 A (*.f64 C -4) (*.f64 B B)))
51.7b
(/.f64 (neg.f64 (fma.f64 (sqrt.f64 (*.f64 -1/2 (/.f64 F C))) (*.f64 (sqrt.f64 2) (*.f64 B B)) (*.f64 2 (/.f64 (*.f64 A (*.f64 F (sqrt.f64 2))) (sqrt.f64 (*.f64 -1/2 (/.f64 F C))))))) (fma.f64 A (*.f64 C -4) (*.f64 B B)))
58.1b
(neg.f64 (*.f64 (sqrt.f64 (*.f64 F (-.f64 C (sqrt.f64 (+.f64 (*.f64 B B) (*.f64 C C)))))) (/.f64 (sqrt.f64 2) B)))
56.9b
(*.f64 -1/4 (-.f64 (exp.f64 (log1p.f64 (/.f64 (sqrt.f64 (*.f64 -16 (*.f64 C F))) C))) 1))
58.4b
(/.f64 (neg.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 (*.f64 -1/2 (/.f64 F C))) (pow.f64 B 2)))) (fma.f64 A (*.f64 C -4) (*.f64 B B)))
52.4b
(*.f64 -1/4 (/.f64 (sqrt.f64 (sqrt.f64 (*.f64 256 (pow.f64 (*.f64 C F) 2)))) C))
42.4b
(*.f64 -1/4 (pow.f64 (cbrt.f64 (/.f64 (sqrt.f64 (*.f64 -16 (*.f64 C F))) C)) 3))
56.6b
(*.f64 -1/4 (pow.f64 (pow.f64 (/.f64 (sqrt.f64 (*.f64 -16 (*.f64 C F))) C) 3) 1/3))
42.8b
(*.f64 -1/4 (/.f64 (expm1.f64 (log1p.f64 (sqrt.f64 (*.f64 -16 (*.f64 C F))))) C))
52.4b
(*.f64 (/.f64 -1 (sqrt.f64 (fma.f64 A (*.f64 C -4) (*.f64 B B)))) (/.f64 (sqrt.f64 (*.f64 (fma.f64 A (*.f64 C -4) (*.f64 B B)) (*.f64 2 (*.f64 F (-.f64 (+.f64 A C) (hypot.f64 B (-.f64 A C))))))) (sqrt.f64 (fma.f64 A (*.f64 C -4) (*.f64 B B)))))
62.1b
(*.f64 -1/4 (/.f64 (log.f64 (exp.f64 (sqrt.f64 (*.f64 -16 (*.f64 C F))))) C))
56.5b
(*.f64 -1/4 (/.f64 (*.f64 (sqrt.f64 (*.f64 -16 C)) (sqrt.f64 F)) C))
42.1b
(*.f64 -1/4 (*.f64 (pow.f64 (*.f64 -16 (*.f64 C F)) 1/4) (*.f64 (pow.f64 (*.f64 -16 (*.f64 C F)) 1/4) (/.f64 1 C))))
58.1b
(sqrt.f64 (/.f64 (*.f64 (fma.f64 A (*.f64 C -4) (*.f64 B B)) (*.f64 2 (*.f64 F (fma.f64 A 2 (*.f64 -1/2 (/.f64 (*.f64 B B) C)))))) (pow.f64 (fma.f64 A (*.f64 C -4) (*.f64 B B)) 2)))
60.5b
(-.f64 (*.f64 2 (*.f64 (/.f64 (*.f64 A (*.f64 C (sqrt.f64 2))) (pow.f64 B 3)) (sqrt.f64 (/.f64 (*.f64 (+.f64 (*.f64 C C) (*.f64 B B)) F) (-.f64 C (sqrt.f64 (+.f64 (*.f64 B B) (*.f64 C C)))))))) (fma.f64 (sqrt.f64 (*.f64 F (-.f64 C (sqrt.f64 (+.f64 (*.f64 B B) (*.f64 C C)))))) (/.f64 (sqrt.f64 2) B) (fma.f64 1/2 (*.f64 (/.f64 (*.f64 A (*.f64 C (sqrt.f64 2))) B) (sqrt.f64 (/.f64 F (*.f64 (+.f64 (*.f64 B B) (*.f64 C C)) (-.f64 C (sqrt.f64 (+.f64 (*.f64 B B) (*.f64 C C)))))))) (fma.f64 2 (*.f64 (/.f64 (*.f64 A (*.f64 (*.f64 C C) (sqrt.f64 2))) (pow.f64 B 3)) (sqrt.f64 (/.f64 F (-.f64 C (sqrt.f64 (+.f64 (*.f64 B B) (*.f64 C C))))))) (*.f64 1/2 (*.f64 (/.f64 (*.f64 A (sqrt.f64 2)) B) (sqrt.f64 (/.f64 F (-.f64 C (sqrt.f64 (+.f64 (*.f64 B B) (*.f64 C C))))))))))))
49.3b
(/.f64 (neg.f64 (neg.f64 (*.f64 A (*.f64 (sqrt.f64 2) (sqrt.f64 (*.f64 -8 (*.f64 C F))))))) (fma.f64 A (*.f64 C -4) (*.f64 B B)))
Compiler

Compiled 3088 to 2030 computations (34.3% saved)

localize19.0ms (0%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.0b
(*.f64 -16 (*.f64 C F))
0.2b
(/.f64 (pow.f64 (pow.f64 (*.f64 -16 (*.f64 C F)) 1/4) 2) C)
0.4b
(pow.f64 (pow.f64 (*.f64 -16 (*.f64 C F)) 1/4) 2)
15.5b
(pow.f64 (*.f64 -16 (*.f64 C F)) 1/4)

series1.5s (3.5%)

Counts
3 → 48
Calls

3 calls:

754.0ms
(pow.f64 (pow.f64 (*.f64 -16 (*.f64 C F)) 1/4) 2)
689.0ms
(pow.f64 (*.f64 -16 (*.f64 C F)) 1/4)
35.0ms
(/.f64 (pow.f64 (pow.f64 (*.f64 -16 (*.f64 C F)) 1/4) 2) C)

rewrite86.0ms (0.2%)

Algorithm
batch-egg-rewrite
Rules
538×log-prod_binary64
281×pow2_binary64
192×expm1-udef_binary64
192×log1p-udef_binary64
191×pow1/3_binary64
Counts
3 → 96
Calls

3 calls:

82.0ms
(/.f64 (pow.f64 (pow.f64 (*.f64 -16 (*.f64 C F)) 1/4) 2) C)
82.0ms
(pow.f64 (pow.f64 (*.f64 -16 (*.f64 C F)) 1/4) 2)
82.0ms
(pow.f64 (*.f64 -16 (*.f64 C F)) 1/4)
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01133
124231
2261631
3494731
000
100

simplify127.0ms (0.3%)

Algorithm
egg-herbie
Rules
764×fma-neg_binary64
612×exp-sum_binary64
417×exp-diff_binary64
378×unswap-sqr_binary64
282×fma-def_binary64
Counts
144 → 110
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
055840
1136840
2232696
3805456
42539456
54243456
64180456
74943456
84919456

prune231.0ms (0.5%)

Pruning

35 alts after pruning (34 fresh and 1 done)

PrunedKeptTotal
New1168124
Fresh62632
Picked011
Done000
Total12235157
Error
19.2b
Counts
157 → 35
Alt Table
StatusErrorProgram
57.5b
(/.f64 (neg.f64 (sqrt.f64 (*.f64 2 (*.f64 F (*.f64 (-.f64 A (sqrt.f64 (+.f64 (pow.f64 A 2) (pow.f64 B 2)))) (pow.f64 B 2)))))) (fma.f64 A (*.f64 C -4) (*.f64 B B)))
58.2b
(/.f64 (neg.f64 (*.f64 (sqrt.f64 (*.f64 F (-.f64 C (sqrt.f64 (+.f64 (pow.f64 C 2) (pow.f64 B 2)))))) (*.f64 (sqrt.f64 2) B))) (fma.f64 A (*.f64 C -4) (*.f64 B B)))
42.1b
(*.f64 -1/4 (pow.f64 (/.f64 (/.f64 C (sqrt.f64 (*.f64 -16 (*.f64 C F)))) 1) -1))
48.6b
(*.f64 (/.f64 -1 (pow.f64 (cbrt.f64 (fma.f64 A (*.f64 C -4) (*.f64 B B))) 2)) (/.f64 (sqrt.f64 (*.f64 (fma.f64 A (*.f64 C -4) (*.f64 B B)) (*.f64 2 (*.f64 F (-.f64 (+.f64 A C) (hypot.f64 B (-.f64 A C))))))) (cbrt.f64 (fma.f64 A (*.f64 C -4) (*.f64 B B)))))
42.1b
(*.f64 -1/4 (/.f64 (pow.f64 (pow.f64 (*.f64 -16 (*.f64 C F)) 1/4) 2) C))
51.5b
(*.f64 -1/4 (/.f64 (sqrt.f64 (-.f64 (exp.f64 (log1p.f64 (*.f64 -16 (*.f64 C F)))) 1)) C))
47.2b
(/.f64 (neg.f64 (*.f64 (sqrt.f64 (fma.f64 A (*.f64 C -4) (*.f64 B B))) (sqrt.f64 (*.f64 2 (*.f64 F (-.f64 (+.f64 A C) (hypot.f64 B (-.f64 A C)))))))) (fma.f64 A (*.f64 C -4) (*.f64 B B)))
49.9b
(/.f64 (neg.f64 (*.f64 (sqrt.f64 (*.f64 (fma.f64 A (*.f64 C -4) (*.f64 B B)) 2)) (sqrt.f64 (*.f64 F (fma.f64 A 2 (*.f64 -1/2 (/.f64 (*.f64 B B) C))))))) (fma.f64 A (*.f64 C -4) (*.f64 B B)))
58.4b
(/.f64 (neg.f64 (*.f64 A (*.f64 (sqrt.f64 2) (sqrt.f64 (*.f64 -8 (*.f64 C F)))))) (fma.f64 A (*.f64 C -4) (*.f64 B B)))
62.2b
(*.f64 -1/4 (/.f64 (+.f64 (log.f64 (sqrt.f64 (exp.f64 (sqrt.f64 (*.f64 -16 (*.f64 C F)))))) (log.f64 (sqrt.f64 (exp.f64 (sqrt.f64 (*.f64 -16 (*.f64 C F))))))) C))
48.4b
(/.f64 (neg.f64 (sqrt.f64 (*.f64 (fma.f64 A (*.f64 C -4) (*.f64 B B)) (*.f64 2 (*.f64 F (*.f64 2 A)))))) (fma.f64 A (*.f64 C -4) (*.f64 B B)))
62.6b
(/.f64 (neg.f64 (sqrt.f64 (*.f64 -16 (*.f64 A (*.f64 (pow.f64 C 2) F))))) (fma.f64 A (*.f64 C -4) (*.f64 B B)))
42.8b
(*.f64 -1/4 (/.f64 (pow.f64 (expm1.f64 (log1p.f64 (pow.f64 (*.f64 -16 (*.f64 C F)) 1/4))) 2) C))
61.5b
(*.f64 -1/4 (/.f64 (pow.f64 (log.f64 (exp.f64 (pow.f64 (*.f64 -16 (*.f64 C F)) 1/4))) 2) C))
42.1b
(*.f64 -1/4 (*.f64 (pow.f64 (*.f64 -16 (*.f64 C F)) 1/4) (*.f64 (pow.f64 (*.f64 -16 (*.f64 C F)) 1/4) (/.f64 1 C))))
58.1b
(sqrt.f64 (/.f64 (*.f64 (fma.f64 A (*.f64 C -4) (*.f64 B B)) (*.f64 2 (*.f64 F (fma.f64 A 2 (*.f64 -1/2 (/.f64 (*.f64 B B) C)))))) (pow.f64 (fma.f64 A (*.f64 C -4) (*.f64 B B)) 2)))
44.9b
(*.f64 -1/4 (/.f64 (pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (log.f64 C) (log.f64 (neg.f64 (*.f64 16 F)))))) 2) C))
47.6b
(neg.f64 (*.f64 (sqrt.f64 (*.f64 -1/2 (/.f64 F C))) (sqrt.f64 2)))
42.4b
(*.f64 -1/4 (/.f64 (pow.f64 (*.f64 (cbrt.f64 (pow.f64 (*.f64 -16 (*.f64 C F)) 1/4)) (cbrt.f64 (sqrt.f64 (*.f64 -16 (*.f64 C F))))) 2) C))
42.2b
(*.f64 -1/4 (*.f64 (cbrt.f64 (*.f64 -16 (*.f64 C F))) (*.f64 (cbrt.f64 (sqrt.f64 (*.f64 -16 (*.f64 C F)))) (/.f64 1 C))))
60.5b
(-.f64 (*.f64 2 (*.f64 (/.f64 (*.f64 A (*.f64 C (sqrt.f64 2))) (pow.f64 B 3)) (sqrt.f64 (/.f64 (*.f64 (+.f64 (*.f64 C C) (*.f64 B B)) F) (-.f64 C (sqrt.f64 (+.f64 (*.f64 B B) (*.f64 C C)))))))) (fma.f64 (sqrt.f64 (*.f64 F (-.f64 C (sqrt.f64 (+.f64 (*.f64 B B) (*.f64 C C)))))) (/.f64 (sqrt.f64 2) B) (fma.f64 1/2 (*.f64 (/.f64 (*.f64 A (*.f64 C (sqrt.f64 2))) B) (sqrt.f64 (/.f64 F (*.f64 (+.f64 (*.f64 B B) (*.f64 C C)) (-.f64 C (sqrt.f64 (+.f64 (*.f64 B B) (*.f64 C C)))))))) (fma.f64 2 (*.f64 (/.f64 (*.f64 A (*.f64 (*.f64 C C) (sqrt.f64 2))) (pow.f64 B 3)) (sqrt.f64 (/.f64 F (-.f64 C (sqrt.f64 (+.f64 (*.f64 B B) (*.f64 C C))))))) (*.f64 1/2 (*.f64 (/.f64 (*.f64 A (sqrt.f64 2)) B) (sqrt.f64 (/.f64 F (-.f64 C (sqrt.f64 (+.f64 (*.f64 B B) (*.f64 C C))))))))))))
61.6b
(*.f64 -1/4 (/.f64 (pow.f64 (+.f64 (log.f64 (pow.f64 (cbrt.f64 (exp.f64 (pow.f64 (*.f64 -16 (*.f64 C F)) 1/4))) 2)) (log.f64 (cbrt.f64 (exp.f64 (pow.f64 (*.f64 -16 (*.f64 C F)) 1/4))))) 2) C))
60.5b
(/.f64 (neg.f64 (sqrt.f64 (*.f64 2 (*.f64 F (pow.f64 B 3))))) (fma.f64 A (*.f64 C -4) (*.f64 B B)))
51.7b
(/.f64 (neg.f64 (fma.f64 (sqrt.f64 (*.f64 -1/2 (/.f64 F C))) (*.f64 (sqrt.f64 2) (*.f64 B B)) (*.f64 2 (/.f64 (*.f64 A (*.f64 F (sqrt.f64 2))) (sqrt.f64 (*.f64 -1/2 (/.f64 F C))))))) (fma.f64 A (*.f64 C -4) (*.f64 B B)))
58.1b
(neg.f64 (*.f64 (sqrt.f64 (*.f64 F (-.f64 C (sqrt.f64 (+.f64 (*.f64 B B) (*.f64 C C)))))) (/.f64 (sqrt.f64 2) B)))
52.4b
(*.f64 -1/4 (/.f64 (pow.f64 (pow.f64 (sqrt.f64 (*.f64 256 (pow.f64 (*.f64 C F) 2))) 1/4) 2) C))
56.9b
(*.f64 -1/4 (-.f64 (exp.f64 (log1p.f64 (/.f64 (sqrt.f64 (*.f64 -16 (*.f64 C F))) C))) 1))
52.4b
(*.f64 (/.f64 -1 (sqrt.f64 (fma.f64 A (*.f64 C -4) (*.f64 B B)))) (/.f64 (sqrt.f64 (*.f64 (fma.f64 A (*.f64 C -4) (*.f64 B B)) (*.f64 2 (*.f64 F (-.f64 (+.f64 A C) (hypot.f64 B (-.f64 A C))))))) (sqrt.f64 (fma.f64 A (*.f64 C -4) (*.f64 B B)))))
62.1b
(*.f64 -1/4 (/.f64 (log.f64 (exp.f64 (sqrt.f64 (*.f64 -16 (*.f64 C F))))) C))
49.9b
(*.f64 -1/4 (/.f64 (pow.f64 (pow.f64 (*.f64 -16 (*.f64 C F)) 3/2) 1/3) C))
56.5b
(*.f64 -1/4 (/.f64 (*.f64 (sqrt.f64 (*.f64 -16 C)) (sqrt.f64 F)) C))
48.6b
(/.f64 (neg.f64 (sqrt.f64 (*.f64 (fma.f64 A (*.f64 C -4) (*.f64 B B)) (*.f64 2 (*.f64 F (+.f64 (-.f64 (+.f64 A C) (hypot.f64 B (-.f64 A C))) (fma.f64 (neg.f64 (sqrt.f64 (hypot.f64 B (-.f64 A C)))) (sqrt.f64 (hypot.f64 B (-.f64 A C))) (hypot.f64 B (-.f64 A C))))))))) (fma.f64 A (*.f64 C -4) (*.f64 B B)))
58.4b
(/.f64 (neg.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 (*.f64 -1/2 (/.f64 F C))) (pow.f64 B 2)))) (fma.f64 A (*.f64 C -4) (*.f64 B B)))
56.6b
(*.f64 -1/4 (pow.f64 (pow.f64 (/.f64 (sqrt.f64 (*.f64 -16 (*.f64 C F))) C) 3) 1/3))
49.3b
(/.f64 (neg.f64 (neg.f64 (*.f64 A (*.f64 (sqrt.f64 2) (sqrt.f64 (*.f64 -8 (*.f64 C F))))))) (fma.f64 A (*.f64 C -4) (*.f64 B B)))
Compiler

Compiled 3130 to 2170 computations (30.7% saved)

regimes8.6s (20.1%)

Accuracy

Total 14.6b remaining (44.2%)

Threshold costs 0b (0%)

Counts
177 → 5
Compiler

Compiled 36124 to 24759 computations (31.5% saved)

bsearch634.0ms (1.5%)

Steps
ItersRangePoint
3
7.355883429548237e+106
9.352492012619169e+106
8.229399684641769e+106
7
3.907126746359627e+53
7.205969835765565e+55
9.739838238220798e+53
4
1.9265846249946254e-58
3.0498529877183928e-58
2.874342306042804e-58
11
-9.543868731250287e-186
-1.021130905929878e-212
-9.383027144283094e-186
Compiler

Compiled 5 to 4 computations (20% saved)

simplify13.0ms (0%)

Algorithm
egg-herbie
Rules
28×*-commutative_binary64
14×+-commutative_binary64
12×sub-neg_binary64
10×neg-sub0_binary64
10×neg-mul-1_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
072185
1120185
2147185
3164185
4171185
5168185

end1.7s (3.9%)

Compiler

Compiled 1570 to 1047 computations (33.3% saved)

Profiling

Loading profile data...