Details

Time bar (total: 5.3s)

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 (39.8%)

Results
1.0s2188×body2048valid
450.0ms4257×body128valid
399.0ms1041×body1024valid
143.0ms513×body512valid
46.0ms257×body256valid
Compiler

Compiled 41 to 38 computations (7.3% saved)

simplify7.0ms (0.1%)

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)))))

series14.0ms (0.3%)

Counts
4 → 48
Calls

4 calls:

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

rewrite54.0ms (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:

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

simplify47.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

prune169.0ms (3.2%)

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.4b
(-.f64 1 (pow.f64 (pow.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x))) 3/2) 1/3))
29.9b
(fma.f64 (pow.f64 x 4) -11/128 (*.f64 1/8 (*.f64 x x)))
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))))))))
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.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)
Compiler

Compiled 3860 to 3425 computations (11.3% saved)

localize14.0ms (0.3%)

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)))

series28.0ms (0.5%)

Counts
3 → 36
Calls

3 calls:

21.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)))

rewrite125.0ms (2.3%)

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)))

simplify48.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

prune623.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
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))))
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.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)
Compiler

Compiled 19917 to 17844 computations (10.4% saved)

localize11.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)))

series30.0ms (0.6%)

Counts
3 → 36
Calls

3 calls:

15.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))))
7.0ms
(/.f64 (/.f64 1/4 x) (sqrt.f64 1/2))
7.0ms
(-.f64 (+.f64 1 (sqrt.f64 1/2)) (/.f64 (/.f64 1/4 x) (sqrt.f64 1/2)))

rewrite75.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:

73.0ms
(-.f64 (+.f64 1 (sqrt.f64 1/2)) (/.f64 (/.f64 1/4 x) (sqrt.f64 1/2)))
73.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))))
73.0ms
(/.f64 (/.f64 1/4 x) (sqrt.f64 1/2))

simplify36.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

prune276.0ms (5.2%)

Pruning

4 alts after pruning (2 fresh and 2 done)

PrunedKeptTotal
New2170217
Fresh022
Picked011
Done011
Total2174221
Error
0b
Counts
221 → 4
Alt Table
StatusErrorProgram
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))))
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.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)
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)

series50.0ms (0.9%)

Counts
3 → 36
Calls

3 calls:

38.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)
8.0ms
(cbrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x))))
4.0ms
(cbrt.f64 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x)))))

rewrite52.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:

50.0ms
(cbrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x))))
50.0ms
(cbrt.f64 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x)))))
50.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)

simplify59.0ms (1.1%)

Algorithm
egg-herbie
Rules
624×times-frac_binary64
610×cancel-sign-sub-inv_binary64
236×fma-def_binary64
234×fma-neg_binary64
208×sub-neg_binary64
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
01831611
16481405
224291401
Stop Event
node limit
Counts
135 → 159

prune249.0ms (4.7%)

Pruning

4 alts after pruning (1 fresh and 3 done)

PrunedKeptTotal
New2510251
Fresh011
Picked011
Done022
Total2514255
Error
0b
Counts
255 → 4
Alt Table
StatusErrorProgram
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))))
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.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)
Compiler

Compiled 7442 to 6680 computations (10.2% saved)

regimes1.0s (19.7%)

Accuracy

Total 0.2b remaining (89.7%)

Threshold costs 0.2b (89.7%)

Counts
122 → 3
Compiler

Compiled 13893 to 12595 computations (9.3% saved)

bsearch50.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

end117.0ms (2.2%)

Compiler

Compiled 209 to 176 computations (15.8% saved)

Profiling

Loading profile data...