Details

Time bar (total: 3.6s)

analyze188.0ms (5.2%)

Algorithm
search
Search
TrueOtherFalseIter
0%99.9%0.1%0
0%99.9%0.1%1
0%50%50%2
0%50%50%3
25%25%50%4
25%25%50%5
31.2%18.7%50%6
34.3%15.6%50%7
39%10.9%50%8
40.6%8.6%50.8%9
42.9%5.9%51.2%10
43.7%4.5%51.8%11
44.9%3%52.1%12
45.3%2.3%52.4%13
45.9%1.5%52.6%14
Compiler

Compiled 17 to 14 computations (17.6% saved)

sample1.8s (49.2%)

Results
1.5s8256×body128valid
15.0ms100×body128invalid
Compiler

Compiled 50 to 41 computations (18% saved)

simplify34.0ms (1%)

Algorithm
egg-herbie
Rules
474×fma-neg_binary64
309×fma-def_binary64
228×cancel-sign-sub-inv_binary64
83×associate-/l*_binary64
72×distribute-rgt-in_binary64
Counts
1 → 2
Iterations

Useful iterations: 4 (0.0ms)

IterNodesCost
01321
12718
25618
311218
420116
533916
660816
785616
889216
990716
1093016
1183716

prune4.0ms (0.1%)

Pruning

3 alts after pruning (3 fresh and 0 done)

PrunedKeptTotal
New022
Fresh011
Picked000
Done000
Total033
Error
0.1b
Counts
3 → 2
Alt Table
StatusErrorProgram
0.2b
(fma.f64 y (/.f64 -1/3 (sqrt.f64 x)) (-.f64 1 (/.f64 1/9 x)))
0.2b
(-.f64 (-.f64 1 (/.f64 1 (*.f64 x 9))) (/.f64 y (*.f64 3 (sqrt.f64 x))))
Compiler

Compiled 85 to 66 computations (22.4% saved)

