Details

Time bar (total: 37.2s)

analyze3.3s (8.8%)

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)

sample243.0ms (0.7%)

Algorithm
intervals
Symmetry

(sort A C)

Results
33.0ms186×body128valid
22.0ms23×body2048valid
18.0ms25×body1024valid
18.0ms22×body1024nan
17.0ms20×body2048nan
15.0ms82×body128nan
11.0ms21×body512nan
7.0ms13×body512valid
6.0ms10×body256nan
3.0msbody256valid
Compiler

Compiled 93 to 69 computations (25.8% saved)

simplify50.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

prune6.0ms (0%)

Pruning

3 alts after pruning (3 fresh and 0 done)

PrunedKeptTotal
New022
Fresh011
Picked000
Done000
Total033
Error
50.2b
Counts
3 → 2
Alt Table
StatusErrorProgram
53.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) (sqrt.f64 (+.f64 (pow.f64 (-.f64 A C) 2) (pow.f64 B 2))))))) (-.f64 (pow.f64 B 2) (*.f64 (*.f64 4 A) C)))
50.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.4b
(-.f64 (+.f64 A C) (hypot.f64 B (-.f64 A C)))
2.7b
(*.f64 (fma.f64 A (*.f64 C -4) (*.f64 B B)) (*.f64 2 (*.f64 F (-.f64 (+.f64 A C) (hypot.f64 B (-.f64 A C))))))
14.2b
(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)))))))
23.8b
(/.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.9s (42.8%)

Counts
4 → 124
Calls

4 calls:

9.2s
(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)))
208.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))))))
59.0ms
(-.f64 (+.f64 A C) (hypot.f64 B (-.f64 A C)))

rewrite105.0ms (0.3%)

Algorithm
rewrite-expression-head
Rules
204×distribute-lft-in_binary64
204×distribute-rgt-in_binary64
164×*-un-lft-identity_binary64
108×prod-diff_binary64
105×add-sqr-sqrt_binary64
Counts
4 → 284
Calls

4 calls:

22.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)))))))
15.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))))))
5.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)))
5.0ms
(-.f64 (+.f64 A C) (hypot.f64 B (-.f64 A C)))

simplify656.0ms (1.8%)

Algorithm
egg-herbie
Rules
721×times-frac_binary64
670×fma-def_binary64
277×associate-/l*_binary64
190×associate-/r*_binary64
93×sub-neg_binary64
Counts
408 → 499
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
0276555201
1484249427
2591149427

prune1.1s (3.1%)

Pruning

21 alts after pruning (21 fresh and 0 done)

PrunedKeptTotal
New47821499
Fresh101
Picked101
Done000
Total48021501
Error
18.9b
Counts
501 → 21
Alt Table
StatusErrorProgram
50.8b
(/.f64 (neg.f64 (sqrt.f64 (+.f64 (*.f64 (*.f64 (*.f64 (fma.f64 1 (+.f64 A C) (neg.f64 (*.f64 (sqrt.f64 (hypot.f64 B (-.f64 A C))) (sqrt.f64 (hypot.f64 B (-.f64 A C)))))) F) 2) (fma.f64 A (*.f64 C -4) (*.f64 B B))) (*.f64 (*.f64 (*.f64 (fma.f64 (neg.f64 (sqrt.f64 (hypot.f64 B (-.f64 A C)))) (sqrt.f64 (hypot.f64 B (-.f64 A C))) (*.f64 (sqrt.f64 (hypot.f64 B (-.f64 A C))) (sqrt.f64 (hypot.f64 B (-.f64 A C))))) F) 2) (fma.f64 A (*.f64 C -4) (*.f64 B B)))))) (fma.f64 A (*.f64 C -4) (*.f64 B B)))
50.4b
(*.f64 -1 (/.f64 (sqrt.f64 (*.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)))))
51.1b
(/.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)))
50.5b
(*.f64 (sqrt.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)))))))) (/.f64 (neg.f64 (sqrt.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))))
47.8b
(neg.f64 (*.f64 (sqrt.f64 (*.f64 -1/2 (/.f64 F C))) (sqrt.f64 2)))
63.1b
(/.f64 (neg.f64 (sqrt.f64 (*.f64 (fma.f64 A (*.f64 C -4) (*.f64 B B)) (*.f64 2 (*.f64 F (*.f64 2 C)))))) (fma.f64 A (*.f64 C -4) (*.f64 B B)))
47.5b
(/.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)))
47.4b
(/.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)))
54.1b
(neg.f64 (*.f64 (sqrt.f64 (*.f64 F (-.f64 C (hypot.f64 B C)))) (/.f64 (sqrt.f64 2) B)))
60.5b
(/.f64 (neg.f64 (sqrt.f64 (*.f64 (fma.f64 A (*.f64 C -4) (*.f64 B B)) (*.f64 2 (*.f64 F B))))) (fma.f64 A (*.f64 C -4) (*.f64 B B)))
62.7b
(/.f64 (neg.f64 (sqrt.f64 (*.f64 -16 (*.f64 A (*.f64 (pow.f64 C 2) F))))) (fma.f64 A (*.f64 C -4) (*.f64 B B)))
50.8b
(/.f64 (neg.f64 (sqrt.f64 (*.f64 (fma.f64 A (*.f64 C -4) (*.f64 B B)) (*.f64 2 (*.f64 F (+.f64 (fma.f64 1 (+.f64 A C) (neg.f64 (*.f64 (cbrt.f64 (hypot.f64 B (-.f64 A C))) (*.f64 (cbrt.f64 (hypot.f64 B (-.f64 A C))) (cbrt.f64 (hypot.f64 B (-.f64 A C))))))) (fma.f64 (neg.f64 (cbrt.f64 (hypot.f64 B (-.f64 A C)))) (*.f64 (cbrt.f64 (hypot.f64 B (-.f64 A C))) (cbrt.f64 (hypot.f64 B (-.f64 A C)))) (*.f64 (cbrt.f64 (hypot.f64 B (-.f64 A C))) (*.f64 (cbrt.f64 (hypot.f64 B (-.f64 A C))) (cbrt.f64 (hypot.f64 B (-.f64 A C)))))))))))) (fma.f64 A (*.f64 C -4) (*.f64 B B)))
58.5b
(/.f64 (neg.f64 (sqrt.f64 (-.f64 (fma.f64 2 (*.f64 A (*.f64 F (*.f64 B B))) (fma.f64 2 (*.f64 C (*.f64 F (*.f64 B B))) (fma.f64 8 (*.f64 (*.f64 A (*.f64 C F)) (hypot.f64 C B)) (*.f64 2 (*.f64 (*.f64 A (*.f64 C (*.f64 F (*.f64 B B)))) (sqrt.f64 (/.f64 1 (fma.f64 C C (*.f64 B B))))))))) (fma.f64 2 (*.f64 (hypot.f64 C B) (*.f64 F (*.f64 B B))) (*.f64 8 (*.f64 A (*.f64 (*.f64 C C) F))))))) (fma.f64 A (*.f64 C -4) (*.f64 B B)))
61.3b
(/.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)))
61.1b
(/.f64 (neg.f64 (sqrt.f64 (*.f64 2 (*.f64 F (pow.f64 B 3))))) (fma.f64 A (*.f64 C -4) (*.f64 B B)))
53.3b
(neg.f64 (*.f64 (sqrt.f64 (*.f64 F (-.f64 A (hypot.f64 A B)))) (/.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 2 A)))))) (fma.f64 A (*.f64 C -4) (*.f64 B B)))
51.3b
(/.f64 (neg.f64 (exp.f64 (log.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)))
51.4b
(/.f64 (sqrt.f64 (fma.f64 A (*.f64 C -4) (*.f64 B B))) (/.f64 (fma.f64 A (*.f64 C -4) (*.f64 B B)) (neg.f64 (sqrt.f64 (*.f64 2 (*.f64 F (-.f64 (+.f64 A C) (hypot.f64 B (-.f64 A C)))))))))
63.2b
(neg.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 (*.f64 -1/2 (/.f64 F A)))))
45.4b
(/.f64 (neg.f64 (sqrt.f64 (*.f64 (fma.f64 A (*.f64 C -4) (*.f64 B B)) (*.f64 2 (*.f64 F (fma.f64 2 A (*.f64 -1/2 (/.f64 (*.f64 B B) C)))))))) (fma.f64 A (*.f64 C -4) (*.f64 B B)))
Compiler

