Details

Time bar (total: 19.9s)

analyze4.1s (20.7%)

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

Compiled 45 to 33 computations (26.7% saved)

sample218.0ms (1.1%)

Algorithm
intervals
Results
30.0ms159×body128valid
29.0ms38×body1024valid
22.0ms22×body2048nan
22.0ms24×body2048valid
22.0ms27×body1024nan
18.0ms95×body128nan
13.0ms22×body512valid
12.0ms20×body512nan
5.0ms13×body256valid
5.0ms10×body256nan
Compiler

Compiled 93 to 69 computations (25.8% saved)

simplify41.0ms (0.2%)

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

Useful iterations: 0 (0.0ms)

IterNodesCost
02361
16661
219561
367461
4257861
5561761

prune3.0ms (0%)

Pruning

1 alts after pruning (1 fresh and 0 done)

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

Compiled 132 to 91 computations (31.1% saved)

localize22.0ms (0.1%)

Local error

Found 4 expressions with local error:

6.4b
(*.f64 (-.f64 (pow.f64 B 2) (*.f64 (*.f64 4 A) C)) F)
14.8b
(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))))))
19.6b
(/.f64 (neg.f64 (sqrt.f64 (*.f64 (*.f64 2 (*.f64 (-.f64 (pow.f64 B 2) (*.f64 (*.f64 4 A) C)) F)) (+.f64 (+.f64 A C) (sqrt.f64 (+.f64 (pow.f64 (-.f64 A C) 2) (pow.f64 B 2))))))) (-.f64 (pow.f64 B 2) (*.f64 (*.f64 4 A) C)))
35.2b
(sqrt.f64 (+.f64 (pow.f64 (-.f64 A C) 2) (pow.f64 B 2)))

rewrite605.0ms (3%)

Algorithm
rewrite-expression-head
Error
52.8b
Rules
66×sqrt-div_binary64
40×associate-*r/_binary64
39×*-un-lft-identity_binary64
36×times-frac_binary64
35×add-sqr-sqrt_binary64
Counts
4 → 158
Calls

4 calls:

24.0ms
(sqrt.f64 (*.f64 (*.f64 2 (*.f64 (-.f64 (pow.f64 B 2) (*.f64 (*.f64 4 A) C)) F)) (+.f64 (+.f64 A C) (sqrt.f64 (+.f64 (pow.f64 (-.f64 A C) 2) (pow.f64 B 2))))))
19.0ms
(/.f64 (neg.f64 (sqrt.f64 (*.f64 (*.f64 2 (*.f64 (-.f64 (pow.f64 B 2) (*.f64 (*.f64 4 A) C)) F)) (+.f64 (+.f64 A C) (sqrt.f64 (+.f64 (pow.f64 (-.f64 A C) 2) (pow.f64 B 2))))))) (-.f64 (pow.f64 B 2) (*.f64 (*.f64 4 A) C)))
8.0ms
(sqrt.f64 (+.f64 (pow.f64 (-.f64 A C) 2) (pow.f64 B 2)))
6.0ms
(*.f64 (-.f64 (pow.f64 B 2) (*.f64 (*.f64 4 A) C)) F)
Compiler

Compiled 11279 to 7235 computations (35.9% saved)

series932.0ms (4.7%)

Error
32.0b
Counts
4 → 75
Calls

4 calls:

364.0ms
(sqrt.f64 (*.f64 (*.f64 2 (*.f64 (-.f64 (pow.f64 B 2) (*.f64 (*.f64 4 A) C)) F)) (+.f64 (+.f64 A C) (sqrt.f64 (+.f64 (pow.f64 (-.f64 A C) 2) (pow.f64 B 2))))))
343.0ms
(/.f64 (neg.f64 (sqrt.f64 (*.f64 (*.f64 2 (*.f64 (-.f64 (pow.f64 B 2) (*.f64 (*.f64 4 A) C)) F)) (+.f64 (+.f64 A C) (sqrt.f64 (+.f64 (pow.f64 (-.f64 A C) 2) (pow.f64 B 2))))))) (-.f64 (pow.f64 B 2) (*.f64 (*.f64 4 A) C)))
85.0ms
(sqrt.f64 (+.f64 (pow.f64 (-.f64 A C) 2) (pow.f64 B 2)))
54.0ms
(*.f64 (-.f64 (pow.f64 B 2) (*.f64 (*.f64 4 A) C)) F)
Compiler

Compiled 13875 to 10156 computations (26.8% saved)

simplify230.0ms (1.2%)

Algorithm
egg-herbie
Rules
317×distribute-rgt-in_binary64
312×distribute-lft-in_binary64
276×associate-/l*_binary64
238×*-commutative_binary64
234×times-frac_binary64
Counts
233 → 209
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
064614436
1184813978
2499013978

prune307.0ms (1.5%)

Pruning

17 alts after pruning (17 fresh and 0 done)

