Details

Time bar (total: 7.4s)

analyze839.0ms (11.3%)

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 (26.1%)

Results
1.7s8256×body128valid
218.0ms1110×body128invalid
Compiler

Compiled 125 to 80 computations (36% saved)

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

prune5.0ms (0.1%)

Pruning

3 alts after pruning (3 fresh and 0 done)

PrunedKeptTotal
New022
Fresh011
Picked000
Done000
Total033
Error
18.3b
Counts
3 → 2
Alt Table
StatusErrorProgram
18.3b
(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)))
18.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 -1/4) (*.f64 b b)))) (/.f64 -1/2 a)))
Compiler

Compiled 231 to 143 computations (38.1% saved)

localize20.0ms (0.3%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.3b
(/.f64 (*.f64 2 c) (-.f64 (neg.f64 b) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 (*.f64 4 a) c)))))
0.5b
(-.f64 (neg.f64 b) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 (*.f64 4 a) c))))
1.0b
(+.f64 (neg.f64 b) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 (*.f64 4 a) c))))
20.5b
(sqrt.f64 (-.f64 (*.f64 b b) (*.f64 (*.f64 4 a) c)))
Compiler

Compiled 1536 to 1280 computations (16.7% saved)

series232.0ms (3.1%)

Counts
4 → 80
Calls

4 calls:

124.0ms
(/.f64 (*.f64 2 c) (-.f64 (neg.f64 b) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 (*.f64 4 a) c)))))
46.0ms
(-.f64 (neg.f64 b) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 (*.f64 4 a) c))))
31.0ms
(sqrt.f64 (-.f64 (*.f64 b b) (*.f64 (*.f64 4 a) c)))
31.0ms
(+.f64 (neg.f64 b) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 (*.f64 4 a) c))))

rewrite47.0ms (0.6%)

Algorithm
batch-egg-rewrite
Rules
179×add-sqr-sqrt_binary64
174×log1p-expm1-u_binary64
174×expm1-log1p-u_binary64
173×add-cbrt-cube_binary64
169×add-exp-log_binary64
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
01681
136767
Stop Event
node limit
Counts
4 → 154
Calls

4 calls:

43.0ms
(/.f64 (*.f64 2 c) (-.f64 (neg.f64 b) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 (*.f64 4 a) c)))))
43.0ms
(-.f64 (neg.f64 b) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 (*.f64 4 a) c))))
43.0ms
(+.f64 (neg.f64 b) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 (*.f64 4 a) c))))
43.0ms
(sqrt.f64 (-.f64 (*.f64 b b) (*.f64 (*.f64 4 a) c)))

simplify49.0ms (0.7%)

Algorithm
egg-herbie
Rules
877×times-frac_binary64
532×associate-/l*_binary64
438×fma-def_binary64
172×cancel-sign-sub-inv_binary64
156×fma-neg_binary64
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
01272470
14252414
214712285
Stop Event
node limit
Counts
234 → 230

prune426.0ms (5.7%)

Pruning

10 alts after pruning (10 fresh and 0 done)

