Details

Time bar (total: 31.8s)

analyze4.4s (13.9%)

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%95.5%4.5%9
0%94%6%10
1.4%90.3%8.4%11
2.5%85.6%11.8%12
3.5%80.6%15.9%13
5.2%77.6%17.2%14
Compiler

Compiled 45 to 33 computations (26.7% saved)

sample6.2s (19.5%)

Results
1.4s5716×body128valid
770.0ms864×body1024valid
747.0ms665×body2048valid
738.0ms817×body1024invalid
721.0ms3063×body128invalid
647.0ms583×body2048invalid
412.0ms625×body512valid
402.0ms622×body512invalid
169.0ms385×body256valid
160.0ms327×body256invalid
1.0msbody4096valid
Compiler

Compiled 90 to 66 computations (26.7% saved)

preprocess35.0ms (0.1%)

Algorithm
egg-herbie
Rules
663×associate-*l*_binary64
649×associate-*r*_binary64
560×distribute-rgt-in_binary64
528×distribute-lft-in_binary64
364×fma-def_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0109427
1360343
21374343
044
Stop Event
saturated
node limit
Compiler

Compiled 44 to 32 computations (27.3% saved)

simplify15.0ms (0%)

Algorithm
egg-herbie
Rules
552×associate-*l*_binary64
520×associate-*r*_binary64
455×distribute-rgt-in_binary64
450×fma-def_binary64
449×distribute-lft-in_binary64
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
02361
16649
222549
3100349
Stop Event
node limit
Counts
1 → 2

prune9.0ms (0%)

Pruning

3 alts after pruning (3 fresh and 0 done)

