Details

Time bar (total: 5.3s)

analyze118.0ms (2.2%)

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%74.9%25.1%4
12.5%62.4%25.1%5
31.2%31.2%37.6%6
37.5%25%37.6%7
40.6%15.6%43.8%8
42.9%11.7%45.4%9
44.1%7.4%48.5%10
45.1%5.7%49.3%11
45.6%3.6%50.8%12
46%2.8%51.2%13
46.2%1.8%52%14
Compiler

Compiled 17 to 14 computations (17.6% saved)

sample1.9s (36.1%)

Results
1.7s8256×body128valid
42.0ms228×body128invalid
Compiler

Compiled 50 to 41 computations (18% saved)

simplify207.0ms (3.9%)

Algorithm
egg-herbie
Rules
1205×fma-neg_binary64
900×fma-def_binary64
326×associate-/l*_binary64
318×cancel-sign-sub-inv_binary64
290×distribute-rgt-neg-in_binary64
Counts
1 → 2
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
01321
12818
26818
314516
425716
541116
686116
7137116
8238616
9249316
10267516
11260716
12258116
13258116
14353116
15336416
16336416
17336416
18336416
19317116

prune7.0ms (0.1%)

Pruning

3 alts after pruning (3 fresh and 0 done)

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

Compiled 85 to 66 computations (22.4% saved)

localize17.0ms (0.3%)

Local error

Found 4 expressions with local error:

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

series70.0ms (1.3%)

Counts
4 → 48
Calls

4 calls:

46.0ms
(*.f64 (*.f64 3 (sqrt.f64 x)) (-.f64 (+.f64 y (/.f64 1 (*.f64 x 9))) 1))
11.0ms
(*.f64 3 (sqrt.f64 x))
9.0ms
(+.f64 y (/.f64 1 (*.f64 x 9)))
2.0ms
(/.f64 1 (*.f64 x 9))

rewrite114.0ms (2.2%)

Algorithm
batch-egg-rewrite
Rules
620×prod-diff_binary64
226×log1p-udef_binary64
225×expm1-udef_binary64
134×add-sqr-sqrt_binary64
130×log1p-expm1-u_binary64
Counts
4 → 102
Calls

4 calls:

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

Useful iterations: 0 (0.0ms)

IterNodesCost
01344
128235
2333335
3512035
000
100

simplify154.0ms (2.9%)

Algorithm
egg-herbie
Rules
985×fma-def_binary64
640×fma-neg_binary64
234×distribute-rgt-in_binary64
221×distribute-rgt-neg-in_binary64
202×distribute-lft-in_binary64
Counts
150 → 113
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
024453
154408
2106387
3186387
4358387
5544387
61055387
71692387
82031387
92091387
102032387
112032387
122393387
132393387
142393387
152248387

prune230.0ms (4.4%)

Pruning

11 alts after pruning (11 fresh and 0 done)

PrunedKeptTotal
New10310113
Fresh011
Picked101
Done000
Total10411115
Error
0.0b
Counts
115 → 11
Alt Table
StatusErrorProgram
1.4b
(*.f64 (pow.f64 (cbrt.f64 (*.f64 3 (sqrt.f64 x))) 3) (-.f64 (+.f64 y (/.f64 1 (*.f64 x 9))) 1))
0.4b
(*.f64 (sqrt.f64 x) (fma.f64 3 (+.f64 y (/.f64 1/9 x)) -3))
1.3b
(pow.f64 (cbrt.f64 (*.f64 (*.f64 3 (sqrt.f64 x)) (+.f64 (/.f64 1/9 x) (-.f64 y 1)))) 3)
0.4b
(-.f64 (+.f64 (*.f64 3 (*.f64 y (sqrt.f64 x))) (*.f64 1/3 (sqrt.f64 (/.f64 1 x)))) (*.f64 3 (sqrt.f64 x)))
19.8b
(*.f64 (cbrt.f64 (pow.f64 (*.f64 3 (sqrt.f64 x)) 3)) (-.f64 (+.f64 y (/.f64 1 (*.f64 x 9))) 1))
0.3b
(*.f64 (sqrt.f64 (*.f64 x 9)) (-.f64 (+.f64 y (/.f64 1 (*.f64 x 9))) 1))
0.7b
(*.f64 (pow.f64 (sqrt.f64 (*.f64 3 (sqrt.f64 x))) 2) (-.f64 (+.f64 y (/.f64 1 (*.f64 x 9))) 1))
27.5b
(/.f64 (*.f64 (+.f64 (pow.f64 (+.f64 (/.f64 1/9 x) y) 2) -1) (*.f64 3 (sqrt.f64 x))) (+.f64 1 (+.f64 (/.f64 1/9 x) y)))
16.8b
(*.f64 (*.f64 3 (sqrt.f64 x)) (-.f64 (+.f64 y (*.f64 (pow.f64 (cbrt.f64 (*.f64 (*.f64 x x) 81)) -1) (pow.f64 (cbrt.f64 (*.f64 x 9)) -1))) 1))
0.5b
(*.f64 (*.f64 3 (sqrt.f64 x)) (-.f64 (+.f64 y (*.f64 1/9 (/.f64 1 x))) 1))
0.7b
(*.f64 (*.f64 3 (sqrt.f64 x)) (-.f64 (+.f64 y (*.f64 (cbrt.f64 (/.f64 1/9 x)) (pow.f64 (cbrt.f64 (/.f64 1/9 x)) 2))) 1))
Compiler

