Details

Time bar (total: 3.2s)

analyze32.0ms (1%)

Algorithm
search
Search
TrueOtherFalseIter
0%18.7%81.3%0
0%18.7%81.3%1
0%18.7%81.3%2
0%18.7%81.3%3
0%18.7%81.3%4
4.7%14%81.3%5
5.3%13.5%81.3%6
18.1%0.6%81.3%7
18.1%0.6%81.3%8
18.6%0.1%81.3%9
18.6%0.1%81.3%10
18.7%0%81.3%11
18.7%0%81.3%12
18.7%0%81.3%13
18.7%0%81.3%14
Compiler

Compiled 28 to 17 computations (39.3% saved)

sample1.1s (35.6%)

Results
1.1s8256×body128valid
Compiler

Compiled 56 to 34 computations (39.3% saved)

preprocess43.0ms (1.3%)

Algorithm
egg-herbie
Rules
772×fma-def_binary64
588×div-sub_binary64
352×unsub-neg_binary64
194×cancel-sign-sub-inv_binary64
190×sub-neg_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01540
14340
210340
325040
456940
5156340
6347240
7465640
022
Stop Event
saturated
node limit
Compiler

Compiled 17 to 9 computations (47.1% saved)

simplify30.0ms (0.9%)

Algorithm
egg-herbie
Rules
770×fma-def_binary64
469×fma-neg_binary64
365×sub-neg_binary64
282×unsub-neg_binary64
267×distribute-rgt-in_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01020
12420
25820
313820
432820
584820
6201720
7471320
Stop Event
node limit
Counts
1 → 2

prune3.0ms (0.1%)

Pruning

3 alts after pruning (3 fresh and 0 done)

PrunedKeptTotal
New022
Fresh011
Picked000
Done000
Total033
Error
19.4b
Counts
3 → 2
Alt Table
StatusErrorProgram
19.8b
(/.f64 (*.f64 (-.f64 x y) (+.f64 x y)) (+.f64 (*.f64 x x) (*.f64 y y)))
20.5b
(*.f64 (+.f64 x y) (/.f64 (-.f64 x y) (fma.f64 x x (*.f64 y y))))
Compiler

Compiled 97 to 46 computations (52.6% saved)

localize9.0ms (0.3%)

Local error

Found 1 expressions with local error:

NewErrorProgram
19.6b
(/.f64 (*.f64 (-.f64 x y) (+.f64 x y)) (+.f64 (*.f64 x x) (*.f64 y y)))

series14.0ms (0.4%)

Counts
1 → 24
Calls

6 calls:

3.0ms
(/.f64 (*.f64 (-.f64 x y) (+.f64 x y)) (+.f64 (*.f64 x x) (*.f64 y y)))
y
-inf
2.0ms
(/.f64 (*.f64 (-.f64 x y) (+.f64 x y)) (+.f64 (*.f64 x x) (*.f64 y y)))
x
0
2.0ms
(/.f64 (*.f64 (-.f64 x y) (+.f64 x y)) (+.f64 (*.f64 x x) (*.f64 y y)))
y
0
2.0ms
(/.f64 (*.f64 (-.f64 x y) (+.f64 x y)) (+.f64 (*.f64 x x) (*.f64 y y)))
x
-inf
2.0ms
(/.f64 (*.f64 (-.f64 x y) (+.f64 x y)) (+.f64 (*.f64 x x) (*.f64 y y)))
x
inf

rewrite52.0ms (1.6%)

Algorithm
batch-egg-rewrite
Rules
648×fma-def_binary64
273×fma-neg_binary64
211×expm1-udef_binary64
211×log1p-udef_binary64
127×add-sqr-sqrt_binary64
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
01020
123719
2389319
Stop Event
node limit
Counts
1 → 46

simplify30.0ms (0.9%)

Algorithm
egg-herbie
Rules
527×associate-*l/_binary64
424×associate-*r/_binary64
378×fma-def_binary64
331×cancel-sign-sub-inv_binary64
306×associate-/r/_binary64
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
036534
1109510
2327474
31307441
Stop Event
node limit
Counts
70 → 60

prune49.0ms (1.5%)

Pruning

4 alts after pruning (4 fresh and 0 done)

PrunedKeptTotal
New56460
Fresh101
Picked101
Done000
Total58462
Error
0b
Counts
62 → 4
Alt Table
StatusErrorProgram
0.0b
(*.f64 (/.f64 (-.f64 x y) (hypot.f64 x y)) (/.f64 (+.f64 x y) (hypot.f64 x y)))
41.9b
(fma.f64 (*.f64 (/.f64 y x) (/.f64 y x)) -2 1)
21.4b
(fma.f64 2 (*.f64 (/.f64 x y) (-.f64 (/.f64 x y) (pow.f64 (/.f64 x y) 3))) -1)
20.3b
(cbrt.f64 (pow.f64 (/.f64 (-.f64 x y) (/.f64 (pow.f64 (hypot.f64 x y) 2) (+.f64 x y))) 3))
Compiler

