Details

Time bar (total: 3.9s)

analyze887.0ms (22.7%)

Algorithm
search
Search
TrueOtherFalseIter
0%99.8%0.2%0
0%99.8%0.2%1
0%99.8%0.2%2
0%99.8%0.2%3
0%99.8%0.2%4
0%99.8%0.2%5
0%99.8%0.2%6
0%99.8%0.2%7
0%99.8%0.2%8
6.2%93.6%0.2%9
9.4%90.4%0.2%10
18.7%70.2%11.1%11
21.1%66.7%12.3%12
31.6%55.9%12.5%13
34.5%52.3%13.2%14
Compiler

Compiled 14 to 9 computations (35.7% saved)

sample1.1s (28.4%)

Results
864.0ms8256×body128valid
210.0ms1891×body128invalid
Compiler

Compiled 41 to 26 computations (36.6% saved)

simplify6.0ms (0.2%)

Algorithm
egg-herbie
Rules
22×fma-def_binary64
+-commutative_binary64
associate-+r+_binary64
associate-+l+_binary64
*-commutative_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
099
1159
2259
3489
4659
Stop Event
saturated
Counts
1 → 2

prune3.0ms (0.1%)

Pruning

3 alts after pruning (3 fresh and 0 done)

PrunedKeptTotal
New022
Fresh011
Picked000
Done000
Total033
Error
0.0b
Counts
3 → 2
Alt Table
StatusErrorProgram
0.1b
(fma.f64 y (fma.f64 x y z) t)
0.1b
(+.f64 (*.f64 (+.f64 (*.f64 x y) z) y) t)
Compiler

Compiled 68 to 38 computations (44.1% saved)

localize6.0ms (0.2%)

Local error

Found 3 expressions with local error:

NewErrorProgram
0.0b
(+.f64 (*.f64 x y) z)
0.0b
(+.f64 (*.f64 (+.f64 (*.f64 x y) z) y) t)
0.1b
(*.f64 (+.f64 (*.f64 x y) z) y)

series32.0ms (0.8%)

Counts
3 → 120
Calls

3 calls:

15.0ms
(+.f64 (*.f64 (+.f64 (*.f64 x y) z) y) t)
12.0ms
(*.f64 (+.f64 (*.f64 x y) z) y)
5.0ms
(+.f64 (*.f64 x y) z)

rewrite51.0ms (1.3%)

Algorithm
batch-egg-rewrite
Rules
520×log-prod_binary64
465×fma-def_binary64
231×fma-neg_binary64
188×expm1-udef_binary64
188×log1p-udef_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0922
119922
2282722
Stop Event
node limit
Counts
3 → 138
Calls

3 calls:

49.0ms
(+.f64 (*.f64 x y) z)
49.0ms
(+.f64 (*.f64 (+.f64 (*.f64 x y) z) y) t)
49.0ms
(*.f64 (+.f64 (*.f64 x y) z) y)

simplify96.0ms (2.5%)

Algorithm
egg-herbie
Rules
538×associate-*l*_binary64
512×fma-def_binary64
434×unswap-sqr_binary64
370×sqr-pow_binary64
337×associate-*r*_binary64
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
0171061
136993
254870
386804
4189804
5519804
61792804
73127804
83333804
93546804
103766804
114074804
124474804
134984804
Stop Event
node limit
Counts
258 → 155

prune113.0ms (2.9%)

Pruning

6 alts after pruning (5 fresh and 1 done)

PrunedKeptTotal
New1505155
Fresh101
Picked011
Done000
Total1516157
Error
0b
Counts
157 → 6
Alt Table
StatusErrorProgram
33.1b
(fma.f64 (sqrt.f64 y) (*.f64 (sqrt.f64 y) (fma.f64 x y z)) t)
30.6b
(+.f64 (pow.f64 (sqrt.f64 (*.f64 y (fma.f64 x y z))) 2) t)
0.1b
(+.f64 (*.f64 (+.f64 (*.f64 x y) z) y) t)
0.6b
(+.f64 (*.f64 (pow.f64 (cbrt.f64 (fma.f64 x y z)) 3) y) t)
8.1b
(fma.f64 (*.f64 (fma.f64 x y z) (cbrt.f64 (*.f64 y y))) (cbrt.f64 y) t)
22.0b
(+.f64 (/.f64 (*.f64 (-.f64 (pow.f64 (*.f64 x y) 2) (*.f64 z z)) y) (-.f64 (*.f64 x y) z)) t)
Compiler

Compiled 2324 to 815 computations (64.9% saved)