Compiled 2376 to 1742 computations (26.7% saved)

localize14.0ms (0.3%)

Local error

Found 4 expressions with local error:

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

series55.0ms (1%)

Counts
2 → 12
Calls

2 calls:

45.0ms
(*.f64 (sqrt.f64 (*.f64 x 9)) (-.f64 (+.f64 y (/.f64 1 (*.f64 x 9))) 1))
10.0ms
(sqrt.f64 (*.f64 x 9))

rewrite97.0ms (1.8%)

Algorithm
batch-egg-rewrite
Rules
620×prod-diff_binary64
350×fma-def_binary64
218×fma-neg_binary64
201×log1p-udef_binary64
200×expm1-udef_binary64
Counts
2 → 54
Calls

2 calls:

95.0ms
(sqrt.f64 (*.f64 x 9))
95.0ms
(*.f64 (sqrt.f64 (*.f64 x 9)) (-.f64 (+.f64 y (/.f64 1 (*.f64 x 9))) 1))
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01127
124324
2299024
3491824
000
100

simplify158.0ms (3%)

Algorithm
egg-herbie
Rules
957×fma-neg_binary64
760×fma-def_binary64
230×distribute-rgt-in_binary64
221×distribute-rgt-neg-in_binary64
201×distribute-lft-in_binary64
Counts
66 → 61
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
022267
152222
2102201
3182201
4354201
5540201
61051201
71688201
82019201
92255201
102197201
112197201
122335201
132335201
142335201
152335201
162190201

prune249.0ms (4.7%)

Pruning

10 alts after pruning (9 fresh and 1 done)

PrunedKeptTotal
New1254129
Fresh5510
Picked011
Done000
Total13010140
Error
0.0b
Counts
140 → 10
Alt Table
StatusErrorProgram
0.7b
(*.f64 (sqrt.f64 (*.f64 x 9)) (-.f64 (+.f64 y (pow.f64 (cbrt.f64 (/.f64 1/9 x)) 3)) 1))
0.3b
(*.f64 (sqrt.f64 (*.f64 x 9)) (-.f64 (+.f64 y (/.f64 1 (*.f64 x 9))) 1))
0.4b
(*.f64 (sqrt.f64 x) (fma.f64 3 (+.f64 y (/.f64 1/9 x)) -3))
1.3b
(pow.f64 (cbrt.f64 (*.f64 (*.f64 3 (sqrt.f64 x)) (+.f64 (/.f64 1/9 x) (-.f64 y 1)))) 3)
19.8b
(*.f64 (cbrt.f64 (pow.f64 (*.f64 x 9) 3/2)) (-.f64 (+.f64 y (/.f64 1 (*.f64 x 9))) 1))
0.6b
(*.f64 (pow.f64 (pow.f64 (*.f64 x 9) 1/4) 2) (-.f64 (+.f64 y (/.f64 1 (*.f64 x 9))) 1))
0.4b
(-.f64 (+.f64 (*.f64 3 (*.f64 y (sqrt.f64 x))) (*.f64 1/3 (sqrt.f64 (/.f64 1 x)))) (*.f64 3 (sqrt.f64 x)))
0.4b
(*.f64 (sqrt.f64 (*.f64 x 9)) (-.f64 (+.f64 y (*.f64 1/9 (/.f64 1 x))) 1))
27.5b
(/.f64 (*.f64 (+.f64 (pow.f64 (+.f64 (/.f64 1/9 x) y) 2) -1) (*.f64 3 (sqrt.f64 x))) (+.f64 1 (+.f64 (/.f64 1/9 x) y)))
16.8b
(*.f64 (*.f64 3 (sqrt.f64 x)) (-.f64 (+.f64 y (*.f64 (pow.f64 (cbrt.f64 (*.f64 (*.f64 x x) 81)) -1) (pow.f64 (cbrt.f64 (*.f64 x 9)) -1))) 1))
Compiler

