Details

Time bar (total: 3.3s)

analyze173.0ms (5.3%)

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
25%74.9%0.1%5
25%68.7%6.3%6
25%53.1%22%7
25%46.8%28.2%8
25%33.6%41.5%9
28.1%18%54%10
31.6%12.1%56.3%11
33.4%5.9%60.8%12
35.2%3.8%61%13
36.1%2.9%61%14
Compiler

Compiled 32 to 20 computations (37.5% saved)

sample1.3s (39.1%)

Results
1.1s8256×body128valid
1.0msbody128invalid
Compiler

Compiled 95 to 59 computations (37.9% saved)

simplify70.0ms (2.2%)

Algorithm
egg-herbie
Rules
620×fma-def_binary64
556×cancel-sign-sub-inv_binary64
552×unswap-sqr_binary64
357×unsub-neg_binary64
344×+-commutative_binary64
Counts
1 → 2
Iterations

Useful iterations: 4 (0.0ms)

IterNodesCost
01939
15737
216837
349237
4160433
5289133
6430933
7521433

prune5.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.0b
(+.f64 (pow.f64 (hypot.f64 a b) 4) (fma.f64 4 (fma.f64 (*.f64 a a) (-.f64 1 a) (*.f64 (*.f64 b b) (+.f64 a 3))) -1))
0.2b
(-.f64 (+.f64 (pow.f64 (+.f64 (*.f64 a a) (*.f64 b b)) 2) (*.f64 4 (+.f64 (*.f64 (*.f64 a a) (-.f64 1 a)) (*.f64 (*.f64 b b) (+.f64 3 a))))) 1)
Compiler

Compiled 166 to 104 computations (37.3% saved)

localize15.0ms (0.5%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.0b
(pow.f64 (hypot.f64 a b) 4)
0.0b
(hypot.f64 a b)
0.1b
(fma.f64 (*.f64 a a) (-.f64 1 a) (*.f64 (*.f64 b b) (+.f64 a 3)))
0.9b
(*.f64 (*.f64 b b) (+.f64 a 3))

series64.0ms (2%)

Counts
4 → 96
Calls

4 calls:

33.0ms
(pow.f64 (hypot.f64 a b) 4)
12.0ms
(fma.f64 (*.f64 a a) (-.f64 1 a) (*.f64 (*.f64 b b) (+.f64 a 3)))
11.0ms
(hypot.f64 a b)
8.0ms
(*.f64 (*.f64 b b) (+.f64 a 3))

rewrite375.0ms (11.5%)

Algorithm
egg-rewrite
Rules
51×egg
42×egg
39×egg
35×egg
Counts
4 → 167
Calls

4 calls:

125.0ms
(fma.f64 (*.f64 a a) (-.f64 1 a) (*.f64 (*.f64 b b) (+.f64 a 3)))
115.0ms
(hypot.f64 a b)
82.0ms
(pow.f64 (hypot.f64 a b) 4)
50.0ms
(*.f64 (*.f64 b b) (+.f64 a 3))
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0710
115710
2189910
3495110
01120
123920
2284320
3490820
4488320
5504520
044
1794
28694
347304
456654
067
11257
212537
348647
449947

simplify96.0ms (2.9%)

Algorithm
egg-herbie
Rules
859×fma-neg_binary64
590×cancel-sign-sub-inv_binary64
287×neg-mul-1_binary64
276×neg-sub0_binary64
267×fma-def_binary64
Counts
263 → 222
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
0681506
12101468
26391424
325631424
442501424
550901424

prune215.0ms (6.6%)

Pruning

2 alts after pruning (1 fresh and 1 done)

PrunedKeptTotal
New2211222
Fresh101
Picked011
Done000
Total2222224
Error
0.0b
Counts
224 → 2
Alt Table
StatusErrorProgram
0.0b
(+.f64 (pow.f64 (hypot.f64 a b) 4) (fma.f64 4 (fma.f64 (*.f64 a a) (-.f64 1 a) (*.f64 (*.f64 b b) (+.f64 a 3))) -1))
0.2b
(+.f64 (pow.f64 (pow.f64 (hypot.f64 a b) 2) 2) (fma.f64 4 (fma.f64 (*.f64 a a) (-.f64 1 a) (*.f64 (*.f64 b b) (+.f64 a 3))) -1))
Compiler

Compiled 6558 to 3752 computations (42.8% saved)

localize16.0ms (0.5%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.0b
(hypot.f64 a b)
0.1b
(fma.f64 (*.f64 a a) (-.f64 1 a) (*.f64 (*.f64 b b) (+.f64 a 3)))
0.3b
(pow.f64 (pow.f64 (hypot.f64 a b) 2) 2)
0.9b
(*.f64 (*.f64 b b) (+.f64 a 3))

series35.0ms (1.1%)

Counts
1 → 24
Calls

1 calls:

35.0ms
(pow.f64 (pow.f64 (hypot.f64 a b) 2) 2)

rewrite43.0ms (1.3%)

Algorithm
egg-rewrite
Rules
45×egg
Counts
1 → 45
Calls

1 calls:

42.0ms
(pow.f64 (pow.f64 (hypot.f64 a b) 2) 2)
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
077
11447
213737
350917

simplify158.0ms (4.9%)

Algorithm
egg-herbie
Rules
772×sqr-pow_binary64
708×fma-def_binary64
451×cube-prod_binary64
424×*-commutative_binary64
408×fabs-mul_binary64
Counts
69 → 52
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
014408
134402
290378
3252378
4802378
51427378
61684378
71833378
82030378
92244378
102518378
112836378
123187378
133687378
144339378
154560378
164765378
174828378

prune212.0ms (6.5%)

Pruning

2 alts after pruning (0 fresh and 2 done)

PrunedKeptTotal
New2310231
Fresh000
Picked011
Done011
Total2312233
Error
0.0b
Counts
233 → 2
Alt Table
StatusErrorProgram
0.0b
(+.f64 (pow.f64 (hypot.f64 a b) 4) (fma.f64 4 (fma.f64 (*.f64 a a) (-.f64 1 a) (*.f64 (*.f64 b b) (+.f64 a 3))) -1))
0.2b
(+.f64 (pow.f64 (pow.f64 (hypot.f64 a b) 2) 2) (fma.f64 4 (fma.f64 (*.f64 a a) (-.f64 1 a) (*.f64 (*.f64 b b) (+.f64 a 3))) -1))
Compiler

Compiled 7235 to 4286 computations (40.8% saved)

regimes421.0ms (13%)

Accuracy

Total 0.0b remaining (24.7%)

Threshold costs 0.0b (24.7%)

Counts
31 → 1
Compiler

Compiled 3781 to 2701 computations (28.6% saved)

simplify3.0ms (0.1%)

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

Useful iterations: 0 (0.0ms)

IterNodesCost
01733
12433
22733
32933
43033
52933

end80.0ms (2.5%)

Compiler

Compiled 102 to 70 computations (31.4% saved)

Profiling

Loading profile data...