Details

Time bar (total: 2.0s)

analyze89.0ms (4.5%)

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%50%25.1%6
25%31.2%43.8%7
31.2%25%43.8%8
39%17.2%43.8%9
42.9%13.3%43.8%10
47.2%9%43.8%11
49.4%6.8%43.8%12
51.6%4.6%43.8%13
52.7%3.5%43.8%14
Compiler

Compiled 18 to 8 computations (55.6% saved)

sample735.0ms (37.4%)

Results
706.0ms8256×body128valid
1.0msbody128invalid
Compiler

Compiled 53 to 23 computations (56.6% saved)

simplify7.0ms (0.3%)

Algorithm
egg-herbie
Rules
28×fma-def_binary64
*-commutative_binary64
associate-+l+_binary64
associate-*r*_binary64
+-commutative_binary64
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
0820
11515
23011
35111
46911
57511
Stop Event
saturated
Counts
1 → 2

prune3.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.1b
(fma.f64 y (*.f64 y 3) (*.f64 x x))
0.1b
(+.f64 (+.f64 (+.f64 (*.f64 x x) (*.f64 y y)) (*.f64 y y)) (*.f64 y y))
Compiler

Compiled 79 to 36 computations (54.4% saved)

localize4.0ms (0.2%)

Local error

Found 1 expressions with local error:

NewErrorProgram
0.1b
(fma.f64 y (*.f64 y 3) (*.f64 x x))

series7.0ms (0.4%)

Counts
1 → 24
Calls

1 calls:

7.0ms
(fma.f64 y (*.f64 y 3) (*.f64 x x))

rewrite31.0ms (1.6%)

Algorithm
batch-egg-rewrite
Rules
571×log1p-expm1-u_binary64
571×expm1-log1p-u_binary64
303×log-prod_binary64
121×expm1-udef_binary64
121×log1p-udef_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0711
114011
2160011
Stop Event
node limit
Counts
1 → 29
Calls

1 calls:

30.0ms
(fma.f64 y (*.f64 y 3) (*.f64 x x))

simplify69.0ms (3.5%)

Algorithm
egg-herbie
Rules
632×sqr-pow_binary64
591×associate-*l*_binary64
372×cube-prod_binary64
330×associate-*r*_binary64
284×fabs-mul_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
09231
120231
236231
367231
4152231
5441231
61734231
72049231
82327231
92578231
102919231
113416231
124073231
134861231
Stop Event
node limit
Counts
53 → 35

prune26.0ms (1.3%)

Pruning

5 alts after pruning (4 fresh and 1 done)

PrunedKeptTotal
New31435
Fresh101
Picked011
Done000
Total32537
Error
0.0b
Counts
37 → 5
Alt Table
StatusErrorProgram
0.1b
(fma.f64 y (*.f64 y 3) (*.f64 x x))
1.2b
(*.f64 (cbrt.f64 (fma.f64 y (*.f64 y 3) (*.f64 x x))) (pow.f64 (cbrt.f64 (fma.f64 y (*.f64 y 3) (*.f64 x x))) 2))
0.1b
(fma.f64 x x (*.f64 3 (*.f64 y y)))
0.3b
(pow.f64 (hypot.f64 x (sqrt.f64 (*.f64 y (*.f64 y 3)))) 2)
36.2b
(/.f64 (-.f64 (*.f64 (*.f64 y (*.f64 y 3)) (*.f64 y (*.f64 y 3))) (pow.f64 x 4)) (-.f64 (*.f64 y (*.f64 y 3)) (*.f64 x x)))
Compiler

Compiled 608 to 357 computations (41.3% saved)

localize5.0ms (0.2%)

Local error

Found 1 expressions with local error:

NewErrorProgram
0.2b
(*.f64 3 (*.f64 y y))

series4.0ms (0.2%)

Counts
1 → 12
Calls

1 calls:

4.0ms
(*.f64 3 (*.f64 y y))

rewrite28.0ms (1.4%)

Algorithm
batch-egg-rewrite
Rules
400×log1p-expm1-u_binary64
400×expm1-log1p-u_binary64
347×pow1_binary64
278×unpow-prod-down_binary64
221×log-prod_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
057
11027
211497
Stop Event
node limit
Counts
1 → 23
Calls

1 calls:

28.0ms
(*.f64 3 (*.f64 y y))

simplify58.0ms (3%)

Algorithm
egg-herbie
Rules
609×sqr-pow_binary64
451×associate-*l*_binary64
434×unswap-sqr_binary64
281×cube-prod_binary64
271×fabs-mul_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0684
11284
22384
34484
410684
531584
6123584
7211684
8228084
9246484
10267284
11296384
12335684
13383484
14439584
Stop Event
node limit
Counts
35 → 25

