Details

Time bar (total: 3.5s)

analyze118.0ms (3.4%)

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.2s (35.8%)

Results
1.1s8256×body128valid
69.0ms560×body128invalid
Compiler

Compiled 68 to 59 computations (13.2% saved)

simplify68.0ms (2%)

Algorithm
egg-herbie
Rules
1035×fma-def_binary64
742×fma-neg_binary64
189×distribute-rgt-in_binary64
177×cancel-sign-sub-inv_binary64
156×distribute-lft-in_binary64
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
01524
13221
28219
319919
451019
596919
6147019
7242119
8362619
9407319
10423119
11427219
12427519
13482819
14482819
Stop Event
saturated
Counts
1 → 2

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.1b
(*.f64 (-.f64 a (/.f64 1 3)) (+.f64 1 (*.f64 (/.f64 1 (sqrt.f64 (*.f64 9 (-.f64 a (/.f64 1 3))))) rand)))
0.1b
(*.f64 (-.f64 a 1/3) (+.f64 1 (/.f64 rand (sqrt.f64 (fma.f64 a 9 -3)))))
Compiler

Compiled 109 to 91 computations (16.5% saved)

localize8.0ms (0.2%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.1b
(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))

series72.0ms (2.1%)

Counts
4 → 50
Calls

4 calls:

38.0ms
(*.f64 (-.f64 a 1/3) (+.f64 1 (/.f64 rand (sqrt.f64 (fma.f64 a 9 -3)))))
26.0ms
(/.f64 rand (sqrt.f64 (fma.f64 a 9 -3)))
6.0ms
(sqrt.f64 (fma.f64 a 9 -3))
1.0ms
(fma.f64 a 9 -3)

rewrite66.0ms (1.9%)

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
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
01341
128840
2370640
Stop Event
node limit
Counts
4 → 127
Calls

4 calls:

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

simplify31.0ms (0.9%)

Algorithm
egg-herbie
Rules
374×fma-def_binary64
347×associate-+l+_binary64
282×associate-/l*_binary64
276×times-frac_binary64
231×associate-+r+_binary64
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
01001065
13211019
21143867
Stop Event
node limit
Counts
177 → 164

prune206.0ms (5.9%)

Pruning

6 alts after pruning (5 fresh and 1 done)

PrunedKeptTotal
New1595164
Fresh101
Picked011
Done000
Total1606166
Error
0.0b
Counts
166 → 6
Alt Table
StatusErrorProgram
0.1b
(-.f64 (*.f64 rand (*.f64 (sqrt.f64 (/.f64 1 (fma.f64 a 9 -3))) (+.f64 a -1/3))) (-.f64 1/3 a))
8.4b
(/.f64 (*.f64 (-.f64 1 (/.f64 (*.f64 rand rand) (fma.f64 a 9 -3))) (+.f64 a -1/3)) (-.f64 1 (/.f64 rand (sqrt.f64 (fma.f64 a 9 -3)))))
9.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.2b
(*.f64 (-.f64 a 1/3) (+.f64 1 (/.f64 rand (pow.f64 (pow.f64 (fma.f64 a 9 -3) 1/4) 2))))
0.1b
(*.f64 (-.f64 a 1/3) (+.f64 1 (/.f64 rand (sqrt.f64 (fma.f64 a 9 -3)))))
0.1b
(*.f64 (-.f64 a 1/3) (+.f64 1 (*.f64 rand (pow.f64 (fma.f64 a 9 -3) -1/2))))
Compiler

Compiled 3639 to 2839 computations (22% saved)

localize10.0ms (0.3%)

Local error

Found 4 expressions with local error:

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

series90.0ms (2.6%)

Counts
3 → 46
Calls

3 calls:

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

rewrite54.0ms (1.6%)

Algorithm
batch-egg-rewrite
Rules
521×prod-diff_binary64
251×log1p-udef_binary64
145×add-sqr-sqrt_binary64
142×log1p-expm1-u_binary64
142×expm1-log1p-u_binary64
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
01439
130937
2374637
Stop Event
node limit
Counts
3 → 74
Calls

3 calls:

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

simplify33.0ms (1%)

Algorithm
egg-herbie
Rules
536×fma-def_binary64
398×associate-+l+_binary64
283×times-frac_binary64
275×associate-/l*_binary64
234×associate-*r*_binary64
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
01331410
14001342
213411122
Stop Event
node limit
Counts
120 → 121

prune215.0ms (6.2%)

Pruning

6 alts after pruning (4 fresh and 2 done)

PrunedKeptTotal
New1540154
Fresh044
Picked011
Done011
Total1546160
Error
0.0b
Counts
160 → 6
Alt Table
StatusErrorProgram
0.1b
(-.f64 (*.f64 rand (*.f64 (sqrt.f64 (/.f64 1 (fma.f64 a 9 -3))) (+.f64 a -1/3))) (-.f64 1/3 a))
8.4b
(/.f64 (*.f64 (-.f64 1 (/.f64 (*.f64 rand rand) (fma.f64 a 9 -3))) (+.f64 a -1/3)) (-.f64 1 (/.f64 rand (sqrt.f64 (fma.f64 a 9 -3)))))
9.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.2b
(*.f64 (-.f64 a 1/3) (+.f64 1 (/.f64 rand (pow.f64 (pow.f64 (fma.f64 a 9 -3) 1/4) 2))))
0.1b
(*.f64 (-.f64 a 1/3) (+.f64 1 (/.f64 rand (sqrt.f64 (fma.f64 a 9 -3)))))
0.1b
(*.f64 (-.f64 a 1/3) (+.f64 1 (*.f64 rand (pow.f64 (fma.f64 a 9 -3) -1/2))))
Compiler

Compiled 3858 to 3074 computations (20.3% saved)