PrunedKeptTotal
New022
Fresh011
Picked000
Done000
Total033
Error
50.7b
Counts
3 → 2
Alt Table
StatusErrorProgram
50.7b
(/.f64 (neg.f64 (sqrt.f64 (*.f64 2 (*.f64 (*.f64 (fma.f64 B B (*.f64 A (*.f64 C -4))) F) (+.f64 C (+.f64 A (hypot.f64 B (-.f64 A C)))))))) (fma.f64 B B (*.f64 A (*.f64 C -4))))
53.4b
(/.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 239 to 160 computations (33.1% saved)

localize21.0ms (0.1%)

Local error

Found 4 expressions with local error:

NewErrorProgram
3.5b
(*.f64 (*.f64 (fma.f64 B B (*.f64 A (*.f64 C -4))) F) (+.f64 C (+.f64 A (hypot.f64 B (-.f64 A C)))))
5.4b
(*.f64 (fma.f64 B B (*.f64 A (*.f64 C -4))) F)
20.0b
(sqrt.f64 (*.f64 2 (*.f64 (*.f64 (fma.f64 B B (*.f64 A (*.f64 C -4))) F) (+.f64 C (+.f64 A (hypot.f64 B (-.f64 A C)))))))
24.0b
(/.f64 (neg.f64 (sqrt.f64 (*.f64 2 (*.f64 (*.f64 (fma.f64 B B (*.f64 A (*.f64 C -4))) F) (+.f64 C (+.f64 A (hypot.f64 B (-.f64 A C)))))))) (fma.f64 B B (*.f64 A (*.f64 C -4))))

series8.0s (25.1%)

Counts
4 → 136
Calls

48 calls:

2.0s
(/.f64 (neg.f64 (sqrt.f64 (*.f64 2 (*.f64 (*.f64 (fma.f64 B B (*.f64 A (*.f64 C -4))) F) (+.f64 C (+.f64 A (hypot.f64 B (-.f64 A C)))))))) (fma.f64 B B (*.f64 A (*.f64 C -4))))
F
-inf
1.2s
(sqrt.f64 (*.f64 2 (*.f64 (*.f64 (fma.f64 B B (*.f64 A (*.f64 C -4))) F) (+.f64 C (+.f64 A (hypot.f64 B (-.f64 A C)))))))
F
inf
1.2s
(sqrt.f64 (*.f64 2 (*.f64 (*.f64 (fma.f64 B B (*.f64 A (*.f64 C -4))) F) (+.f64 C (+.f64 A (hypot.f64 B (-.f64 A C)))))))
F
0
1.1s
(sqrt.f64 (*.f64 2 (*.f64 (*.f64 (fma.f64 B B (*.f64 A (*.f64 C -4))) F) (+.f64 C (+.f64 A (hypot.f64 B (-.f64 A C)))))))
F
-inf
362.0ms
(/.f64 (neg.f64 (sqrt.f64 (*.f64 2 (*.f64 (*.f64 (fma.f64 B B (*.f64 A (*.f64 C -4))) F) (+.f64 C (+.f64 A (hypot.f64 B (-.f64 A C)))))))) (fma.f64 B B (*.f64 A (*.f64 C -4))))
A
0

rewrite51.0ms (0.2%)

Algorithm
batch-egg-rewrite
Rules
231×add-sqr-sqrt_binary64
219×log1p-expm1-u_binary64
219×expm1-log1p-u_binary64
218×add-cbrt-cube_binary64
214×add-exp-log_binary64
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
020126
1454124
Stop Event
node limit
Counts
4 → 97

simplify251.0ms (0.8%)

Algorithm
egg-herbie
Rules
542×fma-def_binary64
490×associate-*r*_binary64
257×associate-/l*_binary64
210×associate-*l/_binary64
171×associate-/r*_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0207436539
Stop Event
node limit
Counts
233 → 257

prune921.0ms (2.9%)

Pruning

30 alts after pruning (30 fresh and 0 done)

PrunedKeptTotal
New22730257
Fresh101
Picked101
Done000
Total22930259
Error
29.3b
Counts
259 → 30
Alt Table
StatusErrorProgram
50.9b
(/.f64 (neg.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 (*.f64 (fma.f64 B B (*.f64 A (*.f64 C -4))) (*.f64 F (+.f64 (+.f64 C A) (hypot.f64 B (-.f64 A C)))))))) (fma.f64 B B (*.f64 A (*.f64 C -4))))
57.9b
(/.f64 (neg.f64 (sqrt.f64 (*.f64 2 (*.f64 -8 (*.f64 A (*.f64 (pow.f64 C 2) F)))))) (fma.f64 B B (*.f64 A (*.f64 C -4))))
61.6b
(-.f64 (*.f64 (*.f64 1/2 (/.f64 (*.f64 (*.f64 A C) (sqrt.f64 2)) B)) (sqrt.f64 (/.f64 F (*.f64 (+.f64 (*.f64 A A) (*.f64 B B)) (+.f64 A (sqrt.f64 (+.f64 (*.f64 A A) (*.f64 B B)))))))) (fma.f64 1/2 (*.f64 (/.f64 C (/.f64 B (sqrt.f64 2))) (sqrt.f64 (/.f64 F (+.f64 A (sqrt.f64 (+.f64 (*.f64 A A) (*.f64 B B))))))) (fma.f64 2 (*.f64 (/.f64 A (/.f64 (pow.f64 B 3) (*.f64 C (sqrt.f64 2)))) (sqrt.f64 (/.f64 F (/.f64 (+.f64 A (sqrt.f64 (+.f64 (*.f64 A A) (*.f64 B B)))) (+.f64 (*.f64 A A) (*.f64 B B)))))) (fma.f64 (sqrt.f64 (*.f64 F (+.f64 A (sqrt.f64 (+.f64 (*.f64 A A) (*.f64 B B)))))) (/.f64 (sqrt.f64 2) B) (*.f64 2 (*.f64 (/.f64 (*.f64 A A) (/.f64 (pow.f64 B 3) (*.f64 C (sqrt.f64 2)))) (sqrt.f64 (/.f64 F (+.f64 A (sqrt.f64 (+.f64 (*.f64 A A) (*.f64 B B))))))))))))
63.0b
(/.f64 (neg.f64 (sqrt.f64 (*.f64 2 (log.f64 (pow.f64 (exp.f64 (+.f64 (+.f64 C A) (hypot.f64 B (-.f64 A C)))) (*.f64 (fma.f64 B B (*.f64 A (*.f64 C -4))) F)))))) (fma.f64 B B (*.f64 A (*.f64 C -4))))
55.3b
(/.f64 (neg.f64 (sqrt.f64 (*.f64 2 (*.f64 (*.f64 -4 (*.f64 A (*.f64 C F))) (+.f64 C (+.f64 A (hypot.f64 B (-.f64 A C)))))))) (fma.f64 B B (*.f64 A (*.f64 C -4))))
60.6b
(neg.f64 (*.f64 (sqrt.f64 (*.f64 F (+.f64 A (sqrt.f64 (+.f64 (*.f64 A A) (*.f64 B B)))))) (/.f64 (sqrt.f64 2) B)))
57.5b
(/.f64 (neg.f64 (sqrt.f64 (*.f64 2 (*.f64 -8 (*.f64 (pow.f64 A 2) (*.f64 C F)))))) (fma.f64 B B (*.f64 A (*.f64 C -4))))
53.9b
(neg.f64 (*.f64 (sqrt.f64 (*.f64 -1/2 (/.f64 F C))) (sqrt.f64 2)))
51.1b
(*.f64 (/.f64 -1 (pow.f64 (cbrt.f64 (fma.f64 B B (*.f64 A (*.f64 C -4)))) 2)) (/.f64 (sqrt.f64 (*.f64 2 (*.f64 (fma.f64 B B (*.f64 A (*.f64 C -4))) (*.f64 F (+.f64 (+.f64 C A) (hypot.f64 B (-.f64 A C))))))) (cbrt.f64 (fma.f64 B B (*.f64 A (*.f64 C -4))))))
55.9b
(/.f64 (neg.f64 (*.f64 (sqrt.f64 (*.f64 -8 (*.f64 A F))) (*.f64 C (sqrt.f64 2)))) (fma.f64 B B (*.f64 A (*.f64 C -4))))
63.3b
(/.f64 (neg.f64 (sqrt.f64 (*.f64 2 (*.f64 (log.f64 (+.f64 1 (expm1.f64 (*.f64 (fma.f64 B B (*.f64 A (*.f64 C -4))) F)))) (+.f64 C (+.f64 A (hypot.f64 B (-.f64 A C)))))))) (fma.f64 B B (*.f64 A (*.f64 C -4))))
57.0b
(/.f64 (neg.f64 (fma.f64 A (*.f64 (sqrt.f64 2) (sqrt.f64 (*.f64 -8 (*.f64 C F)))) (/.f64 F (/.f64 (sqrt.f64 (*.f64 -8 (*.f64 C F))) (*.f64 (sqrt.f64 2) (*.f64 B B)))))) (fma.f64 B B (*.f64 A (*.f64 C -4))))
62.6b
(/.f64 (neg.f64 (sqrt.f64 (*.f64 2 (*.f64 (log.f64 (pow.f64 (exp.f64 F) (fma.f64 B B (*.f64 A (*.f64 C -4))))) (+.f64 C (+.f64 A (hypot.f64 B (-.f64 A C)))))))) (fma.f64 B B (*.f64 A (*.f64 C -4))))
62.5b
(/.f64 (neg.f64 (sqrt.f64 (*.f64 2 (-.f64 (+.f64 (*.f64 C (*.f64 F (pow.f64 B 2))) (+.f64 (*.f64 A (*.f64 F (pow.f64 B 2))) (*.f64 5 (*.f64 A (*.f64 C (*.f64 F B)))))) (+.f64 (*.f64 F (pow.f64 B 3)) (+.f64 (*.f64 1/2 (*.f64 (pow.f64 A 2) (*.f64 F B))) (*.f64 1/2 (*.f64 (pow.f64 C 2) (*.f64 F B))))))))) (fma.f64 B B (*.f64 A (*.f64 C -4))))
50.8b
(/.f64 (neg.f64 (sqrt.f64 (*.f64 2 (*.f64 (pow.f64 (cbrt.f64 (*.f64 (fma.f64 B B (*.f64 A (*.f64 C -4))) F)) 3) (+.f64 C (+.f64 A (hypot.f64 B (-.f64 A C)))))))) (fma.f64 B B (*.f64 A (*.f64 C -4))))
56.7b
(/.f64 (neg.f64 (*.f64 (*.f64 A (sqrt.f64 2)) (sqrt.f64 (*.f64 -8 (*.f64 C F))))) (fma.f64 B B (*.f64 A (*.f64 C -4))))
57.9b
(/.f64 (neg.f64 (sqrt.f64 (*.f64 2 (*.f64 (-.f64 (exp.f64 (log1p.f64 (*.f64 (fma.f64 B B (*.f64 A (*.f64 C -4))) F))) 1) (+.f64 C (+.f64 A (hypot.f64 B (-.f64 A C)))))))) (fma.f64 B B (*.f64 A (*.f64 C -4))))
57.8b
(/.f64 (neg.f64 (sqrt.f64 (*.f64 2 (+.f64 (*.f64 4 (*.f64 (*.f64 A F) (*.f64 B B))) (*.f64 -8 (*.f64 (*.f64 A A) (*.f64 C F))))))) (fma.f64 B B (*.f64 A (*.f64 C -4))))
61.9b
(/.f64 (neg.f64 (sqrt.f64 (*.f64 2 (neg.f64 (*.f64 F (pow.f64 B 3)))))) (fma.f64 B B (*.f64 A (*.f64 C -4))))
50.9b
(/.f64 (neg.f64 (pow.f64 (pow.f64 (*.f64 2 (*.f64 (fma.f64 B B (*.f64 A (*.f64 C -4))) (*.f64 F (+.f64 (+.f64 C A) (hypot.f64 B (-.f64 A C)))))) 1/4) 2)) (fma.f64 B B (*.f64 A (*.f64 C -4))))
61.8b
(/.f64 (neg.f64 (sqrt.f64 (*.f64 2 (*.f64 F (pow.f64 B 3))))) (fma.f64 B B (*.f64 A (*.f64 C -4))))
61.0b
(*.f64 -1 (*.f64 (sqrt.f64 2) (sqrt.f64 (*.f64 -1/4 (/.f64 (*.f64 F (+.f64 A (+.f64 C (sqrt.f64 (-.f64 (+.f64 (pow.f64 A 2) (pow.f64 C 2)) (*.f64 2 (*.f64 A C))))))) (*.f64 A C))))))
51.0b
(/.f64 (neg.f64 (pow.f64 (cbrt.f64 (sqrt.f64 (*.f64 2 (*.f64 (fma.f64 B B (*.f64 A (*.f64 C -4))) (*.f64 F (+.f64 (+.f64 C A) (hypot.f64 B (-.f64 A C)))))))) 3)) (fma.f64 B B (*.f64 A (*.f64 C -4))))
58.3b
(/.f64 (neg.f64 (sqrt.f64 (*.f64 2 (-.f64 (fma.f64 2 (/.f64 (*.f64 C C) (/.f64 A (*.f64 F (*.f64 B B)))) (*.f64 4 (*.f64 (*.f64 C F) (*.f64 B B)))) (fma.f64 1/2 (/.f64 F (/.f64 A (pow.f64 B 4))) (*.f64 (*.f64 8 A) (*.f64 (*.f64 C C) F))))))) (fma.f64 B B (*.f64 A (*.f64 C -4))))
48.4b
(/.f64 (neg.f64 (*.f64 (sqrt.f64 (*.f64 2 (*.f64 (fma.f64 B B (*.f64 A (*.f64 C -4))) F))) (sqrt.f64 (+.f64 (+.f64 C A) (hypot.f64 B (-.f64 A C)))))) (fma.f64 B B (*.f64 A (*.f64 C -4))))
58.1b
(/.f64 (neg.f64 (sqrt.f64 (*.f64 2 (+.f64 (*.f64 4 (*.f64 (*.f64 C F) (*.f64 B B))) (*.f64 (*.f64 -8 A) (*.f64 (*.f64 C C) F)))))) (fma.f64 B B (*.f64 A (*.f64 C -4))))
56.7b
(neg.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 (*.f64 -1/2 (/.f64 F A)))))
51.7b
(/.f64 (neg.f64 (sqrt.f64 (*.f64 2 (exp.f64 (log.f64 (*.f64 (fma.f64 B B (*.f64 A (*.f64 C -4))) (*.f64 F (+.f64 (+.f64 C A) (hypot.f64 B (-.f64 A C)))))))))) (fma.f64 B B (*.f64 A (*.f64 C -4))))
56.4b
(/.f64 (neg.f64 (fma.f64 (sqrt.f64 (*.f64 (*.f64 -8 A) F)) (*.f64 C (sqrt.f64 2)) (/.f64 (*.f64 (*.f64 F (sqrt.f64 2)) (*.f64 B B)) (sqrt.f64 (*.f64 (*.f64 -8 A) F))))) (fma.f64 B B (*.f64 A (*.f64 C -4))))
60.7b
(/.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 B B (*.f64 A (*.f64 C -4))))
Compiler

