Details

Time bar (total: 5.1s)

analyze1.0ms (0%)

Algorithm
search
Search
TrueOtherFalseIter
0%100%0%0
100%0%0%1
Compiler

Compiled 14 to 13 computations (7.1% saved)

sample2.1s (41.4%)

Results
1.1s2188×body2048valid
450.0ms4257×body128valid
383.0ms1041×body1024valid
135.0ms513×body512valid
45.0ms257×body256valid
Compiler

Compiled 41 to 38 computations (7.3% saved)

simplify9.0ms (0.2%)

Algorithm
egg-herbie
Rules
sub-neg_binary64
fma-def_binary64
+-commutative_binary64
*-commutative_binary64
associate-+l-_binary64
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
01018
12215
22915
33715
44415
55415
66515
77715
88015
Stop Event
saturated
Counts
1 → 2

prune3.0ms (0.1%)

Pruning

1 alts after pruning (1 fresh and 0 done)

PrunedKeptTotal
New112
Fresh101
Picked000
Done000
Total213
Error
16.4b
Counts
3 → 1
Alt Table
StatusErrorProgram
16.4b
(-.f64 1 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x)))))
Compiler

Compiled 45 to 41 computations (8.9% saved)

localize6.0ms (0.1%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.0b
(hypot.f64 1 x)
0.0b
(sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x))))
0.0b
(/.f64 1/2 (hypot.f64 1 x))
1.6b
(-.f64 1 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x)))))

series13.0ms (0.3%)

Counts
4 → 48
Calls

4 calls:

5.0ms
(-.f64 1 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x)))))
4.0ms
(sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x))))
3.0ms
(/.f64 1/2 (hypot.f64 1 x))
2.0ms
(hypot.f64 1 x)

rewrite54.0ms (1.1%)

Algorithm
batch-egg-rewrite
Rules
406×log-prod_binary64
387×prod-diff_binary64
205×fma-def_binary64
170×expm1-udef_binary64
169×log1p-udef_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0938
120238
2257638
Stop Event
node limit
Counts
4 → 119
Calls

4 calls:

52.0ms
(hypot.f64 1 x)
52.0ms
(sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x))))
52.0ms
(/.f64 1/2 (hypot.f64 1 x))
52.0ms
(-.f64 1 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x)))))

simplify46.0ms (0.9%)

Algorithm
egg-herbie
Rules
891×fma-neg_binary64
449×fma-def_binary64
232×associate--l+_binary64
220×cancel-sign-sub-inv_binary64
196×associate-/r*_binary64
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
0128942
1428918
21343892
34763892
Stop Event
node limit
Counts
167 → 202

prune201.0ms (3.9%)

Pruning

5 alts after pruning (5 fresh and 0 done)

PrunedKeptTotal
New1975202
Fresh000
Picked101
Done000
Total1985203
Error
0.0b
Counts
203 → 5
Alt Table
StatusErrorProgram
16.7b
(fma.f64 (cbrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x)))) (neg.f64 (cbrt.f64 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x)))))) 1)
16.0b
(/.f64 (-.f64 1/2 (/.f64 1/2 (hypot.f64 1 x))) (+.f64 1 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x))))))
16.4b
(-.f64 1 (pow.f64 (pow.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x))) 3/2) 1/3))
16.7b
(/.f64 (+.f64 1 (pow.f64 (neg.f64 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x))))) 3)) (+.f64 1 (-.f64 (*.f64 (neg.f64 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x))))) (neg.f64 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x)))))) (neg.f64 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x))))))))
29.9b
(fma.f64 (pow.f64 x 4) -11/128 (*.f64 1/8 (*.f64 x x)))
Compiler

Compiled 3860 to 3425 computations (11.3% saved)

localize9.0ms (0.2%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.0b
(/.f64 1/2 (hypot.f64 1 x))
0.0b
(/.f64 (-.f64 1/2 (/.f64 1/2 (hypot.f64 1 x))) (+.f64 1 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x))))))
0.0b
(+.f64 1 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x)))))
1.1b
(-.f64 1/2 (/.f64 1/2 (hypot.f64 1 x)))

series24.0ms (0.5%)

Counts
3 → 36
Calls

3 calls:

17.0ms
(/.f64 (-.f64 1/2 (/.f64 1/2 (hypot.f64 1 x))) (+.f64 1 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x))))))
4.0ms
(+.f64 1 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x)))))
3.0ms
(-.f64 1/2 (/.f64 1/2 (hypot.f64 1 x)))

rewrite123.0ms (2.4%)