PrunedKeptTotal
New2689277
Fresh011
Picked101
Done000
Total26910279
Error
6.2b
Counts
279 → 10
Alt Table
StatusErrorProgram
31.9b
(if (>=.f64 b 0) (*.f64 2 (/.f64 1 (/.f64 (-.f64 b (sqrt.f64 (fma.f64 b b (*.f64 c (*.f64 a -4))))) c))) (/.f64 (+.f64 (neg.f64 b) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 (*.f64 4 a) c)))) (*.f64 2 a)))
22.8b
(if (>=.f64 b 0) (*.f64 -1 (/.f64 c b)) (/.f64 (+.f64 (neg.f64 b) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 (*.f64 4 a) c)))) (*.f64 2 a)))
31.9b
(if (>=.f64 b 0) (*.f64 c (*.f64 2 (/.f64 1 (-.f64 b (sqrt.f64 (fma.f64 b b (*.f64 c (*.f64 a -4)))))))) (/.f64 (+.f64 (neg.f64 b) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 (*.f64 4 a) c)))) (*.f64 2 a)))
19.6b
(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) (*.f64 -1 b)) (*.f64 2 a)))
36.0b
(if (>=.f64 b 0) (*.f64 (/.f64 (*.f64 c 2) (-.f64 (*.f64 b b) (fma.f64 b b (*.f64 c (*.f64 a -4))))) (+.f64 b (sqrt.f64 (fma.f64 b b (*.f64 c (*.f64 a -4)))))) (/.f64 (+.f64 (neg.f64 b) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 (*.f64 4 a) c)))) (*.f64 2 a)))
18.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) (*.f64 (cbrt.f64 (fma.f64 b b (*.f64 c (*.f64 a -4)))) (cbrt.f64 (sqrt.f64 (fma.f64 b b (*.f64 c (*.f64 a -4))))))) (*.f64 2 a)))
22.7b
(if (>=.f64 b 0) (/.f64 (*.f64 2 c) (-.f64 (neg.f64 b) (fma.f64 (*.f64 (/.f64 c b) a) -2 b))) (/.f64 (+.f64 (neg.f64 b) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 (*.f64 4 a) c)))) (*.f64 2 a)))
18.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 -1/4) (*.f64 b b)))) (/.f64 -1/2 a)))
18.7b
(if (>=.f64 b 0) (/.f64 (*.f64 2 c) (-.f64 (neg.f64 b) (pow.f64 (cbrt.f64 (sqrt.f64 (fma.f64 b b (*.f64 c (*.f64 a -4))))) 3))) (/.f64 (+.f64 (neg.f64 b) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 (*.f64 4 a) c)))) (*.f64 2 a)))
18.6b
(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) (pow.f64 (cbrt.f64 (sqrt.f64 (fma.f64 b b (*.f64 c (*.f64 a -4))))) 3)) (*.f64 2 a)))
Compiler

Compiled 13767 to 8294 computations (39.8% saved)

localize19.0ms (0.3%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.3b
(/.f64 (*.f64 c -2) (+.f64 b (sqrt.f64 (fma.f64 c (/.f64 a -1/4) (*.f64 b b)))))
0.5b
(+.f64 b (sqrt.f64 (fma.f64 c (/.f64 a -1/4) (*.f64 b b))))
1.0b
(-.f64 b (sqrt.f64 (fma.f64 c (/.f64 a -1/4) (*.f64 b b))))
20.5b
(sqrt.f64 (fma.f64 c (/.f64 a -1/4) (*.f64 b b)))
Compiler

Compiled 1536 to 1280 computations (16.7% saved)

series220.0ms (3%)

Counts
4 → 80
Calls

4 calls:

122.0ms
(/.f64 (*.f64 c -2) (+.f64 b (sqrt.f64 (fma.f64 c (/.f64 a -1/4) (*.f64 b b)))))
41.0ms
(-.f64 b (sqrt.f64 (fma.f64 c (/.f64 a -1/4) (*.f64 b b))))
32.0ms
(+.f64 b (sqrt.f64 (fma.f64 c (/.f64 a -1/4) (*.f64 b b))))
25.0ms
(sqrt.f64 (fma.f64 c (/.f64 a -1/4) (*.f64 b b)))

rewrite75.0ms (1%)

Algorithm
batch-egg-rewrite
Rules
274×expm1-udef_binary64
274×log1p-udef_binary64
154×add-sqr-sqrt_binary64
150×egg-rr
148×log1p-expm1-u_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01467
131267
2424567
Stop Event
node limit
Counts
4 → 150
Calls

4 calls:

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

simplify47.0ms (0.6%)

Algorithm
egg-herbie
Rules
874×times-frac_binary64
529×associate-/l*_binary64
438×associate-/r*_binary64
384×fma-def_binary64
188×cancel-sign-sub-inv_binary64
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
01202438
13952390
213462267
Stop Event
node limit
Counts
230 → 226

prune437.0ms (5.9%)

Pruning

10 alts after pruning (10 fresh and 0 done)

PrunedKeptTotal
New2702272
Fresh189
Picked101
Done000
Total27210282
Error
6.2b
Counts
282 → 10
Alt Table
StatusErrorProgram
18.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 (pow.f64 (pow.f64 (fma.f64 c (*.f64 a -4) (*.f64 b b)) 1/4) 2)) (/.f64 -1/2 a)))
31.9b
(if (>=.f64 b 0) (*.f64 2 (/.f64 1 (/.f64 (-.f64 b (sqrt.f64 (fma.f64 b b (*.f64 c (*.f64 a -4))))) c))) (/.f64 (+.f64 (neg.f64 b) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 (*.f64 4 a) c)))) (*.f64 2 a)))
22.8b
(if (>=.f64 b 0) (*.f64 -1 (/.f64 c b)) (/.f64 (+.f64 (neg.f64 b) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 (*.f64 4 a) c)))) (*.f64 2 a)))
36.0b
(if (>=.f64 b 0) (*.f64 (/.f64 (*.f64 c 2) (-.f64 (*.f64 b b) (fma.f64 b b (*.f64 c (*.f64 a -4))))) (+.f64 b (sqrt.f64 (fma.f64 b b (*.f64 c (*.f64 a -4)))))) (/.f64 (+.f64 (neg.f64 b) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 (*.f64 4 a) c)))) (*.f64 2 a)))
18.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) (*.f64 (cbrt.f64 (fma.f64 b b (*.f64 c (*.f64 a -4)))) (cbrt.f64 (sqrt.f64 (fma.f64 b b (*.f64 c (*.f64 a -4))))))) (*.f64 2 a)))
19.6b
(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) (*.f64 -1 b)) (*.f64 2 a)))
22.7b
(if (>=.f64 b 0) (/.f64 (*.f64 2 c) (-.f64 (neg.f64 b) (fma.f64 (*.f64 (/.f64 c b) a) -2 b))) (/.f64 (+.f64 (neg.f64 b) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 (*.f64 4 a) c)))) (*.f64 2 a)))
18.7b
(if (>=.f64 b 0) (/.f64 (*.f64 2 c) (-.f64 (neg.f64 b) (pow.f64 (cbrt.f64 (sqrt.f64 (fma.f64 b b (*.f64 c (*.f64 a -4))))) 3))) (/.f64 (+.f64 (neg.f64 b) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 (*.f64 4 a) c)))) (*.f64 2 a)))
18.6b
(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) (pow.f64 (cbrt.f64 (sqrt.f64 (fma.f64 b b (*.f64 c (*.f64 a -4))))) 3)) (*.f64 2 a)))
18.2b
(if (>=.f64 b 0) (*.f64 c (/.f64 1 (*.f64 (+.f64 b (sqrt.f64 (fma.f64 c (*.f64 a -4) (*.f64 b b)))) -1/2))) (*.f64 (-.f64 b (sqrt.f64 (fma.f64 c (/.f64 a -1/4) (*.f64 b b)))) (/.f64 -1/2 a)))
Compiler