PrunedKeptTotal
New19217209
Fresh000
Picked101
Done000
Total19317210
Error
31.2b
Counts
210 → 17
Alt Table
StatusErrorProgram
59.8b
(neg.f64 (*.f64 (sqrt.f64 (*.f64 F (+.f64 C (sqrt.f64 (+.f64 (*.f64 C C) (*.f64 B B)))))) (/.f64 (sqrt.f64 2) B)))
55.2b
(/.f64 (neg.f64 (sqrt.f64 (*.f64 (*.f64 2 (*.f64 (-.f64 (pow.f64 B 2) (*.f64 (*.f64 4 A) C)) F)) (+.f64 (+.f64 A C) (*.f64 (*.f64 (cbrt.f64 (sqrt.f64 (+.f64 (*.f64 B B) (pow.f64 (-.f64 A C) 2)))) (cbrt.f64 (sqrt.f64 (+.f64 (*.f64 B B) (pow.f64 (-.f64 A C) 2))))) (cbrt.f64 (sqrt.f64 (+.f64 (*.f64 B B) (pow.f64 (-.f64 A C) 2))))))))) (-.f64 (pow.f64 B 2) (*.f64 (*.f64 4 A) C)))
63.3b
(/.f64 (neg.f64 (sqrt.f64 (*.f64 (*.f64 2 (*.f64 (-.f64 (pow.f64 B 2) (*.f64 (*.f64 4 A) C)) F)) (+.f64 (+.f64 A C) (neg.f64 C))))) (-.f64 (pow.f64 B 2) (*.f64 (*.f64 4 A) C)))
53.2b
(/.f64 (sqrt.f64 (*.f64 2 (*.f64 (-.f64 (pow.f64 B 2) (*.f64 (*.f64 4 A) C)) F))) (/.f64 (-.f64 (*.f64 B B) (*.f64 (*.f64 C A) 4)) (neg.f64 (sqrt.f64 (+.f64 (sqrt.f64 (+.f64 (*.f64 B B) (pow.f64 (-.f64 A C) 2))) (+.f64 C A))))))
53.2b
(*.f64 (sqrt.f64 (*.f64 2 (*.f64 F (-.f64 (*.f64 B B) (*.f64 (*.f64 C A) 4))))) (/.f64 (neg.f64 (sqrt.f64 (+.f64 (sqrt.f64 (+.f64 (*.f64 B B) (pow.f64 (-.f64 A C) 2))) (+.f64 C A)))) (-.f64 (*.f64 B B) (*.f64 (*.f64 C A) 4))))
47.4b
(/.f64 (neg.f64 (+.f64 (*.f64 (*.f64 C (sqrt.f64 2)) (sqrt.f64 (*.f64 -8 (*.f64 A F)))) (/.f64 (*.f64 F (*.f64 (*.f64 B B) (sqrt.f64 2))) (sqrt.f64 (*.f64 -8 (*.f64 A F)))))) (-.f64 (pow.f64 B 2) (*.f64 (*.f64 4 A) C)))
54.5b
(/.f64 (neg.f64 (sqrt.f64 (*.f64 (*.f64 2 (*.f64 (-.f64 (pow.f64 B 2) (*.f64 (*.f64 4 A) C)) F)) (+.f64 (+.f64 A C) (+.f64 (*.f64 1/2 (/.f64 (*.f64 B B) C)) (-.f64 C A)))))) (-.f64 (pow.f64 B 2) (*.f64 (*.f64 4 A) C)))
56.0b
(*.f64 (/.f64 (sqrt.f64 (*.f64 2 (*.f64 F (-.f64 (*.f64 B B) (*.f64 (*.f64 C A) 4))))) (sqrt.f64 (-.f64 (*.f64 B B) (*.f64 (*.f64 C A) 4)))) (/.f64 (neg.f64 (sqrt.f64 (+.f64 (sqrt.f64 (+.f64 (*.f64 B B) (pow.f64 (-.f64 A C) 2))) (+.f64 C A)))) (sqrt.f64 (-.f64 (*.f64 B B) (*.f64 (*.f64 C A) 4)))))
47.0b
(/.f64 (neg.f64 (*.f64 (*.f64 C (sqrt.f64 2)) (sqrt.f64 (*.f64 -8 (*.f64 A F))))) (-.f64 (pow.f64 B 2) (*.f64 (*.f64 4 A) C)))
62.4b
(/.f64 (neg.f64 (/.f64 (sqrt.f64 (*.f64 (+.f64 (*.f64 (sqrt.f64 (-.f64 (pow.f64 (-.f64 A C) 2) (*.f64 B B))) (+.f64 (pow.f64 A 3) (pow.f64 C 3))) (*.f64 (sqrt.f64 (-.f64 (pow.f64 (-.f64 A C) 4) (pow.f64 B 4))) (+.f64 (*.f64 A A) (*.f64 C (-.f64 C A))))) (*.f64 2 (*.f64 F (-.f64 (pow.f64 B 4) (*.f64 (*.f64 (*.f64 C C) (*.f64 A A)) 16)))))) (sqrt.f64 (*.f64 (*.f64 (sqrt.f64 (-.f64 (pow.f64 (-.f64 A C) 2) (*.f64 B B))) (+.f64 (*.f64 A A) (*.f64 C (-.f64 C A)))) (+.f64 (*.f64 B B) (*.f64 (*.f64 C A) 4)))))) (-.f64 (pow.f64 B 2) (*.f64 (*.f64 4 A) C)))
63.4b
(/.f64 (neg.f64 (+.f64 (*.f64 A (*.f64 (sqrt.f64 2) (sqrt.f64 (*.f64 -8 (*.f64 C F))))) (/.f64 (*.f64 F (*.f64 (*.f64 B B) (sqrt.f64 2))) (sqrt.f64 (*.f64 -8 (*.f64 C F)))))) (-.f64 (pow.f64 B 2) (*.f64 (*.f64 4 A) C)))
58.8b
(/.f64 (neg.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 (*.f64 -4 (*.f64 A (*.f64 C (*.f64 F (+.f64 A (+.f64 C (sqrt.f64 (+.f64 (*.f64 A A) (*.f64 C (-.f64 C (*.f64 2 A)))))))))))))) (-.f64 (pow.f64 B 2) (*.f64 (*.f64 4 A) C)))
46.9b
(neg.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 (*.f64 -1/2 (/.f64 F A)))))
62.3b
(-.f64 (*.f64 1/2 (-.f64 (*.f64 (/.f64 (*.f64 A (*.f64 C (sqrt.f64 2))) B) (sqrt.f64 (/.f64 F (*.f64 (+.f64 (*.f64 B B) (*.f64 A A)) (+.f64 A (sqrt.f64 (+.f64 (*.f64 B B) (*.f64 A A)))))))) (*.f64 (/.f64 (*.f64 C (sqrt.f64 2)) B) (sqrt.f64 (/.f64 F (+.f64 A (sqrt.f64 (+.f64 (*.f64 B B) (*.f64 A A))))))))) (+.f64 (*.f64 2 (*.f64 (/.f64 (*.f64 A (*.f64 C (sqrt.f64 2))) (pow.f64 B 3)) (sqrt.f64 (*.f64 (/.f64 F (+.f64 A (sqrt.f64 (+.f64 (*.f64 B B) (*.f64 A A))))) (+.f64 (*.f64 B B) (*.f64 A A)))))) (+.f64 (*.f64 (/.f64 (sqrt.f64 2) B) (sqrt.f64 (*.f64 F (+.f64 A (sqrt.f64 (+.f64 (*.f64 B B) (*.f64 A A))))))) (*.f64 2 (*.f64 (sqrt.f64 (/.f64 F (+.f64 A (sqrt.f64 (+.f64 (*.f64 B B) (*.f64 A A)))))) (/.f64 (*.f64 (*.f64 A A) (*.f64 C (sqrt.f64 2))) (pow.f64 B 3)))))))
61.0b
(neg.f64 (*.f64 (/.f64 (sqrt.f64 2) B) (sqrt.f64 (*.f64 F (+.f64 A (sqrt.f64 (+.f64 (*.f64 B B) (*.f64 A A))))))))
63.1b
(neg.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 (*.f64 -1/2 (/.f64 F C)))))
55.1b
(/.f64 (neg.f64 (sqrt.f64 (*.f64 (*.f64 2 (*.f64 (-.f64 (pow.f64 B 2) (*.f64 (*.f64 4 A) C)) F)) (+.f64 (+.f64 A C) (*.f64 (sqrt.f64 (sqrt.f64 (+.f64 (*.f64 B B) (pow.f64 (-.f64 A C) 2)))) (sqrt.f64 (sqrt.f64 (+.f64 (*.f64 B B) (pow.f64 (-.f64 A C) 2))))))))) (-.f64 (pow.f64 B 2) (*.f64 (*.f64 4 A) C)))
Compiler