Compiled 2592 to 2011 computations (22.4% saved)

localize16.0ms (0.3%)

Local error

Found 4 expressions with local error:

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

series62.0ms (1.2%)

Counts
3 → 30
Calls

3 calls:

46.0ms
(*.f64 (sqrt.f64 (*.f64 x 9)) (-.f64 (+.f64 y (*.f64 1/9 (/.f64 1 x))) 1))
10.0ms
(+.f64 y (*.f64 1/9 (/.f64 1 x)))
6.0ms
(*.f64 1/9 (/.f64 1 x))

rewrite94.0ms (1.8%)

Algorithm
batch-egg-rewrite
Rules
881×prod-diff_binary64
132×add-sqr-sqrt_binary64
130×log1p-expm1-u_binary64
130×expm1-log1p-u_binary64
127×add-cbrt-cube_binary64
Counts
3 → 82
Calls

3 calls:

91.0ms
(+.f64 y (*.f64 1/9 (/.f64 1 x)))
91.0ms
(*.f64 (sqrt.f64 (*.f64 x 9)) (-.f64 (+.f64 y (*.f64 1/9 (/.f64 1 x))) 1))
91.0ms
(*.f64 1/9 (/.f64 1 x))
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01329
128529
2336729
3492829
000
100

simplify148.0ms (2.8%)

Algorithm
egg-herbie
Rules
957×fma-neg_binary64
760×fma-def_binary64
230×distribute-rgt-in_binary64
221×distribute-rgt-neg-in_binary64
201×distribute-lft-in_binary64
Counts
112 → 90
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
023327
152282
2102261
3182261
4354261
5540261
61051261
71688261
82019261
92255261
102197261
112197261
122335261
132335261
142335261
152335261
162190261

prune202.0ms (3.8%)

Pruning

9 alts after pruning (8 fresh and 1 done)

PrunedKeptTotal
New1152117
Fresh268
Picked011
Done101
Total1189127
Error
0.0b
Counts
127 → 9
Alt Table
StatusErrorProgram
0.4b
(-.f64 (+.f64 (*.f64 3 (*.f64 y (sqrt.f64 x))) (*.f64 1/3 (sqrt.f64 (/.f64 1 x)))) (*.f64 3 (sqrt.f64 x)))
0.4b
(*.f64 (sqrt.f64 (*.f64 x 9)) (-.f64 (+.f64 y (/.f64 (/.f64 1/9 (sqrt.f64 x)) (sqrt.f64 x))) 1))
0.4b
(*.f64 (sqrt.f64 x) (fma.f64 3 (+.f64 y (/.f64 1/9 x)) -3))
1.3b
(pow.f64 (cbrt.f64 (*.f64 (*.f64 3 (sqrt.f64 x)) (+.f64 (/.f64 1/9 x) (-.f64 y 1)))) 3)
19.8b
(*.f64 (cbrt.f64 (pow.f64 (*.f64 x 9) 3/2)) (-.f64 (+.f64 y (/.f64 1 (*.f64 x 9))) 1))
0.6b
(*.f64 (pow.f64 (pow.f64 (*.f64 x 9) 1/4) 2) (-.f64 (+.f64 y (/.f64 1 (*.f64 x 9))) 1))
0.4b
(*.f64 (sqrt.f64 (*.f64 x 9)) (-.f64 (+.f64 y (*.f64 1/9 (/.f64 1 x))) 1))
27.5b
(/.f64 (*.f64 (+.f64 (pow.f64 (+.f64 (/.f64 1/9 x) y) 2) -1) (*.f64 3 (sqrt.f64 x))) (+.f64 1 (+.f64 (/.f64 1/9 x) y)))
0.5b
(*.f64 (sqrt.f64 (*.f64 x 9)) (-.f64 (fma.f64 (/.f64 1/3 (sqrt.f64 x)) (/.f64 1/3 (sqrt.f64 x)) y) 1))
Compiler

