Details

Time bar (total: 22.3s)

analyze4.1s (18.6%)

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)

sample178.0ms (0.8%)

Algorithm
intervals
Results
34.0ms182×body128valid
19.0ms21×body2048valid
18.0ms24×body1024valid
17.0ms19×body1024nan
16.0ms17×body2048nan
14.0ms72×body128nan
9.0ms17×body512valid
9.0ms17×body512nan
4.0ms12×body256valid
4.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

prune4.0ms (0%)

Pruning

1 alts after pruning (1 fresh and 0 done)

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

Compiled 132 to 91 computations (31.1% saved)

localize21.0ms (0.1%)

Local error

Found 4 expressions with local error:

7.2b
(*.f64 (-.f64 (pow.f64 B 2) (*.f64 (*.f64 4 A) C)) F)
14.4b
(sqrt.f64 (*.f64 (*.f64 2 (*.f64 (-.f64 (pow.f64 B 2) (*.f64 (*.f64 4 A) C)) F)) (+.f64 (+.f64 A C) (sqrt.f64 (+.f64 (pow.f64 (-.f64 A C) 2) (pow.f64 B 2))))))
21.2b
(/.f64 (neg.f64 (sqrt.f64 (*.f64 (*.f64 2 (*.f64 (-.f64 (pow.f64 B 2) (*.f64 (*.f64 4 A) C)) F)) (+.f64 (+.f64 A C) (sqrt.f64 (+.f64 (pow.f64 (-.f64 A C) 2) (pow.f64 B 2))))))) (-.f64 (pow.f64 B 2) (*.f64 (*.f64 4 A) C)))
35.4b
(sqrt.f64 (+.f64 (pow.f64 (-.f64 A C) 2) (pow.f64 B 2)))

rewrite642.0ms (2.9%)

Algorithm
rewrite-expression-head
Error
50.4b
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:

22.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))))))
14.0ms
(sqrt.f64 (+.f64 (pow.f64 (-.f64 A C) 2) (pow.f64 B 2)))
13.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)))
6.0ms
(*.f64 (-.f64 (pow.f64 B 2) (*.f64 (*.f64 4 A) C)) F)
Compiler

Compiled 11279 to 7235 computations (35.9% saved)

series1.5s (6.6%)

Error
26.1b
Counts
4 → 75
Calls

4 calls:

899.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))))))
322.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)))
100.0ms
(sqrt.f64 (+.f64 (pow.f64 (-.f64 A C) 2) (pow.f64 B 2)))
62.0ms
(*.f64 (-.f64 (pow.f64 B 2) (*.f64 (*.f64 4 A) C)) F)
Compiler

Compiled 16758 to 12284 computations (26.7% saved)

simplify243.0ms (1.1%)

Algorithm
egg-herbie
Rules
326×associate-/l*_binary64
315×distribute-rgt-in_binary64
310×distribute-lft-in_binary64
269×*-commutative_binary64
256×times-frac_binary64
Counts
233 → 209
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
072815348
1209314863
2504914863

prune282.0ms (1.3%)

Pruning

15 alts after pruning (15 fresh and 0 done)