Compiled 13252 to 7002 computations (47.2% saved)

localize8.0ms (0%)

Local error

Found 3 expressions with local error:

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

rewrite92.0ms (0.5%)

Algorithm
rewrite-expression-head
Error
31.1b
Rules
23×add-sqr-sqrt_binary64
17×associate-*r*_binary64
15×pow1_binary64
14×*-un-lft-identity_binary64
14×add-cube-cbrt_binary64
Counts
3 → 72
Calls

3 calls:

8.0ms
(*.f64 (sqrt.f64 2) (sqrt.f64 (*.f64 -1/2 (/.f64 F A))))
5.0ms
(*.f64 -1/2 (/.f64 F A))
3.0ms
(sqrt.f64 (*.f64 -1/2 (/.f64 F A)))
Compiler

Compiled 1066 to 739 computations (30.7% saved)

series36.0ms (0.2%)

Error
31.2b
Counts
3 → 18
Calls

3 calls:

13.0ms
(sqrt.f64 (*.f64 -1/2 (/.f64 F A)))
12.0ms
(*.f64 (sqrt.f64 2) (sqrt.f64 (*.f64 -1/2 (/.f64 F A))))
10.0ms
(*.f64 -1/2 (/.f64 F A))
Compiler

Compiled 660 to 562 computations (14.8% saved)

simplify143.0ms (0.7%)

Algorithm
egg-herbie
Rules
670×associate-*r/_binary64
353×associate-*l*_binary64
288×associate-/r/_binary64
284×associate-/l/_binary64
276×associate-*r*_binary64
Counts
90 → 42
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
01301103
12801045
27641045
318381045
434551045
538081045
644361045
747111045
849011045
948451045

prune76.0ms (0.4%)

Pruning

26 alts after pruning (26 fresh and 0 done)