Algorithm
batch-egg-rewrite
Rules
614×prod-diff_binary64
219×log1p-udef_binary64
217×egg-rr
124×add-sqr-sqrt_binary64
120×log1p-expm1-u_binary64
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
01152
125540
2361640
Stop Event
node limit
Counts
3 → 217
Calls

3 calls:

114.0ms
(/.f64 (-.f64 1/2 (/.f64 1/2 (hypot.f64 1 x))) (+.f64 1 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x))))))
114.0ms
(+.f64 1 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x)))))
114.0ms
(-.f64 1/2 (/.f64 1/2 (hypot.f64 1 x)))

simplify49.0ms (0.9%)

Algorithm
egg-herbie
Rules
778×fma-def_binary64
455×distribute-rgt-in_binary64
222×cancel-sign-sub-inv_binary64
178×associate-/r*_binary64
163×sub-neg_binary64
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
02061608
17361428
227621385
Stop Event
node limit
Counts
253 → 281

prune603.0ms (11.7%)

Pruning

4 alts after pruning (3 fresh and 1 done)

PrunedKeptTotal
New3712373
Fresh314
Picked011
Done000
Total3744378
Error
0b
Counts
378 → 4
Alt Table
StatusErrorProgram
16.7b
(fma.f64 (cbrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x)))) (neg.f64 (cbrt.f64 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x)))))) 1)
16.0b
(/.f64 (-.f64 1/2 (/.f64 1/2 (hypot.f64 1 x))) (+.f64 1 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x))))))
29.9b
(fma.f64 (pow.f64 x 6) 69/1024 (fma.f64 x (*.f64 x 1/8) (fma.f64 (pow.f64 x 4) -11/128 (*.f64 (pow.f64 x 8) -1843/32768))))
16.2b
(/.f64 (-.f64 1/2 (/.f64 1/2 (hypot.f64 1 x))) (-.f64 (+.f64 1 (sqrt.f64 1/2)) (/.f64 (/.f64 1/4 x) (sqrt.f64 1/2))))
Compiler

Compiled 19917 to 17844 computations (10.4% saved)

localize10.0ms (0.2%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.0b
(-.f64 (+.f64 1 (sqrt.f64 1/2)) (/.f64 (/.f64 1/4 x) (sqrt.f64 1/2)))
0.0b
(/.f64 (-.f64 1/2 (/.f64 1/2 (hypot.f64 1 x))) (-.f64 (+.f64 1 (sqrt.f64 1/2)) (/.f64 (/.f64 1/4 x) (sqrt.f64 1/2))))
0.4b
(/.f64 (/.f64 1/4 x) (sqrt.f64 1/2))
1.1b
(-.f64 1/2 (/.f64 1/2 (hypot.f64 1 x)))

series31.0ms (0.6%)

Counts
3 → 36
Calls

3 calls:

16.0ms
(/.f64 (-.f64 1/2 (/.f64 1/2 (hypot.f64 1 x))) (-.f64 (+.f64 1 (sqrt.f64 1/2)) (/.f64 (/.f64 1/4 x) (sqrt.f64 1/2))))
9.0ms
(/.f64 (/.f64 1/4 x) (sqrt.f64 1/2))
6.0ms
(-.f64 (+.f64 1 (sqrt.f64 1/2)) (/.f64 (/.f64 1/4 x) (sqrt.f64 1/2)))

rewrite73.0ms (1.4%)

Algorithm
batch-egg-rewrite
Rules
294×log1p-udef_binary64
163×add-sqr-sqrt_binary64
161×log1p-expm1-u_binary64
161×expm1-log1p-u_binary64
160×add-cbrt-cube_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01455
133855
2498655
Stop Event
node limit
Counts
3 → 127
Calls

3 calls:

71.0ms
(-.f64 (+.f64 1 (sqrt.f64 1/2)) (/.f64 (/.f64 1/4 x) (sqrt.f64 1/2)))
71.0ms
(/.f64 (-.f64 1/2 (/.f64 1/2 (hypot.f64 1 x))) (-.f64 (+.f64 1 (sqrt.f64 1/2)) (/.f64 (/.f64 1/4 x) (sqrt.f64 1/2))))
71.0ms
(/.f64 (/.f64 1/4 x) (sqrt.f64 1/2))

simplify35.0ms (0.7%)

Algorithm
egg-herbie
Rules
587×associate-/r*_binary64
253×distribute-rgt-in_binary64
237×associate--l+_binary64
222×distribute-lft-in_binary64
168×fma-def_binary64
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
01471336
15011120
220091108
Stop Event
node limit
Counts
163 → 155

prune224.0ms (4.4%)

Pruning

4 alts after pruning (2 fresh and 2 done)

PrunedKeptTotal
New2170217
Fresh022
Picked011
Done011
Total2174221
Error
0b
Counts
221 → 4
Alt Table
StatusErrorProgram
16.7b
(fma.f64 (cbrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x)))) (neg.f64 (cbrt.f64 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x)))))) 1)
16.0b
(/.f64 (-.f64 1/2 (/.f64 1/2 (hypot.f64 1 x))) (+.f64 1 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x))))))
29.9b
(fma.f64 (pow.f64 x 6) 69/1024 (fma.f64 x (*.f64 x 1/8) (fma.f64 (pow.f64 x 4) -11/128 (*.f64 (pow.f64 x 8) -1843/32768))))
16.2b
(/.f64 (-.f64 1/2 (/.f64 1/2 (hypot.f64 1 x))) (-.f64 (+.f64 1 (sqrt.f64 1/2)) (/.f64 (/.f64 1/4 x) (sqrt.f64 1/2))))
Compiler

