Details

Time bar (total: 4.6s)

analyze105.0ms (2.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
12.5%87.4%0.1%5
46.8%53.1%0.1%6
70.2%29.7%0.1%7
76.5%23.4%0.1%8
83.5%16.4%0.1%9
87%12.9%0.1%10
91.1%8.8%0.1%11
93.2%6.7%0.1%12
95.4%4.5%0.1%13
96.5%3.4%0.1%14
Compiler

Compiled 20 to 10 computations (50% saved)

sample822.0ms (17.9%)

Results
810.0ms8256×body128valid
Compiler

Compiled 40 to 20 computations (50% saved)

preprocess40.0ms (0.9%)

Algorithm
egg-herbie
Rules
378×distribute-rgt-in_binary64
350×fma-def_binary64
346×distribute-lft-in_binary64
301×associate-/l/_binary64
297×times-frac_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01650
18450
224846
374946
4297546
5459246
022
122
Stop Event
unsound
node limit
Symmetry

(sort x y)

Compiler

Compiled 19 to 9 computations (52.6% saved)

simplify38.0ms (0.8%)

Algorithm
egg-herbie
Rules
356×fma-def_binary64
321×distribute-rgt-out_binary64
315×distribute-rgt-in_binary64
293×associate-/l/_binary64
285×distribute-lft-in_binary64
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
01025
13925
217323
362323
4258823
5399323
6488523
7496423
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
8.6b
Counts
3 → 2
Alt Table
StatusErrorProgram
16.6b
(/.f64 (*.f64 x y) (*.f64 (*.f64 (+.f64 x y) (+.f64 x y)) (+.f64 (+.f64 x y) 1)))
9.3b
(/.f64 x (/.f64 (fma.f64 (+.f64 x y) (+.f64 x y) (pow.f64 (+.f64 x y) 3)) y))
Compiler

Compiled 109 to 48 computations (56% saved)

localize7.0ms (0.2%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.0b
(pow.f64 (+.f64 x y) 3)
0.0b
(fma.f64 (+.f64 x y) (+.f64 x y) (pow.f64 (+.f64 x y) 3))
4.5b
(/.f64 x (/.f64 (fma.f64 (+.f64 x y) (+.f64 x y) (pow.f64 (+.f64 x y) 3)) y))
6.3b
(/.f64 (fma.f64 (+.f64 x y) (+.f64 x y) (pow.f64 (+.f64 x y) 3)) y)

series75.0ms (1.6%)

Counts
4 → 96
Calls

24 calls:

14.0ms
(/.f64 x (/.f64 (fma.f64 (+.f64 x y) (+.f64 x y) (pow.f64 (+.f64 x y) 3)) y))
y
0
12.0ms
(/.f64 x (/.f64 (fma.f64 (+.f64 x y) (+.f64 x y) (pow.f64 (+.f64 x y) 3)) y))
x
0
6.0ms
(/.f64 x (/.f64 (fma.f64 (+.f64 x y) (+.f64 x y) (pow.f64 (+.f64 x y) 3)) y))
x
-inf
5.0ms
(/.f64 x (/.f64 (fma.f64 (+.f64 x y) (+.f64 x y) (pow.f64 (+.f64 x y) 3)) y))
y
-inf
4.0ms
(/.f64 x (/.f64 (fma.f64 (+.f64 x y) (+.f64 x y) (pow.f64 (+.f64 x y) 3)) y))
y
inf

rewrite70.0ms (1.5%)

Algorithm
batch-egg-rewrite
Rules
604×prod-diff_binary64
209×fma-def_binary64
184×expm1-udef_binary64
184×log1p-udef_binary64
136×egg-rr
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
0967
120764
2298464
Stop Event
node limit
Counts
4 → 136

simplify78.0ms (1.7%)

Algorithm
egg-herbie
Rules
386×associate-+r+_binary64
358×fma-def_binary64
269×associate-+l+_binary64
257×+-commutative_binary64
245×times-frac_binary64
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
02874127
19333822
243013795
Stop Event
node limit
Counts
232 → 228

prune221.0ms (4.8%)

Pruning

8 alts after pruning (7 fresh and 1 done)

PrunedKeptTotal
New2217228
Fresh101
Picked011
Done000
Total2228230
Error
2.2b
Counts
230 → 8
Alt Table
StatusErrorProgram
33.6b
(/.f64 x (fma.f64 3 (*.f64 y x) (fma.f64 y y y)))
34.4b
(*.f64 (/.f64 1 (/.f64 (hypot.f64 (+.f64 x y) (pow.f64 (+.f64 x y) 3/2)) (sqrt.f64 y))) (/.f64 x (/.f64 (hypot.f64 (+.f64 x y) (pow.f64 (+.f64 x y) 3/2)) (sqrt.f64 y))))
28.2b
(*.f64 (/.f64 1 (+.f64 (pow.f64 (+.f64 x y) 3) (pow.f64 (+.f64 x y) 2))) (/.f64 x (/.f64 1 y)))
19.8b
(/.f64 x (+.f64 (fma.f64 3 (*.f64 y x) (fma.f64 y y y)) (+.f64 (*.f64 2 x) (fma.f64 3 (*.f64 x x) (/.f64 x (/.f64 y x))))))
37.7b
(/.f64 y (pow.f64 x 2))
22.9b
(*.f64 x (/.f64 y (+.f64 (pow.f64 (+.f64 x y) 3) (pow.f64 (+.f64 x y) 2))))
9.3b
(/.f64 x (/.f64 (fma.f64 (+.f64 x y) (+.f64 x y) (pow.f64 (+.f64 x y) 3)) y))
28.5b
(pow.f64 (/.f64 (+.f64 (pow.f64 (+.f64 x y) 3) (pow.f64 (+.f64 x y) 2)) (*.f64 x y)) -1)
Compiler

Compiled 7130 to 3921 computations (45% saved)

localize14.0ms (0.3%)

Local error

Found 4 expressions with local error:

NewErrorProgram
1.4b
(+.f64 (fma.f64 3 (*.f64 y x) (fma.f64 y y y)) (+.f64 (*.f64 2 x) (fma.f64 3 (*.f64 x x) (/.f64 x (/.f64 y x)))))
2.0b
(fma.f64 3 (*.f64 y x) (fma.f64 y y y))
6.6b
(fma.f64 3 (*.f64 x x) (/.f64 x (/.f64 y x)))
11.5b
(/.f64 x (+.f64 (fma.f64 3 (*.f64 y x) (fma.f64 y y y)) (+.f64 (*.f64 2 x) (fma.f64 3 (*.f64 x x) (/.f64 x (/.f64 y x))))))

series70.0ms (1.5%)

Counts
4 → 96
Calls

24 calls:

11.0ms
(/.f64 x (+.f64 (fma.f64 3 (*.f64 y x) (fma.f64 y y y)) (+.f64 (*.f64 2 x) (fma.f64 3 (*.f64 x x) (/.f64 x (/.f64 y x))))))
x
-inf
10.0ms
(/.f64 x (+.f64 (fma.f64 3 (*.f64 y x) (fma.f64 y y y)) (+.f64 (*.f64 2 x) (fma.f64 3 (*.f64 x x) (/.f64 x (/.f64 y x))))))
x
0
10.0ms
(/.f64 x (+.f64 (fma.f64 3 (*.f64 y x) (fma.f64 y y y)) (+.f64 (*.f64 2 x) (fma.f64 3 (*.f64 x x) (/.f64 x (/.f64 y x))))))
x
inf
4.0ms
(/.f64 x (+.f64 (fma.f64 3 (*.f64 y x) (fma.f64 y y y)) (+.f64 (*.f64 2 x) (fma.f64 3 (*.f64 x x) (/.f64 x (/.f64 y x))))))
y
inf
4.0ms
(/.f64 x (+.f64 (fma.f64 3 (*.f64 y x) (fma.f64 y y y)) (+.f64 (*.f64 2 x) (fma.f64 3 (*.f64 x x) (/.f64 x (/.f64 y x))))))
y
0

rewrite46.0ms (1%)

Algorithm
batch-egg-rewrite
Rules
180×add-sqr-sqrt_binary64
173×log1p-expm1-u_binary64
173×expm1-log1p-u_binary64
171×add-cbrt-cube_binary64
168×add-log-exp_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01693
136193
Stop Event
node limit
Counts
4 → 112

simplify71.0ms (1.5%)

Algorithm
egg-herbie
Rules
265×distribute-rgt-in_binary64
243×associate-+r+_binary64
232×cancel-sign-sub-inv_binary64
217×associate-/r*_binary64
216×fma-def_binary64
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
02363792
17693367
233663256
Stop Event
node limit
Counts
208 → 173

prune176.0ms (3.8%)

Pruning

8 alts after pruning (6 fresh and 2 done)

PrunedKeptTotal
New1721173
Fresh156
Picked011
Done011
Total1738181
Error
2.1b
Counts
181 → 8
Alt Table
StatusErrorProgram
46.5b
(/.f64 1 (*.f64 (+.f64 (/.f64 1 y) 3) x))
34.4b
(*.f64 (/.f64 1 (/.f64 (hypot.f64 (+.f64 x y) (pow.f64 (+.f64 x y) 3/2)) (sqrt.f64 y))) (/.f64 x (/.f64 (hypot.f64 (+.f64 x y) (pow.f64 (+.f64 x y) 3/2)) (sqrt.f64 y))))
28.2b
(*.f64 (/.f64 1 (+.f64 (pow.f64 (+.f64 x y) 3) (pow.f64 (+.f64 x y) 2))) (/.f64 x (/.f64 1 y)))
19.8b
(/.f64 x (+.f64 (fma.f64 3 (*.f64 y x) (fma.f64 y y y)) (+.f64 (*.f64 2 x) (fma.f64 3 (*.f64 x x) (/.f64 x (/.f64 y x))))))
37.7b
(/.f64 y (pow.f64 x 2))
22.9b
(*.f64 x (/.f64 y (+.f64 (pow.f64 (+.f64 x y) 3) (pow.f64 (+.f64 x y) 2))))
9.3b
(/.f64 x (/.f64 (fma.f64 (+.f64 x y) (+.f64 x y) (pow.f64 (+.f64 x y) 3)) y))
28.5b
(pow.f64 (/.f64 (+.f64 (pow.f64 (+.f64 x y) 3) (pow.f64 (+.f64 x y) 2)) (*.f64 x y)) -1)
Compiler

Compiled 7414 to 3722 computations (49.8% saved)

localize7.0ms (0.2%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.0b
(pow.f64 (+.f64 x y) 2)
4.3b
(*.f64 x (/.f64 y (+.f64 (pow.f64 (+.f64 x y) 3) (pow.f64 (+.f64 x y) 2))))
6.6b
(/.f64 y (+.f64 (pow.f64 (+.f64 x y) 3) (pow.f64 (+.f64 x y) 2)))
15.0b
(+.f64 (pow.f64 (+.f64 x y) 3) (pow.f64 (+.f64 x y) 2))

series109.0ms (2.4%)

Counts
4 → 96
Calls

24 calls:

15.0ms
(/.f64 y (+.f64 (pow.f64 (+.f64 x y) 3) (pow.f64 (+.f64 x y) 2)))
x
0
14.0ms
(*.f64 x (/.f64 y (+.f64 (pow.f64 (+.f64 x y) 3) (pow.f64 (+.f64 x y) 2))))
x
0
13.0ms
(*.f64 x (/.f64 y (+.f64 (pow.f64 (+.f64 x y) 3) (pow.f64 (+.f64 x y) 2))))
y
0
12.0ms
(/.f64 y (+.f64 (pow.f64 (+.f64 x y) 3) (pow.f64 (+.f64 x y) 2)))
y
0
6.0ms
(*.f64 x (/.f64 y (+.f64 (pow.f64 (+.f64 x y) 3) (pow.f64 (+.f64 x y) 2))))
y
-inf

rewrite65.0ms (1.4%)

Algorithm
batch-egg-rewrite
Rules
402×fma-def_binary64
220×fma-neg_binary64
210×expm1-udef_binary64
210×log1p-udef_binary64
183×log-pow_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01164
125764
2344364
Stop Event
node limit
Counts
4 → 154

simplify73.0ms (1.6%)

Algorithm
egg-herbie
Rules
484×fma-def_binary64
374×times-frac_binary64
352×associate-+l+_binary64
299×associate-/l*_binary64
278×associate-/r*_binary64
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
04005557
113675178
Stop Event
node limit
Counts
250 → 251

prune378.0ms (8.2%)

Pruning

9 alts after pruning (6 fresh and 3 done)

PrunedKeptTotal
New2501251
Fresh055
Picked011
Done022
Total2509259
Error
2.1b
Counts
259 → 9
Alt Table
StatusErrorProgram
46.5b
(/.f64 1 (*.f64 (+.f64 (/.f64 1 y) 3) x))
34.4b
(*.f64 (/.f64 1 (/.f64 (hypot.f64 (+.f64 x y) (pow.f64 (+.f64 x y) 3/2)) (sqrt.f64 y))) (/.f64 x (/.f64 (hypot.f64 (+.f64 x y) (pow.f64 (+.f64 x y) 3/2)) (sqrt.f64 y))))
39.9b
(/.f64 (/.f64 (*.f64 x y) (hypot.f64 (+.f64 x y) (pow.f64 (+.f64 x y) 3/2))) (hypot.f64 (+.f64 x y) (pow.f64 (+.f64 x y) 3/2)))
28.2b
(*.f64 (/.f64 1 (+.f64 (pow.f64 (+.f64 x y) 3) (pow.f64 (+.f64 x y) 2))) (/.f64 x (/.f64 1 y)))
19.8b
(/.f64 x (+.f64 (fma.f64 3 (*.f64 y x) (fma.f64 y y y)) (+.f64 (*.f64 2 x) (fma.f64 3 (*.f64 x x) (/.f64 x (/.f64 y x))))))
37.7b
(/.f64 y (pow.f64 x 2))
22.9b
(*.f64 x (/.f64 y (+.f64 (pow.f64 (+.f64 x y) 3) (pow.f64 (+.f64 x y) 2))))
9.3b
(/.f64 x (/.f64 (fma.f64 (+.f64 x y) (+.f64 x y) (pow.f64 (+.f64 x y) 3)) y))
28.5b
(pow.f64 (/.f64 (+.f64 (pow.f64 (+.f64 x y) 3) (pow.f64 (+.f64 x y) 2)) (*.f64 x y)) -1)
Compiler

Compiled 9404 to 5701 computations (39.4% saved)

localize10.0ms (0.2%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.2b
(/.f64 1 (+.f64 (pow.f64 (+.f64 x y) 3) (pow.f64 (+.f64 x y) 2)))
0.2b
(/.f64 x (/.f64 1 y))
15.0b
(+.f64 (pow.f64 (+.f64 x y) 3) (pow.f64 (+.f64 x y) 2))
16.3b
(*.f64 (/.f64 1 (+.f64 (pow.f64 (+.f64 x y) 3) (pow.f64 (+.f64 x y) 2))) (/.f64 x (/.f64 1 y)))

series88.0ms (1.9%)

Counts
3 → 72
Calls

18 calls:

15.0ms
(*.f64 (/.f64 1 (+.f64 (pow.f64 (+.f64 x y) 3) (pow.f64 (+.f64 x y) 2))) (/.f64 x (/.f64 1 y)))
x
0
14.0ms
(*.f64 (/.f64 1 (+.f64 (pow.f64 (+.f64 x y) 3) (pow.f64 (+.f64 x y) 2))) (/.f64 x (/.f64 1 y)))
y
0
12.0ms
(/.f64 1 (+.f64 (pow.f64 (+.f64 x y) 3) (pow.f64 (+.f64 x y) 2)))
y
0
12.0ms
(/.f64 1 (+.f64 (pow.f64 (+.f64 x y) 3) (pow.f64 (+.f64 x y) 2)))
x
0
5.0ms
(/.f64 1 (+.f64 (pow.f64 (+.f64 x y) 3) (pow.f64 (+.f64 x y) 2)))
x
inf

rewrite67.0ms (1.4%)

Algorithm
batch-egg-rewrite
Rules
254×expm1-udef_binary64
254×log1p-udef_binary64
149×add-sqr-sqrt_binary64
149×log1p-expm1-u_binary64
149×expm1-log1p-u_binary64
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
01451
132745
2442345
Stop Event
node limit
Counts
3 → 111

simplify63.0ms (1.4%)

Algorithm
egg-herbie
Rules
417×times-frac_binary64
396×fma-def_binary64
341×associate-/l*_binary64
307×associate-/r*_binary64
295×associate-+l+_binary64
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
03914587
113044308
Stop Event
node limit
Counts
183 → 173

prune287.0ms (6.2%)

Pruning

9 alts after pruning (5 fresh and 4 done)

PrunedKeptTotal
New2580258
Fresh055
Picked011
Done033
Total2589267
Error
2.1b
Counts
267 → 9
Alt Table
StatusErrorProgram
46.5b
(/.f64 1 (*.f64 (+.f64 (/.f64 1 y) 3) x))
34.4b
(*.f64 (/.f64 1 (/.f64 (hypot.f64 (+.f64 x y) (pow.f64 (+.f64 x y) 3/2)) (sqrt.f64 y))) (/.f64 x (/.f64 (hypot.f64 (+.f64 x y) (pow.f64 (+.f64 x y) 3/2)) (sqrt.f64 y))))
39.9b
(/.f64 (/.f64 (*.f64 x y) (hypot.f64 (+.f64 x y) (pow.f64 (+.f64 x y) 3/2))) (hypot.f64 (+.f64 x y) (pow.f64 (+.f64 x y) 3/2)))
28.2b
(*.f64 (/.f64 1 (+.f64 (pow.f64 (+.f64 x y) 3) (pow.f64 (+.f64 x y) 2))) (/.f64 x (/.f64 1 y)))
19.8b
(/.f64 x (+.f64 (fma.f64 3 (*.f64 y x) (fma.f64 y y y)) (+.f64 (*.f64 2 x) (fma.f64 3 (*.f64 x x) (/.f64 x (/.f64 y x))))))
37.7b
(/.f64 y (pow.f64 x 2))
22.9b
(*.f64 x (/.f64 y (+.f64 (pow.f64 (+.f64 x y) 3) (pow.f64 (+.f64 x y) 2))))
9.3b
(/.f64 x (/.f64 (fma.f64 (+.f64 x y) (+.f64 x y) (pow.f64 (+.f64 x y) 3)) y))
28.5b
(pow.f64 (/.f64 (+.f64 (pow.f64 (+.f64 x y) 3) (pow.f64 (+.f64 x y) 2)) (*.f64 x y)) -1)
Compiler

Compiled 9873 to 6302 computations (36.2% saved)

regimes1.3s (28%)

Accuracy

Total 2.3b remaining (46.2%)

Threshold costs 0b (0%)

Counts
201 → 3
Compiler

Compiled 12095 to 7409 computations (38.7% saved)

bsearch39.0ms (0.9%)

Algorithm
binary-search
Calls

2 calls:

18.0ms
x
14.0ms
x
Steps
ItersPointRange
-3.65444476764474e-20
∈ [
-3.708664026556252e-20
,
-1.056581531649346e-21
]
-3.356067420516665e+105
∈ [
-3.36627096949465e+106
,
-3.295183427293658e+105
]
Compiler

Compiled 3 to 2 computations (33.3% saved)

simplify3.0ms (0.1%)

Algorithm
egg-herbie
Rules
+-commutative_binary64
*-commutative_binary64
*-rgt-identity_binary64
1-exp_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
03377
14677
Stop Event
saturated

end285.0ms (6.2%)

Stop Event
fuel
Compiler

Compiled 397 to 234 computations (41.1% saved)

Profiling

Loading profile data...