Compiled 69233 to 36510 computations (47.3% saved)

localize17.0ms (0%)

Local error

Found 4 expressions with local error:

NewErrorProgram
2.4b
(*.f64 F (fma.f64 2 A (*.f64 -1/2 (/.f64 (*.f64 B B) C))))
7.8b
(/.f64 (*.f64 B B) C)
13.4b
(sqrt.f64 (*.f64 (fma.f64 A (*.f64 C -4) (*.f64 B B)) (*.f64 2 (*.f64 F (fma.f64 2 A (*.f64 -1/2 (/.f64 (*.f64 B B) C)))))))
22.2b
(/.f64 (neg.f64 (sqrt.f64 (*.f64 (fma.f64 A (*.f64 C -4) (*.f64 B B)) (*.f64 2 (*.f64 F (fma.f64 2 A (*.f64 -1/2 (/.f64 (*.f64 B B) C)))))))) (fma.f64 A (*.f64 C -4) (*.f64 B B)))

series867.0ms (2.3%)

Counts
4 → 120
Calls

4 calls:

399.0ms
(/.f64 (neg.f64 (sqrt.f64 (*.f64 (fma.f64 A (*.f64 C -4) (*.f64 B B)) (*.f64 2 (*.f64 F (fma.f64 2 A (*.f64 -1/2 (/.f64 (*.f64 B B) C)))))))) (fma.f64 A (*.f64 C -4) (*.f64 B B)))
388.0ms
(sqrt.f64 (*.f64 (fma.f64 A (*.f64 C -4) (*.f64 B B)) (*.f64 2 (*.f64 F (fma.f64 2 A (*.f64 -1/2 (/.f64 (*.f64 B B) C)))))))
68.0ms
(*.f64 F (fma.f64 2 A (*.f64 -1/2 (/.f64 (*.f64 B B) C))))
12.0ms
(/.f64 (*.f64 B B) C)

rewrite29.0ms (0.1%)

Algorithm
rewrite-expression-head
Rules
39×times-frac_binary64
35×add-sqr-sqrt_binary64
33×*-un-lft-identity_binary64
33×add-cube-cbrt_binary64
16×distribute-lft-neg-in_binary64
Counts
4 → 127
Calls

4 calls:

6.0ms
(sqrt.f64 (*.f64 (fma.f64 A (*.f64 C -4) (*.f64 B B)) (*.f64 2 (*.f64 F (fma.f64 2 A (*.f64 -1/2 (/.f64 (*.f64 B B) C)))))))
4.0ms
(/.f64 (neg.f64 (sqrt.f64 (*.f64 (fma.f64 A (*.f64 C -4) (*.f64 B B)) (*.f64 2 (*.f64 F (fma.f64 2 A (*.f64 -1/2 (/.f64 (*.f64 B B) C)))))))) (fma.f64 A (*.f64 C -4) (*.f64 B B)))
3.0ms
(/.f64 (*.f64 B B) C)
3.0ms
(*.f64 F (fma.f64 2 A (*.f64 -1/2 (/.f64 (*.f64 B B) C))))

