Details

Time bar (total: 3.5s)

analyze41.0ms (1.2%)

Algorithm
search
Search
TrueOtherFalseIter
0%12.8%87.2%0
0%12.8%87.2%1
0%12.8%87.2%2
6.4%6.4%87.2%3
6.4%4.8%88.8%4
7.2%3.2%89.6%5
7.2%2.4%90.4%6
7.6%1.6%90.8%7
7.6%1.2%91.2%8
7.8%0.8%91.4%9
7.8%0.6%91.5%10
7.9%0.4%91.7%11
8%0.3%91.7%12
8.1%0.2%91.7%13
8.1%0.2%91.8%14
Compiler

Compiled 25 to 17 computations (32% saved)

sample1.5s (44.4%)

Results
620.0ms5182×body128valid
409.0ms1170×body1024valid
306.0ms1154×body512valid
138.0ms712×body256valid
16.0ms38×body2048valid
8.0ms76×body128invalid
Compiler

Compiled 60 to 40 computations (33.3% saved)

simplify12.0ms (0.3%)

Algorithm
egg-herbie
Rules
107×fma-def_binary64
72×fma-neg_binary64
29×cancel-sign-sub-inv_binary64
24×distribute-rgt-in_binary64
24×sub-neg_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0712
11212
22012
33412
45512
510312
619612
726912
836312
944112
1049712
1150112
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
25.1b
Counts
2 → 1
Alt Table
StatusErrorProgram
25.1b
(-.f64 x (sqrt.f64 (-.f64 (*.f64 x x) eps)))
Compiler

Compiled 30 to 18 computations (40% saved)

localize6.0ms (0.2%)

Local error

Found 3 expressions with local error:

NewErrorProgram
0.0b
(sqrt.f64 (-.f64 (*.f64 x x) eps))
0.0b
(-.f64 (*.f64 x x) eps)
3.1b
(-.f64 x (sqrt.f64 (-.f64 (*.f64 x x) eps)))

series31.0ms (0.9%)

Counts
3 → 56
Calls

3 calls:

14.0ms
(-.f64 x (sqrt.f64 (-.f64 (*.f64 x x) eps)))
12.0ms
(sqrt.f64 (-.f64 (*.f64 x x) eps))
4.0ms
(-.f64 (*.f64 x x) eps)

rewrite50.0ms (1.4%)

Algorithm
batch-egg-rewrite
Rules
871×log1p-expm1-u_binary64
871×expm1-log1p-u_binary64
104×egg-rr
82×add-sqr-sqrt_binary64
81×add-cbrt-cube_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0728
116228
2235628
Stop Event
node limit
Counts
3 → 104
Calls

3 calls:

48.0ms
(sqrt.f64 (-.f64 (*.f64 x x) eps))
48.0ms
(-.f64 (*.f64 x x) eps)
48.0ms
(-.f64 x (sqrt.f64 (-.f64 (*.f64 x x) eps)))

simplify35.0ms (1%)

Algorithm
egg-herbie
Rules
615×cancel-sign-sub-inv_binary64
324×fma-neg_binary64
230×associate-/r/_binary64
224×associate-/l/_binary64
193×distribute-neg-frac_binary64
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
070858
1214844
2615834
32433816
Stop Event
node limit
Counts
160 → 155

prune81.0ms (2.3%)

Pruning

5 alts after pruning (4 fresh and 1 done)

