Details

Time bar (total: 4.6s)

analyze717.0ms (15.5%)

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
18.7%76.5%4.8%7
28.1%66.3%5.6%8
35.1%55%9.9%9
36.3%50.9%12.8%10
42.1%42.4%15.5%11
47.5%33.8%18.7%12
48.8%30.7%20.6%13
51.8%25.6%22.5%14
Compiler

Compiled 17 to 11 computations (35.3% saved)

sample2.0s (42.6%)

Results
619.0ms5347×body128valid
530.0ms1183×body2048valid
270.0ms733×body1024valid
228.0ms421×body4096valid
118.0ms1057×body128invalid
112.0ms375×body512valid
38.0ms197×body256valid
Compiler

Compiled 50 to 32 computations (36% saved)

simplify61.0ms (1.3%)

Algorithm
egg-herbie
Rules
518×div-sub_binary64
428×fma-neg_binary64
208×associate-/l*_binary64
205×fma-def_binary64
181×times-frac_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01120
12720
25720
312620
421620
539220
666220
7100820
8121420
9159920
10312620
11389920
12399720
13400520
14401320
15401320
16407120
17410720
18413720
19414920
Stop Event
saturated
Counts
1 → 1

prune2.0ms (0%)

Pruning

2 alts after pruning (2 fresh and 0 done)

PrunedKeptTotal
New011
Fresh011
Picked000
Done000
Total022
Error
36.8b
Counts
2 → 1
Alt Table
StatusErrorProgram
36.8b
(/.f64 (-.f64 (neg.f64 b_2) (sqrt.f64 (-.f64 (*.f64 b_2 b_2) (*.f64 a c)))) a)
Compiler

Compiled 48 to 30 computations (37.5% saved)

localize8.0ms (0.2%)

Local error

Found 3 expressions with local error:

NewErrorProgram
0.1b
(/.f64 (-.f64 (neg.f64 b_2) (sqrt.f64 (-.f64 (*.f64 b_2 b_2) (*.f64 a c)))) a)
1.4b
(-.f64 (neg.f64 b_2) (sqrt.f64 (-.f64 (*.f64 b_2 b_2) (*.f64 a c))))
22.9b
(sqrt.f64 (-.f64 (*.f64 b_2 b_2) (*.f64 a c)))

series158.0ms (3.4%)

Counts
3 → 60
Calls

3 calls:

78.0ms
(sqrt.f64 (-.f64 (*.f64 b_2 b_2) (*.f64 a c)))
46.0ms
(/.f64 (-.f64 (neg.f64 b_2) (sqrt.f64 (-.f64 (*.f64 b_2 b_2) (*.f64 a c)))) a)
33.0ms
(-.f64 (neg.f64 b_2) (sqrt.f64 (-.f64 (*.f64 b_2 b_2) (*.f64 a c))))

rewrite64.0ms (1.4%)

Algorithm
batch-egg-rewrite
Rules
352×fma-neg_binary64
218×expm1-udef_binary64
218×log1p-udef_binary64
133×add-sqr-sqrt_binary64
129×log1p-expm1-u_binary64
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
01149
126245
2401845
Stop Event
node limit
Counts
3 → 124
Calls

3 calls:

61.0ms
(/.f64 (-.f64 (neg.f64 b_2) (sqrt.f64 (-.f64 (*.f64 b_2 b_2) (*.f64 a c)))) a)
61.0ms
(-.f64 (neg.f64 b_2) (sqrt.f64 (-.f64 (*.f64 b_2 b_2) (*.f64 a c))))
61.0ms
(sqrt.f64 (-.f64 (*.f64 b_2 b_2) (*.f64 a c)))

simplify38.0ms (0.8%)

Algorithm
egg-herbie
Rules
733×times-frac_binary64
494×associate-/l*_binary64
393×associate-/r*_binary64
361×fma-def_binary64
141×fma-neg_binary64
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
01221731
14031687
214241661
Stop Event
node limit
Counts
184 → 194