Compiled 1257 to 567 computations (54.9% saved)

localize8.0ms (0.2%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.0b
(hypot.f64 x y)
0.0b
(/.f64 (+.f64 x y) (hypot.f64 x y))
0.0b
(/.f64 (-.f64 x y) (hypot.f64 x y))
0.0b
(*.f64 (/.f64 (-.f64 x y) (hypot.f64 x y)) (/.f64 (+.f64 x y) (hypot.f64 x y)))

series48.0ms (1.5%)

Counts
4 → 96
Calls

24 calls:

4.0ms
(*.f64 (/.f64 (-.f64 x y) (hypot.f64 x y)) (/.f64 (+.f64 x y) (hypot.f64 x y)))
y
-inf
4.0ms
(hypot.f64 x y)
x
0
4.0ms
(*.f64 (/.f64 (-.f64 x y) (hypot.f64 x y)) (/.f64 (+.f64 x y) (hypot.f64 x y)))
x
0
3.0ms
(*.f64 (/.f64 (-.f64 x y) (hypot.f64 x y)) (/.f64 (+.f64 x y) (hypot.f64 x y)))
x
-inf
3.0ms
(*.f64 (/.f64 (-.f64 x y) (hypot.f64 x y)) (/.f64 (+.f64 x y) (hypot.f64 x y)))
y
0

rewrite151.0ms (4.8%)

Algorithm
batch-egg-rewrite
Rules
805×prod-diff_binary64
179×egg-rr
114×add-sqr-sqrt_binary64
113×pow1_binary64
112×*-un-lft-identity_binary64
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
0946
121443
2352343
Stop Event
node limit
Counts
4 → 279

simplify55.0ms (1.7%)

Algorithm
egg-herbie
Rules
553×times-frac_binary64
374×fma-def_binary64
296×associate-/l*_binary64
286×cancel-sign-sub-inv_binary64
268×associate-/r*_binary64
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
01111812
13881722
213441606
Stop Event
node limit
Counts
375 → 369

prune291.0ms (9.1%)

Pruning

4 alts after pruning (3 fresh and 1 done)

PrunedKeptTotal
New4171418
Fresh123
Picked011
Done000
Total4184422
Error
0b
Counts
422 → 4
Alt Table
StatusErrorProgram
21.4b
(fma.f64 2 (*.f64 (/.f64 x y) (-.f64 (/.f64 x y) (pow.f64 (/.f64 x y) 3))) -1)
0.0b
(/.f64 (/.f64 (-.f64 x y) (hypot.f64 x y)) (/.f64 (hypot.f64 x y) (+.f64 x y)))
20.3b
(cbrt.f64 (pow.f64 (/.f64 (-.f64 x y) (/.f64 (pow.f64 (hypot.f64 x y) 2) (+.f64 x y))) 3))
0.0b
(*.f64 (/.f64 (-.f64 x y) (hypot.f64 x y)) (/.f64 (+.f64 x y) (hypot.f64 x y)))
Compiler

Compiled 15096 to 4124 computations (72.7% saved)

localize7.0ms (0.2%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.0b
(hypot.f64 x y)
0.0b
(/.f64 (/.f64 (-.f64 x y) (hypot.f64 x y)) (/.f64 (hypot.f64 x y) (+.f64 x y)))
0.0b
(/.f64 (-.f64 x y) (hypot.f64 x y))
0.0b
(/.f64 (hypot.f64 x y) (+.f64 x y))

series29.0ms (0.9%)

Counts
2 → 48
Calls

12 calls:

5.0ms
(/.f64 (/.f64 (-.f64 x y) (hypot.f64 x y)) (/.f64 (hypot.f64 x y) (+.f64 x y)))
y
inf
3.0ms
(/.f64 (/.f64 (-.f64 x y) (hypot.f64 x y)) (/.f64 (hypot.f64 x y) (+.f64 x y)))
x
0
3.0ms
(/.f64 (/.f64 (-.f64 x y) (hypot.f64 x y)) (/.f64 (hypot.f64 x y) (+.f64 x y)))
x
-inf
3.0ms
(/.f64 (/.f64 (-.f64 x y) (hypot.f64 x y)) (/.f64 (hypot.f64 x y) (+.f64 x y)))
y
0
3.0ms
(/.f64 (/.f64 (-.f64 x y) (hypot.f64 x y)) (/.f64 (hypot.f64 x y) (+.f64 x y)))
y
-inf

rewrite61.0ms (1.9%)

Algorithm
batch-egg-rewrite
Rules
832×prod-diff_binary64
118×add-sqr-sqrt_binary64
117×pow1_binary64
116×*-un-lft-identity_binary64
110×add-exp-log_binary64
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
0932
121929
2369529
Stop Event
node limit
Counts
2 → 91

simplify45.0ms (1.4%)

Algorithm
egg-herbie
Rules
939×fma-neg_binary64
387×times-frac_binary64
246×unswap-sqr_binary64
204×sub-neg_binary64
186×associate-/l*_binary64
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
064924
1200876
2692822
33475752
Stop Event
node limit
Counts
139 → 127

prune316.0ms (9.9%)

Pruning

4 alts after pruning (2 fresh and 2 done)

PrunedKeptTotal
New4260426
Fresh022
Picked011
Done011
Total4264430
Error
0b
Counts
430 → 4
Alt Table
StatusErrorProgram
21.4b
(fma.f64 2 (*.f64 (/.f64 x y) (-.f64 (/.f64 x y) (pow.f64 (/.f64 x y) 3))) -1)
0.0b
(/.f64 (/.f64 (-.f64 x y) (hypot.f64 x y)) (/.f64 (hypot.f64 x y) (+.f64 x y)))
20.3b
(cbrt.f64 (pow.f64 (/.f64 (-.f64 x y) (/.f64 (pow.f64 (hypot.f64 x y) 2) (+.f64 x y))) 3))
0.0b
(*.f64 (/.f64 (-.f64 x y) (hypot.f64 x y)) (/.f64 (+.f64 x y) (hypot.f64 x y)))
Compiler

Compiled 15501 to 4274 computations (72.4% saved)

localize10.0ms (0.3%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.0b
(pow.f64 (/.f64 (-.f64 x y) (/.f64 (pow.f64 (hypot.f64 x y) 2) (+.f64 x y))) 3)
0.0b
(cbrt.f64 (pow.f64 (/.f64 (-.f64 x y) (/.f64 (pow.f64 (hypot.f64 x y) 2) (+.f64 x y))) 3))
0.0b
(/.f64 (-.f64 x y) (/.f64 (pow.f64 (hypot.f64 x y) 2) (+.f64 x y)))
19.4b
(/.f64 (pow.f64 (hypot.f64 x y) 2) (+.f64 x y))

series93.0ms (2.9%)

Counts
4 → 96
Calls

24 calls:

18.0ms
(cbrt.f64 (pow.f64 (/.f64 (-.f64 x y) (/.f64 (pow.f64 (hypot.f64 x y) 2) (+.f64 x y))) 3))
x
-inf
8.0ms
(pow.f64 (/.f64 (-.f64 x y) (/.f64 (pow.f64 (hypot.f64 x y) 2) (+.f64 x y))) 3)
x
0
6.0ms
(pow.f64 (/.f64 (-.f64 x y) (/.f64 (pow.f64 (hypot.f64 x y) 2) (+.f64 x y))) 3)
y
inf
5.0ms
(pow.f64 (/.f64 (-.f64 x y) (/.f64 (pow.f64 (hypot.f64 x y) 2) (+.f64 x y))) 3)
x
-inf
5.0ms
(pow.f64 (/.f64 (-.f64 x y) (/.f64 (pow.f64 (hypot.f64 x y) 2) (+.f64 x y))) 3)
y
0

rewrite97.0ms (3%)

Algorithm
batch-egg-rewrite
Rules
237×expm1-udef_binary64
237×log1p-udef_binary64
181×fma-neg_binary64
143×add-sqr-sqrt_binary64
139×pow1_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01373
130573
2412273
Stop Event
node limit
Counts
4 → 240

simplify89.0ms (2.8%)

Algorithm
egg-herbie
Rules
604×times-frac_binary64
276×associate-/l*_binary64
273×sub-neg_binary64
261×associate-/r*_binary64
205×fma-def_binary64
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
0911938
12971858
29411770
345981770
Stop Event
node limit
Counts
336 → 216

prune165.0ms (5.2%)

Pruning

4 alts after pruning (1 fresh and 3 done)

PrunedKeptTotal
New2160216
Fresh011
Picked011
Done022
Total2164220
Error
0b
Counts
220 → 4
Alt Table
StatusErrorProgram
21.4b
(fma.f64 2 (*.f64 (/.f64 x y) (-.f64 (/.f64 x y) (pow.f64 (/.f64 x y) 3))) -1)
0.0b
(/.f64 (/.f64 (-.f64 x y) (hypot.f64 x y)) (/.f64 (hypot.f64 x y) (+.f64 x y)))
20.3b
(cbrt.f64 (pow.f64 (/.f64 (-.f64 x y) (/.f64 (pow.f64 (hypot.f64 x y) 2) (+.f64 x y))) 3))
0.0b
(*.f64 (/.f64 (-.f64 x y) (hypot.f64 x y)) (/.f64 (+.f64 x y) (hypot.f64 x y)))
Compiler

Compiled 5294 to 2577 computations (51.3% saved)

regimes251.0ms (7.9%)

Accuracy

Total 0.0b remaining (56%)

Threshold costs 0.0b (56%)

Counts
93 → 1
Compiler

Compiled 4257 to 2680 computations (37% 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
0922
11222
21722
31922
42022
Stop Event
saturated

end68.0ms (2.1%)

Stop Event
fuel
Compiler

Compiled 104 to 54 computations (48.1% saved)

Profiling

Loading profile data...