Compiled 12777 to 7548 computations (40.9% saved)

localize31.0ms (0.4%)

Local error

Found 4 expressions with local error:

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

Compiled 1536 to 1280 computations (16.7% saved)

series63.0ms (0.8%)

Counts
2 → 40
Calls

2 calls:

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

rewrite45.0ms (0.6%)

Algorithm
batch-egg-rewrite
Rules
945×prod-diff_binary64
183×expm1-udef_binary64
183×log1p-udef_binary64
104×add-sqr-sqrt_binary64
100×log1p-expm1-u_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01029
121029
2268829
Stop Event
node limit
Counts
2 → 58
Calls

2 calls:

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

simplify46.0ms (0.6%)

Algorithm
egg-herbie
Rules
441×times-frac_binary64
423×fma-neg_binary64
274×associate-/l*_binary64
266×associate-*r*_binary64
242×associate-/r*_binary64
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
0741112
12421094
27771036
343181036
Stop Event
node limit
Counts
98 → 103

prune339.0ms (4.6%)

Pruning

10 alts after pruning (9 fresh and 1 done)

PrunedKeptTotal
New2150215
Fresh099
Picked011
Done000
Total21510225
Error
6.2b
Counts
225 → 10
Alt Table
StatusErrorProgram
18.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 (pow.f64 (pow.f64 (fma.f64 c (*.f64 a -4) (*.f64 b b)) 1/4) 2)) (/.f64 -1/2 a)))
31.9b
(if (>=.f64 b 0) (*.f64 2 (/.f64 1 (/.f64 (-.f64 b (sqrt.f64 (fma.f64 b b (*.f64 c (*.f64 a -4))))) c))) (/.f64 (+.f64 (neg.f64 b) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 (*.f64 4 a) c)))) (*.f64 2 a)))
22.8b
(if (>=.f64 b 0) (*.f64 -1 (/.f64 c b)) (/.f64 (+.f64 (neg.f64 b) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 (*.f64 4 a) c)))) (*.f64 2 a)))
36.0b
(if (>=.f64 b 0) (*.f64 (/.f64 (*.f64 c 2) (-.f64 (*.f64 b b) (fma.f64 b b (*.f64 c (*.f64 a -4))))) (+.f64 b (sqrt.f64 (fma.f64 b b (*.f64 c (*.f64 a -4)))))) (/.f64 (+.f64 (neg.f64 b) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 (*.f64 4 a) c)))) (*.f64 2 a)))
18.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) (*.f64 (cbrt.f64 (fma.f64 b b (*.f64 c (*.f64 a -4)))) (cbrt.f64 (sqrt.f64 (fma.f64 b b (*.f64 c (*.f64 a -4))))))) (*.f64 2 a)))
19.6b
(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) (*.f64 -1 b)) (*.f64 2 a)))
22.7b
(if (>=.f64 b 0) (/.f64 (*.f64 2 c) (-.f64 (neg.f64 b) (fma.f64 (*.f64 (/.f64 c b) a) -2 b))) (/.f64 (+.f64 (neg.f64 b) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 (*.f64 4 a) c)))) (*.f64 2 a)))
18.7b
(if (>=.f64 b 0) (/.f64 (*.f64 2 c) (-.f64 (neg.f64 b) (pow.f64 (cbrt.f64 (sqrt.f64 (fma.f64 b b (*.f64 c (*.f64 a -4))))) 3))) (/.f64 (+.f64 (neg.f64 b) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 (*.f64 4 a) c)))) (*.f64 2 a)))
18.6b
(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) (pow.f64 (cbrt.f64 (sqrt.f64 (fma.f64 b b (*.f64 c (*.f64 a -4))))) 3)) (*.f64 2 a)))
18.2b
(if (>=.f64 b 0) (*.f64 c (/.f64 1 (*.f64 (+.f64 b (sqrt.f64 (fma.f64 c (*.f64 a -4) (*.f64 b b)))) -1/2))) (*.f64 (-.f64 b (sqrt.f64 (fma.f64 c (/.f64 a -1/4) (*.f64 b b)))) (/.f64 -1/2 a)))
Compiler