Compiled 2339 to 1780 computations (23.9% saved)

localize22.0ms (0.4%)

Local error

Found 4 expressions with local error:

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

series53.0ms (1%)

Counts
3 → 0
Calls

3 calls:

24.0ms
(*.f64 3 (*.f64 y (sqrt.f64 x)))
17.0ms
(*.f64 y (sqrt.f64 x))
12.0ms
(*.f64 1/3 (sqrt.f64 (/.f64 1 x)))

rewrite76.0ms (1.4%)

Algorithm
batch-egg-rewrite
Rules
515×log-prod_binary64
301×pow2_binary64
193×pow-unpow_binary64
192×expm1-udef_binary64
192×log1p-udef_binary64
Counts
3 → 56
Calls

3 calls:

74.0ms
(*.f64 y (sqrt.f64 x))
74.0ms
(*.f64 3 (*.f64 y (sqrt.f64 x)))
74.0ms
(*.f64 1/3 (sqrt.f64 (/.f64 1 x)))
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01224
123921
2251521
3513321
000
100

simplify11.0ms (0.2%)

Algorithm
egg-herbie
Counts
56 → 56
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
000
100

prune124.0ms (2.4%)

Pruning

8 alts after pruning (6 fresh and 2 done)

PrunedKeptTotal
New70171
Fresh257
Picked011
Done011
Total72880
Error
0.0b
Counts
80 → 8
Alt Table
StatusErrorProgram
0.4b
(-.f64 (+.f64 (*.f64 3 (*.f64 y (sqrt.f64 x))) (*.f64 1/3 (sqrt.f64 (/.f64 1 x)))) (*.f64 3 (sqrt.f64 x)))
0.4b
(*.f64 (sqrt.f64 (*.f64 x 9)) (-.f64 (+.f64 y (/.f64 (/.f64 1/9 (sqrt.f64 x)) (sqrt.f64 x))) 1))
0.4b
(*.f64 (sqrt.f64 x) (fma.f64 3 (+.f64 y (/.f64 1/9 x)) -3))
1.3b
(pow.f64 (cbrt.f64 (*.f64 (*.f64 3 (sqrt.f64 x)) (+.f64 (/.f64 1/9 x) (-.f64 y 1)))) 3)
19.8b
(*.f64 (cbrt.f64 (pow.f64 (*.f64 x 9) 3/2)) (-.f64 (+.f64 y (/.f64 1 (*.f64 x 9))) 1))
0.6b
(*.f64 (pow.f64 (pow.f64 (*.f64 x 9) 1/4) 2) (-.f64 (+.f64 y (/.f64 1 (*.f64 x 9))) 1))
0.4b
(*.f64 (sqrt.f64 (*.f64 x 9)) (-.f64 (+.f64 y (*.f64 1/9 (/.f64 1 x))) 1))
0.3b
(-.f64 (+.f64 (*.f64 3 (*.f64 y (sqrt.f64 x))) (/.f64 1/3 (sqrt.f64 x))) (*.f64 3 (sqrt.f64 x)))
Compiler

Compiled 1632 to 1073 computations (34.3% saved)

regimes832.0ms (15.8%)

Accuracy

Total 0.3b remaining (90.2%)

Threshold costs 0.3b (90.2%)

Counts
149 → 1
Compiler

Compiled 7673 to 6181 computations (19.4% saved)

simplify4.0ms (0.1%)

Algorithm
egg-herbie
Rules
+-commutative_binary64
*-commutative_binary64
sub-neg_binary64
1-exp_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01121
11921
22021
31821

end226.0ms (4.3%)

Compiler

Compiled 171 to 134 computations (21.6% saved)

Profiling

Loading profile data...