Details

Time bar (total: 6.0s)

analyze623.0ms (10.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
12.5%87.4%0.1%5
18.7%81.1%0.1%6
21.8%71.8%6.4%7
31.2%62.4%6.4%8
35.9%55.4%8.7%9
37.8%48.8%13.4%10
42.7%42.3%15%11
47.7%34.2%18.1%12
49.1%30.4%20.5%13
51.9%25.8%22.3%14
Compiler

Compiled 21 to 15 computations (28.6% saved)

sample2.3s (38.9%)

Results
698.0ms5306×body128valid
668.0ms1187×body2048valid
318.0ms731×body1024valid
299.0ms446×body4096valid
137.0ms1076×body128invalid
128.0ms388×body512valid
43.0ms198×body256valid
Compiler

Compiled 62 to 44 computations (29% saved)

simplify38.0ms (0.6%)

Algorithm
egg-herbie
Rules
846×fma-def_binary64
544×div-sub_binary64
489×fma-neg_binary64
405×times-frac_binary64
262×associate-/l*_binary64
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
01526
13824
210024
325922
446022
584022
6179022
7299922
8368222
9474222
Stop Event
node limit
Counts
1 → 2

prune3.0ms (0.1%)

Pruning

3 alts after pruning (3 fresh and 0 done)

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

Compiled 111 to 74 computations (33.3% saved)

localize11.0ms (0.2%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.1b
(/.f64 (-.f64 (neg.f64 b) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 4 (*.f64 a c))))) (*.f64 2 a))
0.8b
(-.f64 (*.f64 b b) (*.f64 4 (*.f64 a c)))
1.2b
(-.f64 (neg.f64 b) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 4 (*.f64 a c)))))
21.7b
(sqrt.f64 (-.f64 (*.f64 b b) (*.f64 4 (*.f64 a c))))

series125.0ms (2.1%)

Counts
4 → 96
Calls

4 calls:

51.0ms
(/.f64 (-.f64 (neg.f64 b) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 4 (*.f64 a c))))) (*.f64 2 a))
36.0ms
(-.f64 (neg.f64 b) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 4 (*.f64 a c)))))
29.0ms
(sqrt.f64 (-.f64 (*.f64 b b) (*.f64 4 (*.f64 a c))))
9.0ms
(-.f64 (*.f64 b b) (*.f64 4 (*.f64 a c)))

rewrite46.0ms (0.8%)

Algorithm
batch-egg-rewrite
Rules
169×add-sqr-sqrt_binary64
165×log1p-expm1-u_binary64
165×expm1-log1p-u_binary64
164×add-cbrt-cube_binary64
160×egg-rr
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
01574
134762
Stop Event
node limit
Counts
4 → 160
Calls

4 calls:

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

simplify47.0ms (0.8%)

Algorithm
egg-herbie
Rules
743×times-frac_binary64
469×associate-/l*_binary64
434×fma-def_binary64
425×associate-/r*_binary64
158×fma-neg_binary64
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
01252060
14151984
214751904
Stop Event
node limit
Counts
256 → 236

prune172.0ms (2.8%)

Pruning

9 alts after pruning (9 fresh and 0 done)