PrunedKeptTotal
New19415209
Fresh000
Picked101
Done000
Total19515210
Error
26.1b
Counts
210 → 15
Alt Table
StatusErrorProgram
52.8b
(/.f64 (neg.f64 (sqrt.f64 (*.f64 (*.f64 2 (*.f64 (-.f64 (pow.f64 B 2) (*.f64 (*.f64 4 A) C)) F)) (+.f64 (+.f64 A C) (exp.f64 (log.f64 (sqrt.f64 (+.f64 (*.f64 B B) (pow.f64 (-.f64 A C) 2))))))))) (-.f64 (pow.f64 B 2) (*.f64 (*.f64 4 A) C)))
52.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 (fabs.f64 (cbrt.f64 (+.f64 (*.f64 B B) (pow.f64 (-.f64 A C) 2)))) (sqrt.f64 (cbrt.f64 (+.f64 (*.f64 B B) (pow.f64 (-.f64 A C) 2))))))))) (-.f64 (pow.f64 B 2) (*.f64 (*.f64 4 A) C)))
59.9b
(neg.f64 (*.f64 (sqrt.f64 (*.f64 F (+.f64 C (sqrt.f64 (+.f64 (*.f64 C C) (*.f64 B B)))))) (/.f64 (sqrt.f64 2) B)))
50.8b
(/.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))))))
46.9b
(/.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)))
59.7b
(/.f64 (neg.f64 (*.f64 (sqrt.f64 (*.f64 F (+.f64 C (sqrt.f64 (+.f64 (*.f64 C C) (*.f64 B B)))))) (*.f64 B (sqrt.f64 2)))) (-.f64 (pow.f64 B 2) (*.f64 (*.f64 4 A) C)))
63.1b
(neg.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 (*.f64 -1/2 (/.f64 F C)))))
46.5b
(/.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)))
43.0b
(neg.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 (*.f64 -1/2 (/.f64 F A)))))
52.0b
(/.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)))
52.2b
(/.f64 (neg.f64 1) (/.f64 (-.f64 (*.f64 B B) (*.f64 (*.f64 C A) 4)) (sqrt.f64 (*.f64 (*.f64 2 (*.f64 F (-.f64 (*.f64 B B) (*.f64 (*.f64 C A) 4)))) (+.f64 (sqrt.f64 (+.f64 (*.f64 B B) (pow.f64 (-.f64 A C) 2))) (+.f64 C A))))))
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)))
56.4b
(/.f64 (neg.f64 (sqrt.f64 (*.f64 (*.f64 2 (*.f64 (*.f64 B B) 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)))
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.8b
(*.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))))
Compiler

Compiled 13328 to 7051 computations (47.1% saved)

localize7.0ms (0%)

Local error

Found 2 expressions with local error:

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

rewrite54.0ms (0.2%)

Algorithm
rewrite-expression-head
Error
26.0b
Rules
12×pow1_binary64
add-sqr-sqrt_binary64
associate-*l*_binary64
sqrt-prod_binary64
sqrt-pow1_binary64
Counts
2 → 40
Calls

2 calls:

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

Compiled 557 to 408 computations (26.8% saved)

series37.0ms (0.2%)

Error
26.1b
Counts
2 → 12
Calls

2 calls:

23.0ms
(*.f64 (sqrt.f64 2) (sqrt.f64 (*.f64 -1/2 (/.f64 F A))))
14.0ms
(sqrt.f64 (*.f64 -1/2 (/.f64 F A)))
Compiler

Compiled 478 to 406 computations (15.1% saved)

simplify162.0ms (0.7%)

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

Useful iterations: 1 (0.0ms)

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

prune50.0ms (0.2%)

Pruning

21 alts after pruning (20 fresh and 1 done)

PrunedKeptTotal
New21627
Fresh01414
Picked011
Done000
Total212142
Error
26.0b
Counts
42 → 21
Alt Table
StatusErrorProgram
56.4b
(/.f64 (neg.f64 (sqrt.f64 (*.f64 (*.f64 2 (*.f64 (*.f64 B B) 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)))
43.1b
(neg.f64 (*.f64 (*.f64 (sqrt.f64 (sqrt.f64 (*.f64 -1/2 (/.f64 F A)))) (sqrt.f64 (sqrt.f64 2))) (*.f64 (sqrt.f64 (sqrt.f64 (*.f64 -1/2 (/.f64 F A)))) (sqrt.f64 (sqrt.f64 2)))))
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)))
42.9b
(neg.f64 (sqrt.f64 (neg.f64 (/.f64 F A))))
50.8b
(*.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))))
49.0b
(neg.f64 (cbrt.f64 (pow.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 (*.f64 -1/2 (/.f64 F A)))) 3)))
61.8b
(neg.f64 (log.f64 (pow.f64 (exp.f64 (sqrt.f64 (*.f64 -1/2 (/.f64 F A)))) (sqrt.f64 2))))
52.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 (fabs.f64 (cbrt.f64 (+.f64 (*.f64 B B) (pow.f64 (-.f64 A C) 2)))) (sqrt.f64 (cbrt.f64 (+.f64 (*.f64 B B) (pow.f64 (-.f64 A C) 2))))))))) (-.f64 (pow.f64 B 2) (*.f64 (*.f64 4 A) C)))
52.8b
(/.f64 (neg.f64 (sqrt.f64 (*.f64 (*.f64 2 (*.f64 (-.f64 (pow.f64 B 2) (*.f64 (*.f64 4 A) C)) F)) (+.f64 (+.f64 A C) (exp.f64 (log.f64 (sqrt.f64 (+.f64 (*.f64 B B) (pow.f64 (-.f64 A C) 2))))))))) (-.f64 (pow.f64 B 2) (*.f64 (*.f64 4 A) C)))
59.9b
(neg.f64 (*.f64 (sqrt.f64 (*.f64 F (+.f64 C (sqrt.f64 (+.f64 (*.f64 C C) (*.f64 B B)))))) (/.f64 (sqrt.f64 2) B)))
50.8b
(/.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))))))
46.9b
(/.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)))
59.7b
(/.f64 (neg.f64 (*.f64 (sqrt.f64 (*.f64 F (+.f64 C (sqrt.f64 (+.f64 (*.f64 C C) (*.f64 B B)))))) (*.f64 B (sqrt.f64 2)))) (-.f64 (pow.f64 B 2) (*.f64 (*.f64 4 A) C)))
63.1b
(neg.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 (*.f64 -1/2 (/.f64 F C)))))
46.5b
(/.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)))
43.0b
(neg.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 (*.f64 -1/2 (/.f64 F A)))))
52.0b
(/.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)))
52.2b
(/.f64 (neg.f64 1) (/.f64 (-.f64 (*.f64 B B) (*.f64 (*.f64 C A) 4)) (sqrt.f64 (*.f64 (*.f64 2 (*.f64 F (-.f64 (*.f64 B B) (*.f64 (*.f64 C A) 4)))) (+.f64 (sqrt.f64 (+.f64 (*.f64 B B) (pow.f64 (-.f64 A C) 2))) (+.f64 C A))))))
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)))
43.0b
(neg.f64 (*.f64 (sqrt.f64 (sqrt.f64 2)) (*.f64 (sqrt.f64 (*.f64 -1/2 (/.f64 F A))) (sqrt.f64 (sqrt.f64 2)))))
49.0b
(neg.f64 (*.f64 (sqrt.f64 2) (cbrt.f64 (pow.f64 (sqrt.f64 (*.f64 -1/2 (/.f64 F A))) 3))))
Compiler