PrunedKeptTotal
New321042
Fresh01616
Picked101
Done000
Total332659
Error
31.1b
Counts
59 → 26
Alt Table
StatusErrorProgram
59.8b
(neg.f64 (*.f64 (sqrt.f64 (*.f64 F (+.f64 C (sqrt.f64 (+.f64 (*.f64 C C) (*.f64 B B)))))) (/.f64 (sqrt.f64 2) B)))
46.9b
(neg.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 (*.f64 (*.f64 -1/2 (*.f64 (cbrt.f64 F) (cbrt.f64 F))) (/.f64 (cbrt.f64 F) A)))))
55.2b
(/.f64 (neg.f64 (sqrt.f64 (*.f64 (*.f64 2 (*.f64 (-.f64 (pow.f64 B 2) (*.f64 (*.f64 4 A) C)) F)) (+.f64 (+.f64 A C) (*.f64 (*.f64 (cbrt.f64 (sqrt.f64 (+.f64 (*.f64 B B) (pow.f64 (-.f64 A C) 2)))) (cbrt.f64 (sqrt.f64 (+.f64 (*.f64 B B) (pow.f64 (-.f64 A C) 2))))) (cbrt.f64 (sqrt.f64 (+.f64 (*.f64 B B) (pow.f64 (-.f64 A C) 2))))))))) (-.f64 (pow.f64 B 2) (*.f64 (*.f64 4 A) C)))
62.4b
(/.f64 (neg.f64 (/.f64 (sqrt.f64 (*.f64 (+.f64 (*.f64 (sqrt.f64 (-.f64 (pow.f64 (-.f64 A C) 2) (*.f64 B B))) (+.f64 (pow.f64 A 3) (pow.f64 C 3))) (*.f64 (sqrt.f64 (-.f64 (pow.f64 (-.f64 A C) 4) (pow.f64 B 4))) (+.f64 (*.f64 A A) (*.f64 C (-.f64 C A))))) (*.f64 2 (*.f64 F (-.f64 (pow.f64 B 4) (*.f64 (*.f64 (*.f64 C C) (*.f64 A A)) 16)))))) (sqrt.f64 (*.f64 (*.f64 (sqrt.f64 (-.f64 (pow.f64 (-.f64 A C) 2) (*.f64 B B))) (+.f64 (*.f64 A A) (*.f64 C (-.f64 C A)))) (+.f64 (*.f64 B B) (*.f64 (*.f64 C A) 4)))))) (-.f64 (pow.f64 B 2) (*.f64 (*.f64 4 A) C)))
55.9b
(neg.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 (cbrt.f64 (/.f64 -1/8 (pow.f64 (/.f64 A F) 3))))))
63.3b
(/.f64 (neg.f64 (sqrt.f64 (*.f64 (*.f64 2 (*.f64 (-.f64 (pow.f64 B 2) (*.f64 (*.f64 4 A) C)) F)) (+.f64 (+.f64 A C) (neg.f64 C))))) (-.f64 (pow.f64 B 2) (*.f64 (*.f64 4 A) C)))
53.2b
(/.f64 (sqrt.f64 (*.f64 2 (*.f64 (-.f64 (pow.f64 B 2) (*.f64 (*.f64 4 A) C)) F))) (/.f64 (-.f64 (*.f64 B B) (*.f64 (*.f64 C A) 4)) (neg.f64 (sqrt.f64 (+.f64 (sqrt.f64 (+.f64 (*.f64 B B) (pow.f64 (-.f64 A C) 2))) (+.f64 C A))))))
53.2b
(*.f64 (sqrt.f64 (*.f64 2 (*.f64 F (-.f64 (*.f64 B B) (*.f64 (*.f64 C A) 4))))) (/.f64 (neg.f64 (sqrt.f64 (+.f64 (sqrt.f64 (+.f64 (*.f64 B B) (pow.f64 (-.f64 A C) 2))) (+.f64 C A)))) (-.f64 (*.f64 B B) (*.f64 (*.f64 C A) 4))))
47.4b
(/.f64 (neg.f64 (+.f64 (*.f64 (*.f64 C (sqrt.f64 2)) (sqrt.f64 (*.f64 -8 (*.f64 A F)))) (/.f64 (*.f64 F (*.f64 (*.f64 B B) (sqrt.f64 2))) (sqrt.f64 (*.f64 -8 (*.f64 A F)))))) (-.f64 (pow.f64 B 2) (*.f64 (*.f64 4 A) C)))
56.0b
(*.f64 (/.f64 (sqrt.f64 (*.f64 2 (*.f64 F (-.f64 (*.f64 B B) (*.f64 (*.f64 C A) 4))))) (sqrt.f64 (-.f64 (*.f64 B B) (*.f64 (*.f64 C A) 4)))) (/.f64 (neg.f64 (sqrt.f64 (+.f64 (sqrt.f64 (+.f64 (*.f64 B B) (pow.f64 (-.f64 A C) 2))) (+.f64 C A)))) (sqrt.f64 (-.f64 (*.f64 B B) (*.f64 (*.f64 C A) 4)))))
46.8b
(neg.f64 (sqrt.f64 (neg.f64 (/.f64 F A))))
54.5b
(/.f64 (neg.f64 (sqrt.f64 (*.f64 (*.f64 2 (*.f64 (-.f64 (pow.f64 B 2) (*.f64 (*.f64 4 A) C)) F)) (+.f64 (+.f64 A C) (+.f64 (*.f64 1/2 (/.f64 (*.f64 B B) C)) (-.f64 C A)))))) (-.f64 (pow.f64 B 2) (*.f64 (*.f64 4 A) C)))
47.0b
(/.f64 (neg.f64 (*.f64 (*.f64 C (sqrt.f64 2)) (sqrt.f64 (*.f64 -8 (*.f64 A F))))) (-.f64 (pow.f64 B 2) (*.f64 (*.f64 4 A) C)))
50.5b
(neg.f64 (cbrt.f64 (pow.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 (*.f64 -1/2 (/.f64 F A)))) 3)))
63.4b
(/.f64 (neg.f64 (+.f64 (*.f64 A (*.f64 (sqrt.f64 2) (sqrt.f64 (*.f64 -8 (*.f64 C F))))) (/.f64 (*.f64 F (*.f64 (*.f64 B B) (sqrt.f64 2))) (sqrt.f64 (*.f64 -8 (*.f64 C F)))))) (-.f64 (pow.f64 B 2) (*.f64 (*.f64 4 A) C)))
50.5b
(neg.f64 (*.f64 (sqrt.f64 2) (cbrt.f64 (pow.f64 (sqrt.f64 (*.f64 -1/2 (/.f64 F A))) 3))))
62.3b
(-.f64 (*.f64 1/2 (-.f64 (*.f64 (/.f64 (*.f64 A (*.f64 C (sqrt.f64 2))) B) (sqrt.f64 (/.f64 F (*.f64 (+.f64 (*.f64 B B) (*.f64 A A)) (+.f64 A (sqrt.f64 (+.f64 (*.f64 B B) (*.f64 A A)))))))) (*.f64 (/.f64 (*.f64 C (sqrt.f64 2)) B) (sqrt.f64 (/.f64 F (+.f64 A (sqrt.f64 (+.f64 (*.f64 B B) (*.f64 A A))))))))) (+.f64 (*.f64 2 (*.f64 (/.f64 (*.f64 A (*.f64 C (sqrt.f64 2))) (pow.f64 B 3)) (sqrt.f64 (*.f64 (/.f64 F (+.f64 A (sqrt.f64 (+.f64 (*.f64 B B) (*.f64 A A))))) (+.f64 (*.f64 B B) (*.f64 A A)))))) (+.f64 (*.f64 (/.f64 (sqrt.f64 2) B) (sqrt.f64 (*.f64 F (+.f64 A (sqrt.f64 (+.f64 (*.f64 B B) (*.f64 A A))))))) (*.f64 2 (*.f64 (sqrt.f64 (/.f64 F (+.f64 A (sqrt.f64 (+.f64 (*.f64 B B) (*.f64 A A)))))) (/.f64 (*.f64 (*.f64 A A) (*.f64 C (sqrt.f64 2))) (pow.f64 B 3)))))))
46.9b
(neg.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 (*.f64 (/.f64 -1/2 (*.f64 (cbrt.f64 A) (cbrt.f64 A))) (/.f64 F (cbrt.f64 A))))))
63.1b
(neg.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 (*.f64 -1/2 (/.f64 F C)))))
47.8b
(neg.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 (exp.f64 (log.f64 (*.f64 -1/2 (/.f64 F A)))))))
46.9b
(neg.f64 (*.f64 (sqrt.f64 (sqrt.f64 2)) (*.f64 (sqrt.f64 (*.f64 -1/2 (/.f64 F A))) (sqrt.f64 (sqrt.f64 2)))))
63.9b
(neg.f64 (/.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 (*.f64 F -1/2))) (sqrt.f64 A)))
61.6b
(neg.f64 (log.f64 (pow.f64 (exp.f64 (sqrt.f64 (*.f64 -1/2 (/.f64 F A)))) (sqrt.f64 2))))
58.8b
(/.f64 (neg.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 (*.f64 -4 (*.f64 A (*.f64 C (*.f64 F (+.f64 A (+.f64 C (sqrt.f64 (+.f64 (*.f64 A A) (*.f64 C (-.f64 C (*.f64 2 A)))))))))))))) (-.f64 (pow.f64 B 2) (*.f64 (*.f64 4 A) C)))
61.0b
(neg.f64 (*.f64 (/.f64 (sqrt.f64 2) B) (sqrt.f64 (*.f64 F (+.f64 A (sqrt.f64 (+.f64 (*.f64 B B) (*.f64 A A))))))))
55.1b
(/.f64 (neg.f64 (sqrt.f64 (*.f64 (*.f64 2 (*.f64 (-.f64 (pow.f64 B 2) (*.f64 (*.f64 4 A) C)) F)) (+.f64 (+.f64 A C) (*.f64 (sqrt.f64 (sqrt.f64 (+.f64 (*.f64 B B) (pow.f64 (-.f64 A C) 2)))) (sqrt.f64 (sqrt.f64 (+.f64 (*.f64 B B) (pow.f64 (-.f64 A C) 2))))))))) (-.f64 (pow.f64 B 2) (*.f64 (*.f64 4 A) C)))
Compiler