PrunedKeptTotal
New1514155
Fresh000
Picked011
Done000
Total1515156
Error
0.0b
Counts
156 → 5
Alt Table
StatusErrorProgram
25.3b
(-.f64 x (sqrt.f64 (*.f64 (pow.f64 (-.f64 (*.f64 x x) eps) 1/4) (*.f64 (pow.f64 (-.f64 (*.f64 x x) eps) 1/4) (sqrt.f64 (-.f64 (*.f64 x x) eps))))))
0.3b
(/.f64 (+.f64 (-.f64 (*.f64 x x) (*.f64 x x)) eps) (+.f64 x (sqrt.f64 (-.f64 (*.f64 x x) eps))))
0.4b
(/.f64 1 (/.f64 (+.f64 x (sqrt.f64 (-.f64 (*.f64 x x) eps))) (+.f64 (-.f64 (*.f64 x x) (*.f64 x x)) eps)))
25.1b
(-.f64 x (sqrt.f64 (-.f64 (*.f64 x x) eps)))
36.3b
(*.f64 (/.f64 eps x) (-.f64 1/2 (*.f64 -1/8 (/.f64 eps (*.f64 x x)))))
Compiler

Compiled 2572 to 1026 computations (60.1% saved)

localize8.0ms (0.2%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.0b
(sqrt.f64 (-.f64 (*.f64 x x) eps))
0.0b
(-.f64 (*.f64 x x) eps)
0.0b
(+.f64 x (sqrt.f64 (-.f64 (*.f64 x x) eps)))
0.3b
(/.f64 (+.f64 (-.f64 (*.f64 x x) (*.f64 x x)) eps) (+.f64 x (sqrt.f64 (-.f64 (*.f64 x x) eps))))

series55.0ms (1.6%)

Counts
2 → 32
Calls

2 calls:

43.0ms
(/.f64 (+.f64 (-.f64 (*.f64 x x) (*.f64 x x)) eps) (+.f64 x (sqrt.f64 (-.f64 (*.f64 x x) eps))))
13.0ms
(+.f64 x (sqrt.f64 (-.f64 (*.f64 x x) eps)))

rewrite63.0ms (1.8%)

Algorithm
batch-egg-rewrite
Rules
700×fma-def_binary64
308×fma-neg_binary64
183×expm1-udef_binary64
183×log1p-udef_binary64
177×egg-rr
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
01030
126124
2392424
Stop Event
node limit
Counts
2 → 177
Calls

2 calls:

58.0ms
(+.f64 x (sqrt.f64 (-.f64 (*.f64 x x) eps)))
58.0ms
(/.f64 (+.f64 (-.f64 (*.f64 x x) (*.f64 x x)) eps) (+.f64 x (sqrt.f64 (-.f64 (*.f64 x x) eps))))

simplify37.0ms (1.1%)

Algorithm
egg-herbie
Rules
759×cancel-sign-sub-inv_binary64
355×fma-neg_binary64
304×times-frac_binary64
279×distribute-neg-frac_binary64
214×associate-/l*_binary64
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
066786
1202759
2613751
32862717
Stop Event
node limit
Counts
209 → 206

prune157.0ms (4.6%)

Pruning

5 alts after pruning (3 fresh and 2 done)

PrunedKeptTotal
New2983301
Fresh303
Picked011
Done011
Total3015306
Error
0b
Counts
306 → 5
Alt Table
StatusErrorProgram
0.7b
(/.f64 (+.f64 (-.f64 (*.f64 x x) (*.f64 x x)) eps) (+.f64 x (sqrt.f64 (pow.f64 (cbrt.f64 (-.f64 (*.f64 x x) eps)) 3))))
0.4b
(pow.f64 (/.f64 (+.f64 x (sqrt.f64 (-.f64 (*.f64 x x) eps))) eps) -1)
0.4b
(/.f64 (+.f64 (-.f64 (*.f64 x x) (*.f64 x x)) eps) (fma.f64 (pow.f64 (-.f64 (*.f64 x x) eps) 1/4) (pow.f64 (-.f64 (*.f64 x x) eps) 1/4) x))
0.3b
(/.f64 (+.f64 (-.f64 (*.f64 x x) (*.f64 x x)) eps) (+.f64 x (sqrt.f64 (-.f64 (*.f64 x x) eps))))
25.1b
(-.f64 x (sqrt.f64 (-.f64 (*.f64 x x) eps)))
Compiler

Compiled 7703 to 1947 computations (74.7% saved)

localize11.0ms (0.3%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.0b
(-.f64 (*.f64 x x) eps)
0.0b
(pow.f64 (-.f64 (*.f64 x x) eps) 1/4)
0.3b
(/.f64 (+.f64 (-.f64 (*.f64 x x) (*.f64 x x)) eps) (fma.f64 (pow.f64 (-.f64 (*.f64 x x) eps) 1/4) (pow.f64 (-.f64 (*.f64 x x) eps) 1/4) x))
0.4b
(fma.f64 (pow.f64 (-.f64 (*.f64 x x) eps) 1/4) (pow.f64 (-.f64 (*.f64 x x) eps) 1/4) x)

series94.0ms (2.7%)

Counts
3 → 72
Calls

3 calls:

46.0ms
(/.f64 (+.f64 (-.f64 (*.f64 x x) (*.f64 x x)) eps) (fma.f64 (pow.f64 (-.f64 (*.f64 x x) eps) 1/4) (pow.f64 (-.f64 (*.f64 x x) eps) 1/4) x))
29.0ms
(fma.f64 (pow.f64 (-.f64 (*.f64 x x) eps) 1/4) (pow.f64 (-.f64 (*.f64 x x) eps) 1/4) x)
19.0ms
(pow.f64 (-.f64 (*.f64 x x) eps) 1/4)

rewrite49.0ms (1.4%)

Algorithm
batch-egg-rewrite
Rules
460×fma-def_binary64
220×fma-neg_binary64
193×expm1-udef_binary64
193×log1p-udef_binary64
130×log1p-expm1-u_binary64
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
01162
127837
2381537
Stop Event
node limit
Counts
3 → 74
Calls

3 calls:

48.0ms
(pow.f64 (-.f64 (*.f64 x x) eps) 1/4)
48.0ms
(/.f64 (+.f64 (-.f64 (*.f64 x x) (*.f64 x x)) eps) (fma.f64 (pow.f64 (-.f64 (*.f64 x x) eps) 1/4) (pow.f64 (-.f64 (*.f64 x x) eps) 1/4) x))
48.0ms
(fma.f64 (pow.f64 (-.f64 (*.f64 x x) eps) 1/4) (pow.f64 (-.f64 (*.f64 x x) eps) 1/4) x)

simplify62.0ms (1.8%)

Algorithm
egg-herbie
Rules
542×cancel-sign-sub-inv_binary64
225×times-frac_binary64
218×sub-neg_binary64
212×unswap-sqr_binary64
203×associate-/l*_binary64
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
02902936
19762810
237232716
Stop Event
node limit
Counts
146 → 176

prune220.0ms (6.4%)

Pruning

5 alts after pruning (2 fresh and 3 done)

PrunedKeptTotal
New3200320
Fresh022
Picked011
Done022
Total3205325
Error
0b
Counts
325 → 5
Alt Table
StatusErrorProgram
0.7b
(/.f64 (+.f64 (-.f64 (*.f64 x x) (*.f64 x x)) eps) (+.f64 x (sqrt.f64 (pow.f64 (cbrt.f64 (-.f64 (*.f64 x x) eps)) 3))))
0.4b
(pow.f64 (/.f64 (+.f64 x (sqrt.f64 (-.f64 (*.f64 x x) eps))) eps) -1)
0.4b
(/.f64 (+.f64 (-.f64 (*.f64 x x) (*.f64 x x)) eps) (fma.f64 (pow.f64 (-.f64 (*.f64 x x) eps) 1/4) (pow.f64 (-.f64 (*.f64 x x) eps) 1/4) x))
0.3b
(/.f64 (+.f64 (-.f64 (*.f64 x x) (*.f64 x x)) eps) (+.f64 x (sqrt.f64 (-.f64 (*.f64 x x) eps))))
25.1b
(-.f64 x (sqrt.f64 (-.f64 (*.f64 x x) eps)))
Compiler

Compiled 11051 to 4723 computations (57.3% saved)

localize7.0ms (0.2%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.0b
(-.f64 (*.f64 x x) eps)
0.0b
(+.f64 x (sqrt.f64 (-.f64 (*.f64 x x) eps)))
0.2b
(/.f64 (+.f64 x (sqrt.f64 (-.f64 (*.f64 x x) eps))) eps)
0.3b
(pow.f64 (/.f64 (+.f64 x (sqrt.f64 (-.f64 (*.f64 x x) eps))) eps) -1)

series63.0ms (1.8%)

Counts
2 → 32
Calls

2 calls:

43.0ms
(pow.f64 (/.f64 (+.f64 x (sqrt.f64 (-.f64 (*.f64 x x) eps))) eps) -1)
19.0ms
(/.f64 (+.f64 x (sqrt.f64 (-.f64 (*.f64 x x) eps))) eps)

rewrite50.0ms (1.5%)

Algorithm
batch-egg-rewrite
Rules
462×fma-def_binary64
263×fma-neg_binary64
194×expm1-udef_binary64
194×log1p-udef_binary64
177×log-pow_binary64
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
01033
122730
2325128
Stop Event
node limit
Counts
2 → 77
Calls

2 calls:

48.0ms
(/.f64 (+.f64 x (sqrt.f64 (-.f64 (*.f64 x x) eps))) eps)
48.0ms
(pow.f64 (/.f64 (+.f64 x (sqrt.f64 (-.f64 (*.f64 x x) eps))) eps) -1)

simplify38.0ms (1.1%)

Algorithm
egg-herbie
Rules
499×fma-neg_binary64
430×times-frac_binary64
283×associate-/l*_binary64
279×unswap-sqr_binary64
271×associate-/r*_binary64
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
087799
1268766
2845758
33851726
Stop Event
node limit
Counts
109 → 122

prune130.0ms (3.8%)

Pruning

5 alts after pruning (1 fresh and 4 done)

PrunedKeptTotal
New2230223
Fresh011
Picked011
Done033
Total2235228
Error
0b
Counts
228 → 5
Alt Table
StatusErrorProgram
0.7b
(/.f64 (+.f64 (-.f64 (*.f64 x x) (*.f64 x x)) eps) (+.f64 x (sqrt.f64 (pow.f64 (cbrt.f64 (-.f64 (*.f64 x x) eps)) 3))))
0.4b
(pow.f64 (/.f64 (+.f64 x (sqrt.f64 (-.f64 (*.f64 x x) eps))) eps) -1)
0.4b
(/.f64 (+.f64 (-.f64 (*.f64 x x) (*.f64 x x)) eps) (fma.f64 (pow.f64 (-.f64 (*.f64 x x) eps) 1/4) (pow.f64 (-.f64 (*.f64 x x) eps) 1/4) x))
0.3b
(/.f64 (+.f64 (-.f64 (*.f64 x x) (*.f64 x x)) eps) (+.f64 x (sqrt.f64 (-.f64 (*.f64 x x) eps))))
25.1b
(-.f64 x (sqrt.f64 (-.f64 (*.f64 x x) eps)))
Compiler

Compiled 4126 to 1675 computations (59.4% saved)

regimes517.0ms (15%)

Accuracy

Total 0.3b remaining (97.5%)

Threshold costs 0.3b (97.5%)

Counts
124 → 1
Compiler

Compiled 6503 to 3918 computations (39.8% saved)

simplify2.0ms (0.1%)

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

Useful iterations: 0 (0.0ms)

IterNodesCost
01019
11319
21819
32019
42119
Stop Event
saturated

end102.0ms (3%)

Compiler

Compiled 123 to 66 computations (46.3% saved)

Profiling

Loading profile data...