localize9.0ms (0.2%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.0b
(-.f64 (-.f64 1 (/.f64 1 (*.f64 x 9))) (/.f64 y (*.f64 3 (sqrt.f64 x))))
0.2b
(/.f64 y (*.f64 3 (sqrt.f64 x)))
0.3b
(*.f64 3 (sqrt.f64 x))
0.4b
(/.f64 1 (*.f64 x 9))

series59.0ms (1.6%)

Counts
4 → 38
Calls

4 calls:

24.0ms
(-.f64 (-.f64 1 (/.f64 1 (*.f64 x 9))) (/.f64 y (*.f64 3 (sqrt.f64 x))))
23.0ms
(/.f64 y (*.f64 3 (sqrt.f64 x)))
10.0ms
(*.f64 3 (sqrt.f64 x))
1.0ms
(/.f64 1 (*.f64 x 9))

rewrite89.0ms (2.5%)

Algorithm
batch-egg-rewrite
Rules
435×fma-def_binary64
240×expm1-udef_binary64
239×log1p-udef_binary64
185×fma-neg_binary64
184×egg-rr
Counts
4 → 184
Calls

4 calls:

84.0ms
(-.f64 (-.f64 1 (/.f64 1 (*.f64 x 9))) (/.f64 y (*.f64 3 (sqrt.f64 x))))
84.0ms
(/.f64 y (*.f64 3 (sqrt.f64 x)))
84.0ms
(*.f64 3 (sqrt.f64 x))
84.0ms
(/.f64 1 (*.f64 x 9))
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01343
128937
2372635
3495235
000
100

simplify45.0ms (1.2%)

Algorithm
egg-herbie
Rules
341×fma-def_binary64
277×fma-neg_binary64
124×cancel-sign-sub-inv_binary64
55×distribute-rgt-neg-in_binary64
49×sub-neg_binary64
Counts
222 → 194
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
019417
140399
284399
3145399
4297399
5419399
6576399
7676399
8735399
9742399
10675399

prune240.0ms (6.7%)

Pruning

11 alts after pruning (11 fresh and 0 done)

PrunedKeptTotal
New18410194
Fresh011
Picked101
Done000
Total18511196
Error
0.0b
Counts
196 → 11
Alt Table
StatusErrorProgram
0.3b
(-.f64 (-.f64 1 (/.f64 1 (*.f64 x 9))) (*.f64 (/.f64 y 3) (/.f64 1 (sqrt.f64 x))))
0.2b
(fma.f64 y (/.f64 -1/3 (sqrt.f64 x)) (-.f64 1 (/.f64 1/9 x)))
0.5b
(-.f64 (-.f64 1 (/.f64 1 (*.f64 x 9))) (/.f64 y (sqrt.f64 (*.f64 x 9))))
0.3b
(-.f64 1 (fma.f64 1/3 (*.f64 y (sqrt.f64 (/.f64 1 x))) (/.f64 1/9 x)))
34.4b
(-.f64 (-.f64 1 (/.f64 1 (*.f64 x 9))) (*.f64 (/.f64 (sqrt.f64 y) 3) (/.f64 (sqrt.f64 y) (sqrt.f64 x))))
25.7b
(*.f64 (-.f64 (pow.f64 (-.f64 1 (/.f64 1/9 x)) 2) (/.f64 (*.f64 y y) (*.f64 x 9))) (/.f64 1 (fma.f64 y (/.f64 1/3 (sqrt.f64 x)) (-.f64 1 (/.f64 1/9 x)))))
15.4b
(-.f64 (-.f64 1 (sqrt.f64 (pow.f64 (*.f64 x 9) -2))) (/.f64 y (*.f64 3 (sqrt.f64 x))))
0.3b
(-.f64 (-.f64 1 (/.f64 1 (*.f64 x 9))) (/.f64 y (pow.f64 (sqrt.f64 (*.f64 3 (sqrt.f64 x))) 2)))
0.6b
(-.f64 (-.f64 1 (*.f64 (cbrt.f64 (/.f64 1/9 x)) (pow.f64 (cbrt.f64 (/.f64 1/9 x)) 2))) (/.f64 y (*.f64 3 (sqrt.f64 x))))
14.9b
(-.f64 (-.f64 1 (*.f64 (pow.f64 (cbrt.f64 (*.f64 (*.f64 x x) 81)) -1) (pow.f64 (cbrt.f64 (*.f64 x 9)) -1))) (/.f64 y (*.f64 3 (sqrt.f64 x))))
0.4b
(-.f64 (-.f64 1 (pow.f64 (/.f64 1/3 (sqrt.f64 x)) 2)) (/.f64 y (*.f64 3 (sqrt.f64 x))))
Compiler

Compiled 4996 to 3484 computations (30.3% saved)

localize7.0ms (0.2%)

Local error

Found 3 expressions with local error:

NewErrorProgram
0.1b
(fma.f64 y (/.f64 -1/3 (sqrt.f64 x)) (-.f64 1 (/.f64 1/9 x)))
0.3b
(/.f64 -1/3 (sqrt.f64 x))
0.4b
(/.f64 1/9 x)

series79.0ms (2.2%)

Counts
3 → 14
Calls

3 calls:

62.0ms
(fma.f64 y (/.f64 -1/3 (sqrt.f64 x)) (-.f64 1 (/.f64 1/9 x)))
14.0ms
(/.f64 -1/3 (sqrt.f64 x))
3.0ms
(/.f64 1/9 x)

rewrite65.0ms (1.8%)

Algorithm
batch-egg-rewrite
Rules
463×log-prod_binary64
407×prod-diff_binary64
192×expm1-udef_binary64
191×log1p-udef_binary64
165×log-pow_binary64
Counts
3 → 95
Calls

3 calls:

63.0ms
(fma.f64 y (/.f64 -1/3 (sqrt.f64 x)) (-.f64 1 (/.f64 1/9 x)))
63.0ms
(/.f64 -1/3 (sqrt.f64 x))
63.0ms
(/.f64 1/9 x)
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01126
123726
2267226
3519526
000
100

simplify52.0ms (1.4%)

Algorithm
egg-herbie
Rules
341×fma-def_binary64
277×fma-neg_binary64
124×cancel-sign-sub-inv_binary64
55×distribute-rgt-neg-in_binary64
49×sub-neg_binary64
Counts
109 → 103
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
018225
140207
284207
3145207
4297207
5419207
6576207
7676207
8735207
9742207
10675207

prune114.0ms (3.2%)

Pruning

7 alts after pruning (7 fresh and 0 done)

PrunedKeptTotal
New985103
Fresh8210
Picked101
Done000
Total1077114
Error
0.0b
Counts
114 → 7
Alt Table
StatusErrorProgram
0.6b
(-.f64 (-.f64 1 (*.f64 (cbrt.f64 (/.f64 1/9 x)) (pow.f64 (cbrt.f64 (/.f64 1/9 x)) 2))) (/.f64 y (*.f64 3 (sqrt.f64 x))))
15.4b
(fma.f64 y (/.f64 -1/3 (sqrt.f64 x)) (-.f64 1 (sqrt.f64 (/.f64 1/81 (*.f64 x x)))))
0.3b
(fma.f64 y (/.f64 -1/3 (sqrt.f64 x)) (-.f64 1 (*.f64 1/9 (*.f64 (pow.f64 x -1/2) (pow.f64 x -1/2)))))
0.3b
(-.f64 1 (+.f64 (*.f64 1/9 (/.f64 1 x)) (*.f64 1/3 (*.f64 y (sqrt.f64 (/.f64 1 x))))))
0.5b
(-.f64 (-.f64 1 (/.f64 1 (*.f64 x 9))) (/.f64 y (sqrt.f64 (*.f64 x 9))))
0.2b
(fma.f64 y (*.f64 -1/3 (pow.f64 x -1/2)) (-.f64 1 (/.f64 1/9 x)))
0.4b
(fma.f64 y (/.f64 -1/3 (sqrt.f64 x)) (-.f64 1 (*.f64 (*.f64 (/.f64 -1/3 (sqrt.f64 x)) (cbrt.f64 (/.f64 1/9 x))) (cbrt.f64 (/.f64 -1/3 (sqrt.f64 x))))))
Compiler

Compiled 1905 to 1368 computations (28.2% saved)

localize10.0ms (0.3%)

Local error

Found 3 expressions with local error:

NewErrorProgram
0.1b
(fma.f64 y (*.f64 -1/3 (pow.f64 x -1/2)) (-.f64 1 (/.f64 1/9 x)))
0.4b
(/.f64 1/9 x)
0.4b
(*.f64 -1/3 (pow.f64 x -1/2))

series25.0ms (0.7%)

Counts
2 → 15
Calls

2 calls:

18.0ms
(fma.f64 y (*.f64 -1/3 (pow.f64 x -1/2)) (-.f64 1 (/.f64 1/9 x)))
7.0ms
(*.f64 -1/3 (pow.f64 x -1/2))

rewrite61.0ms (1.7%)

Algorithm
batch-egg-rewrite
Rules
489×log-prod_binary64
412×prod-diff_binary64
206×expm1-udef_binary64
205×log1p-udef_binary64
172×log-pow_binary64
Counts
2 → 52
Calls

2 calls:

60.0ms
(fma.f64 y (*.f64 -1/3 (pow.f64 x -1/2)) (-.f64 1 (/.f64 1/9 x)))
60.0ms
(*.f64 -1/3 (pow.f64 x -1/2))
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01224
125922
2279222
3530322
000
100

simplify34.0ms (0.9%)

Algorithm
egg-herbie
Rules
341×fma-def_binary64
277×fma-neg_binary64
124×cancel-sign-sub-inv_binary64
55×distribute-rgt-neg-in_binary64
49×sub-neg_binary64
Counts
67 → 60
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
018226
140208
284208
3145208
4297208
5419208
6576208
7676208
8735208
9742208
10675208

prune95.0ms (2.6%)

Pruning

7 alts after pruning (6 fresh and 1 done)

PrunedKeptTotal
New94195
Fresh156
Picked011
Done000
Total957102
Error
0.0b
Counts
102 → 7
Alt Table
StatusErrorProgram
0.6b
(-.f64 (-.f64 1 (*.f64 (cbrt.f64 (/.f64 1/9 x)) (pow.f64 (cbrt.f64 (/.f64 1/9 x)) 2))) (/.f64 y (*.f64 3 (sqrt.f64 x))))
15.4b
(fma.f64 y (/.f64 -1/3 (sqrt.f64 x)) (-.f64 1 (sqrt.f64 (/.f64 1/81 (*.f64 x x)))))
0.3b
(fma.f64 y (/.f64 -1/3 (sqrt.f64 x)) (-.f64 1 (*.f64 1/9 (*.f64 (pow.f64 x -1/2) (pow.f64 x -1/2)))))
0.5b
(-.f64 (-.f64 1 (/.f64 1 (*.f64 x 9))) (/.f64 y (sqrt.f64 (*.f64 x 9))))
0.2b
(fma.f64 y (*.f64 -1/3 (pow.f64 x -1/2)) (-.f64 1 (/.f64 1/9 x)))
0.3b
(fma.f64 y (*.f64 -1/3 (pow.f64 x -1/2)) (-.f64 1 (*.f64 (/.f64 1 x) 1/9)))
0.4b
(fma.f64 y (/.f64 -1/3 (sqrt.f64 x)) (-.f64 1 (*.f64 (*.f64 (/.f64 -1/3 (sqrt.f64 x)) (cbrt.f64 (/.f64 1/9 x))) (cbrt.f64 (/.f64 -1/3 (sqrt.f64 x))))))
Compiler

Compiled 1797 to 1334 computations (25.8% saved)

localize10.0ms (0.3%)

Local error

Found 3 expressions with local error:

NewErrorProgram
0.1b
(fma.f64 y (*.f64 -1/3 (pow.f64 x -1/2)) (-.f64 1 (*.f64 (/.f64 1 x) 1/9)))
0.4b
(*.f64 -1/3 (pow.f64 x -1/2))
0.4b
(*.f64 (/.f64 1 x) 1/9)

series18.0ms (0.5%)

Counts
2 → 27
Calls

2 calls:

16.0ms
(fma.f64 y (*.f64 -1/3 (pow.f64 x -1/2)) (-.f64 1 (*.f64 (/.f64 1 x) 1/9)))
2.0ms
(*.f64 (/.f64 1 x) 1/9)

rewrite115.0ms (3.2%)

Algorithm
batch-egg-rewrite
Rules
566×prod-diff_binary64
419×fma-udef_binary64
218×expm1-udef_binary64
217×log1p-udef_binary64
202×fma-def_binary64
Counts
2 → 47
Calls

2 calls:

114.0ms
(fma.f64 y (*.f64 -1/3 (pow.f64 x -1/2)) (-.f64 1 (*.f64 (/.f64 1 x) 1/9)))
114.0ms
(*.f64 (/.f64 1 x) 1/9)
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01321
128220
2295720
3476120
4479620
5478220
000
100

simplify36.0ms (1%)

Algorithm
egg-herbie
Rules
341×fma-def_binary64
277×fma-neg_binary64
124×cancel-sign-sub-inv_binary64
55×distribute-rgt-neg-in_binary64
49×sub-neg_binary64
Counts
74 → 55
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
019274
140256
284256
3145256
4297256
5419256
6576256
7676256
8735256
9742256
10675256

prune79.0ms (2.2%)

Pruning

7 alts after pruning (5 fresh and 2 done)

PrunedKeptTotal
New76076
Fresh055
Picked011
Done011
Total76783
Error
0.0b
Counts
83 → 7
Alt Table
StatusErrorProgram
0.6b
(-.f64 (-.f64 1 (*.f64 (cbrt.f64 (/.f64 1/9 x)) (pow.f64 (cbrt.f64 (/.f64 1/9 x)) 2))) (/.f64 y (*.f64 3 (sqrt.f64 x))))
15.4b
(fma.f64 y (/.f64 -1/3 (sqrt.f64 x)) (-.f64 1 (sqrt.f64 (/.f64 1/81 (*.f64 x x)))))
0.3b
(fma.f64 y (/.f64 -1/3 (sqrt.f64 x)) (-.f64 1 (*.f64 1/9 (*.f64 (pow.f64 x -1/2) (pow.f64 x -1/2)))))
0.5b
(-.f64 (-.f64 1 (/.f64 1 (*.f64 x 9))) (/.f64 y (sqrt.f64 (*.f64 x 9))))
0.2b
(fma.f64 y (*.f64 -1/3 (pow.f64 x -1/2)) (-.f64 1 (/.f64 1/9 x)))
0.3b
(fma.f64 y (*.f64 -1/3 (pow.f64 x -1/2)) (-.f64 1 (*.f64 (/.f64 1 x) 1/9)))
0.4b
(fma.f64 y (/.f64 -1/3 (sqrt.f64 x)) (-.f64 1 (*.f64 (*.f64 (/.f64 -1/3 (sqrt.f64 x)) (cbrt.f64 (/.f64 1/9 x))) (cbrt.f64 (/.f64 -1/3 (sqrt.f64 x))))))
Compiler

Compiled 1319 to 1019 computations (22.7% saved)

regimes243.0ms (6.7%)

Accuracy

Total 0.2b remaining (85.2%)

Threshold costs 0.2b (85.2%)

Counts
81 → 1
Compiler

Compiled 3995 to 3169 computations (20.7% saved)

simplify3.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
01319
11819
22419
32619
42719
52519

end111.0ms (3.1%)

Compiler

Compiled 158 to 124 computations (21.5% saved)

Profiling

Loading profile data...