Compiled 54496 to 31059 computations (43% saved)

localize20.0ms (0.1%)

Local error

Found 4 expressions with local error:

NewErrorProgram
2.9b
(+.f64 (+.f64 C A) (hypot.f64 B (-.f64 A C)))
5.4b
(*.f64 (fma.f64 B B (*.f64 A (*.f64 C -4))) F)
20.6b
(sqrt.f64 (*.f64 2 (*.f64 (fma.f64 B B (*.f64 A (*.f64 C -4))) F)))
21.6b
(/.f64 (neg.f64 (*.f64 (sqrt.f64 (*.f64 2 (*.f64 (fma.f64 B B (*.f64 A (*.f64 C -4))) F))) (sqrt.f64 (+.f64 (+.f64 C A) (hypot.f64 B (-.f64 A C)))))) (fma.f64 B B (*.f64 A (*.f64 C -4))))

series1.8s (5.6%)

Counts
3 → 76
Calls

33 calls:

355.0ms
(/.f64 (neg.f64 (*.f64 (sqrt.f64 (*.f64 2 (*.f64 (fma.f64 B B (*.f64 A (*.f64 C -4))) F))) (sqrt.f64 (+.f64 (+.f64 C A) (hypot.f64 B (-.f64 A C)))))) (fma.f64 B B (*.f64 A (*.f64 C -4))))
A
0
337.0ms
(/.f64 (neg.f64 (*.f64 (sqrt.f64 (*.f64 2 (*.f64 (fma.f64 B B (*.f64 A (*.f64 C -4))) F))) (sqrt.f64 (+.f64 (+.f64 C A) (hypot.f64 B (-.f64 A C)))))) (fma.f64 B B (*.f64 A (*.f64 C -4))))
F
inf
309.0ms
(/.f64 (neg.f64 (*.f64 (sqrt.f64 (*.f64 2 (*.f64 (fma.f64 B B (*.f64 A (*.f64 C -4))) F))) (sqrt.f64 (+.f64 (+.f64 C A) (hypot.f64 B (-.f64 A C)))))) (fma.f64 B B (*.f64 A (*.f64 C -4))))
B
0
273.0ms
(/.f64 (neg.f64 (*.f64 (sqrt.f64 (*.f64 2 (*.f64 (fma.f64 B B (*.f64 A (*.f64 C -4))) F))) (sqrt.f64 (+.f64 (+.f64 C A) (hypot.f64 B (-.f64 A C)))))) (fma.f64 B B (*.f64 A (*.f64 C -4))))
F
0
194.0ms
(/.f64 (neg.f64 (*.f64 (sqrt.f64 (*.f64 2 (*.f64 (fma.f64 B B (*.f64 A (*.f64 C -4))) F))) (sqrt.f64 (+.f64 (+.f64 C A) (hypot.f64 B (-.f64 A C)))))) (fma.f64 B B (*.f64 A (*.f64 C -4))))
C
0

rewrite49.0ms (0.2%)

Algorithm
batch-egg-rewrite
Rules
234×add-sqr-sqrt_binary64
223×log1p-expm1-u_binary64
223×expm1-log1p-u_binary64
222×add-cbrt-cube_binary64
218×add-exp-log_binary64
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
02181
147179
Stop Event
node limit
Counts
3 → 98

simplify160.0ms (0.5%)

Algorithm
egg-herbie
Rules
571×*-commutative_binary64
331×+-commutative_binary64
298×fma-def_binary64
279×associate-+r+_binary64
251×associate-*r*_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0131320322
Stop Event
node limit
Counts
174 → 224

prune637.0ms (2%)

Pruning

28 alts after pruning (28 fresh and 0 done)