PrunedKeptTotal
New2279236
Fresh101
Picked101
Done000
Total2299238
Error
5.0b
Counts
238 → 9
Alt Table
StatusErrorProgram
38.9b
(/.f64 (neg.f64 c) b)
56.3b
(/.f64 (-.f64 (neg.f64 b) (neg.f64 b)) (*.f64 2 a))
55.5b
(pow.f64 (sqrt.f64 (*.f64 (-.f64 b (sqrt.f64 (fma.f64 b b (*.f64 (*.f64 a c) -4)))) (/.f64 1/2 a))) 2)
35.5b
(/.f64 (-.f64 (neg.f64 b) (pow.f64 (pow.f64 (fma.f64 b b (*.f64 (*.f64 a c) -4)) 1/4) 2)) (*.f64 2 a))
35.8b
(/.f64 (-.f64 (neg.f64 b) (*.f64 (sqrt.f64 (pow.f64 (cbrt.f64 (fma.f64 b b (*.f64 (*.f64 a c) -4))) 2)) (sqrt.f64 (cbrt.f64 (fma.f64 b b (*.f64 (*.f64 a c) -4)))))) (*.f64 2 a))
43.5b
(-.f64 (/.f64 c b) (/.f64 b a))
43.2b
(neg.f64 (/.f64 b a))
57.5b
(cbrt.f64 (pow.f64 (*.f64 (-.f64 b (sqrt.f64 (fma.f64 b b (*.f64 (*.f64 a c) -4)))) (/.f64 1/2 a)) 3))
48.3b
(pow.f64 (/.f64 a (*.f64 (-.f64 b (sqrt.f64 (fma.f64 b b (*.f64 (*.f64 a c) -4)))) 1/2)) -1)
Compiler

Compiled 6257 to 3647 computations (41.7% saved)

