Details

Time bar (total: 6.3s)

analyze859.0ms (13.7%)

Algorithm
search
Search
TrueOtherFalseIter
0%99.9%0.1%0
0%99.9%0.1%1
0%99.9%0.1%2
0%99.9%0.1%3
0%99.9%0.1%4
0%99.9%0.1%5
12.5%87.4%0.1%6
20.3%73.3%6.4%7
27.3%66.3%6.4%8
38.2%53%8.7%9
46%40.6%13.4%10
49.9%35.1%15%11
54.9%26.9%18.1%12
57.4%22%20.6%13
59.7%18%22.4%14
Compiler

Compiled 42 to 27 computations (35.7% saved)

sample1.9s (30.5%)

Results
1.7s8256×body128valid
182.0ms1025×body128invalid
Compiler

Compiled 125 to 80 computations (36% saved)

simplify31.0ms (0.5%)

Algorithm
egg-herbie
Rules
781×fma-neg_binary64
464×times-frac_binary64
353×div-sub_binary64
283×cancel-sign-sub-inv_binary64
251×associate-/l*_binary64
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
02258
14452
29952
324050
443950
578050
6149350
7285650
8430250
Stop Event
node limit
Counts
1 → 2

prune8.0ms (0.1%)

Pruning

3 alts after pruning (3 fresh and 0 done)

PrunedKeptTotal
New022
Fresh011
Picked000
Done000
Total033
Error
20.4b
Counts
3 → 2
Alt Table
StatusErrorProgram
20.5b
(if (>=.f64 b 0) (/.f64 (*.f64 2 c) (-.f64 (neg.f64 b) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 (*.f64 4 a) c))))) (/.f64 (+.f64 (neg.f64 b) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 (*.f64 4 a) c)))) (*.f64 2 a)))
20.5b
(if (>=.f64 b 0) (/.f64 (*.f64 c -2) (+.f64 b (sqrt.f64 (fma.f64 c (/.f64 a -1/4) (*.f64 b b))))) (*.f64 (-.f64 b (sqrt.f64 (fma.f64 c (/.f64 a -1/4) (*.f64 b b)))) (/.f64 -1/2 a)))
Compiler

Compiled 231 to 143 computations (38.1% saved)