Compiled 10729 to 6544 computations (39% saved)

localize25.0ms (0.3%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.5b
(pow.f64 (pow.f64 (fma.f64 c (*.f64 a -4) (*.f64 b b)) 1/4) 2)
11.0b
(-.f64 b (pow.f64 (pow.f64 (fma.f64 c (*.f64 a -4) (*.f64 b b)) 1/4) 2))
20.5b
(sqrt.f64 (fma.f64 c (/.f64 a -1/4) (*.f64 b b)))
21.1b
(pow.f64 (fma.f64 c (*.f64 a -4) (*.f64 b b)) 1/4)
Compiler

Compiled 1536 to 1280 computations (16.7% saved)

series126.0ms (1.7%)

Counts
3 → 92
Calls

3 calls:

52.0ms
(pow.f64 (pow.f64 (fma.f64 c (*.f64 a -4) (*.f64 b b)) 1/4) 2)
39.0ms
(pow.f64 (fma.f64 c (*.f64 a -4) (*.f64 b b)) 1/4)
35.0ms
(-.f64 b (pow.f64 (pow.f64 (fma.f64 c (*.f64 a -4) (*.f64 b b)) 1/4) 2))

rewrite75.0ms (1%)

Algorithm
batch-egg-rewrite
Rules
692×prod-diff_binary64
225×log1p-udef_binary64
138×egg-rr
131×log1p-expm1-u_binary64
131×expm1-log1p-u_binary64
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
01345
128243
2330543
Stop Event
node limit
Counts
3 → 138
Calls

3 calls:

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

simplify86.0ms (1.2%)

Algorithm
egg-herbie
Rules
301×times-frac_binary64
272×associate-/r*_binary64
271×sub-neg_binary64
232×associate-/l*_binary64
228×associate-*r*_binary64
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
03124491
110864395
244624395
Stop Event
node limit
Counts
230 → 272

prune685.0ms (9.2%)

Pruning

12 alts after pruning (10 fresh and 2 done)

PrunedKeptTotal
New3162318
Fresh088
Picked011
Done011
Total31612328
Error
3.4b
Counts
328 → 12
Alt Table
StatusErrorProgram
18.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 (pow.f64 (pow.f64 (fma.f64 c (*.f64 a -4) (*.f64 b b)) 1/4) 2)) (/.f64 -1/2 a)))
31.9b
(if (>=.f64 b 0) (*.f64 2 (/.f64 1 (/.f64 (-.f64 b (sqrt.f64 (fma.f64 b b (*.f64 c (*.f64 a -4))))) c))) (/.f64 (+.f64 (neg.f64 b) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 (*.f64 4 a) c)))) (*.f64 2 a)))
22.8b
(if (>=.f64 b 0) (*.f64 -1 (/.f64 c b)) (/.f64 (+.f64 (neg.f64 b) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 (*.f64 4 a) c)))) (*.f64 2 a)))
36.0b
(if (>=.f64 b 0) (*.f64 (/.f64 (*.f64 c 2) (-.f64 (*.f64 b b) (fma.f64 b b (*.f64 c (*.f64 a -4))))) (+.f64 b (sqrt.f64 (fma.f64 b b (*.f64 c (*.f64 a -4)))))) (/.f64 (+.f64 (neg.f64 b) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 (*.f64 4 a) c)))) (*.f64 2 a)))
18.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) (*.f64 (cbrt.f64 (fma.f64 b b (*.f64 c (*.f64 a -4)))) (cbrt.f64 (sqrt.f64 (fma.f64 b b (*.f64 c (*.f64 a -4))))))) (*.f64 2 a)))
19.6b
(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) (*.f64 -1 b)) (*.f64 2 a)))
22.7b
(if (>=.f64 b 0) (/.f64 (*.f64 2 c) (-.f64 (neg.f64 b) (fma.f64 (*.f64 (/.f64 c b) a) -2 b))) (/.f64 (+.f64 (neg.f64 b) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 (*.f64 4 a) c)))) (*.f64 2 a)))
31.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 (pow.f64 (exp.f64 (*.f64 1/4 (-.f64 (log.f64 (*.f64 4 c)) (log.f64 (/.f64 -1 a))))) 2)) (/.f64 -1/2 a)))
29.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 (pow.f64 (exp.f64 (*.f64 1/4 (-.f64 (log.f64 (*.f64 4 a)) (log.f64 (/.f64 -1 c))))) 2)) (/.f64 -1/2 a)))
18.7b
(if (>=.f64 b 0) (/.f64 (*.f64 2 c) (-.f64 (neg.f64 b) (pow.f64 (cbrt.f64 (sqrt.f64 (fma.f64 b b (*.f64 c (*.f64 a -4))))) 3))) (/.f64 (+.f64 (neg.f64 b) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 (*.f64 4 a) c)))) (*.f64 2 a)))
18.6b
(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) (pow.f64 (cbrt.f64 (sqrt.f64 (fma.f64 b b (*.f64 c (*.f64 a -4))))) 3)) (*.f64 2 a)))
18.2b
(if (>=.f64 b 0) (*.f64 c (/.f64 1 (*.f64 (+.f64 b (sqrt.f64 (fma.f64 c (*.f64 a -4) (*.f64 b b)))) -1/2))) (*.f64 (-.f64 b (sqrt.f64 (fma.f64 c (/.f64 a -1/4) (*.f64 b b)))) (/.f64 -1/2 a)))
Compiler

Compiled 20329 to 12679 computations (37.6% saved)

regimes1.1s (15.3%)

Accuracy

Total 3.3b remaining (50.4%)

Threshold costs 0b (0%)

Counts
103 → 3
Compiler

Compiled 16098 to 10726 computations (33.4% saved)

bsearch74.0ms (1%)

Steps
ItersRangePoint
8
8.446472792482571e+138
8.918395576025334e+141
4.146119655255326e+140
9
-5.5848513673766546e+73
-4.4186554162570763e+64
-5.5012097508234716e+73
Compiler

Compiled 4 to 3 computations (25% saved)

simplify7.0ms (0.1%)

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

Useful iterations: 1 (0.0ms)

IterNodesCost
055155
177153
2106153
3129153
4143153
5149153
6150153
Stop Event
saturated

end312.0ms (4.2%)

Compiler

Compiled 707 to 460 computations (34.9% saved)

Profiling

Loading profile data...