prune113.0ms (2.5%)

Pruning

11 alts after pruning (10 fresh and 1 done)

PrunedKeptTotal
New18410194
Fresh000
Picked011
Done000
Total18411195
Error
6.7b
Counts
195 → 11
Alt Table
StatusErrorProgram
36.8b
(*.f64 (+.f64 b_2 (sqrt.f64 (-.f64 (*.f64 b_2 b_2) (*.f64 a c)))) (/.f64 1 (neg.f64 a)))
43.9b
(fma.f64 1/2 (/.f64 c b_2) (*.f64 -2 (/.f64 b_2 a)))
49.0b
(/.f64 (*.f64 (+.f64 (fma.f64 b_2 b_2 (*.f64 b_2 b_2)) (*.f64 a c)) (/.f64 1 (+.f64 b_2 (sqrt.f64 (-.f64 (*.f64 b_2 b_2) (*.f64 a c)))))) a)
43.7b
(/.f64 (*.f64 -2 b_2) a)
48.5b
(pow.f64 (/.f64 a (-.f64 b_2 (sqrt.f64 (-.f64 (*.f64 b_2 b_2) (*.f64 a c))))) -1)
57.2b
(/.f64 (-.f64 (neg.f64 b_2) (neg.f64 b_2)) a)
36.8b
(/.f64 (-.f64 (neg.f64 b_2) (sqrt.f64 (-.f64 (*.f64 b_2 b_2) (*.f64 a c)))) a)
56.8b
(*.f64 (/.f64 1 (sqrt.f64 a)) (/.f64 (-.f64 b_2 (sqrt.f64 (-.f64 (*.f64 b_2 b_2) (*.f64 a c)))) (sqrt.f64 a)))
40.2b
(*.f64 -1/2 (/.f64 c b_2))
48.7b
(*.f64 (pow.f64 (cbrt.f64 (-.f64 b_2 (sqrt.f64 (-.f64 (*.f64 b_2 b_2) (*.f64 a c))))) 2) (*.f64 (cbrt.f64 (-.f64 b_2 (sqrt.f64 (-.f64 (*.f64 b_2 b_2) (*.f64 a c))))) (/.f64 1 a)))
55.6b
(pow.f64 (sqrt.f64 (/.f64 (-.f64 b_2 (sqrt.f64 (-.f64 (*.f64 b_2 b_2) (*.f64 a c)))) a)) 2)
Compiler

Compiled 4492 to 1575 computations (64.9% saved)

localize10.0ms (0.2%)

Local error

Found 3 expressions with local error:

NewErrorProgram
0.2b
(*.f64 (+.f64 b_2 (sqrt.f64 (-.f64 (*.f64 b_2 b_2) (*.f64 a c)))) (/.f64 1 (neg.f64 a)))
1.4b
(+.f64 b_2 (sqrt.f64 (-.f64 (*.f64 b_2 b_2) (*.f64 a c))))
22.9b
(sqrt.f64 (-.f64 (*.f64 b_2 b_2) (*.f64 a c)))

series85.0ms (1.8%)

Counts
2 → 40
Calls

2 calls:

47.0ms
(*.f64 (+.f64 b_2 (sqrt.f64 (-.f64 (*.f64 b_2 b_2) (*.f64 a c)))) (/.f64 1 (neg.f64 a)))
38.0ms
(+.f64 b_2 (sqrt.f64 (-.f64 (*.f64 b_2 b_2) (*.f64 a c))))

rewrite53.0ms (1.1%)

Algorithm
batch-egg-rewrite
Rules
328×fma-neg_binary64
222×expm1-udef_binary64
222×log1p-udef_binary64
142×add-sqr-sqrt_binary64
136×add-cbrt-cube_binary64
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
01335
129229
2422229
Stop Event
node limit
Counts
2 → 82
Calls

2 calls:

51.0ms
(*.f64 (+.f64 b_2 (sqrt.f64 (-.f64 (*.f64 b_2 b_2) (*.f64 a c)))) (/.f64 1 (neg.f64 a)))
51.0ms
(+.f64 b_2 (sqrt.f64 (-.f64 (*.f64 b_2 b_2) (*.f64 a c))))

simplify35.0ms (0.7%)

Algorithm
egg-herbie
Rules
692×times-frac_binary64
458×associate-/l*_binary64
372×associate-/r*_binary64
314×associate-*l*_binary64
238×fma-def_binary64
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
0991176
13221144
211381130
Stop Event
node limit
Counts
122 → 130

prune127.0ms (2.8%)

Pruning

11 alts after pruning (9 fresh and 2 done)

PrunedKeptTotal
New1771178
Fresh189
Picked011
Done011
Total17811189
Error
6.7b
Counts
189 → 11
Alt Table
StatusErrorProgram
56.8b
(*.f64 (/.f64 1 (sqrt.f64 a)) (/.f64 (-.f64 b_2 (sqrt.f64 (-.f64 (*.f64 b_2 b_2) (*.f64 a c)))) (sqrt.f64 a)))
43.8b
(*.f64 (*.f64 2 b_2) (/.f64 1 (neg.f64 a)))
36.8b
(*.f64 (+.f64 b_2 (sqrt.f64 (-.f64 (*.f64 b_2 b_2) (*.f64 a c)))) (/.f64 1 (neg.f64 a)))
43.9b
(fma.f64 1/2 (/.f64 c b_2) (*.f64 -2 (/.f64 b_2 a)))
48.5b
(pow.f64 (/.f64 a (-.f64 b_2 (sqrt.f64 (-.f64 (*.f64 b_2 b_2) (*.f64 a c))))) -1)
57.2b
(/.f64 (-.f64 (neg.f64 b_2) (neg.f64 b_2)) a)
36.8b
(/.f64 (-.f64 (neg.f64 b_2) (sqrt.f64 (-.f64 (*.f64 b_2 b_2) (*.f64 a c)))) a)
40.2b
(*.f64 -1/2 (/.f64 c b_2))
48.7b
(*.f64 (pow.f64 (cbrt.f64 (-.f64 b_2 (sqrt.f64 (-.f64 (*.f64 b_2 b_2) (*.f64 a c))))) 2) (*.f64 (cbrt.f64 (-.f64 b_2 (sqrt.f64 (-.f64 (*.f64 b_2 b_2) (*.f64 a c))))) (/.f64 1 a)))
49.0b
(/.f64 (*.f64 (+.f64 (fma.f64 b_2 b_2 (*.f64 b_2 b_2)) (*.f64 a c)) (/.f64 1 (+.f64 b_2 (sqrt.f64 (-.f64 (*.f64 b_2 b_2) (*.f64 a c)))))) a)
55.6b
(pow.f64 (sqrt.f64 (/.f64 (-.f64 b_2 (sqrt.f64 (-.f64 (*.f64 b_2 b_2) (*.f64 a c)))) a)) 2)
Compiler

Compiled 4365 to 1779 computations (59.2% saved)

localize3.0ms (0.1%)

Local error

Found 1 expressions with local error:

NewErrorProgram
0.0b
(*.f64 -1/2 (/.f64 c b_2))

series6.0ms (0.1%)

Counts
1 → 0
Calls

1 calls:

6.0ms
(*.f64 -1/2 (/.f64 c b_2))

rewrite59.0ms (1.3%)

Algorithm
batch-egg-rewrite
Rules
606×log1p-expm1-u_binary64
606×expm1-log1p-u_binary64
317×log-prod_binary64
116×expm1-udef_binary64
116×log1p-udef_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
067
11277
216227
Stop Event
node limit
Counts
1 → 25
Calls

1 calls:

59.0ms
(*.f64 -1/2 (/.f64 c b_2))

simplify7.0ms (0.2%)

Algorithm
egg-herbie
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
000
Stop Event
saturated
Counts
25 → 25