Compiled 2297 to 1537 computations (33.1% saved)

localize5.0ms (0%)

Local error

Found 1 expressions with local error:

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

rewrite44.0ms (0.2%)

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

1 calls:

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

Compiled 528 to 217 computations (58.9% saved)

series9.0ms (0%)

Error
31.1b
Counts
1 → 6
Calls

1 calls:

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

Compiled 176 to 140 computations (20.5% saved)

simplify248.0ms (1.2%)

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

Useful iterations: 10 (0.0ms)

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

prune59.0ms (0.3%)

Pruning

27 alts after pruning (26 fresh and 1 done)

PrunedKeptTotal
New19524
Fresh42125
Picked011
Done000
Total232750
Error
27.3b
Counts
50 → 27
Alt Table
StatusErrorProgram
59.8b
(neg.f64 (*.f64 (sqrt.f64 (*.f64 F (+.f64 C (sqrt.f64 (+.f64 (*.f64 C C) (*.f64 B B)))))) (/.f64 (sqrt.f64 2) B)))
42.9b
(neg.f64 (*.f64 (sqrt.f64 (sqrt.f64 F)) (sqrt.f64 (neg.f64 (/.f64 (sqrt.f64 F) A)))))
55.2b
(/.f64 (neg.f64 (sqrt.f64 (*.f64 (*.f64 2 (*.f64 (-.f64 (pow.f64 B 2) (*.f64 (*.f64 4 A) C)) F)) (+.f64 (+.f64 A C) (*.f64 (*.f64 (cbrt.f64 (sqrt.f64 (+.f64 (*.f64 B B) (pow.f64 (-.f64 A C) 2)))) (cbrt.f64 (sqrt.f64 (+.f64 (*.f64 B B) (pow.f64 (-.f64 A C) 2))))) (cbrt.f64 (sqrt.f64 (+.f64 (*.f64 B B) (pow.f64 (-.f64 A C) 2))))))))) (-.f64 (pow.f64 B 2) (*.f64 (*.f64 4 A) C)))
40.2b
(neg.f64 (*.f64 (fabs.f64 (/.f64 (cbrt.f64 F) (cbrt.f64 A))) (sqrt.f64 (neg.f64 (/.f64 (cbrt.f64 F) (cbrt.f64 A))))))
62.4b
(/.f64 (neg.f64 (/.f64 (sqrt.f64 (*.f64 (+.f64 (*.f64 (sqrt.f64 (-.f64 (pow.f64 (-.f64 A C) 2) (*.f64 B B))) (+.f64 (pow.f64 A 3) (pow.f64 C 3))) (*.f64 (sqrt.f64 (-.f64 (pow.f64 (-.f64 A C) 4) (pow.f64 B 4))) (+.f64 (*.f64 A A) (*.f64 C (-.f64 C A))))) (*.f64 2 (*.f64 F (-.f64 (pow.f64 B 4) (*.f64 (*.f64 (*.f64 C C) (*.f64 A A)) 16)))))) (sqrt.f64 (*.f64 (*.f64 (sqrt.f64 (-.f64 (pow.f64 (-.f64 A C) 2) (*.f64 B B))) (+.f64 (*.f64 A A) (*.f64 C (-.f64 C A)))) (+.f64 (*.f64 B B) (*.f64 (*.f64 C A) 4)))))) (-.f64 (pow.f64 B 2) (*.f64 (*.f64 4 A) C)))
55.9b
(neg.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 (cbrt.f64 (/.f64 -1/8 (pow.f64 (/.f64 A F) 3))))))
46.9b
(neg.f64 (*.f64 (fabs.f64 (cbrt.f64 (/.f64 F A))) (sqrt.f64 (neg.f64 (cbrt.f64 (/.f64 F A))))))
47.8b
(neg.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 (exp.f64 (log.f64 (*.f64 -1/2 (/.f64 F A)))))))
63.3b
(/.f64 (neg.f64 (sqrt.f64 (*.f64 (*.f64 2 (*.f64 (-.f64 (pow.f64 B 2) (*.f64 (*.f64 4 A) C)) F)) (+.f64 (+.f64 A C) (neg.f64 C))))) (-.f64 (pow.f64 B 2) (*.f64 (*.f64 4 A) C)))
53.2b
(/.f64 (sqrt.f64 (*.f64 2 (*.f64 (-.f64 (pow.f64 B 2) (*.f64 (*.f64 4 A) C)) F))) (/.f64 (-.f64 (*.f64 B B) (*.f64 (*.f64 C A) 4)) (neg.f64 (sqrt.f64 (+.f64 (sqrt.f64 (+.f64 (*.f64 B B) (pow.f64 (-.f64 A C) 2))) (+.f64 C A))))))
53.2b
(*.f64 (sqrt.f64 (*.f64 2 (*.f64 F (-.f64 (*.f64 B B) (*.f64 (*.f64 C A) 4))))) (/.f64 (neg.f64 (sqrt.f64 (+.f64 (sqrt.f64 (+.f64 (*.f64 B B) (pow.f64 (-.f64 A C) 2))) (+.f64 C A)))) (-.f64 (*.f64 B B) (*.f64 (*.f64 C A) 4))))
47.4b
(/.f64 (neg.f64 (+.f64 (*.f64 (*.f64 C (sqrt.f64 2)) (sqrt.f64 (*.f64 -8 (*.f64 A F)))) (/.f64 (*.f64 F (*.f64 (*.f64 B B) (sqrt.f64 2))) (sqrt.f64 (*.f64 -8 (*.f64 A F)))))) (-.f64 (pow.f64 B 2) (*.f64 (*.f64 4 A) C)))
56.0b
(*.f64 (/.f64 (sqrt.f64 (*.f64 2 (*.f64 F (-.f64 (*.f64 B B) (*.f64 (*.f64 C A) 4))))) (sqrt.f64 (-.f64 (*.f64 B B) (*.f64 (*.f64 C A) 4)))) (/.f64 (neg.f64 (sqrt.f64 (+.f64 (sqrt.f64 (+.f64 (*.f64 B B) (pow.f64 (-.f64 A C) 2))) (+.f64 C A)))) (sqrt.f64 (-.f64 (*.f64 B B) (*.f64 (*.f64 C A) 4)))))
46.8b
(neg.f64 (sqrt.f64 (neg.f64 (/.f64 F A))))
54.5b
(/.f64 (neg.f64 (sqrt.f64 (*.f64 (*.f64 2 (*.f64 (-.f64 (pow.f64 B 2) (*.f64 (*.f64 4 A) C)) F)) (+.f64 (+.f64 A C) (+.f64 (*.f64 1/2 (/.f64 (*.f64 B B) C)) (-.f64 C A)))))) (-.f64 (pow.f64 B 2) (*.f64 (*.f64 4 A) C)))
47.0b
(/.f64 (neg.f64 (*.f64 (*.f64 C (sqrt.f64 2)) (sqrt.f64 (*.f64 -8 (*.f64 A F))))) (-.f64 (pow.f64 B 2) (*.f64 (*.f64 4 A) C)))
40.1b
(neg.f64 (*.f64 (sqrt.f64 F) (sqrt.f64 (/.f64 -1 A))))
46.9b
(neg.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 (*.f64 (/.f64 -1/2 (*.f64 (cbrt.f64 A) (cbrt.f64 A))) (/.f64 F (cbrt.f64 A))))))
63.1b
(neg.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 (*.f64 -1/2 (/.f64 F C)))))
41.6b
(neg.f64 (*.f64 (fabs.f64 (cbrt.f64 F)) (sqrt.f64 (neg.f64 (/.f64 (cbrt.f64 F) A)))))
46.9b
(neg.f64 (*.f64 (sqrt.f64 (sqrt.f64 2)) (*.f64 (sqrt.f64 (*.f64 -1/2 (/.f64 F A))) (sqrt.f64 (sqrt.f64 2)))))
63.4b
(/.f64 (neg.f64 (+.f64 (*.f64 A (*.f64 (sqrt.f64 2) (sqrt.f64 (*.f64 -8 (*.f64 C F))))) (/.f64 (*.f64 F (*.f64 (*.f64 B B) (sqrt.f64 2))) (sqrt.f64 (*.f64 -8 (*.f64 C F)))))) (-.f64 (pow.f64 B 2) (*.f64 (*.f64 4 A) C)))
61.6b
(neg.f64 (log.f64 (pow.f64 (exp.f64 (sqrt.f64 (*.f64 -1/2 (/.f64 F A)))) (sqrt.f64 2))))
58.8b
(/.f64 (neg.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 (*.f64 -4 (*.f64 A (*.f64 C (*.f64 F (+.f64 A (+.f64 C (sqrt.f64 (+.f64 (*.f64 A A) (*.f64 C (-.f64 C (*.f64 2 A)))))))))))))) (-.f64 (pow.f64 B 2) (*.f64 (*.f64 4 A) C)))
62.3b
(-.f64 (*.f64 1/2 (-.f64 (*.f64 (/.f64 (*.f64 A (*.f64 C (sqrt.f64 2))) B) (sqrt.f64 (/.f64 F (*.f64 (+.f64 (*.f64 B B) (*.f64 A A)) (+.f64 A (sqrt.f64 (+.f64 (*.f64 B B) (*.f64 A A)))))))) (*.f64 (/.f64 (*.f64 C (sqrt.f64 2)) B) (sqrt.f64 (/.f64 F (+.f64 A (sqrt.f64 (+.f64 (*.f64 B B) (*.f64 A A))))))))) (+.f64 (*.f64 2 (*.f64 (/.f64 (*.f64 A (*.f64 C (sqrt.f64 2))) (pow.f64 B 3)) (sqrt.f64 (*.f64 (/.f64 F (+.f64 A (sqrt.f64 (+.f64 (*.f64 B B) (*.f64 A A))))) (+.f64 (*.f64 B B) (*.f64 A A)))))) (+.f64 (*.f64 (/.f64 (sqrt.f64 2) B) (sqrt.f64 (*.f64 F (+.f64 A (sqrt.f64 (+.f64 (*.f64 B B) (*.f64 A A))))))) (*.f64 2 (*.f64 (sqrt.f64 (/.f64 F (+.f64 A (sqrt.f64 (+.f64 (*.f64 B B) (*.f64 A A)))))) (/.f64 (*.f64 (*.f64 A A) (*.f64 C (sqrt.f64 2))) (pow.f64 B 3)))))))
61.0b
(neg.f64 (*.f64 (/.f64 (sqrt.f64 2) B) (sqrt.f64 (*.f64 F (+.f64 A (sqrt.f64 (+.f64 (*.f64 B B) (*.f64 A A))))))))
55.1b
(/.f64 (neg.f64 (sqrt.f64 (*.f64 (*.f64 2 (*.f64 (-.f64 (pow.f64 B 2) (*.f64 (*.f64 4 A) C)) F)) (+.f64 (+.f64 A C) (*.f64 (sqrt.f64 (sqrt.f64 (+.f64 (*.f64 B B) (pow.f64 (-.f64 A C) 2)))) (sqrt.f64 (sqrt.f64 (+.f64 (*.f64 B B) (pow.f64 (-.f64 A C) 2))))))))) (-.f64 (pow.f64 B 2) (*.f64 (*.f64 4 A) C)))
Compiler