prune18.0ms (0.9%)

Pruning

4 alts after pruning (2 fresh and 2 done)

PrunedKeptTotal
New24125
Fresh213
Picked011
Done011
Total26430
Error
0.0b
Counts
30 → 4
Alt Table
StatusErrorProgram
13.9b
(fma.f64 x x (sqrt.f64 (*.f64 9 (pow.f64 y 4))))
0.1b
(fma.f64 x x (*.f64 3 (*.f64 y y)))
0.3b
(pow.f64 (hypot.f64 x (sqrt.f64 (*.f64 y (*.f64 y 3)))) 2)
0.1b
(fma.f64 y (*.f64 y 3) (*.f64 x x))
Compiler

Compiled 362 to 222 computations (38.7% saved)

localize7.0ms (0.4%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.0b
(hypot.f64 x (sqrt.f64 (*.f64 y (*.f64 y 3))))
0.2b
(*.f64 y (*.f64 y 3))
0.2b
(pow.f64 (hypot.f64 x (sqrt.f64 (*.f64 y (*.f64 y 3)))) 2)
18.5b
(sqrt.f64 (*.f64 y (*.f64 y 3)))

series91.0ms (4.6%)

Counts
4 → 72
Calls

4 calls:

70.0ms
(pow.f64 (hypot.f64 x (sqrt.f64 (*.f64 y (*.f64 y 3)))) 2)
16.0ms
(hypot.f64 x (sqrt.f64 (*.f64 y (*.f64 y 3))))
3.0ms
(sqrt.f64 (*.f64 y (*.f64 y 3)))
2.0ms
(*.f64 y (*.f64 y 3))

rewrite46.0ms (2.3%)

Algorithm
batch-egg-rewrite
Rules
768×log1p-expm1-u_binary64
768×expm1-log1p-u_binary64
191×prod-diff_binary64
94×add-sqr-sqrt_binary64
89×add-log-exp_binary64
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
01043
120633
2223033
Stop Event
node limit
Counts
4 → 87
Calls

4 calls:

45.0ms
(hypot.f64 x (sqrt.f64 (*.f64 y (*.f64 y 3))))
45.0ms
(*.f64 y (*.f64 y 3))
45.0ms
(pow.f64 (hypot.f64 x (sqrt.f64 (*.f64 y (*.f64 y 3)))) 2)
45.0ms
(sqrt.f64 (*.f64 y (*.f64 y 3)))

simplify31.0ms (1.6%)

Algorithm
egg-herbie
Rules
714×times-frac_binary64
328×associate-/l*_binary64
300×associate-*r*_binary64
291×associate-/r*_binary64
262×associate-*l*_binary64
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
0651351
12141062
27911038
Stop Event
node limit
Counts
159 → 123

prune84.0ms (4.3%)

Pruning

6 alts after pruning (3 fresh and 3 done)

PrunedKeptTotal
New1212123
Fresh011
Picked011
Done022
Total1216127
Error
0.0b
Counts
127 → 6
Alt Table
StatusErrorProgram
13.9b
(fma.f64 x x (sqrt.f64 (*.f64 9 (pow.f64 y 4))))
0.1b
(fma.f64 x x (*.f64 3 (*.f64 y y)))
0.7b
(*.f64 (sqrt.f64 (hypot.f64 x (*.f64 y (sqrt.f64 3)))) (*.f64 (sqrt.f64 (hypot.f64 x (*.f64 y (sqrt.f64 3)))) (hypot.f64 x (*.f64 y (sqrt.f64 3)))))
28.5b
(*.f64 (pow.f64 y 2) (pow.f64 (sqrt.f64 3) 2))
0.3b
(pow.f64 (hypot.f64 x (sqrt.f64 (*.f64 y (*.f64 y 3)))) 2)
0.1b
(fma.f64 y (*.f64 y 3) (*.f64 x x))
Compiler

Compiled 2034 to 1522 computations (25.2% saved)

localize7.0ms (0.3%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.1b
(sqrt.f64 (hypot.f64 x (*.f64 y (sqrt.f64 3))))
0.3b
(*.f64 (sqrt.f64 (hypot.f64 x (*.f64 y (sqrt.f64 3)))) (hypot.f64 x (*.f64 y (sqrt.f64 3))))
0.3b
(*.f64 (sqrt.f64 (hypot.f64 x (*.f64 y (sqrt.f64 3)))) (*.f64 (sqrt.f64 (hypot.f64 x (*.f64 y (sqrt.f64 3)))) (hypot.f64 x (*.f64 y (sqrt.f64 3)))))
0.4b
(*.f64 y (sqrt.f64 3))

series127.0ms (6.4%)

Counts
4 → 40
Calls

4 calls:

76.0ms
(*.f64 (sqrt.f64 (hypot.f64 x (*.f64 y (sqrt.f64 3)))) (*.f64 (sqrt.f64 (hypot.f64 x (*.f64 y (sqrt.f64 3)))) (hypot.f64 x (*.f64 y (sqrt.f64 3)))))
28.0ms
(*.f64 (sqrt.f64 (hypot.f64 x (*.f64 y (sqrt.f64 3)))) (hypot.f64 x (*.f64 y (sqrt.f64 3))))
20.0ms
(sqrt.f64 (hypot.f64 x (*.f64 y (sqrt.f64 3))))
3.0ms
(*.f64 y (sqrt.f64 3))

rewrite45.0ms (2.3%)

Algorithm
batch-egg-rewrite
Rules
730×log1p-expm1-u_binary64
730×expm1-log1p-u_binary64
153×log1p-udef_binary64
93×prod-diff_binary64
89×add-sqr-sqrt_binary64
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
01059
120040
2213040
Stop Event
node limit
Counts
4 → 72
Calls

4 calls:

44.0ms
(sqrt.f64 (hypot.f64 x (*.f64 y (sqrt.f64 3))))
44.0ms
(*.f64 (sqrt.f64 (hypot.f64 x (*.f64 y (sqrt.f64 3)))) (hypot.f64 x (*.f64 y (sqrt.f64 3))))
44.0ms
(*.f64 (sqrt.f64 (hypot.f64 x (*.f64 y (sqrt.f64 3)))) (*.f64 (sqrt.f64 (hypot.f64 x (*.f64 y (sqrt.f64 3)))) (hypot.f64 x (*.f64 y (sqrt.f64 3)))))
44.0ms
(*.f64 y (sqrt.f64 3))

simplify47.0ms (2.4%)

Algorithm
egg-herbie
Rules
703×associate-*r*_binary64
679×associate-*l*_binary64
574×fma-neg_binary64
354×fma-def_binary64
221×*-commutative_binary64
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
01231077
1341872
21064839
34739839
Stop Event
node limit
Counts
112 → 108

prune138.0ms (7%)

Pruning

7 alts after pruning (4 fresh and 3 done)

PrunedKeptTotal
New1742176
Fresh022
Picked101
Done033
Total1757182
Error
0b
Counts
182 → 7
Alt Table
StatusErrorProgram
13.9b
(fma.f64 x x (sqrt.f64 (*.f64 9 (pow.f64 y 4))))
0.1b
(fma.f64 x x (*.f64 3 (*.f64 y y)))
0.9b
(*.f64 (sqrt.f64 (hypot.f64 x (*.f64 y (sqrt.f64 3)))) (*.f64 (*.f64 (cbrt.f64 (sqrt.f64 (hypot.f64 x (*.f64 y (sqrt.f64 3))))) (cbrt.f64 (hypot.f64 x (*.f64 y (sqrt.f64 3))))) (hypot.f64 x (*.f64 y (sqrt.f64 3)))))
28.5b
(*.f64 (pow.f64 y 2) (pow.f64 (sqrt.f64 3) 2))
0.3b
(pow.f64 (hypot.f64 x (sqrt.f64 (*.f64 y (*.f64 y 3)))) 2)
0.6b
(*.f64 (sqrt.f64 (hypot.f64 x (*.f64 y (sqrt.f64 3)))) (*.f64 (sqrt.f64 (hypot.f64 x (*.f64 y (sqrt.f64 3)))) (hypot.f64 x (sqrt.f64 (*.f64 3 (*.f64 y y))))))
0.1b
(fma.f64 y (*.f64 y 3) (*.f64 x x))
Compiler

Compiled 4929 to 3720 computations (24.5% saved)

regimes166.0ms (8.4%)

Accuracy

Total 0.1b remaining (92.8%)

Threshold costs 0.1b (92.8%)

Counts
37 → 1
Compiler

Compiled 3063 to 2256 computations (26.3% saved)

simplify2.0ms (0.1%)

Algorithm
egg-herbie
Rules
*-commutative_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0711
1811
Stop Event
saturated

end92.0ms (4.7%)

Compiler

Compiled 132 to 94 computations (28.8% saved)

Profiling

Loading profile data...