localize17.0ms (0.3%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.2b
(*.f64 (-.f64 b (sqrt.f64 (fma.f64 c (/.f64 a -1/4) (*.f64 b b)))) (/.f64 -1/2 a))
1.0b
(+.f64 b (sqrt.f64 (fma.f64 c (/.f64 a -1/4) (*.f64 b b))))
1.3b
(-.f64 b (sqrt.f64 (fma.f64 c (/.f64 a -1/4) (*.f64 b b))))
22.8b
(sqrt.f64 (fma.f64 c (/.f64 a -1/4) (*.f64 b b)))
Compiler

Compiled 1536 to 1280 computations (16.7% saved)

series150.0ms (2.4%)

Counts
4 → 80
Calls

4 calls:

53.0ms
(*.f64 (-.f64 b (sqrt.f64 (fma.f64 c (/.f64 a -1/4) (*.f64 b b)))) (/.f64 -1/2 a))
35.0ms
(-.f64 b (sqrt.f64 (fma.f64 c (/.f64 a -1/4) (*.f64 b b))))
34.0ms
(+.f64 b (sqrt.f64 (fma.f64 c (/.f64 a -1/4) (*.f64 b b))))
27.0ms
(sqrt.f64 (fma.f64 c (/.f64 a -1/4) (*.f64 b b)))

rewrite68.0ms (1.1%)

Algorithm
batch-egg-rewrite
Rules
269×expm1-udef_binary64
269×log1p-udef_binary64
237×fma-neg_binary64
152×add-sqr-sqrt_binary64
150×egg-rr
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01467
131067
2410567
Stop Event
node limit
Counts
4 → 150
Calls

4 calls:

64.0ms
(*.f64 (-.f64 b (sqrt.f64 (fma.f64 c (/.f64 a -1/4) (*.f64 b b)))) (/.f64 -1/2 a))
64.0ms
(+.f64 b (sqrt.f64 (fma.f64 c (/.f64 a -1/4) (*.f64 b b))))
64.0ms
(-.f64 b (sqrt.f64 (fma.f64 c (/.f64 a -1/4) (*.f64 b b))))
64.0ms
(sqrt.f64 (fma.f64 c (/.f64 a -1/4) (*.f64 b b)))

simplify45.0ms (0.7%)

Algorithm
egg-herbie
Rules
725×times-frac_binary64
463×associate-/l*_binary64
402×associate-/r*_binary64
387×fma-def_binary64
161×cancel-sign-sub-inv_binary64
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
01162391
13892360
213342254
Stop Event
node limit
Counts
230 → 226

prune390.0ms (6.2%)

Pruning

9 alts after pruning (9 fresh and 0 done)

PrunedKeptTotal
New2639272
Fresh101
Picked101
Done000
Total2659274
Error
6.7b
Counts
274 → 9
Alt Table
StatusErrorProgram
22.3b
(if (>=.f64 b 0) (/.f64 (*.f64 c -2) (+.f64 b b)) (*.f64 (-.f64 b (sqrt.f64 (fma.f64 c (/.f64 a -1/4) (*.f64 b b)))) (/.f64 -1/2 a)))
32.5b
(if (>=.f64 b 0) (/.f64 (*.f64 c -2) (+.f64 b (sqrt.f64 (fma.f64 c (/.f64 a -1/4) (*.f64 b b))))) (/.f64 (-.f64 (*.f64 b b) (fma.f64 c (*.f64 a -4) (*.f64 b b))) (*.f64 (/.f64 a -1/2) (+.f64 b (sqrt.f64 (fma.f64 c (*.f64 a -4) (*.f64 b b)))))))
35.6b
(if (>=.f64 b 0) (/.f64 (*.f64 c -2) (/.f64 1 (/.f64 (-.f64 b (sqrt.f64 (fma.f64 c (*.f64 a -4) (*.f64 b b)))) (-.f64 (*.f64 b b) (fma.f64 c (*.f64 a -4) (*.f64 b b)))))) (*.f64 (-.f64 b (sqrt.f64 (fma.f64 c (/.f64 a -1/4) (*.f64 b b)))) (/.f64 -1/2 a)))
22.2b
(if (>=.f64 b 0) (/.f64 (*.f64 c -2) (+.f64 b (sqrt.f64 (fma.f64 c (/.f64 a -1/4) (*.f64 b b))))) (-.f64 (/.f64 c b) (/.f64 b a)))
20.4b
(if (>=.f64 b 0) (/.f64 (*.f64 c -2) (+.f64 b (sqrt.f64 (fma.f64 c (/.f64 a -1/4) (*.f64 b b))))) (/.f64 (-.f64 b (sqrt.f64 (fma.f64 c (*.f64 a -4) (*.f64 b b)))) (/.f64 a -1/2)))
22.2b
(if (>=.f64 b 0) (/.f64 (*.f64 c -2) (+.f64 b (sqrt.f64 (fma.f64 c (/.f64 a -1/4) (*.f64 b b))))) (*.f64 -1 (/.f64 b a)))
22.3b
(if (>=.f64 b 0) (/.f64 (*.f64 c -2) (+.f64 b (sqrt.f64 (fma.f64 c (/.f64 a -1/4) (*.f64 b b))))) (*.f64 (-.f64 b (-.f64 (/.f64 (*.f64 2 a) (/.f64 b c)) b)) (/.f64 -1/2 a)))
20.5b
(if (>=.f64 b 0) (/.f64 (*.f64 c -2) (+.f64 b (pow.f64 (pow.f64 (fma.f64 c (*.f64 a -4) (*.f64 b b)) 1/4) 2))) (*.f64 (-.f64 b (sqrt.f64 (fma.f64 c (/.f64 a -1/4) (*.f64 b b)))) (/.f64 -1/2 a)))
22.1b
(if (>=.f64 b 0) (/.f64 (*.f64 c -2) (+.f64 b (fma.f64 (*.f64 (/.f64 c b) a) -2 b))) (*.f64 (-.f64 b (sqrt.f64 (fma.f64 c (/.f64 a -1/4) (*.f64 b b)))) (/.f64 -1/2 a)))
Compiler

Compiled 12640 to 7366 computations (41.7% saved)

localize45.0ms (0.7%)

Local error

Found 4 expressions with local error:

NewErrorProgram
1.0b
(+.f64 b (sqrt.f64 (fma.f64 c (/.f64 a -1/4) (*.f64 b b))))
1.3b
(-.f64 b (sqrt.f64 (fma.f64 c (*.f64 a -4) (*.f64 b b))))
22.8b
(sqrt.f64 (fma.f64 c (/.f64 a -1/4) (*.f64 b b)))
22.8b
(sqrt.f64 (fma.f64 c (*.f64 a -4) (*.f64 b b)))
Compiler

Compiled 1536 to 1280 computations (16.7% saved)

series60.0ms (1%)

Counts
2 → 40
Calls

2 calls:

34.0ms
(-.f64 b (sqrt.f64 (fma.f64 c (*.f64 a -4) (*.f64 b b))))
26.0ms
(sqrt.f64 (fma.f64 c (*.f64 a -4) (*.f64 b b)))

rewrite61.0ms (1%)

Algorithm
batch-egg-rewrite
Rules
783×prod-diff_binary64
334×fma-def_binary64
185×expm1-udef_binary64
185×log1p-udef_binary64
156×fma-neg_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01029
121129
2269329
Stop Event
node limit
Counts
2 → 121
Calls

2 calls:

57.0ms
(-.f64 b (sqrt.f64 (fma.f64 c (*.f64 a -4) (*.f64 b b))))
57.0ms
(sqrt.f64 (fma.f64 c (*.f64 a -4) (*.f64 b b)))

simplify47.0ms (0.8%)

Algorithm
egg-herbie
Rules
441×times-frac_binary64
417×fma-neg_binary64
274×associate-/l*_binary64
269×associate-*r*_binary64
240×associate-/r*_binary64
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
0761210
12501196
28081140
344111140
Stop Event
node limit
Counts
161 → 168

prune395.0ms (6.3%)

Pruning

9 alts after pruning (8 fresh and 1 done)

PrunedKeptTotal
New2600260
Fresh088
Picked011
Done000
Total2609269
Error
6.7b
Counts
269 → 9
Alt Table
StatusErrorProgram
22.3b
(if (>=.f64 b 0) (/.f64 (*.f64 c -2) (+.f64 b b)) (*.f64 (-.f64 b (sqrt.f64 (fma.f64 c (/.f64 a -1/4) (*.f64 b b)))) (/.f64 -1/2 a)))
32.5b
(if (>=.f64 b 0) (/.f64 (*.f64 c -2) (+.f64 b (sqrt.f64 (fma.f64 c (/.f64 a -1/4) (*.f64 b b))))) (/.f64 (-.f64 (*.f64 b b) (fma.f64 c (*.f64 a -4) (*.f64 b b))) (*.f64 (/.f64 a -1/2) (+.f64 b (sqrt.f64 (fma.f64 c (*.f64 a -4) (*.f64 b b)))))))
35.6b
(if (>=.f64 b 0) (/.f64 (*.f64 c -2) (/.f64 1 (/.f64 (-.f64 b (sqrt.f64 (fma.f64 c (*.f64 a -4) (*.f64 b b)))) (-.f64 (*.f64 b b) (fma.f64 c (*.f64 a -4) (*.f64 b b)))))) (*.f64 (-.f64 b (sqrt.f64 (fma.f64 c (/.f64 a -1/4) (*.f64 b b)))) (/.f64 -1/2 a)))
22.2b
(if (>=.f64 b 0) (/.f64 (*.f64 c -2) (+.f64 b (sqrt.f64 (fma.f64 c (/.f64 a -1/4) (*.f64 b b))))) (-.f64 (/.f64 c b) (/.f64 b a)))
20.4b
(if (>=.f64 b 0) (/.f64 (*.f64 c -2) (+.f64 b (sqrt.f64 (fma.f64 c (/.f64 a -1/4) (*.f64 b b))))) (/.f64 (-.f64 b (sqrt.f64 (fma.f64 c (*.f64 a -4) (*.f64 b b)))) (/.f64 a -1/2)))
22.2b
(if (>=.f64 b 0) (/.f64 (*.f64 c -2) (+.f64 b (sqrt.f64 (fma.f64 c (/.f64 a -1/4) (*.f64 b b))))) (*.f64 -1 (/.f64 b a)))
22.3b
(if (>=.f64 b 0) (/.f64 (*.f64 c -2) (+.f64 b (sqrt.f64 (fma.f64 c (/.f64 a -1/4) (*.f64 b b))))) (*.f64 (-.f64 b (-.f64 (/.f64 (*.f64 2 a) (/.f64 b c)) b)) (/.f64 -1/2 a)))
20.5b
(if (>=.f64 b 0) (/.f64 (*.f64 c -2) (+.f64 b (pow.f64 (pow.f64 (fma.f64 c (*.f64 a -4) (*.f64 b b)) 1/4) 2))) (*.f64 (-.f64 b (sqrt.f64 (fma.f64 c (/.f64 a -1/4) (*.f64 b b)))) (/.f64 -1/2 a)))
22.1b
(if (>=.f64 b 0) (/.f64 (*.f64 c -2) (+.f64 b (fma.f64 (*.f64 (/.f64 c b) a) -2 b))) (*.f64 (-.f64 b (sqrt.f64 (fma.f64 c (/.f64 a -1/4) (*.f64 b b)))) (/.f64 -1/2 a)))
Compiler

Compiled 13644 to 7646 computations (44% saved)

localize24.0ms (0.4%)

Local error

Found 4 expressions with local error:

NewErrorProgram
1.3b
(-.f64 b (sqrt.f64 (fma.f64 c (/.f64 a -1/4) (*.f64 b b))))
8.3b
(+.f64 b (pow.f64 (pow.f64 (fma.f64 c (*.f64 a -4) (*.f64 b b)) 1/4) 2))
22.8b
(sqrt.f64 (fma.f64 c (/.f64 a -1/4) (*.f64 b b)))
23.4b
(pow.f64 (fma.f64 c (*.f64 a -4) (*.f64 b b)) 1/4)
Compiler

Compiled 1536 to 1280 computations (16.7% saved)

series69.0ms (1.1%)

Counts
2 → 56
Calls

2 calls:

38.0ms
(pow.f64 (fma.f64 c (*.f64 a -4) (*.f64 b b)) 1/4)
31.0ms
(+.f64 b (pow.f64 (pow.f64 (fma.f64 c (*.f64 a -4) (*.f64 b b)) 1/4) 2))

rewrite48.0ms (0.8%)

Algorithm
batch-egg-rewrite
Rules
884×prod-diff_binary64
223×log1p-udef_binary64
130×log1p-expm1-u_binary64
130×expm1-log1p-u_binary64
128×add-sqr-sqrt_binary64
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
01331
128130
2329930
Stop Event
node limit
Counts
2 → 54
Calls

2 calls:

46.0ms
(+.f64 b (pow.f64 (pow.f64 (fma.f64 c (*.f64 a -4) (*.f64 b b)) 1/4) 2))
46.0ms
(pow.f64 (fma.f64 c (*.f64 a -4) (*.f64 b b)) 1/4)

simplify52.0ms (0.8%)

Algorithm
egg-herbie
Rules
629×fma-def_binary64
511×cancel-sign-sub-inv_binary64
253×distribute-neg-frac_binary64
169×times-frac_binary64
166×sub-neg_binary64
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
02172523
17302467
228552431
Stop Event
node limit
Counts
110 → 133

prune383.0ms (6.1%)

Pruning

11 alts after pruning (9 fresh and 2 done)

PrunedKeptTotal
New2453248
Fresh167
Picked011
Done011
Total24611257
Error
3.8b
Counts
257 → 11
Alt Table
StatusErrorProgram
38.1b
(if (>=.f64 b 0) (/.f64 (*.f64 c -2) (+.f64 b (pow.f64 (pow.f64 (exp.f64 1/4) (+.f64 (log.f64 (*.f64 a -4)) (log.f64 c))) 2))) (*.f64 (-.f64 b (sqrt.f64 (fma.f64 c (/.f64 a -1/4) (*.f64 b b)))) (/.f64 -1/2 a)))
35.6b
(if (>=.f64 b 0) (/.f64 (*.f64 c -2) (/.f64 1 (/.f64 (-.f64 b (sqrt.f64 (fma.f64 c (*.f64 a -4) (*.f64 b b)))) (-.f64 (*.f64 b b) (fma.f64 c (*.f64 a -4) (*.f64 b b)))))) (*.f64 (-.f64 b (sqrt.f64 (fma.f64 c (/.f64 a -1/4) (*.f64 b b)))) (/.f64 -1/2 a)))
22.2b
(if (>=.f64 b 0) (/.f64 (*.f64 c -2) (+.f64 b (sqrt.f64 (fma.f64 c (/.f64 a -1/4) (*.f64 b b))))) (-.f64 (/.f64 c b) (/.f64 b a)))
32.5b
(if (>=.f64 b 0) (/.f64 (*.f64 c -2) (+.f64 b (sqrt.f64 (fma.f64 c (/.f64 a -1/4) (*.f64 b b))))) (/.f64 (-.f64 (*.f64 b b) (fma.f64 c (*.f64 a -4) (*.f64 b b))) (*.f64 (/.f64 a -1/2) (+.f64 b (sqrt.f64 (fma.f64 c (*.f64 a -4) (*.f64 b b)))))))
20.4b
(if (>=.f64 b 0) (/.f64 (*.f64 c -2) (+.f64 b (sqrt.f64 (fma.f64 c (/.f64 a -1/4) (*.f64 b b))))) (/.f64 (-.f64 b (sqrt.f64 (fma.f64 c (*.f64 a -4) (*.f64 b b)))) (/.f64 a -1/2)))
37.9b
(if (>=.f64 b 0) (/.f64 (*.f64 c -2) (+.f64 b (pow.f64 (exp.f64 (*.f64 1/4 (-.f64 (log.f64 (*.f64 4 c)) (log.f64 (/.f64 -1 a))))) 2))) (*.f64 (-.f64 b (sqrt.f64 (fma.f64 c (/.f64 a -1/4) (*.f64 b b)))) (/.f64 -1/2 a)))
35.9b
(if (>=.f64 b 0) (/.f64 (*.f64 c -2) (+.f64 b (pow.f64 (exp.f64 (*.f64 1/4 (-.f64 (log.f64 (neg.f64 (*.f64 4 c))) (log.f64 (/.f64 1 a))))) 2))) (*.f64 (-.f64 b (sqrt.f64 (fma.f64 c (/.f64 a -1/4) (*.f64 b b)))) (/.f64 -1/2 a)))
22.2b
(if (>=.f64 b 0) (/.f64 (*.f64 c -2) (+.f64 b (sqrt.f64 (fma.f64 c (/.f64 a -1/4) (*.f64 b b))))) (*.f64 -1 (/.f64 b a)))
22.3b
(if (>=.f64 b 0) (/.f64 (*.f64 c -2) (+.f64 b (sqrt.f64 (fma.f64 c (/.f64 a -1/4) (*.f64 b b))))) (*.f64 (-.f64 b (-.f64 (/.f64 (*.f64 2 a) (/.f64 b c)) b)) (/.f64 -1/2 a)))
20.5b
(if (>=.f64 b 0) (/.f64 (*.f64 c -2) (+.f64 b (pow.f64 (pow.f64 (fma.f64 c (*.f64 a -4) (*.f64 b b)) 1/4) 2))) (*.f64 (-.f64 b (sqrt.f64 (fma.f64 c (/.f64 a -1/4) (*.f64 b b)))) (/.f64 -1/2 a)))
22.1b
(if (>=.f64 b 0) (/.f64 (*.f64 c -2) (+.f64 b (fma.f64 (*.f64 (/.f64 c b) a) -2 b))) (*.f64 (-.f64 b (sqrt.f64 (fma.f64 c (/.f64 a -1/4) (*.f64 b b)))) (/.f64 -1/2 a)))
Compiler

Compiled 13364 to 8417 computations (37% saved)

localize21.0ms (0.3%)

Local error

Found 4 expressions with local error:

NewErrorProgram
1.3b
(-.f64 b (sqrt.f64 (fma.f64 c (/.f64 a -1/4) (*.f64 b b))))
4.5b
(/.f64 (*.f64 c -2) (+.f64 b (fma.f64 (*.f64 (/.f64 c b) a) -2 b)))
5.7b
(*.f64 (/.f64 c b) a)
22.8b
(sqrt.f64 (fma.f64 c (/.f64 a -1/4) (*.f64 b b)))
Compiler

Compiled 1536 to 1280 computations (16.7% saved)

series35.0ms (0.6%)

Counts
2 → 72
Calls

2 calls:

22.0ms
(/.f64 (*.f64 c -2) (+.f64 b (fma.f64 (*.f64 (/.f64 c b) a) -2 b)))
12.0ms
(*.f64 (/.f64 c b) a)

rewrite60.0ms (1%)

Algorithm
batch-egg-rewrite
Rules
595×prod-diff_binary64
231×log1p-udef_binary64
127×add-sqr-sqrt_binary64
120×log1p-expm1-u_binary64
120×expm1-log1p-u_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01127
124627
2357127
Stop Event
node limit
Counts
2 → 70
Calls

2 calls:

59.0ms
(/.f64 (*.f64 c -2) (+.f64 b (fma.f64 (*.f64 (/.f64 c b) a) -2 b)))
59.0ms
(*.f64 (/.f64 c b) a)

simplify40.0ms (0.6%)

Algorithm
egg-herbie
Rules
517×unswap-sqr_binary64
513×cancel-sign-sub-inv_binary64
512×fma-neg_binary64
263×times-frac_binary64
225×associate-/l*_binary64
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
0471319
11371319
25041271
327631271
Stop Event
node limit
Counts
142 → 85

prune284.0ms (4.5%)

Pruning

12 alts after pruning (9 fresh and 3 done)

PrunedKeptTotal
New1991200
Fresh088
Picked011
Done022
Total19912211
Error
3.8b
Counts
211 → 12
Alt Table
StatusErrorProgram
38.1b
(if (>=.f64 b 0) (/.f64 (*.f64 c -2) (+.f64 b (pow.f64 (pow.f64 (exp.f64 1/4) (+.f64 (log.f64 (*.f64 a -4)) (log.f64 c))) 2))) (*.f64 (-.f64 b (sqrt.f64 (fma.f64 c (/.f64 a -1/4) (*.f64 b b)))) (/.f64 -1/2 a)))
35.6b
(if (>=.f64 b 0) (/.f64 (*.f64 c -2) (/.f64 1 (/.f64 (-.f64 b (sqrt.f64 (fma.f64 c (*.f64 a -4) (*.f64 b b)))) (-.f64 (*.f64 b b) (fma.f64 c (*.f64 a -4) (*.f64 b b)))))) (*.f64 (-.f64 b (sqrt.f64 (fma.f64 c (/.f64 a -1/4) (*.f64 b b)))) (/.f64 -1/2 a)))
22.2b
(if (>=.f64 b 0) (/.f64 (*.f64 c -2) (+.f64 b (sqrt.f64 (fma.f64 c (/.f64 a -1/4) (*.f64 b b))))) (-.f64 (/.f64 c b) (/.f64 b a)))
22.5b
(if (>=.f64 b 0) (pow.f64 (cbrt.f64 (/.f64 c (*.f64 (+.f64 b (fma.f64 (*.f64 (/.f64 c b) a) -2 b)) -1/2))) 3) (*.f64 (-.f64 b (sqrt.f64 (fma.f64 c (/.f64 a -1/4) (*.f64 b b)))) (/.f64 -1/2 a)))
22.2b
(if (>=.f64 b 0) (/.f64 (*.f64 c -2) (+.f64 b (sqrt.f64 (fma.f64 c (/.f64 a -1/4) (*.f64 b b))))) (*.f64 -1 (/.f64 b a)))
32.5b
(if (>=.f64 b 0) (/.f64 (*.f64 c -2) (+.f64 b (sqrt.f64 (fma.f64 c (/.f64 a -1/4) (*.f64 b b))))) (/.f64 (-.f64 (*.f64 b b) (fma.f64 c (*.f64 a -4) (*.f64 b b))) (*.f64 (/.f64 a -1/2) (+.f64 b (sqrt.f64 (fma.f64 c (*.f64 a -4) (*.f64 b b)))))))
20.4b
(if (>=.f64 b 0) (/.f64 (*.f64 c -2) (+.f64 b (sqrt.f64 (fma.f64 c (/.f64 a -1/4) (*.f64 b b))))) (/.f64 (-.f64 b (sqrt.f64 (fma.f64 c (*.f64 a -4) (*.f64 b b)))) (/.f64 a -1/2)))
37.9b
(if (>=.f64 b 0) (/.f64 (*.f64 c -2) (+.f64 b (pow.f64 (exp.f64 (*.f64 1/4 (-.f64 (log.f64 (*.f64 4 c)) (log.f64 (/.f64 -1 a))))) 2))) (*.f64 (-.f64 b (sqrt.f64 (fma.f64 c (/.f64 a -1/4) (*.f64 b b)))) (/.f64 -1/2 a)))
35.9b
(if (>=.f64 b 0) (/.f64 (*.f64 c -2) (+.f64 b (pow.f64 (exp.f64 (*.f64 1/4 (-.f64 (log.f64 (neg.f64 (*.f64 4 c))) (log.f64 (/.f64 1 a))))) 2))) (*.f64 (-.f64 b (sqrt.f64 (fma.f64 c (/.f64 a -1/4) (*.f64 b b)))) (/.f64 -1/2 a)))
22.3b
(if (>=.f64 b 0) (/.f64 (*.f64 c -2) (+.f64 b (sqrt.f64 (fma.f64 c (/.f64 a -1/4) (*.f64 b b))))) (*.f64 (-.f64 b (-.f64 (/.f64 (*.f64 2 a) (/.f64 b c)) b)) (/.f64 -1/2 a)))
20.5b
(if (>=.f64 b 0) (/.f64 (*.f64 c -2) (+.f64 b (pow.f64 (pow.f64 (fma.f64 c (*.f64 a -4) (*.f64 b b)) 1/4) 2))) (*.f64 (-.f64 b (sqrt.f64 (fma.f64 c (/.f64 a -1/4) (*.f64 b b)))) (/.f64 -1/2 a)))
22.1b
(if (>=.f64 b 0) (/.f64 (*.f64 c -2) (+.f64 b (fma.f64 (*.f64 (/.f64 c b) a) -2 b))) (*.f64 (-.f64 b (sqrt.f64 (fma.f64 c (/.f64 a -1/4) (*.f64 b b)))) (/.f64 -1/2 a)))
Compiler

Compiled 8814 to 4918 computations (44.2% saved)

regimes789.0ms (12.6%)

Accuracy

Total 4.0b remaining (53.5%)

Threshold costs 0b (0%)

Counts
65 → 5
Compiler

Compiled 10562 to 6738 computations (36.2% saved)

bsearch4.0ms (0.1%)

Compiler

Compiled 41 to 26 computations (36.6% saved)

simplify11.0ms (0.2%)

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

Useful iterations: 1 (0.0ms)

IterNodesCost
068460
196452
2127452
3148452
4160452
5163452
Stop Event
saturated

end365.0ms (5.8%)

Compiler

Compiled 1082 to 672 computations (37.9% saved)

Profiling

Loading profile data...