Compiled 6824 to 6107 computations (10.5% saved)

localize9.0ms (0.2%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.0b
(/.f64 1/2 (hypot.f64 1 x))
0.0b
(cbrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x))))
0.5b
(cbrt.f64 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x)))))
1.6b
(fma.f64 (cbrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x)))) (neg.f64 (cbrt.f64 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x)))))) 1)

series17.0ms (0.3%)

Counts
3 → 36
Calls

3 calls:

8.0ms
(fma.f64 (cbrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x)))) (neg.f64 (cbrt.f64 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x)))))) 1)
4.0ms
(cbrt.f64 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x)))))
4.0ms
(cbrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x))))

rewrite50.0ms (1%)

Algorithm
batch-egg-rewrite
Rules
449×log-prod_binary64
183×expm1-udef_binary64
183×log1p-udef_binary64
165×log-pow_binary64
164×fma-def_binary64
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
01257
124940
2300040
Stop Event
node limit
Counts
3 → 99
Calls

3 calls:

48.0ms
(cbrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x))))
48.0ms
(cbrt.f64 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x)))))
48.0ms
(fma.f64 (cbrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x)))) (neg.f64 (cbrt.f64 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x)))))) 1)

simplify30.0ms (0.6%)

Algorithm
egg-herbie
Rules
539×fma-def_binary64
433×cancel-sign-sub-inv_binary64
379×associate-*r*_binary64
292×associate-*l*_binary64
225×fma-neg_binary64
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
0113786
1352671
21222606
Stop Event
node limit
Counts
135 → 160

prune208.0ms (4%)

Pruning

4 alts after pruning (1 fresh and 3 done)

PrunedKeptTotal
New2520252
Fresh011
Picked011
Done022
Total2524256
Error
0b
Counts
256 → 4
Alt Table
StatusErrorProgram
16.7b
(fma.f64 (cbrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x)))) (neg.f64 (cbrt.f64 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x)))))) 1)
16.0b
(/.f64 (-.f64 1/2 (/.f64 1/2 (hypot.f64 1 x))) (+.f64 1 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x))))))
29.9b
(fma.f64 (pow.f64 x 6) 69/1024 (fma.f64 x (*.f64 x 1/8) (fma.f64 (pow.f64 x 4) -11/128 (*.f64 (pow.f64 x 8) -1843/32768))))
16.2b
(/.f64 (-.f64 1/2 (/.f64 1/2 (hypot.f64 1 x))) (-.f64 (+.f64 1 (sqrt.f64 1/2)) (/.f64 (/.f64 1/4 x) (sqrt.f64 1/2))))
Compiler

Compiled 6369 to 5674 computations (10.9% saved)

regimes1.0s (19.8%)

Accuracy

Total 0.2b remaining (89.7%)

Threshold costs 0.2b (89.7%)

Counts
124 → 3
Compiler

Compiled 14103 to 12791 computations (9.3% saved)

bsearch45.0ms (0.9%)

Steps
ItersRangePoint
10
2.3755431360764592e-15
16009.231964979726
0.025962973167688124
10
-12192580.02758435
-1.8071544790601476e-7
-1.1033926414358677
Compiler

Compiled 2 to 1 computations (50% saved)

simplify4.0ms (0.1%)

Algorithm
egg-herbie
Rules
+-commutative_binary64
*-commutative_binary64
sub-neg_binary64
distribute-neg-frac_binary64
neg-sub0_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
04293
15493
26693
37593
47993
58093
Stop Event
saturated

end118.0ms (2.3%)

Compiler

Compiled 209 to 176 computations (15.8% saved)

Profiling

Loading profile data...