PrunedKeptTotal
New23610246
Fresh111829
Picked101
Done000
Total24828276
Error
26.6b
Counts
276 → 28
Alt Table
StatusErrorProgram
50.9b
(/.f64 (neg.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 (*.f64 (fma.f64 B B (*.f64 A (*.f64 C -4))) (*.f64 F (+.f64 (+.f64 C A) (hypot.f64 B (-.f64 A C)))))))) (fma.f64 B B (*.f64 A (*.f64 C -4))))
57.9b
(/.f64 (neg.f64 (sqrt.f64 (*.f64 2 (*.f64 -8 (*.f64 A (*.f64 (pow.f64 C 2) F)))))) (fma.f64 B B (*.f64 A (*.f64 C -4))))
51.7b
(/.f64 (neg.f64 (sqrt.f64 (*.f64 2 (exp.f64 (log.f64 (*.f64 (fma.f64 B B (*.f64 A (*.f64 C -4))) (*.f64 F (+.f64 (+.f64 C A) (hypot.f64 B (-.f64 A C)))))))))) (fma.f64 B B (*.f64 A (*.f64 C -4))))
49.8b
(/.f64 (neg.f64 (*.f64 (*.f64 (sqrt.f64 (*.f64 2 (fma.f64 B B (*.f64 A (*.f64 C -4))))) (sqrt.f64 F)) (sqrt.f64 (+.f64 (+.f64 C A) (hypot.f64 B (-.f64 A C)))))) (fma.f64 B B (*.f64 A (*.f64 C -4))))
55.3b
(/.f64 (neg.f64 (sqrt.f64 (*.f64 2 (*.f64 (*.f64 -4 (*.f64 A (*.f64 C F))) (+.f64 C (+.f64 A (hypot.f64 B (-.f64 A C)))))))) (fma.f64 B B (*.f64 A (*.f64 C -4))))
54.8b
(/.f64 (neg.f64 (*.f64 (sqrt.f64 (*.f64 2 (*.f64 (fma.f64 B B (*.f64 A (*.f64 C -4))) F))) (sqrt.f64 (-.f64 (*.f64 2 C) (*.f64 1/2 (/.f64 (pow.f64 B 2) A)))))) (fma.f64 B B (*.f64 A (*.f64 C -4))))
60.6b
(neg.f64 (*.f64 (sqrt.f64 (*.f64 F (+.f64 A (sqrt.f64 (+.f64 (*.f64 A A) (*.f64 B B)))))) (/.f64 (sqrt.f64 2) B)))
57.5b
(/.f64 (neg.f64 (sqrt.f64 (*.f64 2 (*.f64 -8 (*.f64 (pow.f64 A 2) (*.f64 C F)))))) (fma.f64 B B (*.f64 A (*.f64 C -4))))
60.5b
(sqrt.f64 (/.f64 (*.f64 (*.f64 2 (*.f64 (fma.f64 B B (*.f64 A (*.f64 C -4))) F)) (+.f64 C (+.f64 A (hypot.f64 B (-.f64 A C))))) (pow.f64 (fma.f64 B B (*.f64 A (*.f64 C -4))) 2)))
56.1b
(/.f64 (neg.f64 (*.f64 (sqrt.f64 (*.f64 2 (*.f64 (fma.f64 B B (*.f64 A (*.f64 C -4))) F))) (sqrt.f64 (-.f64 (*.f64 2 A) (*.f64 1/2 (/.f64 (pow.f64 B 2) C)))))) (fma.f64 B B (*.f64 A (*.f64 C -4))))
53.9b
(neg.f64 (*.f64 (sqrt.f64 (*.f64 -1/2 (/.f64 F C))) (sqrt.f64 2)))
51.1b
(*.f64 (/.f64 -1 (pow.f64 (cbrt.f64 (fma.f64 B B (*.f64 A (*.f64 C -4)))) 2)) (/.f64 (sqrt.f64 (*.f64 2 (*.f64 (fma.f64 B B (*.f64 A (*.f64 C -4))) (*.f64 F (+.f64 (+.f64 C A) (hypot.f64 B (-.f64 A C))))))) (cbrt.f64 (fma.f64 B B (*.f64 A (*.f64 C -4))))))
50.7b
(neg.f64 (/.f64 (sqrt.f64 (*.f64 (*.f64 2 (*.f64 (fma.f64 B B (*.f64 A (*.f64 C -4))) F)) (+.f64 C (+.f64 A (hypot.f64 B (-.f64 A C)))))) (fma.f64 B B (*.f64 A (*.f64 C -4)))))
55.9b
(/.f64 (neg.f64 (*.f64 (sqrt.f64 (*.f64 -8 (*.f64 A F))) (*.f64 C (sqrt.f64 2)))) (fma.f64 B B (*.f64 A (*.f64 C -4))))
63.3b
(/.f64 (neg.f64 (sqrt.f64 (*.f64 2 (*.f64 (log.f64 (+.f64 1 (expm1.f64 (*.f64 (fma.f64 B B (*.f64 A (*.f64 C -4))) F)))) (+.f64 C (+.f64 A (hypot.f64 B (-.f64 A C)))))))) (fma.f64 B B (*.f64 A (*.f64 C -4))))
57.0b
(/.f64 (neg.f64 (fma.f64 A (*.f64 (sqrt.f64 2) (sqrt.f64 (*.f64 -8 (*.f64 C F)))) (/.f64 F (/.f64 (sqrt.f64 (*.f64 -8 (*.f64 C F))) (*.f64 (sqrt.f64 2) (*.f64 B B)))))) (fma.f64 B B (*.f64 A (*.f64 C -4))))
57.9b
(/.f64 (neg.f64 (sqrt.f64 (*.f64 2 (*.f64 (-.f64 (exp.f64 (log1p.f64 (*.f64 (fma.f64 B B (*.f64 A (*.f64 C -4))) F))) 1) (+.f64 C (+.f64 A (hypot.f64 B (-.f64 A C)))))))) (fma.f64 B B (*.f64 A (*.f64 C -4))))
61.9b
(/.f64 (neg.f64 (sqrt.f64 (*.f64 2 (neg.f64 (*.f64 F (pow.f64 B 3)))))) (fma.f64 B B (*.f64 A (*.f64 C -4))))
58.3b
(/.f64 (neg.f64 (*.f64 (*.f64 (sqrt.f64 F) (*.f64 (sqrt.f64 2) B)) (sqrt.f64 (+.f64 (+.f64 C A) (hypot.f64 B (-.f64 A C)))))) (fma.f64 B B (*.f64 A (*.f64 C -4))))
50.9b
(/.f64 (neg.f64 (pow.f64 (pow.f64 (*.f64 2 (*.f64 (fma.f64 B B (*.f64 A (*.f64 C -4))) (*.f64 F (+.f64 (+.f64 C A) (hypot.f64 B (-.f64 A C)))))) 1/4) 2)) (fma.f64 B B (*.f64 A (*.f64 C -4))))
61.8b
(/.f64 (neg.f64 (sqrt.f64 (*.f64 2 (*.f64 F (pow.f64 B 3))))) (fma.f64 B B (*.f64 A (*.f64 C -4))))
56.7b
(neg.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 (/.f64 (*.f64 -1/2 F) A))))
61.0b
(*.f64 -1 (*.f64 (sqrt.f64 2) (sqrt.f64 (*.f64 -1/4 (/.f64 (*.f64 F (+.f64 A (+.f64 C (sqrt.f64 (-.f64 (+.f64 (pow.f64 A 2) (pow.f64 C 2)) (*.f64 2 (*.f64 A C))))))) (*.f64 A C))))))
48.4b
(/.f64 (neg.f64 (*.f64 (*.f64 (sqrt.f64 (*.f64 (fma.f64 B B (*.f64 A (*.f64 C -4))) F)) (sqrt.f64 2)) (sqrt.f64 (+.f64 (+.f64 C A) (hypot.f64 B (-.f64 A C)))))) (fma.f64 B B (*.f64 A (*.f64 C -4))))
47.9b
(*.f64 (/.f64 (sqrt.f64 (*.f64 2 (*.f64 (fma.f64 B B (*.f64 A (*.f64 C -4))) F))) 1) (/.f64 (neg.f64 (sqrt.f64 (+.f64 C (+.f64 A (hypot.f64 B (-.f64 A C)))))) (fma.f64 B B (*.f64 A (*.f64 C -4)))))
62.5b
(/.f64 (neg.f64 (sqrt.f64 (*.f64 2 (-.f64 (+.f64 (*.f64 C (*.f64 F (pow.f64 B 2))) (+.f64 (*.f64 A (*.f64 F (pow.f64 B 2))) (*.f64 5 (*.f64 A (*.f64 C (*.f64 F B)))))) (+.f64 (*.f64 F (pow.f64 B 3)) (+.f64 (*.f64 1/2 (*.f64 (pow.f64 A 2) (*.f64 F B))) (*.f64 1/2 (*.f64 (pow.f64 C 2) (*.f64 F B))))))))) (fma.f64 B B (*.f64 A (*.f64 C -4))))
50.8b
(/.f64 (neg.f64 (sqrt.f64 (*.f64 2 (*.f64 (pow.f64 (cbrt.f64 (*.f64 (fma.f64 B B (*.f64 A (*.f64 C -4))) F)) 3) (+.f64 C (+.f64 A (hypot.f64 B (-.f64 A C)))))))) (fma.f64 B B (*.f64 A (*.f64 C -4))))
54.6b
(/.f64 (neg.f64 (*.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 (*.f64 -4 (*.f64 A (*.f64 C F))))) (sqrt.f64 (+.f64 (+.f64 C A) (hypot.f64 B (-.f64 A C)))))) (fma.f64 B B (*.f64 A (*.f64 C -4))))
Compiler