localize15.0ms (0.4%)

Local error

Found 4 expressions with local error:

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

series51.0ms (1.5%)

Counts
4 → 36
Calls

4 calls:

29.0ms
(*.f64 rand (*.f64 (sqrt.f64 (/.f64 1 (fma.f64 a 9 -3))) (+.f64 a -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))
3.0ms
(/.f64 1 (fma.f64 a 9 -3))

rewrite67.0ms (1.9%)

Algorithm
batch-egg-rewrite
Rules
227×expm1-udef_binary64
227×log1p-udef_binary64
209×prod-diff_binary64
194×log-pow_binary64
156×fma-def_binary64
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
01353
128045
2341645
Stop Event
node limit
Counts
4 → 140
Calls

4 calls:

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

simplify32.0ms (0.9%)

Algorithm
egg-herbie
Rules
571×fma-def_binary64
457×times-frac_binary64
360×associate-+l+_binary64
317×associate-/l*_binary64
179×associate-/r*_binary64
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
0125861
1380818
21290769
Stop Event
node limit
Counts
176 → 179

prune236.0ms (6.8%)

Pruning

6 alts after pruning (4 fresh and 2 done)

PrunedKeptTotal
New1772179
Fresh123
Picked101
Done022
Total1796185
Error
0b
Counts
185 → 6
Alt Table
StatusErrorProgram
8.4b
(/.f64 (*.f64 (-.f64 1 (/.f64 (*.f64 rand rand) (fma.f64 a 9 -3))) (+.f64 a -1/3)) (-.f64 1 (/.f64 rand (sqrt.f64 (fma.f64 a 9 -3)))))
0.2b
(*.f64 (-.f64 a 1/3) (+.f64 1 (/.f64 rand (pow.f64 (pow.f64 (fma.f64 a 9 -3) 1/4) 2))))
0.1b
(-.f64 (*.f64 rand (*.f64 (pow.f64 (fma.f64 a 9 -3) -1/2) (+.f64 a -1/3))) (-.f64 1/3 a))
9.1b
(-.f64 (*.f64 (*.f64 rand (-.f64 a 1/3)) (sqrt.f64 (/.f64 1 (-.f64 (*.f64 9 a) 3)))) (-.f64 1/3 a))
0.1b
(*.f64 (-.f64 a 1/3) (+.f64 1 (/.f64 rand (sqrt.f64 (fma.f64 a 9 -3)))))
0.1b
(*.f64 (-.f64 a 1/3) (+.f64 1 (*.f64 rand (pow.f64 (fma.f64 a 9 -3) -1/2))))
Compiler

Compiled 4446 to 3466 computations (22% saved)

localize13.0ms (0.4%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.1b
(fma.f64 a 9 -3)
0.3b
(*.f64 (pow.f64 (fma.f64 a 9 -3) -1/2) (+.f64 a -1/3))
0.3b
(*.f64 rand (*.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)

series40.0ms (1.1%)

Counts
2 → 20
Calls

2 calls:

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

rewrite55.0ms (1.6%)

Algorithm
batch-egg-rewrite
Rules
554×log-prod_binary64
223×expm1-udef_binary64
223×log1p-udef_binary64
209×prod-diff_binary64
184×log-pow_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01231
126731
2326131
Stop Event
node limit
Counts
2 → 85
Calls

2 calls:

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

simplify44.0ms (1.3%)

Algorithm
egg-herbie
Rules
465×associate-/l/_binary64
391×times-frac_binary64
322×fma-def_binary64
272×fma-neg_binary64
261×associate-/l*_binary64
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
075540
1226506
2769487
33431469
Stop Event
node limit
Counts
105 → 103

prune211.0ms (6%)

Pruning

6 alts after pruning (3 fresh and 3 done)

PrunedKeptTotal
New1760176
Fresh033
Picked011
Done022
Total1766182
Error
0b
Counts
182 → 6
Alt Table
StatusErrorProgram
8.4b
(/.f64 (*.f64 (-.f64 1 (/.f64 (*.f64 rand rand) (fma.f64 a 9 -3))) (+.f64 a -1/3)) (-.f64 1 (/.f64 rand (sqrt.f64 (fma.f64 a 9 -3)))))
0.2b
(*.f64 (-.f64 a 1/3) (+.f64 1 (/.f64 rand (pow.f64 (pow.f64 (fma.f64 a 9 -3) 1/4) 2))))
0.1b
(-.f64 (*.f64 rand (*.f64 (pow.f64 (fma.f64 a 9 -3) -1/2) (+.f64 a -1/3))) (-.f64 1/3 a))
9.1b
(-.f64 (*.f64 (*.f64 rand (-.f64 a 1/3)) (sqrt.f64 (/.f64 1 (-.f64 (*.f64 9 a) 3)))) (-.f64 1/3 a))
0.1b
(*.f64 (-.f64 a 1/3) (+.f64 1 (/.f64 rand (sqrt.f64 (fma.f64 a 9 -3)))))
0.1b
(*.f64 (-.f64 a 1/3) (+.f64 1 (*.f64 rand (pow.f64 (fma.f64 a 9 -3) -1/2))))
Compiler

Compiled 4646 to 3673 computations (20.9% saved)

regimes389.0ms (11.1%)

Accuracy

Total 0.1b remaining (84.2%)

Threshold costs 0.1b (84.2%)

Counts
89 → 1
Compiler

Compiled 6830 to 5434 computations (20.4% saved)

simplify2.0ms (0.1%)

Algorithm
egg-herbie
Rules
+-commutative_binary64
*-commutative_binary64
sub-neg_binary64
1-exp_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01319
12019
22119
Stop Event
saturated

end109.0ms (3.1%)

Compiler

Compiled 143 to 114 computations (20.3% saved)

Profiling

Loading profile data...