Details

Time bar (total: 4.3s)

analyze130.0ms (3%)

Algorithm
search
Search
TrueOtherFalseIter
0%99.9%0.1%0
0%99.9%0.1%1
0%50%50%2
0%50%50%3
0%50%50%4
0%50%50%5
6.2%31.2%62.5%6
9.4%28.1%62.5%7
14%17.2%68.8%8
14.8%16.4%68.8%9
17.6%9.8%72.7%10
18.1%8.8%73.1%11
19.6%5.2%75.2%12
20%4.5%75.5%13
20.7%2.7%76.6%14
Compiler

Compiled 23 to 20 computations (13% saved)

sample1.6s (37.4%)

Results
1.3s8256×body128valid
73.0ms556×body128invalid
Compiler

Compiled 68 to 59 computations (13.2% saved)

simplify96.0ms (2.2%)

Algorithm
egg-herbie
Rules
1035×fma-def_binary64
742×fma-neg_binary64
189×distribute-rgt-in_binary64
173×cancel-sign-sub-inv_binary64
156×distribute-lft-in_binary64
Counts
1 → 2
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
01524
13221
27519
316819
435819
567819
690119
7144619
8191419
9187319
10191619
11191519
12191219
13246519
14246519
15232119
Stop Event
saturated

prune4.0ms (0.1%)

Pruning

3 alts after pruning (3 fresh and 0 done)

PrunedKeptTotal
New022
Fresh011
Picked000
Done000
Total033
Error
0.1b
Counts
3 → 2
Alt Table
StatusErrorProgram
0.2b
(*.f64 (-.f64 a 1/3) (+.f64 1 (/.f64 rand (sqrt.f64 (fma.f64 a 9 -3)))))
0.2b
(*.f64 (-.f64 a (/.f64 1 3)) (+.f64 1 (*.f64 (/.f64 1 (sqrt.f64 (*.f64 9 (-.f64 a (/.f64 1 3))))) rand)))
Compiler

Compiled 109 to 91 computations (16.5% saved)