prune24.0ms (0.5%)

Pruning

15 alts after pruning (12 fresh and 3 done)

PrunedKeptTotal
New21425
Fresh088
Picked011
Done022
Total211536
Error
6.7b
Counts
36 → 15
Alt Table
StatusErrorProgram
56.8b
(*.f64 (/.f64 1 (sqrt.f64 a)) (/.f64 (-.f64 b_2 (sqrt.f64 (-.f64 (*.f64 b_2 b_2) (*.f64 a c)))) (sqrt.f64 a)))
43.8b
(*.f64 (*.f64 2 b_2) (/.f64 1 (neg.f64 a)))
40.3b
(/.f64 -1/2 (/.f64 b_2 c))
36.8b
(*.f64 (+.f64 b_2 (sqrt.f64 (-.f64 (*.f64 b_2 b_2) (*.f64 a c)))) (/.f64 1 (neg.f64 a)))
43.9b
(fma.f64 1/2 (/.f64 c b_2) (*.f64 -2 (/.f64 b_2 a)))
49.0b
(/.f64 (*.f64 (+.f64 (fma.f64 b_2 b_2 (*.f64 b_2 b_2)) (*.f64 a c)) (/.f64 1 (+.f64 b_2 (sqrt.f64 (-.f64 (*.f64 b_2 b_2) (*.f64 a c)))))) a)
52.1b
(pow.f64 (pow.f64 (/.f64 (*.f64 -1/2 c) b_2) 3) 1/3)
48.5b
(pow.f64 (/.f64 a (-.f64 b_2 (sqrt.f64 (-.f64 (*.f64 b_2 b_2) (*.f64 a c))))) -1)
57.2b
(/.f64 (-.f64 (neg.f64 b_2) (neg.f64 b_2)) a)
36.8b
(/.f64 (-.f64 (neg.f64 b_2) (sqrt.f64 (-.f64 (*.f64 b_2 b_2) (*.f64 a c)))) a)
40.2b
(*.f64 -1/2 (/.f64 c b_2))
48.5b
(exp.f64 (log.f64 (/.f64 (*.f64 -1/2 c) b_2)))
48.7b
(*.f64 (pow.f64 (cbrt.f64 (-.f64 b_2 (sqrt.f64 (-.f64 (*.f64 b_2 b_2) (*.f64 a c))))) 2) (*.f64 (cbrt.f64 (-.f64 b_2 (sqrt.f64 (-.f64 (*.f64 b_2 b_2) (*.f64 a c))))) (/.f64 1 a)))
40.5b
(/.f64 (/.f64 (*.f64 -1/2 c) (pow.f64 (cbrt.f64 b_2) 2)) (cbrt.f64 b_2))
55.6b
(pow.f64 (sqrt.f64 (/.f64 (-.f64 b_2 (sqrt.f64 (-.f64 (*.f64 b_2 b_2) (*.f64 a c)))) a)) 2)
Compiler

Compiled 650 to 426 computations (34.5% saved)

localize6.0ms (0.1%)

Local error

Found 1 expressions with local error:

NewErrorProgram
0.6b
(/.f64 -1/2 (/.f64 b_2 c))

series6.0ms (0.1%)

Counts
1 → 24
Calls

1 calls:

6.0ms
(/.f64 -1/2 (/.f64 b_2 c))

rewrite36.0ms (0.8%)

Algorithm
batch-egg-rewrite
Rules
650×log1p-expm1-u_binary64
650×expm1-log1p-u_binary64
329×log-prod_binary64
121×expm1-udef_binary64
121×log1p-udef_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
067
11347
217827
Stop Event
node limit
Counts
1 → 31
Calls

1 calls:

36.0ms
(/.f64 -1/2 (/.f64 b_2 c))

simplify10.0ms (0.2%)

Algorithm
egg-herbie
Rules
*-commutative_binary64
associate-/l*_binary64
associate-*r/_binary64
associate-*l/_binary64
associate-/r/_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
06168
19168
213168
317168
418168
Stop Event
saturated
Counts
55 → 31