Compiled 35297 to 20382 computations (42.3% saved)

localize20.0ms (0.1%)

Local error

Found 4 expressions with local error:

NewErrorProgram
5.4b
(*.f64 (fma.f64 B B (*.f64 A (*.f64 C -4))) F)
9.0b
(/.f64 (neg.f64 (sqrt.f64 (+.f64 C (+.f64 A (hypot.f64 B (-.f64 A C)))))) (fma.f64 B B (*.f64 A (*.f64 C -4))))
12.2b
(*.f64 (/.f64 (sqrt.f64 (*.f64 2 (*.f64 (fma.f64 B B (*.f64 A (*.f64 C -4))) F))) 1) (/.f64 (neg.f64 (sqrt.f64 (+.f64 C (+.f64 A (hypot.f64 B (-.f64 A C)))))) (fma.f64 B B (*.f64 A (*.f64 C -4)))))
20.6b
(sqrt.f64 (*.f64 2 (*.f64 (fma.f64 B B (*.f64 A (*.f64 C -4))) F)))

series1.9s (5.9%)

Counts
2 → 40
Calls

21 calls:

370.0ms
(*.f64 (/.f64 (sqrt.f64 (*.f64 2 (*.f64 (fma.f64 B B (*.f64 A (*.f64 C -4))) F))) 1) (/.f64 (neg.f64 (sqrt.f64 (+.f64 C (+.f64 A (hypot.f64 B (-.f64 A C)))))) (fma.f64 B B (*.f64 A (*.f64 C -4)))))
A
0
310.0ms
(*.f64 (/.f64 (sqrt.f64 (*.f64 2 (*.f64 (fma.f64 B B (*.f64 A (*.f64 C -4))) F))) 1) (/.f64 (neg.f64 (sqrt.f64 (+.f64 C (+.f64 A (hypot.f64 B (-.f64 A C)))))) (fma.f64 B B (*.f64 A (*.f64 C -4)))))
B
0
299.0ms
(*.f64 (/.f64 (sqrt.f64 (*.f64 2 (*.f64 (fma.f64 B B (*.f64 A (*.f64 C -4))) F))) 1) (/.f64 (neg.f64 (sqrt.f64 (+.f64 C (+.f64 A (hypot.f64 B (-.f64 A C)))))) (fma.f64 B B (*.f64 A (*.f64 C -4)))))
F
inf
277.0ms
(*.f64 (/.f64 (sqrt.f64 (*.f64 2 (*.f64 (fma.f64 B B (*.f64 A (*.f64 C -4))) F))) 1) (/.f64 (neg.f64 (sqrt.f64 (+.f64 C (+.f64 A (hypot.f64 B (-.f64 A C)))))) (fma.f64 B B (*.f64 A (*.f64 C -4)))))
F
0
187.0ms
(*.f64 (/.f64 (sqrt.f64 (*.f64 2 (*.f64 (fma.f64 B B (*.f64 A (*.f64 C -4))) F))) 1) (/.f64 (neg.f64 (sqrt.f64 (+.f64 C (+.f64 A (hypot.f64 B (-.f64 A C)))))) (fma.f64 B B (*.f64 A (*.f64 C -4)))))
C
0

rewrite34.0ms (0.1%)

Algorithm
batch-egg-rewrite
Rules
239×add-sqr-sqrt_binary64
227×log1p-expm1-u_binary64
227×expm1-log1p-u_binary64
226×add-cbrt-cube_binary64
222×add-log-exp_binary64
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
02381
151177
Stop Event
node limit
Counts
2 → 37

simplify176.0ms (0.6%)

Algorithm
egg-herbie
Rules
383×fma-def_binary64
342×associate-+r+_binary64
333×associate-*r*_binary64
199×associate-/r*_binary64
199×associate-/l*_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0165624973
Stop Event
node limit
Counts
77 → 116

prune640.0ms (2%)

Pruning

26 alts after pruning (26 fresh and 0 done)