localize9.0ms (0.2%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.0b
(+.f64 (*.f64 (pow.f64 (cbrt.f64 (fma.f64 x y z)) 3) y) t)
0.1b
(*.f64 (pow.f64 (cbrt.f64 (fma.f64 x y z)) 3) y)
0.6b
(cbrt.f64 (fma.f64 x y z))
0.7b
(pow.f64 (cbrt.f64 (fma.f64 x y z)) 3)

series121.0ms (3.1%)

Counts
4 → 108
Calls

4 calls:

80.0ms
(pow.f64 (cbrt.f64 (fma.f64 x y z)) 3)
17.0ms
(cbrt.f64 (fma.f64 x y z))
16.0ms
(+.f64 (*.f64 (pow.f64 (cbrt.f64 (fma.f64 x y z)) 3) y) t)
8.0ms
(*.f64 (pow.f64 (cbrt.f64 (fma.f64 x y z)) 3) y)

rewrite51.0ms (1.3%)

Algorithm
batch-egg-rewrite
Rules
895×prod-diff_binary64
189×expm1-udef_binary64
189×log1p-udef_binary64
106×add-sqr-sqrt_binary64
103×log1p-expm1-u_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01129
123029
2274129
Stop Event
node limit
Counts
4 → 101
Calls

4 calls:

50.0ms
(+.f64 (*.f64 (pow.f64 (cbrt.f64 (fma.f64 x y z)) 3) y) t)
50.0ms
(*.f64 (pow.f64 (cbrt.f64 (fma.f64 x y z)) 3) y)
50.0ms
(cbrt.f64 (fma.f64 x y z))
50.0ms
(pow.f64 (cbrt.f64 (fma.f64 x y z)) 3)

simplify72.0ms (1.8%)

Algorithm
egg-herbie
Rules
575×fma-neg_binary64
380×fma-def_binary64
327×*-commutative_binary64
279×cancel-sign-sub-inv_binary64
243×associate-/r*_binary64
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
01092114
13392026
211051974
329191972
446071972
Stop Event
node limit
Counts
209 → 145

prune96.0ms (2.5%)

Pruning

6 alts after pruning (4 fresh and 2 done)

PrunedKeptTotal
New1450145
Fresh044
Picked011
Done011
Total1456151
Error
0b
Counts
151 → 6
Alt Table
StatusErrorProgram
33.1b
(fma.f64 (sqrt.f64 y) (*.f64 (sqrt.f64 y) (fma.f64 x y z)) t)
30.6b
(+.f64 (pow.f64 (sqrt.f64 (*.f64 y (fma.f64 x y z))) 2) t)
0.1b
(+.f64 (*.f64 (+.f64 (*.f64 x y) z) y) t)
0.6b
(+.f64 (*.f64 (pow.f64 (cbrt.f64 (fma.f64 x y z)) 3) y) t)
8.1b
(fma.f64 (*.f64 (fma.f64 x y z) (cbrt.f64 (*.f64 y y))) (cbrt.f64 y) t)
22.0b
(+.f64 (/.f64 (*.f64 (-.f64 (pow.f64 (*.f64 x y) 2) (*.f64 z z)) y) (-.f64 (*.f64 x y) z)) t)
Compiler

Compiled 2916 to 1424 computations (51.2% saved)

localize9.0ms (0.2%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.2b
(fma.f64 (*.f64 (fma.f64 x y z) (cbrt.f64 (*.f64 y y))) (cbrt.f64 y) t)
0.3b
(*.f64 (fma.f64 x y z) (cbrt.f64 (*.f64 y y)))
0.6b
(cbrt.f64 y)
21.6b
(cbrt.f64 (*.f64 y y))

series188.0ms (4.8%)

Counts
4 → 63
Calls

4 calls:

123.0ms
(fma.f64 (*.f64 (fma.f64 x y z) (cbrt.f64 (*.f64 y y))) (cbrt.f64 y) t)
49.0ms
(*.f64 (fma.f64 x y z) (cbrt.f64 (*.f64 y y)))
12.0ms
(cbrt.f64 y)
4.0ms
(cbrt.f64 (*.f64 y y))

rewrite48.0ms (1.2%)

Algorithm
batch-egg-rewrite
Rules
891×log1p-expm1-u_binary64
891×expm1-log1p-u_binary64
138×prod-diff_binary64
105×add-sqr-sqrt_binary64
97×add-cube-cbrt_binary64
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
01141
121433
2249133
Stop Event
node limit
Counts
4 → 89
Calls

4 calls:

46.0ms
(fma.f64 (*.f64 (fma.f64 x y z) (cbrt.f64 (*.f64 y y))) (cbrt.f64 y) t)
46.0ms
(*.f64 (fma.f64 x y z) (cbrt.f64 (*.f64 y y)))
46.0ms
(cbrt.f64 y)
46.0ms
(cbrt.f64 (*.f64 y y))

simplify76.0ms (1.9%)

Algorithm
egg-herbie
Rules
740×sqr-pow_binary64
343×associate-*l*_binary64
322×unswap-sqr_binary64
310×pow-sqr_binary64
291×*-commutative_binary64
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
022809
155753
297752
3192669
4445669
51258669
62157669
72394669
82677669
93036669
103536669
114260669
Stop Event
node limit
Counts
152 → 108

prune72.0ms (1.8%)

Pruning

6 alts after pruning (3 fresh and 3 done)

PrunedKeptTotal
New1080108
Fresh033
Picked011
Done022
Total1086114
Error
0b
Counts
114 → 6
Alt Table
StatusErrorProgram
33.1b
(fma.f64 (sqrt.f64 y) (*.f64 (sqrt.f64 y) (fma.f64 x y z)) t)
30.6b
(+.f64 (pow.f64 (sqrt.f64 (*.f64 y (fma.f64 x y z))) 2) t)
0.1b
(+.f64 (*.f64 (+.f64 (*.f64 x y) z) y) t)
0.6b
(+.f64 (*.f64 (pow.f64 (cbrt.f64 (fma.f64 x y z)) 3) y) t)
8.1b
(fma.f64 (*.f64 (fma.f64 x y z) (cbrt.f64 (*.f64 y y))) (cbrt.f64 y) t)
22.0b
(+.f64 (/.f64 (*.f64 (-.f64 (pow.f64 (*.f64 x y) 2) (*.f64 z z)) y) (-.f64 (*.f64 x y) z)) t)
Compiler

Compiled 1708 to 597 computations (65% saved)

localize12.0ms (0.3%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.3b
(pow.f64 (*.f64 x y) 2)
0.9b
(-.f64 (pow.f64 (*.f64 x y) 2) (*.f64 z z))
6.0b
(*.f64 (-.f64 (pow.f64 (*.f64 x y) 2) (*.f64 z z)) y)
17.5b
(/.f64 (*.f64 (-.f64 (pow.f64 (*.f64 x y) 2) (*.f64 z z)) y) (-.f64 (*.f64 x y) z))

series83.0ms (2.1%)

Counts
4 → 132
Calls

4 calls:

31.0ms
(/.f64 (*.f64 (-.f64 (pow.f64 (*.f64 x y) 2) (*.f64 z z)) y) (-.f64 (*.f64 x y) z))
26.0ms
(*.f64 (-.f64 (pow.f64 (*.f64 x y) 2) (*.f64 z z)) y)
19.0ms
(-.f64 (pow.f64 (*.f64 x y) 2) (*.f64 z z))
7.0ms
(pow.f64 (*.f64 x y) 2)

rewrite70.0ms (1.8%)

Algorithm
batch-egg-rewrite
Rules
506×fma-def_binary64
255×fma-neg_binary64
239×expm1-udef_binary64
239×log1p-udef_binary64
192×egg-rr
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
01261
127544
2393244
Stop Event
node limit
Counts
4 → 192
Calls

4 calls:

66.0ms
(pow.f64 (*.f64 x y) 2)
66.0ms
(-.f64 (pow.f64 (*.f64 x y) 2) (*.f64 z z))
66.0ms
(*.f64 (-.f64 (pow.f64 (*.f64 x y) 2) (*.f64 z z)) y)
66.0ms
(/.f64 (*.f64 (-.f64 (pow.f64 (*.f64 x y) 2) (*.f64 z z)) y) (-.f64 (*.f64 x y) z))

simplify76.0ms (1.9%)

Algorithm
egg-herbie
Rules
679×fma-def_binary64
430×associate-*l*_binary64
407×distribute-rgt-neg-in_binary64
371×distribute-lft-neg-in_binary64
346×*-commutative_binary64
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
0211693
1591693
21341666
34351504
420851504
547631504
Stop Event
node limit
Counts
324 → 209

prune140.0ms (3.6%)

Pruning

6 alts after pruning (2 fresh and 4 done)

PrunedKeptTotal
New2090209
Fresh022
Picked011
Done033
Total2096215
Error
0b
Counts
215 → 6
Alt Table
StatusErrorProgram
33.1b
(fma.f64 (sqrt.f64 y) (*.f64 (sqrt.f64 y) (fma.f64 x y z)) t)
30.6b
(+.f64 (pow.f64 (sqrt.f64 (*.f64 y (fma.f64 x y z))) 2) t)
0.1b
(+.f64 (*.f64 (+.f64 (*.f64 x y) z) y) t)
0.6b
(+.f64 (*.f64 (pow.f64 (cbrt.f64 (fma.f64 x y z)) 3) y) t)
8.1b
(fma.f64 (*.f64 (fma.f64 x y z) (cbrt.f64 (*.f64 y y))) (cbrt.f64 y) t)
22.0b
(+.f64 (/.f64 (*.f64 (-.f64 (pow.f64 (*.f64 x y) 2) (*.f64 z z)) y) (-.f64 (*.f64 x y) z)) t)
Compiler

Compiled 5248 to 1893 computations (63.9% saved)

regimes395.0ms (10.1%)

Accuracy

Total 0.0b remaining (53.3%)

Threshold costs 0.0b (53.3%)

Counts
71 → 1
Compiler

Compiled 6386 to 3922 computations (38.6% saved)

simplify2.0ms (0%)

Algorithm
egg-herbie
Rules
*-commutative_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0812
1912
Stop Event
saturated

end77.0ms (2%)

Compiler

Compiled 124 to 73 computations (41.1% saved)

Profiling

Loading profile data...