prune24.0ms (0.5%)

Pruning

15 alts after pruning (11 fresh and 4 done)

PrunedKeptTotal
New31031
Fresh01111
Picked011
Done033
Total311546
Error
6.7b
Counts
46 → 15
Alt Table
StatusErrorProgram
56.8b
(*.f64 (/.f64 1 (sqrt.f64 a)) (/.f64 (-.f64 b_2 (sqrt.f64 (-.f64 (*.f64 b_2 b_2) (*.f64 a c)))) (sqrt.f64 a)))
43.8b
(*.f64 (*.f64 2 b_2) (/.f64 1 (neg.f64 a)))
40.3b
(/.f64 -1/2 (/.f64 b_2 c))
36.8b
(*.f64 (+.f64 b_2 (sqrt.f64 (-.f64 (*.f64 b_2 b_2) (*.f64 a c)))) (/.f64 1 (neg.f64 a)))
43.9b
(fma.f64 1/2 (/.f64 c b_2) (*.f64 -2 (/.f64 b_2 a)))
49.0b
(/.f64 (*.f64 (+.f64 (fma.f64 b_2 b_2 (*.f64 b_2 b_2)) (*.f64 a c)) (/.f64 1 (+.f64 b_2 (sqrt.f64 (-.f64 (*.f64 b_2 b_2) (*.f64 a c)))))) a)
52.1b
(pow.f64 (pow.f64 (/.f64 (*.f64 -1/2 c) b_2) 3) 1/3)
48.5b
(pow.f64 (/.f64 a (-.f64 b_2 (sqrt.f64 (-.f64 (*.f64 b_2 b_2) (*.f64 a c))))) -1)
57.2b
(/.f64 (-.f64 (neg.f64 b_2) (neg.f64 b_2)) a)
36.8b
(/.f64 (-.f64 (neg.f64 b_2) (sqrt.f64 (-.f64 (*.f64 b_2 b_2) (*.f64 a c)))) a)
40.2b
(*.f64 -1/2 (/.f64 c b_2))
48.5b
(exp.f64 (log.f64 (/.f64 (*.f64 -1/2 c) b_2)))
48.7b
(*.f64 (pow.f64 (cbrt.f64 (-.f64 b_2 (sqrt.f64 (-.f64 (*.f64 b_2 b_2) (*.f64 a c))))) 2) (*.f64 (cbrt.f64 (-.f64 b_2 (sqrt.f64 (-.f64 (*.f64 b_2 b_2) (*.f64 a c))))) (/.f64 1 a)))
40.5b
(/.f64 (/.f64 (*.f64 -1/2 c) (pow.f64 (cbrt.f64 b_2) 2)) (cbrt.f64 b_2))
55.6b
(pow.f64 (sqrt.f64 (/.f64 (-.f64 b_2 (sqrt.f64 (-.f64 (*.f64 b_2 b_2) (*.f64 a c)))) a)) 2)
Compiler

Compiled 517 to 325 computations (37.1% saved)

regimes780.0ms (16.9%)

Accuracy

Total 4.4b remaining (42.8%)

Threshold costs 0b (0%)

Counts
61 → 3
Compiler

Compiled 4220 to 2658 computations (37% saved)

bsearch50.0ms (1.1%)

Steps
ItersRangePoint
1
1.1746381004079593e+111
1.2027482700904448e+112
3.8527115384289745e+111
9
-2.7374413680200954e-43
-2.8655546485837628e-49
-9.582839230886112e-49
Compiler

Compiled 4 to 3 computations (25% saved)

simplify3.0ms (0.1%)

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

Useful iterations: 0 (0.0ms)

IterNodesCost
02653
14053
25753
37353
48253
58653
68753
Stop Event
saturated

end170.0ms (3.7%)

Compiler

Compiled 314 to 199 computations (36.6% saved)

Profiling

Loading profile data...