Compiled 1513 to 1093 computations (27.8% saved)

localize5.0ms (0%)

Local error

Found 1 expressions with local error:

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

rewrite38.0ms (0.2%)

Algorithm
rewrite-expression-head
Error
23.6b
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)

series11.0ms (0.1%)

Error
26.0b
Counts
1 → 6
Calls

1 calls:

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

Compiled 176 to 140 computations (20.5% saved)

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

prune46.0ms (0.2%)

Pruning

22 alts after pruning (22 fresh and 0 done)

PrunedKeptTotal
New18624
Fresh31619
Picked101
Done101
Total232245
Error
23.6b
Counts
45 → 22
Alt Table
StatusErrorProgram
40.1b
(neg.f64 (*.f64 (fabs.f64 (cbrt.f64 F)) (sqrt.f64 (neg.f64 (/.f64 (cbrt.f64 F) A)))))
52.2b
(/.f64 (neg.f64 1) (/.f64 (-.f64 (*.f64 B B) (*.f64 (*.f64 C A) 4)) (sqrt.f64 (*.f64 (*.f64 2 (*.f64 F (-.f64 (*.f64 B B) (*.f64 (*.f64 C A) 4)))) (+.f64 (sqrt.f64 (+.f64 (*.f64 B B) (pow.f64 (-.f64 A C) 2))) (+.f64 C A))))))
43.1b
(neg.f64 (*.f64 (fabs.f64 (cbrt.f64 (/.f64 F A))) (sqrt.f64 (neg.f64 (cbrt.f64 (/.f64 F A))))))
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)))
49.0b
(neg.f64 (cbrt.f64 (pow.f64 (sqrt.f64 (neg.f64 (/.f64 F A))) 3)))
43.0b
(neg.f64 (*.f64 (sqrt.f64 (sqrt.f64 2)) (*.f64 (sqrt.f64 (*.f64 -1/2 (/.f64 F A))) (sqrt.f64 (sqrt.f64 2)))))
56.4b
(/.f64 (neg.f64 (sqrt.f64 (*.f64 (*.f64 2 (*.f64 (*.f64 B B) 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)))
43.1b
(neg.f64 (*.f64 (*.f64 (sqrt.f64 (sqrt.f64 (*.f64 -1/2 (/.f64 F A)))) (sqrt.f64 (sqrt.f64 2))) (*.f64 (sqrt.f64 (sqrt.f64 (*.f64 -1/2 (/.f64 F A)))) (sqrt.f64 (sqrt.f64 2)))))
61.8b
(neg.f64 (log.f64 (pow.f64 (exp.f64 (sqrt.f64 (*.f64 -1/2 (/.f64 F A)))) (sqrt.f64 2))))
52.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 (fabs.f64 (cbrt.f64 (+.f64 (*.f64 B B) (pow.f64 (-.f64 A C) 2)))) (sqrt.f64 (cbrt.f64 (+.f64 (*.f64 B B) (pow.f64 (-.f64 A C) 2))))))))) (-.f64 (pow.f64 B 2) (*.f64 (*.f64 4 A) C)))
52.8b
(/.f64 (neg.f64 (sqrt.f64 (*.f64 (*.f64 2 (*.f64 (-.f64 (pow.f64 B 2) (*.f64 (*.f64 4 A) C)) F)) (+.f64 (+.f64 A C) (exp.f64 (log.f64 (sqrt.f64 (+.f64 (*.f64 B B) (pow.f64 (-.f64 A C) 2))))))))) (-.f64 (pow.f64 B 2) (*.f64 (*.f64 4 A) C)))
59.9b
(neg.f64 (*.f64 (sqrt.f64 (*.f64 F (+.f64 C (sqrt.f64 (+.f64 (*.f64 C C) (*.f64 B B)))))) (/.f64 (sqrt.f64 2) B)))
50.8b
(/.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))))))
39.1b
(neg.f64 (*.f64 (sqrt.f64 F) (sqrt.f64 (/.f64 -1 A))))
59.7b
(/.f64 (neg.f64 (*.f64 (sqrt.f64 (*.f64 F (+.f64 C (sqrt.f64 (+.f64 (*.f64 C C) (*.f64 B B)))))) (*.f64 B (sqrt.f64 2)))) (-.f64 (pow.f64 B 2) (*.f64 (*.f64 4 A) C)))
63.1b
(neg.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 (*.f64 -1/2 (/.f64 F C)))))
46.5b
(/.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)))
52.0b
(/.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)))
39.3b
(neg.f64 (*.f64 (fabs.f64 (/.f64 (cbrt.f64 F) (cbrt.f64 A))) (sqrt.f64 (neg.f64 (/.f64 (cbrt.f64 F) (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)))
50.8b
(*.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))))
41.4b
(neg.f64 (*.f64 (sqrt.f64 (sqrt.f64 F)) (sqrt.f64 (neg.f64 (/.f64 (sqrt.f64 F) A)))))
Compiler