localize14.0ms (0.2%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.5b
(pow.f64 (pow.f64 (fma.f64 b b (*.f64 (*.f64 a c) -4)) 1/4) 2)
1.0b
(fma.f64 b b (*.f64 (*.f64 a c) -4))
13.8b
(-.f64 (neg.f64 b) (pow.f64 (pow.f64 (fma.f64 b b (*.f64 (*.f64 a c) -4)) 1/4) 2))
22.2b
(pow.f64 (fma.f64 b b (*.f64 (*.f64 a c) -4)) 1/4)

series149.0ms (2.5%)

Counts
4 → 128
Calls

4 calls:

55.0ms
(pow.f64 (pow.f64 (fma.f64 b b (*.f64 (*.f64 a c) -4)) 1/4) 2)
42.0ms
(pow.f64 (fma.f64 b b (*.f64 (*.f64 a c) -4)) 1/4)
38.0ms
(-.f64 (neg.f64 b) (pow.f64 (pow.f64 (fma.f64 b b (*.f64 (*.f64 a c) -4)) 1/4) 2))
11.0ms
(fma.f64 b b (*.f64 (*.f64 a c) -4))

rewrite111.0ms (1.8%)

Algorithm
batch-egg-rewrite
Rules
812×prod-diff_binary64
249×egg-rr
143×add-sqr-sqrt_binary64
143×log1p-expm1-u_binary64
143×expm1-log1p-u_binary64
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
01458
130752
2372952
Stop Event
node limit
Counts
4 → 249
Calls

4 calls:

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

simplify95.0ms (1.6%)

Algorithm
egg-herbie
Rules
301×times-frac_binary64
272×associate-/r*_binary64
238×fma-neg_binary64
233×associate-/l*_binary64
231×associate-*r*_binary64
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
03204810
111154654
245784654
Stop Event
node limit
Counts
377 → 389

prune419.0ms (6.9%)

Pruning

9 alts after pruning (8 fresh and 1 done)

PrunedKeptTotal
New3863389
Fresh358
Picked011
Done000
Total3899398
Error
0.6b
Counts
398 → 9
Alt Table
StatusErrorProgram
55.5b
(pow.f64 (sqrt.f64 (*.f64 (-.f64 b (sqrt.f64 (fma.f64 b b (*.f64 (*.f64 a c) -4)))) (/.f64 1/2 a))) 2)
53.1b
(/.f64 (-.f64 (neg.f64 b) (pow.f64 (exp.f64 (*.f64 1/4 (-.f64 (log.f64 (*.f64 4 c)) (log.f64 (/.f64 -1 a))))) 2)) (*.f64 2 a))
48.3b
(pow.f64 (/.f64 a (*.f64 (-.f64 b (sqrt.f64 (fma.f64 b b (*.f64 (*.f64 a c) -4)))) 1/2)) -1)
54.2b
(/.f64 (-.f64 (neg.f64 b) (pow.f64 (exp.f64 (*.f64 1/4 (-.f64 (log.f64 (*.f64 4 a)) (log.f64 (/.f64 -1 c))))) 2)) (*.f64 2 a))
32.9b
(/.f64 (neg.f64 (+.f64 b (hypot.f64 b (sqrt.f64 (*.f64 a (*.f64 c -4)))))) (*.f64 2 a))
35.5b
(/.f64 (-.f64 (neg.f64 b) (pow.f64 (pow.f64 (fma.f64 b b (*.f64 (*.f64 a c) -4)) 1/4) 2)) (*.f64 2 a))
38.9b
(/.f64 (neg.f64 c) b)
43.5b
(-.f64 (/.f64 c b) (/.f64 b a))
57.5b
(cbrt.f64 (pow.f64 (*.f64 (-.f64 b (sqrt.f64 (fma.f64 b b (*.f64 (*.f64 a c) -4)))) (/.f64 1/2 a)) 3))
Compiler

Compiled 19678 to 13028 computations (33.8% saved)

localize10.0ms (0.2%)

Local error

Found 3 expressions with local error:

NewErrorProgram
0.1b
(/.f64 (neg.f64 (+.f64 b (hypot.f64 b (sqrt.f64 (*.f64 a (*.f64 c -4)))))) (*.f64 2 a))
0.7b
(+.f64 b (hypot.f64 b (sqrt.f64 (*.f64 a (*.f64 c -4)))))
12.6b
(sqrt.f64 (*.f64 a (*.f64 c -4)))

series231.0ms (3.8%)

Counts
3 → 28
Calls

3 calls:

140.0ms
(/.f64 (neg.f64 (+.f64 b (hypot.f64 b (sqrt.f64 (*.f64 a (*.f64 c -4)))))) (*.f64 2 a))
78.0ms
(+.f64 b (hypot.f64 b (sqrt.f64 (*.f64 a (*.f64 c -4)))))
12.0ms
(sqrt.f64 (*.f64 a (*.f64 c -4)))

rewrite70.0ms (1.2%)

Algorithm
batch-egg-rewrite
Rules
826×prod-diff_binary64
155×add-sqr-sqrt_binary64
147×log1p-expm1-u_binary64
147×expm1-log1p-u_binary64
146×add-cbrt-cube_binary64
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
01447
131145
2430445
Stop Event
node limit
Counts
3 → 129
Calls

3 calls:

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

simplify30.0ms (0.5%)

Algorithm
egg-herbie
Rules
734×times-frac_binary64
388×associate-/l*_binary64
364×associate-/r*_binary64
282×associate-*r*_binary64
259×fma-def_binary64
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
01011010
1323930
21061870
Stop Event
node limit
Counts
157 → 176

prune118.0ms (2%)

Pruning

9 alts after pruning (7 fresh and 2 done)

PrunedKeptTotal
New1742176
Fresh257
Picked011
Done011
Total1769185
Error
0.3b
Counts
185 → 9
Alt Table
StatusErrorProgram
55.5b
(pow.f64 (sqrt.f64 (*.f64 (-.f64 b (sqrt.f64 (fma.f64 b b (*.f64 (*.f64 a c) -4)))) (/.f64 1/2 a))) 2)
53.1b
(/.f64 (-.f64 (neg.f64 b) (pow.f64 (exp.f64 (*.f64 1/4 (-.f64 (log.f64 (*.f64 4 c)) (log.f64 (/.f64 -1 a))))) 2)) (*.f64 2 a))
32.9b
(/.f64 (neg.f64 (+.f64 b (hypot.f64 b (sqrt.f64 (*.f64 a (*.f64 c -4)))))) (*.f64 2 a))
35.5b
(/.f64 (-.f64 (neg.f64 b) (pow.f64 (pow.f64 (fma.f64 b b (*.f64 (*.f64 a c) -4)) 1/4) 2)) (*.f64 2 a))
47.9b
(/.f64 (neg.f64 (+.f64 b (hypot.f64 b (*.f64 (sqrt.f64 (*.f64 c -4)) (sqrt.f64 a))))) (*.f64 2 a))
43.2b
(/.f64 (neg.f64 b) a)
38.9b
(/.f64 (neg.f64 c) b)
57.5b
(cbrt.f64 (pow.f64 (*.f64 (-.f64 b (sqrt.f64 (fma.f64 b b (*.f64 (*.f64 a c) -4)))) (/.f64 1/2 a)) 3))
48.3b
(pow.f64 (/.f64 a (*.f64 (-.f64 b (sqrt.f64 (fma.f64 b b (*.f64 (*.f64 a c) -4)))) 1/2)) -1)
Compiler

Compiled 4631 to 3105 computations (33% saved)

localize3.0ms (0%)

prune7.0ms (0.1%)

Pruning

9 alts after pruning (6 fresh and 3 done)

PrunedKeptTotal
New000
Fresh066
Picked011
Done022
Total099
Error
0.3b
Counts
9 → 9
Alt Table
StatusErrorProgram
55.5b
(pow.f64 (sqrt.f64 (*.f64 (-.f64 b (sqrt.f64 (fma.f64 b b (*.f64 (*.f64 a c) -4)))) (/.f64 1/2 a))) 2)
53.1b
(/.f64 (-.f64 (neg.f64 b) (pow.f64 (exp.f64 (*.f64 1/4 (-.f64 (log.f64 (*.f64 4 c)) (log.f64 (/.f64 -1 a))))) 2)) (*.f64 2 a))
32.9b
(/.f64 (neg.f64 (+.f64 b (hypot.f64 b (sqrt.f64 (*.f64 a (*.f64 c -4)))))) (*.f64 2 a))
35.5b
(/.f64 (-.f64 (neg.f64 b) (pow.f64 (pow.f64 (fma.f64 b b (*.f64 (*.f64 a c) -4)) 1/4) 2)) (*.f64 2 a))
47.9b
(/.f64 (neg.f64 (+.f64 b (hypot.f64 b (*.f64 (sqrt.f64 (*.f64 c -4)) (sqrt.f64 a))))) (*.f64 2 a))
43.2b
(/.f64 (neg.f64 b) a)
38.9b
(/.f64 (neg.f64 c) b)
57.5b
(cbrt.f64 (pow.f64 (*.f64 (-.f64 b (sqrt.f64 (fma.f64 b b (*.f64 (*.f64 a c) -4)))) (/.f64 1/2 a)) 3))
48.3b
(pow.f64 (/.f64 a (*.f64 (-.f64 b (sqrt.f64 (fma.f64 b b (*.f64 (*.f64 a c) -4)))) 1/2)) -1)
Compiler

Compiled 159 to 117 computations (26.4% saved)

regimes1.2s (19.3%)

Accuracy

Total 9.4b remaining (94.8%)

Threshold costs 0b (0%)

Counts
97 → 3
Compiler

Compiled 7696 to 5522 computations (28.2% saved)

bsearch66.0ms (1.1%)

Steps
ItersRangePoint
9
1.085993431515551e+74
1.2980207237616743e+79
7.07453807142745e+77
6
-6.839379831418975e-60
-7.250081439596686e-61
-1.0838115433463801e-60
Compiler

Compiled 4 to 3 computations (25% saved)

simplify4.0ms (0.1%)

Algorithm
egg-herbie
Rules
13×+-commutative_binary64
13×*-commutative_binary64
12×sub-neg_binary64
10×neg-sub0_binary64
10×neg-mul-1_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
02550
14650
26750
39150
410350
510950
611150
Stop Event
saturated

end124.0ms (2.1%)

Compiler

Compiled 231 to 165 computations (28.6% saved)

Profiling

Loading profile data...