PrunedKeptTotal
New1833186
Fresh42327
Picked101
Done000
Total18826214
Error
25.5b
Counts
214 → 26
Alt Table
StatusErrorProgram
50.9b
(/.f64 (neg.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 (*.f64 (fma.f64 B B (*.f64 A (*.f64 C -4))) (*.f64 F (+.f64 (+.f64 C A) (hypot.f64 B (-.f64 A C)))))))) (fma.f64 B B (*.f64 A (*.f64 C -4))))
57.9b
(/.f64 (neg.f64 (sqrt.f64 (*.f64 2 (*.f64 -8 (*.f64 A (*.f64 (pow.f64 C 2) F)))))) (fma.f64 B B (*.f64 A (*.f64 C -4))))
51.7b
(/.f64 (neg.f64 (sqrt.f64 (*.f64 2 (exp.f64 (log.f64 (*.f64 (fma.f64 B B (*.f64 A (*.f64 C -4))) (*.f64 F (+.f64 (+.f64 C A) (hypot.f64 B (-.f64 A C)))))))))) (fma.f64 B B (*.f64 A (*.f64 C -4))))
49.8b
(/.f64 (neg.f64 (*.f64 (*.f64 (sqrt.f64 (*.f64 2 (fma.f64 B B (*.f64 A (*.f64 C -4))))) (sqrt.f64 F)) (sqrt.f64 (+.f64 (+.f64 C A) (hypot.f64 B (-.f64 A C)))))) (fma.f64 B B (*.f64 A (*.f64 C -4))))
55.3b
(/.f64 (neg.f64 (sqrt.f64 (*.f64 2 (*.f64 (*.f64 -4 (*.f64 A (*.f64 C F))) (+.f64 C (+.f64 A (hypot.f64 B (-.f64 A C)))))))) (fma.f64 B B (*.f64 A (*.f64 C -4))))
54.8b
(/.f64 (neg.f64 (*.f64 (sqrt.f64 (*.f64 2 (*.f64 (fma.f64 B B (*.f64 A (*.f64 C -4))) F))) (sqrt.f64 (-.f64 (*.f64 2 C) (*.f64 1/2 (/.f64 (pow.f64 B 2) A)))))) (fma.f64 B B (*.f64 A (*.f64 C -4))))
60.6b
(neg.f64 (*.f64 (sqrt.f64 (*.f64 F (+.f64 A (sqrt.f64 (+.f64 (*.f64 A A) (*.f64 B B)))))) (/.f64 (sqrt.f64 2) B)))
57.5b
(/.f64 (neg.f64 (sqrt.f64 (*.f64 2 (*.f64 -8 (*.f64 (pow.f64 A 2) (*.f64 C F)))))) (fma.f64 B B (*.f64 A (*.f64 C -4))))
60.5b
(sqrt.f64 (/.f64 (*.f64 (*.f64 2 (*.f64 (fma.f64 B B (*.f64 A (*.f64 C -4))) F)) (+.f64 C (+.f64 A (hypot.f64 B (-.f64 A C))))) (pow.f64 (fma.f64 B B (*.f64 A (*.f64 C -4))) 2)))
56.1b
(/.f64 (neg.f64 (*.f64 (sqrt.f64 (*.f64 2 (*.f64 (fma.f64 B B (*.f64 A (*.f64 C -4))) F))) (sqrt.f64 (-.f64 (*.f64 2 A) (*.f64 1/2 (/.f64 (pow.f64 B 2) C)))))) (fma.f64 B B (*.f64 A (*.f64 C -4))))
53.9b
(neg.f64 (*.f64 (sqrt.f64 (*.f64 -1/2 (/.f64 F C))) (sqrt.f64 2)))
50.7b
(neg.f64 (/.f64 (sqrt.f64 (*.f64 (*.f64 2 (*.f64 (fma.f64 B B (*.f64 A (*.f64 C -4))) F)) (+.f64 C (+.f64 A (hypot.f64 B (-.f64 A C)))))) (fma.f64 B B (*.f64 A (*.f64 C -4)))))
55.9b
(/.f64 (neg.f64 (*.f64 (sqrt.f64 (*.f64 -8 (*.f64 A F))) (*.f64 C (sqrt.f64 2)))) (fma.f64 B B (*.f64 A (*.f64 C -4))))
63.3b
(/.f64 (neg.f64 (sqrt.f64 (*.f64 2 (*.f64 (log.f64 (+.f64 1 (expm1.f64 (*.f64 (fma.f64 B B (*.f64 A (*.f64 C -4))) F)))) (+.f64 C (+.f64 A (hypot.f64 B (-.f64 A C)))))))) (fma.f64 B B (*.f64 A (*.f64 C -4))))
57.0b
(/.f64 (neg.f64 (fma.f64 A (*.f64 (sqrt.f64 2) (sqrt.f64 (*.f64 -8 (*.f64 C F)))) (/.f64 F (/.f64 (sqrt.f64 (*.f64 -8 (*.f64 C F))) (*.f64 (sqrt.f64 2) (*.f64 B B)))))) (fma.f64 B B (*.f64 A (*.f64 C -4))))
57.9b
(/.f64 (neg.f64 (sqrt.f64 (*.f64 2 (*.f64 (-.f64 (exp.f64 (log1p.f64 (*.f64 (fma.f64 B B (*.f64 A (*.f64 C -4))) F))) 1) (+.f64 C (+.f64 A (hypot.f64 B (-.f64 A C)))))))) (fma.f64 B B (*.f64 A (*.f64 C -4))))
61.9b
(/.f64 (neg.f64 (sqrt.f64 (*.f64 2 (neg.f64 (*.f64 F (pow.f64 B 3)))))) (fma.f64 B B (*.f64 A (*.f64 C -4))))
48.0b
(*.f64 (/.f64 (*.f64 (sqrt.f64 (*.f64 2 (fma.f64 B B (*.f64 A (*.f64 C -4))))) (sqrt.f64 F)) 1) (/.f64 (neg.f64 (sqrt.f64 (+.f64 C (+.f64 A (hypot.f64 B (-.f64 A C)))))) (fma.f64 B B (*.f64 A (*.f64 C -4)))))
61.0b
(*.f64 -1 (*.f64 (sqrt.f64 2) (sqrt.f64 (*.f64 -1/4 (/.f64 (*.f64 F (+.f64 A (+.f64 C (sqrt.f64 (-.f64 (+.f64 (pow.f64 A 2) (pow.f64 C 2)) (*.f64 2 (*.f64 A C))))))) (*.f64 A C))))))
50.9b
(/.f64 (neg.f64 (pow.f64 (pow.f64 (*.f64 2 (*.f64 (fma.f64 B B (*.f64 A (*.f64 C -4))) (*.f64 F (+.f64 (+.f64 C A) (hypot.f64 B (-.f64 A C)))))) 1/4) 2)) (fma.f64 B B (*.f64 A (*.f64 C -4))))
61.8b
(/.f64 (neg.f64 (sqrt.f64 (*.f64 2 (*.f64 F (pow.f64 B 3))))) (fma.f64 B B (*.f64 A (*.f64 C -4))))
56.7b
(neg.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 (/.f64 (*.f64 -1/2 F) A))))
62.5b
(/.f64 (neg.f64 (sqrt.f64 (*.f64 2 (-.f64 (+.f64 (*.f64 C (*.f64 F (pow.f64 B 2))) (+.f64 (*.f64 A (*.f64 F (pow.f64 B 2))) (*.f64 5 (*.f64 A (*.f64 C (*.f64 F B)))))) (+.f64 (*.f64 F (pow.f64 B 3)) (+.f64 (*.f64 1/2 (*.f64 (pow.f64 A 2) (*.f64 F B))) (*.f64 1/2 (*.f64 (pow.f64 C 2) (*.f64 F B))))))))) (fma.f64 B B (*.f64 A (*.f64 C -4))))
50.8b
(/.f64 (neg.f64 (sqrt.f64 (*.f64 2 (*.f64 (pow.f64 (cbrt.f64 (*.f64 (fma.f64 B B (*.f64 A (*.f64 C -4))) F)) 3) (+.f64 C (+.f64 A (hypot.f64 B (-.f64 A C)))))))) (fma.f64 B B (*.f64 A (*.f64 C -4))))
47.9b
(*.f64 (/.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 (*.f64 (fma.f64 B B (*.f64 A (*.f64 C -4))) F))) 1) (/.f64 (neg.f64 (sqrt.f64 (+.f64 C (+.f64 A (hypot.f64 B (-.f64 A C)))))) (fma.f64 B B (*.f64 A (*.f64 C -4)))))
61.8b
(log.f64 (pow.f64 (exp.f64 (/.f64 (sqrt.f64 (+.f64 (+.f64 C A) (hypot.f64 B (-.f64 A C)))) (fma.f64 B B (*.f64 A (*.f64 C -4))))) (sqrt.f64 (*.f64 2 (*.f64 (fma.f64 B B (*.f64 A (*.f64 C -4))) F)))))
Compiler

Compiled 40207 to 23512 computations (41.5% saved)

localize20.0ms (0.1%)

Local error

Found 4 expressions with local error:

NewErrorProgram
5.4b
(*.f64 (fma.f64 B B (*.f64 A (*.f64 C -4))) F)
9.0b
(/.f64 (neg.f64 (sqrt.f64 (+.f64 C (+.f64 A (hypot.f64 B (-.f64 A C)))))) (fma.f64 B B (*.f64 A (*.f64 C -4))))
12.2b
(*.f64 (/.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 (*.f64 (fma.f64 B B (*.f64 A (*.f64 C -4))) F))) 1) (/.f64 (neg.f64 (sqrt.f64 (+.f64 C (+.f64 A (hypot.f64 B (-.f64 A C)))))) (fma.f64 B B (*.f64 A (*.f64 C -4)))))
20.7b
(sqrt.f64 (*.f64 (fma.f64 B B (*.f64 A (*.f64 C -4))) F))

series1.7s (5.3%)

Counts
2 → 40
Calls

24 calls:

352.0ms
(*.f64 (/.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 (*.f64 (fma.f64 B B (*.f64 A (*.f64 C -4))) F))) 1) (/.f64 (neg.f64 (sqrt.f64 (+.f64 C (+.f64 A (hypot.f64 B (-.f64 A C)))))) (fma.f64 B B (*.f64 A (*.f64 C -4)))))
A
0
310.0ms
(*.f64 (/.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 (*.f64 (fma.f64 B B (*.f64 A (*.f64 C -4))) F))) 1) (/.f64 (neg.f64 (sqrt.f64 (+.f64 C (+.f64 A (hypot.f64 B (-.f64 A C)))))) (fma.f64 B B (*.f64 A (*.f64 C -4)))))
B
0
309.0ms
(*.f64 (/.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 (*.f64 (fma.f64 B B (*.f64 A (*.f64 C -4))) F))) 1) (/.f64 (neg.f64 (sqrt.f64 (+.f64 C (+.f64 A (hypot.f64 B (-.f64 A C)))))) (fma.f64 B B (*.f64 A (*.f64 C -4)))))
F
inf
259.0ms
(*.f64 (/.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 (*.f64 (fma.f64 B B (*.f64 A (*.f64 C -4))) F))) 1) (/.f64 (neg.f64 (sqrt.f64 (+.f64 C (+.f64 A (hypot.f64 B (-.f64 A C)))))) (fma.f64 B B (*.f64 A (*.f64 C -4)))))
F
0
196.0ms
(*.f64 (/.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 (*.f64 (fma.f64 B B (*.f64 A (*.f64 C -4))) F))) 1) (/.f64 (neg.f64 (sqrt.f64 (+.f64 C (+.f64 A (hypot.f64 B (-.f64 A C)))))) (fma.f64 B B (*.f64 A (*.f64 C -4)))))
C
0

rewrite54.0ms (0.2%)

Algorithm
batch-egg-rewrite
Rules
247×add-sqr-sqrt_binary64
235×log1p-expm1-u_binary64
235×expm1-log1p-u_binary64
234×add-cbrt-cube_binary64
230×add-log-exp_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
02467
153267
Stop Event
node limit
Counts
2 → 37

simplify217.0ms (0.7%)

Algorithm
egg-herbie
Rules
524×*-commutative_binary64
263×+-commutative_binary64
254×fma-def_binary64
239×associate-*r*_binary64
234×associate-+r+_binary64
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
0114818337
1471016497
Stop Event
node limit
Counts
77 → 101

prune696.0ms (2.2%)

Pruning

28 alts after pruning (27 fresh and 1 done)