simplify197.0ms (0.5%)

Algorithm
egg-herbie
Rules
581×fma-def_binary64
354×times-frac_binary64
327×associate-/l*_binary64
318×associate-*r*_binary64
254×associate-*l*_binary64
Counts
247 → 250
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
037210053
19929704
244769704
350499704

prune335.0ms (0.9%)

Pruning

28 alts after pruning (28 fresh and 0 done)

PrunedKeptTotal
New24010250
Fresh21820
Picked101
Done000
Total24328271
Error
17.7b
Counts
271 → 28
Alt Table
StatusErrorProgram
45.5b
(*.f64 (sqrt.f64 (sqrt.f64 (*.f64 (fma.f64 A (*.f64 C -4) (*.f64 B B)) (*.f64 2 (*.f64 F (fma.f64 -1/2 (/.f64 (*.f64 B B) C) (*.f64 2 A))))))) (/.f64 (neg.f64 (sqrt.f64 (sqrt.f64 (*.f64 (fma.f64 A (*.f64 C -4) (*.f64 B B)) (*.f64 2 (*.f64 F (fma.f64 -1/2 (/.f64 (*.f64 B B) C) (*.f64 2 A)))))))) (fma.f64 A (*.f64 C -4) (*.f64 B B))))
53.3b
(neg.f64 (*.f64 (sqrt.f64 (*.f64 F (-.f64 A (hypot.f64 A B)))) (/.f64 (sqrt.f64 2) B)))
52.6b
(/.f64 (sqrt.f64 (fma.f64 A (*.f64 C -4) (*.f64 B B))) (/.f64 (fma.f64 A (*.f64 C -4) (*.f64 B B)) (neg.f64 (sqrt.f64 (*.f64 2 (*.f64 F (fma.f64 2 A (*.f64 -1/2 (/.f64 (*.f64 B B) C)))))))))
59.8b
(/.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)))
45.4b
(/.f64 -1 (/.f64 (fma.f64 A (*.f64 C -4) (*.f64 B B)) (sqrt.f64 (*.f64 (fma.f64 A (*.f64 C -4) (*.f64 B B)) (*.f64 2 (*.f64 F (fma.f64 2 A (*.f64 -1/2 (/.f64 (*.f64 B B) C)))))))))
51.1b
(/.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)))
50.5b
(*.f64 (sqrt.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)))))))) (/.f64 (neg.f64 (sqrt.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))))
47.8b
(neg.f64 (*.f64 (sqrt.f64 (*.f64 -1/2 (/.f64 F C))) (sqrt.f64 2)))
45.5b
(/.f64 (neg.f64 (neg.f64 (fma.f64 2 (/.f64 (*.f64 F (*.f64 (sqrt.f64 2) (*.f64 B B))) (sqrt.f64 (*.f64 -8 (*.f64 F C)))) (*.f64 A (*.f64 (sqrt.f64 2) (sqrt.f64 (*.f64 -8 (*.f64 F C)))))))) (fma.f64 A (*.f64 C -4) (*.f64 B B)))
63.1b
(/.f64 (neg.f64 (sqrt.f64 (*.f64 (fma.f64 A (*.f64 C -4) (*.f64 B B)) (*.f64 2 (*.f64 F (*.f64 2 C)))))) (fma.f64 A (*.f64 C -4) (*.f64 B B)))
47.5b
(/.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)))
59.3b
(/.f64 (neg.f64 (fma.f64 2 (/.f64 (*.f64 F (*.f64 (sqrt.f64 2) (*.f64 B B))) (sqrt.f64 (*.f64 -8 (*.f64 F C)))) (*.f64 A (*.f64 (sqrt.f64 2) (sqrt.f64 (*.f64 -8 (*.f64 F C))))))) (fma.f64 A (*.f64 C -4) (*.f64 B B)))
47.4b
(/.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)))
54.1b
(neg.f64 (*.f64 (sqrt.f64 (*.f64 F (-.f64 C (hypot.f64 B C)))) (/.f64 (sqrt.f64 2) B)))
54.6b
(*.f64 (sqrt.f64 (/.f64 (neg.f64 (sqrt.f64 (*.f64 (fma.f64 A (*.f64 C -4) (*.f64 B B)) (*.f64 2 (*.f64 F (fma.f64 2 A (*.f64 -1/2 (/.f64 (*.f64 B B) C)))))))) (fma.f64 A (*.f64 C -4) (*.f64 B B)))) (sqrt.f64 (/.f64 (neg.f64 (sqrt.f64 (*.f64 (fma.f64 A (*.f64 C -4) (*.f64 B B)) (*.f64 2 (*.f64 F (fma.f64 2 A (*.f64 -1/2 (/.f64 (*.f64 B B) C)))))))) (fma.f64 A (*.f64 C -4) (*.f64 B B)))))
60.5b
(/.f64 (neg.f64 (sqrt.f64 (*.f64 (fma.f64 A (*.f64 C -4) (*.f64 B B)) (*.f64 2 (*.f64 F B))))) (fma.f64 A (*.f64 C -4) (*.f64 B B)))
62.7b
(/.f64 (neg.f64 (sqrt.f64 (*.f64 -16 (*.f64 A (*.f64 (pow.f64 C 2) F))))) (fma.f64 A (*.f64 C -4) (*.f64 B B)))
50.8b
(/.f64 (neg.f64 (sqrt.f64 (*.f64 (fma.f64 A (*.f64 C -4) (*.f64 B B)) (*.f64 2 (*.f64 F (+.f64 (fma.f64 1 (+.f64 A C) (neg.f64 (*.f64 (cbrt.f64 (hypot.f64 B (-.f64 A C))) (*.f64 (cbrt.f64 (hypot.f64 B (-.f64 A C))) (cbrt.f64 (hypot.f64 B (-.f64 A C))))))) (fma.f64 (neg.f64 (cbrt.f64 (hypot.f64 B (-.f64 A C)))) (*.f64 (cbrt.f64 (hypot.f64 B (-.f64 A C))) (cbrt.f64 (hypot.f64 B (-.f64 A C)))) (*.f64 (cbrt.f64 (hypot.f64 B (-.f64 A C))) (*.f64 (cbrt.f64 (hypot.f64 B (-.f64 A C))) (cbrt.f64 (hypot.f64 B (-.f64 A C)))))))))))) (fma.f64 A (*.f64 C -4) (*.f64 B B)))
58.5b
(/.f64 (neg.f64 (sqrt.f64 (-.f64 (fma.f64 2 (*.f64 A (*.f64 F (*.f64 B B))) (fma.f64 2 (*.f64 C (*.f64 F (*.f64 B B))) (fma.f64 8 (*.f64 (*.f64 A (*.f64 C F)) (hypot.f64 C B)) (*.f64 2 (*.f64 (*.f64 A (*.f64 C (*.f64 F (*.f64 B B)))) (sqrt.f64 (/.f64 1 (fma.f64 C C (*.f64 B B))))))))) (fma.f64 2 (*.f64 (hypot.f64 C B) (*.f64 F (*.f64 B B))) (*.f64 8 (*.f64 A (*.f64 (*.f64 C C) F))))))) (fma.f64 A (*.f64 C -4) (*.f64 B B)))
61.3b
(/.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)))
61.1b
(/.f64 (neg.f64 (sqrt.f64 (*.f64 2 (*.f64 F (pow.f64 B 3))))) (fma.f64 A (*.f64 C -4) (*.f64 B B)))
50.4b
(*.f64 -1 (/.f64 (sqrt.f64 (*.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)))))
52.2b
(*.f64 (/.f64 (sqrt.f64 (fma.f64 A (*.f64 C -4) (*.f64 B B))) (*.f64 (cbrt.f64 (fma.f64 A (*.f64 C -4) (*.f64 B B))) (cbrt.f64 (fma.f64 A (*.f64 C -4) (*.f64 B B))))) (/.f64 (neg.f64 (sqrt.f64 (*.f64 2 (*.f64 F (fma.f64 2 A (*.f64 -1/2 (/.f64 (*.f64 B B) C))))))) (cbrt.f64 (fma.f64 A (*.f64 C -4) (*.f64 B B)))))
46.2b
(/.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)))
51.3b
(/.f64 (neg.f64 (exp.f64 (log.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)))
51.4b
(/.f64 (sqrt.f64 (fma.f64 A (*.f64 C -4) (*.f64 B B))) (/.f64 (fma.f64 A (*.f64 C -4) (*.f64 B B)) (neg.f64 (sqrt.f64 (*.f64 2 (*.f64 F (-.f64 (+.f64 A C) (hypot.f64 B (-.f64 A C)))))))))
52.1b
(*.f64 -1 (/.f64 (sqrt.f64 (*.f64 2 (*.f64 F (fma.f64 -1/2 (/.f64 (*.f64 B B) C) (*.f64 2 A))))) (sqrt.f64 (fma.f64 A (*.f64 C -4) (*.f64 B B)))))
46.1b
(/.f64 (neg.f64 (expm1.f64 (log1p.f64 (sqrt.f64 (*.f64 (fma.f64 A (*.f64 C -4) (*.f64 B B)) (*.f64 2 (*.f64 F (fma.f64 2 A (*.f64 -1/2 (/.f64 (*.f64 B B) C)))))))))) (fma.f64 A (*.f64 C -4) (*.f64 B B)))
Compiler

Compiled 16179 to 9040 computations (44.1% saved)

localize17.0ms (0%)

Local error

Found 4 expressions with local error:

NewErrorProgram
2.4b
(*.f64 F (fma.f64 2 A (*.f64 -1/2 (/.f64 (*.f64 B B) C))))
7.8b
(/.f64 (*.f64 B B) C)
13.4b
(sqrt.f64 (*.f64 (fma.f64 A (*.f64 C -4) (*.f64 B B)) (*.f64 2 (*.f64 F (fma.f64 2 A (*.f64 -1/2 (/.f64 (*.f64 B B) C)))))))
22.0b
(/.f64 (fma.f64 A (*.f64 C -4) (*.f64 B B)) (sqrt.f64 (*.f64 (fma.f64 A (*.f64 C -4) (*.f64 B B)) (*.f64 2 (*.f64 F (fma.f64 2 A (*.f64 -1/2 (/.f64 (*.f64 B B) C))))))))

series1.0s (2.8%)

Counts
1 → 24
Calls

1 calls:

1.0s
(/.f64 (fma.f64 A (*.f64 C -4) (*.f64 B B)) (sqrt.f64 (*.f64 (fma.f64 A (*.f64 C -4) (*.f64 B B)) (*.f64 2 (*.f64 F (fma.f64 2 A (*.f64 -1/2 (/.f64 (*.f64 B B) C))))))))

rewrite9.0ms (0%)

Algorithm
rewrite-expression-head
Rules
12×times-frac_binary64
10×*-un-lft-identity_binary64
10×add-sqr-sqrt_binary64
10×add-cube-cbrt_binary64
associate-/r*_binary64
Counts
1 → 33
Calls

1 calls:

6.0ms
(/.f64 (fma.f64 A (*.f64 C -4) (*.f64 B B)) (sqrt.f64 (*.f64 (fma.f64 A (*.f64 C -4) (*.f64 B B)) (*.f64 2 (*.f64 F (fma.f64 2 A (*.f64 -1/2 (/.f64 (*.f64 B B) C))))))))

simplify113.0ms (0.3%)

Algorithm
egg-herbie
Rules
678×associate-/r/_binary64
442×distribute-rgt-in_binary64
441×distribute-lft-in_binary64
404×*-commutative_binary64
342×div-sub_binary64
Counts
57 → 38
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
0812696
11402502
23752502
314932502
436542502
547982502
656212502

prune233.0ms (0.6%)

Pruning

28 alts after pruning (28 fresh and 0 done)

PrunedKeptTotal
New1655170
Fresh42327
Picked101
Done000
Total17028198
Error
17.6b
Counts
198 → 28
Alt Table
StatusErrorProgram
51.1b
(/.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)))
50.5b
(*.f64 (sqrt.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)))))))) (/.f64 (neg.f64 (sqrt.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))))
47.8b
(neg.f64 (*.f64 (sqrt.f64 (*.f64 -1/2 (/.f64 F C))) (sqrt.f64 2)))
45.5b
(/.f64 -1 (/.f64 (fma.f64 A (*.f64 C -4) (*.f64 B B)) (neg.f64 (fma.f64 2 (/.f64 (*.f64 F (*.f64 (sqrt.f64 2) (*.f64 B B))) (sqrt.f64 (*.f64 -8 (*.f64 F C)))) (*.f64 A (*.f64 (sqrt.f64 2) (sqrt.f64 (*.f64 -8 (*.f64 F C)))))))))
46.2b
(/.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)))
45.5b
(/.f64 (neg.f64 (neg.f64 (fma.f64 2 (/.f64 (*.f64 F (*.f64 (sqrt.f64 2) (*.f64 B B))) (sqrt.f64 (*.f64 -8 (*.f64 F C)))) (*.f64 A (*.f64 (sqrt.f64 2) (sqrt.f64 (*.f64 -8 (*.f64 F C)))))))) (fma.f64 A (*.f64 C -4) (*.f64 B B)))
63.1b
(/.f64 (neg.f64 (sqrt.f64 (*.f64 (fma.f64 A (*.f64 C -4) (*.f64 B B)) (*.f64 2 (*.f64 F (*.f64 2 C)))))) (fma.f64 A (*.f64 C -4) (*.f64 B B)))
47.5b
(/.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)))
59.3b
(/.f64 (neg.f64 (fma.f64 2 (/.f64 (*.f64 F (*.f64 (sqrt.f64 2) (*.f64 B B))) (sqrt.f64 (*.f64 -8 (*.f64 F C)))) (*.f64 A (*.f64 (sqrt.f64 2) (sqrt.f64 (*.f64 -8 (*.f64 F C))))))) (fma.f64 A (*.f64 C -4) (*.f64 B B)))
47.4b
(/.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)))
54.1b
(neg.f64 (*.f64 (sqrt.f64 (*.f64 F (-.f64 C (hypot.f64 B C)))) (/.f64 (sqrt.f64 2) B)))
52.1b
(/.f64 -1 (*.f64 1 (/.f64 (sqrt.f64 (fma.f64 A (*.f64 C -4) (*.f64 B B))) (sqrt.f64 (*.f64 2 (*.f64 F (fma.f64 2 A (*.f64 -1/2 (/.f64 (*.f64 B B) C)))))))))
51.4b
(/.f64 (sqrt.f64 (fma.f64 A (*.f64 C -4) (*.f64 B B))) (/.f64 (fma.f64 A (*.f64 C -4) (*.f64 B B)) (neg.f64 (sqrt.f64 (*.f64 2 (*.f64 F (-.f64 (+.f64 A C) (hypot.f64 B (-.f64 A C)))))))))
54.6b
(*.f64 (sqrt.f64 (/.f64 (neg.f64 (sqrt.f64 (*.f64 (fma.f64 A (*.f64 C -4) (*.f64 B B)) (*.f64 2 (*.f64 F (fma.f64 2 A (*.f64 -1/2 (/.f64 (*.f64 B B) C)))))))) (fma.f64 A (*.f64 C -4) (*.f64 B B)))) (sqrt.f64 (/.f64 (neg.f64 (sqrt.f64 (*.f64 (fma.f64 A (*.f64 C -4) (*.f64 B B)) (*.f64 2 (*.f64 F (fma.f64 2 A (*.f64 -1/2 (/.f64 (*.f64 B B) C)))))))) (fma.f64 A (*.f64 C -4) (*.f64 B B)))))
60.5b
(/.f64 (neg.f64 (sqrt.f64 (*.f64 (fma.f64 A (*.f64 C -4) (*.f64 B B)) (*.f64 2 (*.f64 F B))))) (fma.f64 A (*.f64 C -4) (*.f64 B B)))
62.7b
(/.f64 (neg.f64 (sqrt.f64 (*.f64 -16 (*.f64 A (*.f64 (pow.f64 C 2) F))))) (fma.f64 A (*.f64 C -4) (*.f64 B B)))
50.8b
(/.f64 (neg.f64 (sqrt.f64 (*.f64 (fma.f64 A (*.f64 C -4) (*.f64 B B)) (*.f64 2 (*.f64 F (+.f64 (fma.f64 1 (+.f64 A C) (neg.f64 (*.f64 (cbrt.f64 (hypot.f64 B (-.f64 A C))) (*.f64 (cbrt.f64 (hypot.f64 B (-.f64 A C))) (cbrt.f64 (hypot.f64 B (-.f64 A C))))))) (fma.f64 (neg.f64 (cbrt.f64 (hypot.f64 B (-.f64 A C)))) (*.f64 (cbrt.f64 (hypot.f64 B (-.f64 A C))) (cbrt.f64 (hypot.f64 B (-.f64 A C)))) (*.f64 (cbrt.f64 (hypot.f64 B (-.f64 A C))) (*.f64 (cbrt.f64 (hypot.f64 B (-.f64 A C))) (cbrt.f64 (hypot.f64 B (-.f64 A C)))))))))))) (fma.f64 A (*.f64 C -4) (*.f64 B B)))
58.5b
(/.f64 (neg.f64 (sqrt.f64 (-.f64 (fma.f64 2 (*.f64 A (*.f64 F (*.f64 B B))) (fma.f64 2 (*.f64 C (*.f64 F (*.f64 B B))) (fma.f64 8 (*.f64 (*.f64 A (*.f64 C F)) (hypot.f64 C B)) (*.f64 2 (*.f64 (*.f64 A (*.f64 C (*.f64 F (*.f64 B B)))) (sqrt.f64 (/.f64 1 (fma.f64 C C (*.f64 B B))))))))) (fma.f64 2 (*.f64 (hypot.f64 C B) (*.f64 F (*.f64 B B))) (*.f64 8 (*.f64 A (*.f64 (*.f64 C C) F))))))) (fma.f64 A (*.f64 C -4) (*.f64 B B)))
61.3b
(/.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)))
61.1b
(/.f64 (neg.f64 (sqrt.f64 (*.f64 2 (*.f64 F (pow.f64 B 3))))) (fma.f64 A (*.f64 C -4) (*.f64 B B)))
52.1b
(*.f64 -1 (/.f64 (sqrt.f64 (*.f64 2 (*.f64 F (fma.f64 -1/2 (/.f64 (*.f64 B B) C) (*.f64 2 A))))) (sqrt.f64 (fma.f64 A (*.f64 C -4) (*.f64 B B)))))
55.4b
(/.f64 -1 (exp.f64 (-.f64 (log.f64 (fma.f64 A (*.f64 C -4) (*.f64 B B))) (log.f64 (sqrt.f64 (*.f64 (fma.f64 A (*.f64 C -4) (*.f64 B B)) (*.f64 2 (*.f64 F (fma.f64 2 A (*.f64 -1/2 (/.f64 (*.f64 B B) C)))))))))))
50.4b
(*.f64 -1 (/.f64 (sqrt.f64 (*.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)))))
53.3b
(neg.f64 (*.f64 (sqrt.f64 (*.f64 F (-.f64 A (hypot.f64 A B)))) (/.f64 (sqrt.f64 2) B)))
59.8b
(/.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)))
51.3b
(/.f64 (neg.f64 (exp.f64 (log.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)))
45.4b
(/.f64 -1 (*.f64 (fma.f64 A (*.f64 C -4) (*.f64 B B)) (/.f64 1 (sqrt.f64 (*.f64 (fma.f64 A (*.f64 C -4) (*.f64 B B)) (*.f64 2 (*.f64 F (fma.f64 2 A (*.f64 -1/2 (/.f64 (*.f64 B B) C))))))))))
47.8b
(/.f64 -1 (/.f64 (sqrt.f64 (*.f64 -2 (/.f64 C F))) (sqrt.f64 2)))
Compiler

Compiled 11191 to 6497 computations (41.9% saved)

localize18.0ms (0%)

Local error

Found 4 expressions with local error:

NewErrorProgram
2.4b
(*.f64 F (fma.f64 2 A (*.f64 -1/2 (/.f64 (*.f64 B B) C))))
7.8b
(/.f64 (*.f64 B B) C)
13.4b
(sqrt.f64 (*.f64 (fma.f64 A (*.f64 C -4) (*.f64 B B)) (*.f64 2 (*.f64 F (fma.f64 2 A (*.f64 -1/2 (/.f64 (*.f64 B B) C)))))))
21.2b
(*.f64 (fma.f64 A (*.f64 C -4) (*.f64 B B)) (/.f64 1 (sqrt.f64 (*.f64 (fma.f64 A (*.f64 C -4) (*.f64 B B)) (*.f64 2 (*.f64 F (fma.f64 2 A (*.f64 -1/2 (/.f64 (*.f64 B B) C)))))))))

series1.0s (2.7%)

Counts
1 → 24
Calls

1 calls:

1.0s
(*.f64 (fma.f64 A (*.f64 C -4) (*.f64 B B)) (/.f64 1 (sqrt.f64 (*.f64 (fma.f64 A (*.f64 C -4) (*.f64 B B)) (*.f64 2 (*.f64 F (fma.f64 2 A (*.f64 -1/2 (/.f64 (*.f64 B B) C)))))))))

rewrite17.0ms (0%)

Algorithm
rewrite-expression-head
Rules
17×add-sqr-sqrt_binary64
16×associate-*r*_binary64
14×times-frac_binary64
11×*-un-lft-identity_binary64
10×add-cube-cbrt_binary64
Counts
1 → 41
Calls

1 calls:

10.0ms
(*.f64 (fma.f64 A (*.f64 C -4) (*.f64 B B)) (/.f64 1 (sqrt.f64 (*.f64 (fma.f64 A (*.f64 C -4) (*.f64 B B)) (*.f64 2 (*.f64 F (fma.f64 2 A (*.f64 -1/2 (/.f64 (*.f64 B B) C)))))))))

simplify105.0ms (0.3%)

Algorithm
egg-herbie
Rules
878×fma-def_binary64
404×associate-/r/_binary64
280×associate-+l+_binary64
272×associate-*l*_binary64
266×associate-/l/_binary64
Counts
65 → 63
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
0802673
11612364
24742364
319222364
428912364
541402364
650032364

prune266.0ms (0.7%)

Pruning

29 alts after pruning (28 fresh and 1 done)

PrunedKeptTotal
New1932195
Fresh12627
Picked011
Done000
Total19429223
Error
17.6b
Counts
223 → 29
Alt Table
StatusErrorProgram
51.1b
(/.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)))
50.5b
(*.f64 (sqrt.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)))))))) (/.f64 (neg.f64 (sqrt.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))))
47.8b
(neg.f64 (*.f64 (sqrt.f64 (*.f64 -1/2 (/.f64 F C))) (sqrt.f64 2)))
45.5b
(/.f64 -1 (/.f64 (fma.f64 A (*.f64 C -4) (*.f64 B B)) (neg.f64 (fma.f64 2 (/.f64 (*.f64 F (*.f64 (sqrt.f64 2) (*.f64 B B))) (sqrt.f64 (*.f64 -8 (*.f64 F C)))) (*.f64 A (*.f64 (sqrt.f64 2) (sqrt.f64 (*.f64 -8 (*.f64 F C)))))))))
46.2b
(/.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)))
45.5b
(/.f64 (neg.f64 (neg.f64 (fma.f64 2 (/.f64 (*.f64 F (*.f64 (sqrt.f64 2) (*.f64 B B))) (sqrt.f64 (*.f64 -8 (*.f64 F C)))) (*.f64 A (*.f64 (sqrt.f64 2) (sqrt.f64 (*.f64 -8 (*.f64 F C)))))))) (fma.f64 A (*.f64 C -4) (*.f64 B B)))
63.1b
(/.f64 (neg.f64 (sqrt.f64 (*.f64 (fma.f64 A (*.f64 C -4) (*.f64 B B)) (*.f64 2 (*.f64 F (*.f64 2 C)))))) (fma.f64 A (*.f64 C -4) (*.f64 B B)))
47.5b
(/.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)))
59.3b
(/.f64 (neg.f64 (fma.f64 2 (/.f64 (*.f64 F (*.f64 (sqrt.f64 2) (*.f64 B B))) (sqrt.f64 (*.f64 -8 (*.f64 F C)))) (*.f64 A (*.f64 (sqrt.f64 2) (sqrt.f64 (*.f64 -8 (*.f64 F C))))))) (fma.f64 A (*.f64 C -4) (*.f64 B B)))
54.1b
(neg.f64 (*.f64 (sqrt.f64 (*.f64 F (-.f64 C (hypot.f64 B C)))) (/.f64 (sqrt.f64 2) B)))
52.1b
(/.f64 -1 (*.f64 1 (/.f64 (sqrt.f64 (fma.f64 A (*.f64 C -4) (*.f64 B B))) (sqrt.f64 (*.f64 2 (*.f64 F (fma.f64 2 A (*.f64 -1/2 (/.f64 (*.f64 B B) C)))))))))
51.4b
(/.f64 (sqrt.f64 (fma.f64 A (*.f64 C -4) (*.f64 B B))) (/.f64 (fma.f64 A (*.f64 C -4) (*.f64 B B)) (neg.f64 (sqrt.f64 (*.f64 2 (*.f64 F (-.f64 (+.f64 A C) (hypot.f64 B (-.f64 A C)))))))))
54.6b
(*.f64 (sqrt.f64 (/.f64 (neg.f64 (sqrt.f64 (*.f64 (fma.f64 A (*.f64 C -4) (*.f64 B B)) (*.f64 2 (*.f64 F (fma.f64 2 A (*.f64 -1/2 (/.f64 (*.f64 B B) C)))))))) (fma.f64 A (*.f64 C -4) (*.f64 B B)))) (sqrt.f64 (/.f64 (neg.f64 (sqrt.f64 (*.f64 (fma.f64 A (*.f64 C -4) (*.f64 B B)) (*.f64 2 (*.f64 F (fma.f64 2 A (*.f64 -1/2 (/.f64 (*.f64 B B) C)))))))) (fma.f64 A (*.f64 C -4) (*.f64 B B)))))
60.5b
(/.f64 (neg.f64 (sqrt.f64 (*.f64 (fma.f64 A (*.f64 C -4) (*.f64 B B)) (*.f64 2 (*.f64 F B))))) (fma.f64 A (*.f64 C -4) (*.f64 B B)))
62.7b
(/.f64 (neg.f64 (sqrt.f64 (*.f64 -16 (*.f64 A (*.f64 (pow.f64 C 2) F))))) (fma.f64 A (*.f64 C -4) (*.f64 B B)))
46.2b
(/.f64 -1 (*.f64 (fma.f64 A (*.f64 C -4) (*.f64 B B)) (/.f64 1 (sqrt.f64 (*.f64 (fma.f64 A (*.f64 C -4) (*.f64 B B)) (*.f64 2 (*.f64 F (*.f64 2 A))))))))
50.8b
(/.f64 (neg.f64 (sqrt.f64 (*.f64 (fma.f64 A (*.f64 C -4) (*.f64 B B)) (*.f64 2 (*.f64 F (+.f64 (fma.f64 1 (+.f64 A C) (neg.f64 (*.f64 (cbrt.f64 (hypot.f64 B (-.f64 A C))) (*.f64 (cbrt.f64 (hypot.f64 B (-.f64 A C))) (cbrt.f64 (hypot.f64 B (-.f64 A C))))))) (fma.f64 (neg.f64 (cbrt.f64 (hypot.f64 B (-.f64 A C)))) (*.f64 (cbrt.f64 (hypot.f64 B (-.f64 A C))) (cbrt.f64 (hypot.f64 B (-.f64 A C)))) (*.f64 (cbrt.f64 (hypot.f64 B (-.f64 A C))) (*.f64 (cbrt.f64 (hypot.f64 B (-.f64 A C))) (cbrt.f64 (hypot.f64 B (-.f64 A C)))))))))))) (fma.f64 A (*.f64 C -4) (*.f64 B B)))
58.5b
(/.f64 (neg.f64 (sqrt.f64 (-.f64 (fma.f64 2 (*.f64 A (*.f64 F (*.f64 B B))) (fma.f64 2 (*.f64 C (*.f64 F (*.f64 B B))) (fma.f64 8 (*.f64 (*.f64 A (*.f64 C F)) (hypot.f64 C B)) (*.f64 2 (*.f64 (*.f64 A (*.f64 C (*.f64 F (*.f64 B B)))) (sqrt.f64 (/.f64 1 (fma.f64 C C (*.f64 B B))))))))) (fma.f64 2 (*.f64 (hypot.f64 C B) (*.f64 F (*.f64 B B))) (*.f64 8 (*.f64 A (*.f64 (*.f64 C C) F))))))) (fma.f64 A (*.f64 C -4) (*.f64 B B)))
61.3b
(/.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)))
61.1b
(/.f64 (neg.f64 (sqrt.f64 (*.f64 2 (*.f64 F (pow.f64 B 3))))) (fma.f64 A (*.f64 C -4) (*.f64 B B)))
52.1b
(*.f64 -1 (/.f64 (sqrt.f64 (*.f64 2 (*.f64 F (fma.f64 -1/2 (/.f64 (*.f64 B B) C) (*.f64 2 A))))) (sqrt.f64 (fma.f64 A (*.f64 C -4) (*.f64 B B)))))
55.4b
(/.f64 -1 (exp.f64 (-.f64 (log.f64 (fma.f64 A (*.f64 C -4) (*.f64 B B))) (log.f64 (sqrt.f64 (*.f64 (fma.f64 A (*.f64 C -4) (*.f64 B B)) (*.f64 2 (*.f64 F (fma.f64 2 A (*.f64 -1/2 (/.f64 (*.f64 B B) C)))))))))))
50.4b
(*.f64 -1 (/.f64 (sqrt.f64 (*.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)))))
47.4b
(/.f64 -1 (*.f64 (fma.f64 A (*.f64 C -4) (*.f64 B B)) (/.f64 1 (neg.f64 (*.f64 A (*.f64 (sqrt.f64 2) (sqrt.f64 (*.f64 -8 (*.f64 F C)))))))))
53.3b
(neg.f64 (*.f64 (sqrt.f64 (*.f64 F (-.f64 A (hypot.f64 A B)))) (/.f64 (sqrt.f64 2) B)))
59.8b
(/.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)))
51.3b
(/.f64 (neg.f64 (exp.f64 (log.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)))
45.4b
(/.f64 -1 (*.f64 (fma.f64 A (*.f64 C -4) (*.f64 B B)) (/.f64 1 (sqrt.f64 (*.f64 (fma.f64 A (*.f64 C -4) (*.f64 B B)) (*.f64 2 (*.f64 F (fma.f64 2 A (*.f64 -1/2 (/.f64 (*.f64 B B) C))))))))))
47.8b
(/.f64 -1 (/.f64 (sqrt.f64 (*.f64 -2 (/.f64 C F))) (sqrt.f64 2)))
Compiler

Compiled 11945 to 7029 computations (41.2% saved)

regimes5.1s (13.8%)

Accuracy

Total 16.5b remaining (47%)

Threshold costs 0b (0%)

Counts
209 → 5
Compiler

Compiled 65749 to 39683 computations (39.6% saved)

bsearch17.0ms (0%)

Compiler

Compiled 44 to 32 computations (27.3% saved)

simplify61.0ms (0.2%)

Algorithm
egg-herbie
Rules
193×distribute-rgt-neg-in_binary64
132×distribute-lft-neg-in_binary64
132×cancel-sign-sub-inv_binary64
126×neg-sub0_binary64
125×neg-mul-1_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
081420
1149420
2228420
3290420
4347420
5393420
6445420
7478420
8507420
9543420
10585420
11628420
12677420
13738420
14817420
15894420
16946420
17976420
18987420
19989420
20977420

end15.0ms (0%)

Compiler

Compiled 837 to 546 computations (34.8% saved)

sample6.3s (16.9%)

Algorithm
intervals
Results
1.0s5597×body128valid
648.0ms520×body2048nan
639.0ms668×body2048valid
617.0ms831×body1024valid
613.0ms812×body1024nan
491.0ms2503×body128nan
354.0ms557×body512valid
330.0ms584×body512nan
128.0ms345×body256nan
126.0ms347×body256valid
Compiler

Compiled 1432 to 892 computations (37.7% saved)

Profiling

Loading profile data...