Compiled 1575 to 1055 computations (33% saved)

localize6.0ms (0%)

Local error

Found 2 expressions with local error:

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

rewrite67.0ms (0.3%)

Algorithm
rewrite-expression-head
Error
23.6b
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:

10.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)

series16.0ms (0.1%)

Error
23.6b
Counts
2 → 9
Calls

2 calls:

11.0ms
(*.f64 (sqrt.f64 F) (sqrt.f64 (/.f64 -1 A)))
5.0ms
(sqrt.f64 (/.f64 -1 A))
Compiler

Compiled 285 to 231 computations (18.9% saved)

simplify162.0ms (0.7%)

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

prune54.0ms (0.2%)

Pruning

25 alts after pruning (24 fresh and 1 done)

PrunedKeptTotal
New29736
Fresh41721
Picked011
Done000
Total332558
Error
23.6b
Counts
58 → 25
Alt Table
StatusErrorProgram
43.1b
(neg.f64 (*.f64 (fabs.f64 (cbrt.f64 (/.f64 F A))) (sqrt.f64 (neg.f64 (cbrt.f64 (/.f64 F A))))))
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)))
49.0b
(neg.f64 (cbrt.f64 (pow.f64 (sqrt.f64 (neg.f64 (/.f64 F A))) 3)))
43.0b
(neg.f64 (*.f64 (sqrt.f64 (sqrt.f64 2)) (*.f64 (sqrt.f64 (*.f64 -1/2 (/.f64 F A))) (sqrt.f64 (sqrt.f64 2)))))
61.8b
(neg.f64 (log.f64 (pow.f64 (exp.f64 (sqrt.f64 (*.f64 -1/2 (/.f64 F A)))) (sqrt.f64 2))))
52.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 (fabs.f64 (cbrt.f64 (+.f64 (*.f64 B B) (pow.f64 (-.f64 A C) 2)))) (sqrt.f64 (cbrt.f64 (+.f64 (*.f64 B B) (pow.f64 (-.f64 A C) 2))))))))) (-.f64 (pow.f64 B 2) (*.f64 (*.f64 4 A) C)))
52.8b
(/.f64 (neg.f64 (sqrt.f64 (*.f64 (*.f64 2 (*.f64 (-.f64 (pow.f64 B 2) (*.f64 (*.f64 4 A) C)) F)) (+.f64 (+.f64 A C) (exp.f64 (log.f64 (sqrt.f64 (+.f64 (*.f64 B B) (pow.f64 (-.f64 A C) 2))))))))) (-.f64 (pow.f64 B 2) (*.f64 (*.f64 4 A) C)))
59.9b
(neg.f64 (*.f64 (sqrt.f64 (*.f64 F (+.f64 C (sqrt.f64 (+.f64 (*.f64 C C) (*.f64 B B)))))) (/.f64 (sqrt.f64 2) B)))
39.4b
(neg.f64 (*.f64 (sqrt.f64 (*.f64 (cbrt.f64 F) (cbrt.f64 F))) (*.f64 (sqrt.f64 (/.f64 -1 A)) (sqrt.f64 (cbrt.f64 F)))))
50.8b
(/.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))))))
39.1b
(neg.f64 (*.f64 (sqrt.f64 F) (sqrt.f64 (/.f64 -1 A))))
59.7b
(/.f64 (neg.f64 (*.f64 (sqrt.f64 (*.f64 F (+.f64 C (sqrt.f64 (+.f64 (*.f64 C C) (*.f64 B B)))))) (*.f64 B (sqrt.f64 2)))) (-.f64 (pow.f64 B 2) (*.f64 (*.f64 4 A) C)))
63.1b
(neg.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 (*.f64 -1/2 (/.f64 F C)))))
39.3b
(neg.f64 (*.f64 (sqrt.f64 (sqrt.f64 F)) (*.f64 (sqrt.f64 (/.f64 -1 A)) (sqrt.f64 (sqrt.f64 F)))))
46.5b
(/.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)))
39.6b
(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)))))
52.0b
(/.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)))
52.2b
(/.f64 (neg.f64 1) (/.f64 (-.f64 (*.f64 B B) (*.f64 (*.f64 C A) 4)) (sqrt.f64 (*.f64 (*.f64 2 (*.f64 F (-.f64 (*.f64 B B) (*.f64 (*.f64 C A) 4)))) (+.f64 (sqrt.f64 (+.f64 (*.f64 B B) (pow.f64 (-.f64 A C) 2))) (+.f64 C A))))))
39.6b
(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)))))
40.8b
(neg.f64 (exp.f64 (log.f64 (*.f64 (sqrt.f64 (/.f64 -1 A)) (sqrt.f64 F)))))
56.4b
(/.f64 (neg.f64 (sqrt.f64 (*.f64 (*.f64 2 (*.f64 (*.f64 B B) 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)))
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.8b
(*.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))))
46.1b
(neg.f64 (*.f64 (sqrt.f64 F) (cbrt.f64 (pow.f64 (sqrt.f64 (/.f64 -1 A)) 3))))
39.4b
(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)))))
Compiler

Compiled 1061 to 745 computations (29.8% saved)

regimes4.7s (21%)

Accuracy

Total 4.2b remaining (14%)

Threshold costs 0b (0%)

Compiler

Compiled 67274 to 46816 computations (30.4% saved)

bsearch21.0ms (0.1%)

Compiler

Compiled 44 to 32 computations (27.3% saved)

simplify22.0ms (0.1%)

Algorithm
egg-herbie
Rules
42×*-commutative_binary64
32×+-commutative_binary64
28×sub-neg_binary64
25×neg-sub0_binary64
25×neg-mul-1_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
065412
1122412
2184412
3232412
4263412
5278412
6285412
7288412
8289412
9288412

end19.0ms (0.1%)

Compiler

Compiled 813 to 552 computations (32.1% saved)

sample9.5s (42.8%)

Algorithm
intervals
Results
1.6s5571×body128valid
1.1s823×body1024valid
997.0ms677×body2048valid
984.0ms817×body1024nan
883.0ms604×body2048nan
790.0ms2912×body128nan
549.0ms566×body512valid
465.0ms554×body512nan
197.0ms363×body256valid
194.0ms332×body256nan
Compiler

Compiled 1039 to 733 computations (29.5% saved)

Profiling

Loading profile data...