PrunedKeptTotal
New1793182
Fresh12425
Picked011
Done000
Total18028208
Error
21.5b
Counts
208 → 28
Alt Table
StatusErrorProgram
50.9b
(/.f64 (neg.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 (*.f64 (fma.f64 B B (*.f64 A (*.f64 C -4))) (*.f64 F (+.f64 (+.f64 C A) (hypot.f64 B (-.f64 A C)))))))) (fma.f64 B B (*.f64 A (*.f64 C -4))))
57.9b
(/.f64 (neg.f64 (sqrt.f64 (*.f64 2 (*.f64 -8 (*.f64 A (*.f64 (pow.f64 C 2) F)))))) (fma.f64 B B (*.f64 A (*.f64 C -4))))
56.0b
(*.f64 (neg.f64 (sqrt.f64 (*.f64 F (+.f64 A (hypot.f64 A B))))) (/.f64 (sqrt.f64 2) B))
51.7b
(/.f64 (neg.f64 (sqrt.f64 (*.f64 2 (exp.f64 (log.f64 (*.f64 (fma.f64 B B (*.f64 A (*.f64 C -4))) (*.f64 F (+.f64 (+.f64 C A) (hypot.f64 B (-.f64 A C)))))))))) (fma.f64 B B (*.f64 A (*.f64 C -4))))
49.8b
(/.f64 (neg.f64 (*.f64 (*.f64 (sqrt.f64 (*.f64 2 (fma.f64 B B (*.f64 A (*.f64 C -4))))) (sqrt.f64 F)) (sqrt.f64 (+.f64 (+.f64 C A) (hypot.f64 B (-.f64 A C)))))) (fma.f64 B B (*.f64 A (*.f64 C -4))))
55.4b
(neg.f64 (*.f64 (sqrt.f64 (*.f64 F (+.f64 C (hypot.f64 C B)))) (/.f64 (sqrt.f64 2) B)))
55.3b
(/.f64 (neg.f64 (sqrt.f64 (*.f64 2 (*.f64 (*.f64 -4 (*.f64 A (*.f64 C F))) (+.f64 C (+.f64 A (hypot.f64 B (-.f64 A C)))))))) (fma.f64 B B (*.f64 A (*.f64 C -4))))
54.8b
(/.f64 (neg.f64 (*.f64 (sqrt.f64 (*.f64 2 (*.f64 (fma.f64 B B (*.f64 A (*.f64 C -4))) F))) (sqrt.f64 (-.f64 (*.f64 2 C) (*.f64 1/2 (/.f64 (pow.f64 B 2) A)))))) (fma.f64 B B (*.f64 A (*.f64 C -4))))
57.5b
(/.f64 (neg.f64 (sqrt.f64 (*.f64 2 (*.f64 -8 (*.f64 (pow.f64 A 2) (*.f64 C F)))))) (fma.f64 B B (*.f64 A (*.f64 C -4))))
60.5b
(sqrt.f64 (/.f64 (*.f64 (*.f64 2 (*.f64 (fma.f64 B B (*.f64 A (*.f64 C -4))) F)) (+.f64 C (+.f64 A (hypot.f64 B (-.f64 A C))))) (pow.f64 (fma.f64 B B (*.f64 A (*.f64 C -4))) 2)))
56.1b
(/.f64 (neg.f64 (*.f64 (sqrt.f64 (*.f64 2 (*.f64 (fma.f64 B B (*.f64 A (*.f64 C -4))) F))) (sqrt.f64 (-.f64 (*.f64 2 A) (*.f64 1/2 (/.f64 (pow.f64 B 2) C)))))) (fma.f64 B B (*.f64 A (*.f64 C -4))))
53.9b
(neg.f64 (*.f64 (sqrt.f64 (*.f64 -1/2 (/.f64 F C))) (sqrt.f64 2)))
50.7b
(neg.f64 (/.f64 (sqrt.f64 (*.f64 (*.f64 2 (*.f64 (fma.f64 B B (*.f64 A (*.f64 C -4))) F)) (+.f64 C (+.f64 A (hypot.f64 B (-.f64 A C)))))) (fma.f64 B B (*.f64 A (*.f64 C -4)))))
55.9b
(/.f64 (neg.f64 (*.f64 (sqrt.f64 (*.f64 -8 (*.f64 A F))) (*.f64 C (sqrt.f64 2)))) (fma.f64 B B (*.f64 A (*.f64 C -4))))
63.3b
(/.f64 (neg.f64 (sqrt.f64 (*.f64 2 (*.f64 (log.f64 (+.f64 1 (expm1.f64 (*.f64 (fma.f64 B B (*.f64 A (*.f64 C -4))) F)))) (+.f64 C (+.f64 A (hypot.f64 B (-.f64 A C)))))))) (fma.f64 B B (*.f64 A (*.f64 C -4))))
57.0b
(/.f64 (neg.f64 (fma.f64 A (*.f64 (sqrt.f64 2) (sqrt.f64 (*.f64 -8 (*.f64 C F)))) (/.f64 F (/.f64 (sqrt.f64 (*.f64 -8 (*.f64 C F))) (*.f64 (sqrt.f64 2) (*.f64 B B)))))) (fma.f64 B B (*.f64 A (*.f64 C -4))))
57.9b
(/.f64 (neg.f64 (sqrt.f64 (*.f64 2 (*.f64 (-.f64 (exp.f64 (log1p.f64 (*.f64 (fma.f64 B B (*.f64 A (*.f64 C -4))) F))) 1) (+.f64 C (+.f64 A (hypot.f64 B (-.f64 A C)))))))) (fma.f64 B B (*.f64 A (*.f64 C -4))))
61.9b
(/.f64 (neg.f64 (sqrt.f64 (*.f64 2 (neg.f64 (*.f64 F (pow.f64 B 3)))))) (fma.f64 B B (*.f64 A (*.f64 C -4))))
48.0b
(*.f64 (/.f64 (*.f64 (sqrt.f64 (*.f64 2 (fma.f64 B B (*.f64 A (*.f64 C -4))))) (sqrt.f64 F)) 1) (/.f64 (neg.f64 (sqrt.f64 (+.f64 C (+.f64 A (hypot.f64 B (-.f64 A C)))))) (fma.f64 B B (*.f64 A (*.f64 C -4)))))
61.0b
(*.f64 -1 (*.f64 (sqrt.f64 2) (sqrt.f64 (*.f64 -1/4 (/.f64 (*.f64 F (+.f64 A (+.f64 C (sqrt.f64 (-.f64 (+.f64 (pow.f64 A 2) (pow.f64 C 2)) (*.f64 2 (*.f64 A C))))))) (*.f64 A C))))))
50.9b
(/.f64 (neg.f64 (pow.f64 (pow.f64 (*.f64 2 (*.f64 (fma.f64 B B (*.f64 A (*.f64 C -4))) (*.f64 F (+.f64 (+.f64 C A) (hypot.f64 B (-.f64 A C)))))) 1/4) 2)) (fma.f64 B B (*.f64 A (*.f64 C -4))))
61.8b
(/.f64 (neg.f64 (sqrt.f64 (*.f64 2 (*.f64 F (pow.f64 B 3))))) (fma.f64 B B (*.f64 A (*.f64 C -4))))
56.7b
(neg.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 (/.f64 (*.f64 -1/2 F) A))))
50.6b
(*.f64 (/.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 F) (hypot.f64 B (sqrt.f64 (*.f64 A (*.f64 C -4)))))) 1) (/.f64 (neg.f64 (sqrt.f64 (+.f64 C (+.f64 A (hypot.f64 B (-.f64 A C)))))) (fma.f64 B B (*.f64 A (*.f64 C -4)))))
62.5b
(/.f64 (neg.f64 (sqrt.f64 (*.f64 2 (-.f64 (+.f64 (*.f64 C (*.f64 F (pow.f64 B 2))) (+.f64 (*.f64 A (*.f64 F (pow.f64 B 2))) (*.f64 5 (*.f64 A (*.f64 C (*.f64 F B)))))) (+.f64 (*.f64 F (pow.f64 B 3)) (+.f64 (*.f64 1/2 (*.f64 (pow.f64 A 2) (*.f64 F B))) (*.f64 1/2 (*.f64 (pow.f64 C 2) (*.f64 F B))))))))) (fma.f64 B B (*.f64 A (*.f64 C -4))))
50.8b
(/.f64 (neg.f64 (sqrt.f64 (*.f64 2 (*.f64 (pow.f64 (cbrt.f64 (*.f64 (fma.f64 B B (*.f64 A (*.f64 C -4))) F)) 3) (+.f64 C (+.f64 A (hypot.f64 B (-.f64 A C)))))))) (fma.f64 B B (*.f64 A (*.f64 C -4))))
47.9b
(*.f64 (/.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 (*.f64 (fma.f64 B B (*.f64 A (*.f64 C -4))) F))) 1) (/.f64 (neg.f64 (sqrt.f64 (+.f64 C (+.f64 A (hypot.f64 B (-.f64 A C)))))) (fma.f64 B B (*.f64 A (*.f64 C -4)))))
61.8b
(log.f64 (pow.f64 (exp.f64 (/.f64 (sqrt.f64 (+.f64 (+.f64 C A) (hypot.f64 B (-.f64 A C)))) (fma.f64 B B (*.f64 A (*.f64 C -4))))) (sqrt.f64 (*.f64 2 (*.f64 (fma.f64 B B (*.f64 A (*.f64 C -4))) F)))))
Compiler

Compiled 38037 to 22794 computations (40.1% saved)

regimes2.7s (8.4%)

Accuracy

Total 20.4b remaining (51.3%)

Threshold costs 0b (0%)

Counts
146 → 7
Compiler

Compiled 37483 to 24820 computations (33.8% saved)

bsearch610.0ms (1.9%)

Algorithm
binary-search
Calls

6 calls:

143.0ms
B
130.0ms
B
117.0ms
B
116.0ms
B
77.0ms
B
Steps
ItersPointRange
8.49625271680864e+138
∈ [
1.076126203103963e+138
,
8.636016744999711e+138
]
742.5427233374058
∈ [
0.007463145168373619
,
736968581.5382441
]
7.395390810525929e-138
∈ [
6.073593144167236e-138
,
3.1884561000934775e-136
]
7.082312261175921e-228
∈ [
1.9155239878130505e-229
,
3.4919042411211524e-227
]
-435814139245693630.0
∈ [
-7667525169434878000.0
,
-24525497212606710.0
]
-8.738524181400431e+158
∈ [
-1.8370039986478275e+165
,
-8.648315115873564e+158
]
Compiler

Compiled 5 to 4 computations (20% saved)

simplify13.0ms (0%)

Algorithm
egg-herbie
Rules
33×*-commutative_binary64
23×+-commutative_binary64
20×sub-neg_binary64
20×neg-sub0_binary64
20×neg-mul-1_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
069297
1119297
2164297
3196297
4217297
5224297
6229297
7231297
Stop Event
saturated

end534.0ms (1.7%)

Stop Event
fuel
Compiler

Compiled 1359 to 876 computations (35.5% saved)

Profiling

Loading profile data...