localize8.0ms (0.2%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.0b
(fma.f64 a 9 -3)
0.1b
(*.f64 (-.f64 a 1/3) (+.f64 1 (/.f64 rand (sqrt.f64 (fma.f64 a 9 -3)))))
0.2b
(/.f64 rand (sqrt.f64 (fma.f64 a 9 -3)))
0.4b
(sqrt.f64 (fma.f64 a 9 -3))

series200.0ms (4.6%)

Counts
4 → 50
Calls

4 calls:

167.0ms
(/.f64 rand (sqrt.f64 (fma.f64 a 9 -3)))
25.0ms
(*.f64 (-.f64 a 1/3) (+.f64 1 (/.f64 rand (sqrt.f64 (fma.f64 a 9 -3)))))
6.0ms
(sqrt.f64 (fma.f64 a 9 -3))
2.0ms
(fma.f64 a 9 -3)

rewrite79.0ms (1.8%)

Algorithm
batch-egg-rewrite
Rules
492×prod-diff_binary64
237×log1p-udef_binary64
135×add-sqr-sqrt_binary64
132×log1p-expm1-u_binary64
132×expm1-log1p-u_binary64
Counts
4 → 127
Calls

4 calls:

76.0ms
(fma.f64 a 9 -3)
76.0ms
(*.f64 (-.f64 a 1/3) (+.f64 1 (/.f64 rand (sqrt.f64 (fma.f64 a 9 -3)))))
76.0ms
(/.f64 rand (sqrt.f64 (fma.f64 a 9 -3)))
76.0ms
(sqrt.f64 (fma.f64 a 9 -3))
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
01341
128640
2348140
3483740
Stop Event
node limit

simplify61.0ms (1.4%)

Algorithm
egg-herbie
Rules
689×fma-neg_binary64
397×associate-+l+_binary64
381×fma-def_binary64
282×associate-/l*_binary64
276×times-frac_binary64
Counts
177 → 164
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
01001065
13201019
21084867
34794849
45374849
Stop Event
node limit

prune350.0ms (8.1%)

Pruning

7 alts after pruning (7 fresh and 0 done)

PrunedKeptTotal
New1577164
Fresh101
Picked101
Done000
Total1597166
Error
0.0b
Counts
166 → 7
Alt Table
StatusErrorProgram
1.8b
(*.f64 (-.f64 a 1/3) (+.f64 1 (/.f64 rand (cbrt.f64 (pow.f64 (fma.f64 a 9 -3) 3/2)))))
0.1b
(+.f64 a (fma.f64 rand (*.f64 (sqrt.f64 (/.f64 1 (fma.f64 a 9 -3))) (+.f64 a -1/3)) -1/3))
33.4b
(/.f64 (*.f64 (fma.f64 a a -1/9) (fma.f64 rand (pow.f64 (fma.f64 a 9 -3) -1/2) 1)) (+.f64 a 1/3))
32.8b
(*.f64 (-.f64 a 1/3) (+.f64 1 (pow.f64 (sqrt.f64 (/.f64 rand (sqrt.f64 (fma.f64 a 9 -3)))) 2)))
0.1b
(+.f64 a (+.f64 -1/3 (*.f64 (/.f64 rand (sqrt.f64 (fma.f64 a 9 -3))) (-.f64 a 1/3))))
1.1b
(*.f64 (-.f64 a 1/3) (+.f64 1 (/.f64 rand (sqrt.f64 (expm1.f64 (log1p.f64 (fma.f64 a 9 -3)))))))
10.1b
(-.f64 (+.f64 a (*.f64 (*.f64 a rand) (sqrt.f64 (/.f64 1 (-.f64 (*.f64 9 a) 3))))) (+.f64 (*.f64 1/3 (*.f64 rand (sqrt.f64 (/.f64 1 (-.f64 (*.f64 9 a) 3))))) 1/3))
Compiler

Compiled 3679 to 2860 computations (22.3% saved)

localize11.0ms (0.2%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.2b
(sqrt.f64 (/.f64 1 (fma.f64 a 9 -3)))
0.2b
(fma.f64 rand (*.f64 (sqrt.f64 (/.f64 1 (fma.f64 a 9 -3))) (+.f64 a -1/3)) -1/3)
0.3b
(*.f64 (sqrt.f64 (/.f64 1 (fma.f64 a 9 -3))) (+.f64 a -1/3))
0.5b
(/.f64 1 (fma.f64 a 9 -3))

series50.0ms (1.2%)

Counts
4 → 36
Calls

4 calls:

28.0ms
(fma.f64 rand (*.f64 (sqrt.f64 (/.f64 1 (fma.f64 a 9 -3))) (+.f64 a -1/3)) -1/3)
10.0ms
(sqrt.f64 (/.f64 1 (fma.f64 a 9 -3)))
9.0ms
(*.f64 (sqrt.f64 (/.f64 1 (fma.f64 a 9 -3))) (+.f64 a -1/3))
2.0ms
(/.f64 1 (fma.f64 a 9 -3))

rewrite69.0ms (1.6%)

Algorithm
batch-egg-rewrite
Rules
546×log-prod_binary64
227×expm1-udef_binary64
227×log1p-udef_binary64
209×prod-diff_binary64
194×log-pow_binary64
Counts
4 → 146
Calls

4 calls:

66.0ms
(sqrt.f64 (/.f64 1 (fma.f64 a 9 -3)))
66.0ms
(fma.f64 rand (*.f64 (sqrt.f64 (/.f64 1 (fma.f64 a 9 -3))) (+.f64 a -1/3)) -1/3)
66.0ms
(*.f64 (sqrt.f64 (/.f64 1 (fma.f64 a 9 -3))) (+.f64 a -1/3))
66.0ms
(/.f64 1 (fma.f64 a 9 -3))
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
01354
127846
2310946
3554046
Stop Event
node limit

simplify67.0ms (1.6%)

Algorithm
egg-herbie
Rules
782×fma-neg_binary64
635×fma-def_binary64
457×times-frac_binary64
317×associate-/l*_binary64
204×associate-*l*_binary64
Counts
182 → 188
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
01321003
1414851
21335772
34839766
45464766
Stop Event
node limit

prune242.0ms (5.6%)

Pruning

6 alts after pruning (6 fresh and 0 done)

PrunedKeptTotal
New1862188
Fresh246
Picked101
Done000
Total1896195
Error
0.0b
Counts
195 → 6
Alt Table
StatusErrorProgram
0.1b
(+.f64 a (fma.f64 rand (/.f64 (+.f64 a -1/3) (sqrt.f64 (fma.f64 a 9 -3))) -1/3))
33.4b
(/.f64 (*.f64 (fma.f64 a a -1/9) (fma.f64 rand (pow.f64 (fma.f64 a 9 -3) -1/2) 1)) (+.f64 a 1/3))
32.8b
(*.f64 (-.f64 a 1/3) (+.f64 1 (pow.f64 (sqrt.f64 (/.f64 rand (sqrt.f64 (fma.f64 a 9 -3)))) 2)))
0.1b
(+.f64 a (fma.f64 rand (*.f64 (pow.f64 (fma.f64 a 9 -3) -1/2) (+.f64 a -1/3)) -1/3))
0.1b
(+.f64 a (+.f64 -1/3 (*.f64 (/.f64 rand (sqrt.f64 (fma.f64 a 9 -3))) (-.f64 a 1/3))))
10.1b
(-.f64 (+.f64 a (*.f64 (*.f64 a rand) (sqrt.f64 (/.f64 1 (-.f64 (*.f64 9 a) 3))))) (+.f64 (*.f64 1/3 (*.f64 rand (sqrt.f64 (/.f64 1 (-.f64 (*.f64 9 a) 3))))) 1/3))
Compiler

Compiled 4662 to 3611 computations (22.5% saved)

localize11.0ms (0.3%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.0b
(fma.f64 a 9 -3)
0.2b
(fma.f64 rand (*.f64 (pow.f64 (fma.f64 a 9 -3) -1/2) (+.f64 a -1/3)) -1/3)
0.3b
(*.f64 (pow.f64 (fma.f64 a 9 -3) -1/2) (+.f64 a -1/3))
0.4b
(pow.f64 (fma.f64 a 9 -3) -1/2)

series44.0ms (1%)

Counts
3 → 32
Calls

3 calls:

28.0ms
(fma.f64 rand (*.f64 (pow.f64 (fma.f64 a 9 -3) -1/2) (+.f64 a -1/3)) -1/3)
11.0ms
(*.f64 (pow.f64 (fma.f64 a 9 -3) -1/2) (+.f64 a -1/3))
4.0ms
(pow.f64 (fma.f64 a 9 -3) -1/2)

rewrite64.0ms (1.5%)

Algorithm
batch-egg-rewrite
Rules
521×log-prod_binary64
223×expm1-udef_binary64
223×log1p-udef_binary64
209×prod-diff_binary64
184×log-pow_binary64
Counts
3 → 99
Calls

3 calls:

62.0ms
(fma.f64 rand (*.f64 (pow.f64 (fma.f64 a 9 -3) -1/2) (+.f64 a -1/3)) -1/3)
62.0ms
(*.f64 (pow.f64 (fma.f64 a 9 -3) -1/2) (+.f64 a -1/3))
62.0ms
(pow.f64 (fma.f64 a 9 -3) -1/2)
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01240
126640
2297540
3524640
Stop Event
node limit

simplify61.0ms (1.4%)

Algorithm
egg-herbie
Rules
588×fma-def_binary64
581×fma-neg_binary64
449×times-frac_binary64
307×associate-/l*_binary64
298×associate-+l+_binary64
Counts
131 → 142
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
01301167
1389996
21181879
34609873
45077873
Stop Event
node limit

prune215.0ms (5%)

Pruning

6 alts after pruning (5 fresh and 1 done)

PrunedKeptTotal
New1750175
Fresh055
Picked011
Done000
Total1756181
Error
0.0b
Counts
181 → 6
Alt Table
StatusErrorProgram
0.1b
(+.f64 a (fma.f64 rand (/.f64 (+.f64 a -1/3) (sqrt.f64 (fma.f64 a 9 -3))) -1/3))
33.4b
(/.f64 (*.f64 (fma.f64 a a -1/9) (fma.f64 rand (pow.f64 (fma.f64 a 9 -3) -1/2) 1)) (+.f64 a 1/3))
32.8b
(*.f64 (-.f64 a 1/3) (+.f64 1 (pow.f64 (sqrt.f64 (/.f64 rand (sqrt.f64 (fma.f64 a 9 -3)))) 2)))
0.1b
(+.f64 a (fma.f64 rand (*.f64 (pow.f64 (fma.f64 a 9 -3) -1/2) (+.f64 a -1/3)) -1/3))
0.1b
(+.f64 a (+.f64 -1/3 (*.f64 (/.f64 rand (sqrt.f64 (fma.f64 a 9 -3))) (-.f64 a 1/3))))
10.1b
(-.f64 (+.f64 a (*.f64 (*.f64 a rand) (sqrt.f64 (/.f64 1 (-.f64 (*.f64 9 a) 3))))) (+.f64 (*.f64 1/3 (*.f64 rand (sqrt.f64 (/.f64 1 (-.f64 (*.f64 9 a) 3))))) 1/3))
Compiler

Compiled 4635 to 3628 computations (21.7% saved)

localize10.0ms (0.2%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.0b
(fma.f64 a 9 -3)
0.2b
(fma.f64 rand (/.f64 (+.f64 a -1/3) (sqrt.f64 (fma.f64 a 9 -3))) -1/3)
0.3b
(/.f64 (+.f64 a -1/3) (sqrt.f64 (fma.f64 a 9 -3)))
0.4b
(sqrt.f64 (fma.f64 a 9 -3))

series36.0ms (0.8%)

Counts
2 → 20
Calls

2 calls:

27.0ms
(fma.f64 rand (/.f64 (+.f64 a -1/3) (sqrt.f64 (fma.f64 a 9 -3))) -1/3)
9.0ms
(/.f64 (+.f64 a -1/3) (sqrt.f64 (fma.f64 a 9 -3)))

rewrite59.0ms (1.4%)

Algorithm
batch-egg-rewrite
Rules
491×log-prod_binary64
205×expm1-udef_binary64
205×log1p-udef_binary64
174×log-pow_binary64
114×add-sqr-sqrt_binary64
Counts
2 → 62
Calls

2 calls:

58.0ms
(fma.f64 rand (/.f64 (+.f64 a -1/3) (sqrt.f64 (fma.f64 a 9 -3))) -1/3)
58.0ms
(/.f64 (+.f64 a -1/3) (sqrt.f64 (fma.f64 a 9 -3)))
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01130
123830
2281130
3490830
Stop Event
node limit

simplify59.0ms (1.4%)

Algorithm
egg-herbie
Rules
753×fma-neg_binary64
394×fma-def_binary64
391×times-frac_binary64
307×cancel-sign-sub-inv_binary64
261×associate-/l*_binary64
Counts
82 → 83
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
082680
1263537
2837488
33556467
44896467
55008467
Stop Event
node limit

prune154.0ms (3.5%)

Pruning

7 alts after pruning (5 fresh and 2 done)

PrunedKeptTotal
New1451146
Fresh044
Picked011
Done011
Total1457152
Error
0b
Counts
152 → 7
Alt Table
StatusErrorProgram
28.9b
(+.f64 a (fma.f64 rand (*.f64 (cbrt.f64 (/.f64 (+.f64 a -1/3) (sqrt.f64 (fma.f64 a 9 -3)))) (cbrt.f64 (/.f64 (pow.f64 (+.f64 a -1/3) 2) (fma.f64 a 9 -3)))) -1/3))
10.1b
(-.f64 (+.f64 a (*.f64 (*.f64 a rand) (sqrt.f64 (/.f64 1 (-.f64 (*.f64 9 a) 3))))) (+.f64 (*.f64 1/3 (*.f64 rand (sqrt.f64 (/.f64 1 (-.f64 (*.f64 9 a) 3))))) 1/3))
0.1b
(+.f64 a (fma.f64 rand (/.f64 (+.f64 a -1/3) (sqrt.f64 (fma.f64 a 9 -3))) -1/3))
33.4b
(/.f64 (*.f64 (fma.f64 a a -1/9) (fma.f64 rand (pow.f64 (fma.f64 a 9 -3) -1/2) 1)) (+.f64 a 1/3))
32.8b
(*.f64 (-.f64 a 1/3) (+.f64 1 (pow.f64 (sqrt.f64 (/.f64 rand (sqrt.f64 (fma.f64 a 9 -3)))) 2)))
0.1b
(+.f64 a (fma.f64 rand (*.f64 (pow.f64 (fma.f64 a 9 -3) -1/2) (+.f64 a -1/3)) -1/3))
0.1b
(+.f64 a (+.f64 -1/3 (*.f64 (/.f64 rand (sqrt.f64 (fma.f64 a 9 -3))) (-.f64 a 1/3))))
Compiler

Compiled 3238 to 2508 computations (22.5% saved)

regimes510.0ms (11.8%)

Accuracy

Total 0.1b remaining (83.7%)

Threshold costs 0.1b (83.7%)

Counts
115 → 1
Compiler

Compiled 9018 to 7206 computations (20.1% saved)

simplify2.0ms (0%)

Algorithm
egg-herbie
Rules
+-commutative_binary64
*-commutative_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01321
11621
21621
Stop Event
saturated

end124.0ms (2.9%)

Compiler

Compiled 182 to 142 computations (22% saved)

Profiling

Loading profile data...