Compiled 2229 to 1397 computations (37.3% saved)

localize6.0ms (0%)

Local error

Found 2 expressions with local error:

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

rewrite77.0ms (0.4%)

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

2 calls:

8.0ms
(*.f64 (sqrt.f64 F) (sqrt.f64 (/.f64 -1 A)))
2.0ms
(sqrt.f64 (/.f64 -1 A))
Compiler

Compiled 901 to 610 computations (32.3% saved)

series14.0ms (0.1%)

Error
27.3b
Counts
2 → 9
Calls

2 calls:

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

Compiled 285 to 231 computations (18.9% saved)

simplify150.0ms (0.8%)

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

Useful iterations: 2 (0.0ms)

IterNodesCost
01101061
11861016
24381013
36531013
412941013
519251013
623511013
731671013
842131013
948851013
1049121013
1151011013

prune61.0ms (0.3%)

Pruning

32 alts after pruning (32 fresh and 0 done)

PrunedKeptTotal
New261036
Fresh32225
Picked101
Done101
Total313263
Error
27.3b
Counts
63 → 32
Alt Table
StatusErrorProgram
59.8b
(neg.f64 (*.f64 (sqrt.f64 (*.f64 F (+.f64 C (sqrt.f64 (+.f64 (*.f64 C C) (*.f64 B B)))))) (/.f64 (sqrt.f64 2) B)))
55.2b
(/.f64 (neg.f64 (sqrt.f64 (*.f64 (*.f64 2 (*.f64 (-.f64 (pow.f64 B 2) (*.f64 (*.f64 4 A) C)) F)) (+.f64 (+.f64 A C) (*.f64 (*.f64 (cbrt.f64 (sqrt.f64 (+.f64 (*.f64 B B) (pow.f64 (-.f64 A C) 2)))) (cbrt.f64 (sqrt.f64 (+.f64 (*.f64 B B) (pow.f64 (-.f64 A C) 2))))) (cbrt.f64 (sqrt.f64 (+.f64 (*.f64 B B) (pow.f64 (-.f64 A C) 2))))))))) (-.f64 (pow.f64 B 2) (*.f64 (*.f64 4 A) C)))
40.2b
(neg.f64 (*.f64 (sqrt.f64 F) (*.f64 (fabs.f64 (cbrt.f64 (/.f64 -1 A))) (sqrt.f64 (cbrt.f64 (/.f64 -1 A))))))
41.7b
(neg.f64 (exp.f64 (log.f64 (*.f64 (sqrt.f64 (/.f64 -1 A)) (sqrt.f64 F)))))
41.6b
(neg.f64 (*.f64 (fabs.f64 (cbrt.f64 F)) (sqrt.f64 (neg.f64 (/.f64 (cbrt.f64 F) A)))))
40.1b
(neg.f64 (*.f64 (sqrt.f64 F) (pow.f64 (/.f64 -1 A) 1/2)))
62.4b
(/.f64 (neg.f64 (/.f64 (sqrt.f64 (*.f64 (+.f64 (*.f64 (sqrt.f64 (-.f64 (pow.f64 (-.f64 A C) 2) (*.f64 B B))) (+.f64 (pow.f64 A 3) (pow.f64 C 3))) (*.f64 (sqrt.f64 (-.f64 (pow.f64 (-.f64 A C) 4) (pow.f64 B 4))) (+.f64 (*.f64 A A) (*.f64 C (-.f64 C A))))) (*.f64 2 (*.f64 F (-.f64 (pow.f64 B 4) (*.f64 (*.f64 (*.f64 C C) (*.f64 A A)) 16)))))) (sqrt.f64 (*.f64 (*.f64 (sqrt.f64 (-.f64 (pow.f64 (-.f64 A C) 2) (*.f64 B B))) (+.f64 (*.f64 A A) (*.f64 C (-.f64 C A)))) (+.f64 (*.f64 B B) (*.f64 (*.f64 C A) 4)))))) (-.f64 (pow.f64 B 2) (*.f64 (*.f64 4 A) C)))
55.9b
(neg.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 (cbrt.f64 (/.f64 -1/8 (pow.f64 (/.f64 A F) 3))))))
47.0b
(neg.f64 (*.f64 (sqrt.f64 F) (cbrt.f64 (pow.f64 (sqrt.f64 (/.f64 -1 A)) 3))))
46.9b
(neg.f64 (*.f64 (fabs.f64 (cbrt.f64 (/.f64 F A))) (sqrt.f64 (neg.f64 (cbrt.f64 (/.f64 F A))))))
47.8b
(neg.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 (exp.f64 (log.f64 (*.f64 -1/2 (/.f64 F A)))))))
63.3b
(/.f64 (neg.f64 (sqrt.f64 (*.f64 (*.f64 2 (*.f64 (-.f64 (pow.f64 B 2) (*.f64 (*.f64 4 A) C)) F)) (+.f64 (+.f64 A C) (neg.f64 C))))) (-.f64 (pow.f64 B 2) (*.f64 (*.f64 4 A) C)))
40.2b
(neg.f64 (*.f64 (*.f64 (sqrt.f64 F) (fabs.f64 (cbrt.f64 (/.f64 -1 A)))) (sqrt.f64 (cbrt.f64 (/.f64 -1 A)))))
53.2b
(/.f64 (sqrt.f64 (*.f64 2 (*.f64 (-.f64 (pow.f64 B 2) (*.f64 (*.f64 4 A) C)) F))) (/.f64 (-.f64 (*.f64 B B) (*.f64 (*.f64 C A) 4)) (neg.f64 (sqrt.f64 (+.f64 (sqrt.f64 (+.f64 (*.f64 B B) (pow.f64 (-.f64 A C) 2))) (+.f64 C A))))))
53.2b
(*.f64 (sqrt.f64 (*.f64 2 (*.f64 F (-.f64 (*.f64 B B) (*.f64 (*.f64 C A) 4))))) (/.f64 (neg.f64 (sqrt.f64 (+.f64 (sqrt.f64 (+.f64 (*.f64 B B) (pow.f64 (-.f64 A C) 2))) (+.f64 C A)))) (-.f64 (*.f64 B B) (*.f64 (*.f64 C A) 4))))
47.4b
(/.f64 (neg.f64 (+.f64 (*.f64 (*.f64 C (sqrt.f64 2)) (sqrt.f64 (*.f64 -8 (*.f64 A F)))) (/.f64 (*.f64 F (*.f64 (*.f64 B B) (sqrt.f64 2))) (sqrt.f64 (*.f64 -8 (*.f64 A F)))))) (-.f64 (pow.f64 B 2) (*.f64 (*.f64 4 A) C)))
54.5b
(/.f64 (neg.f64 (sqrt.f64 (*.f64 (*.f64 2 (*.f64 (-.f64 (pow.f64 B 2) (*.f64 (*.f64 4 A) C)) F)) (+.f64 (+.f64 A C) (+.f64 (*.f64 1/2 (/.f64 (*.f64 B B) C)) (-.f64 C A)))))) (-.f64 (pow.f64 B 2) (*.f64 (*.f64 4 A) C)))
56.0b
(*.f64 (/.f64 (sqrt.f64 (*.f64 2 (*.f64 F (-.f64 (*.f64 B B) (*.f64 (*.f64 C A) 4))))) (sqrt.f64 (-.f64 (*.f64 B B) (*.f64 (*.f64 C A) 4)))) (/.f64 (neg.f64 (sqrt.f64 (+.f64 (sqrt.f64 (+.f64 (*.f64 B B) (pow.f64 (-.f64 A C) 2))) (+.f64 C A)))) (sqrt.f64 (-.f64 (*.f64 B B) (*.f64 (*.f64 C A) 4)))))
47.0b
(/.f64 (neg.f64 (*.f64 (*.f64 C (sqrt.f64 2)) (sqrt.f64 (*.f64 -8 (*.f64 A F))))) (-.f64 (pow.f64 B 2) (*.f64 (*.f64 4 A) C)))
40.3b
(neg.f64 (*.f64 (sqrt.f64 (*.f64 (cbrt.f64 F) (cbrt.f64 F))) (*.f64 (sqrt.f64 (/.f64 -1 A)) (sqrt.f64 (cbrt.f64 F)))))
61.6b
(neg.f64 (log.f64 (pow.f64 (exp.f64 (sqrt.f64 (*.f64 -1/2 (/.f64 F A)))) (sqrt.f64 2))))
40.2b
(neg.f64 (*.f64 (sqrt.f64 (sqrt.f64 F)) (*.f64 (sqrt.f64 (/.f64 -1 A)) (sqrt.f64 (sqrt.f64 F)))))
58.8b
(/.f64 (neg.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 (*.f64 -4 (*.f64 A (*.f64 C (*.f64 F (+.f64 A (+.f64 C (sqrt.f64 (+.f64 (*.f64 A A) (*.f64 C (-.f64 C (*.f64 2 A)))))))))))))) (-.f64 (pow.f64 B 2) (*.f64 (*.f64 4 A) C)))
40.5b
(neg.f64 (*.f64 (*.f64 (cbrt.f64 (*.f64 (sqrt.f64 (/.f64 -1 A)) (sqrt.f64 F))) (cbrt.f64 (*.f64 (sqrt.f64 (/.f64 -1 A)) (sqrt.f64 F)))) (cbrt.f64 (*.f64 (sqrt.f64 (/.f64 -1 A)) (sqrt.f64 F)))))
46.9b
(neg.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 (*.f64 (/.f64 -1/2 (*.f64 (cbrt.f64 A) (cbrt.f64 A))) (/.f64 F (cbrt.f64 A))))))
63.1b
(neg.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 (*.f64 -1/2 (/.f64 F C)))))
40.2b
(neg.f64 (*.f64 (*.f64 (sqrt.f64 F) (fabs.f64 (/.f64 (cbrt.f64 -1) (cbrt.f64 A)))) (sqrt.f64 (/.f64 (cbrt.f64 -1) (cbrt.f64 A)))))
63.4b
(/.f64 (neg.f64 (+.f64 (*.f64 A (*.f64 (sqrt.f64 2) (sqrt.f64 (*.f64 -8 (*.f64 C F))))) (/.f64 (*.f64 F (*.f64 (*.f64 B B) (sqrt.f64 2))) (sqrt.f64 (*.f64 -8 (*.f64 C F)))))) (-.f64 (pow.f64 B 2) (*.f64 (*.f64 4 A) C)))
40.4b
(neg.f64 (*.f64 (*.f64 (cbrt.f64 (sqrt.f64 F)) (cbrt.f64 (sqrt.f64 F))) (*.f64 (sqrt.f64 (/.f64 -1 A)) (cbrt.f64 (sqrt.f64 F)))))
62.3b
(-.f64 (*.f64 1/2 (-.f64 (*.f64 (/.f64 (*.f64 A (*.f64 C (sqrt.f64 2))) B) (sqrt.f64 (/.f64 F (*.f64 (+.f64 (*.f64 B B) (*.f64 A A)) (+.f64 A (sqrt.f64 (+.f64 (*.f64 B B) (*.f64 A A)))))))) (*.f64 (/.f64 (*.f64 C (sqrt.f64 2)) B) (sqrt.f64 (/.f64 F (+.f64 A (sqrt.f64 (+.f64 (*.f64 B B) (*.f64 A A))))))))) (+.f64 (*.f64 2 (*.f64 (/.f64 (*.f64 A (*.f64 C (sqrt.f64 2))) (pow.f64 B 3)) (sqrt.f64 (*.f64 (/.f64 F (+.f64 A (sqrt.f64 (+.f64 (*.f64 B B) (*.f64 A A))))) (+.f64 (*.f64 B B) (*.f64 A A)))))) (+.f64 (*.f64 (/.f64 (sqrt.f64 2) B) (sqrt.f64 (*.f64 F (+.f64 A (sqrt.f64 (+.f64 (*.f64 B B) (*.f64 A A))))))) (*.f64 2 (*.f64 (sqrt.f64 (/.f64 F (+.f64 A (sqrt.f64 (+.f64 (*.f64 B B) (*.f64 A A)))))) (/.f64 (*.f64 (*.f64 A A) (*.f64 C (sqrt.f64 2))) (pow.f64 B 3)))))))
61.0b
(neg.f64 (*.f64 (/.f64 (sqrt.f64 2) B) (sqrt.f64 (*.f64 F (+.f64 A (sqrt.f64 (+.f64 (*.f64 B B) (*.f64 A A))))))))
55.1b
(/.f64 (neg.f64 (sqrt.f64 (*.f64 (*.f64 2 (*.f64 (-.f64 (pow.f64 B 2) (*.f64 (*.f64 4 A) C)) F)) (+.f64 (+.f64 A C) (*.f64 (sqrt.f64 (sqrt.f64 (+.f64 (*.f64 B B) (pow.f64 (-.f64 A C) 2)))) (sqrt.f64 (sqrt.f64 (+.f64 (*.f64 B B) (pow.f64 (-.f64 A C) 2))))))))) (-.f64 (pow.f64 B 2) (*.f64 (*.f64 4 A) C)))
Compiler

Compiled 1446 to 962 computations (33.5% saved)

regimes5.3s (26.7%)

Accuracy

Total 4.5b remaining (14.4%)

Threshold costs 0b (0%)

Compiler

Compiled 84156 to 59466 computations (29.3% saved)

bsearch24.0ms (0.1%)

Compiler

Compiled 44 to 32 computations (27.3% saved)

simplify15.0ms (0.1%)

Algorithm
egg-herbie
Rules
34×*-commutative_binary64
24×+-commutative_binary64
21×sub-neg_binary64
18×neg-sub0_binary64
18×neg-mul-1_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
065408
1121408
2180408
3212408
4228408
5230408
6229408

end19.0ms (0.1%)

Compiler

Compiled 807 to 558 computations (30.9% saved)

sample7.0s (35.3%)

Algorithm
intervals
Results
1.1s5495×body128valid
743.0ms917×body1024valid
668.0ms643×body2048valid
659.0ms851×body1024nan
648.0ms626×body2048nan
573.0ms2860×body128nan
366.0ms612×body512valid
354.0ms605×body512nan
140.0ms341×body256nan
123.0ms329×body256valid
5.0msbody4096valid
Compiler

Compiled 1422 to 952 computations (33.1% saved)

Profiling

Loading profile data...