Details

Time bar (total: 3.9s)

analyze111.0ms (2.9%)

Algorithm
search
Search
TrueOtherFalseIter
0%99.9%0.1%0
0%99.9%0.1%1
0%50%50%2
0%50%50%3
0%50%50%4
6.2%43.7%50%5
9.4%28.1%62.5%6
12.5%25%62.5%7
15.6%15.6%68.8%8
16.8%14.4%68.8%9
18.5%8.8%72.7%10
19.2%7.7%73.1%11
20.1%4.6%75.2%12
20.5%4%75.5%13
21%2.4%76.6%14
Compiler

Compiled 23 to 20 computations (13% saved)

sample271.0ms (7%)

Algorithm
intervals
Results
22.0ms256×body128valid
1.0ms11×body128nan
0.0msbody128invalid
Compiler

Compiled 47 to 41 computations (12.8% saved)

simplify97.0ms (2.5%)

Algorithm
egg-herbie
Rules
1035×fma-def_binary64
742×fma-neg_binary64
189×distribute-rgt-in_binary64
173×cancel-sign-sub-inv_binary64
156×distribute-lft-in_binary64
Counts
1 → 2
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
01524
13221
27519
316819
435819
567819
690119
7144619
8191419
9187319
10191619
11191519
12191219
13246519
14246519
15232119

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.1b
(*.f64 (-.f64 a (/.f64 1 3)) (+.f64 1 (*.f64 (/.f64 1 (sqrt.f64 (*.f64 9 (-.f64 a (/.f64 1 3))))) rand)))
0.1b
(*.f64 (-.f64 a 1/3) (+.f64 1 (/.f64 rand (sqrt.f64 (fma.f64 a 9 -3)))))
Compiler

Compiled 109 to 91 computations (16.5% saved)

localize8.0ms (0.2%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.0b
(fma.f64 a 9 -3)
0.1b
(*.f64 (-.f64 a 1/3) (+.f64 1 (/.f64 rand (sqrt.f64 (fma.f64 a 9 -3)))))
0.2b
(/.f64 rand (sqrt.f64 (fma.f64 a 9 -3)))
0.9b
(sqrt.f64 (fma.f64 a 9 -3))

series120.0ms (3.1%)

Counts
4 → 50
Calls

4 calls:

74.0ms
(*.f64 (-.f64 a 1/3) (+.f64 1 (/.f64 rand (sqrt.f64 (fma.f64 a 9 -3)))))
34.0ms
(/.f64 rand (sqrt.f64 (fma.f64 a 9 -3)))
10.0ms
(sqrt.f64 (fma.f64 a 9 -3))
2.0ms
(fma.f64 a 9 -3)

rewrite50.0ms (1.3%)

Algorithm
rewrite-expression-head
Rules
27×add-sqr-sqrt_binary64
26×*-un-lft-identity_binary64
22×add-cube-cbrt_binary64
18×times-frac_binary64
15×sqrt-prod_binary64
Counts
4 → 99
Calls

4 calls:

33.0ms
(/.f64 rand (sqrt.f64 (fma.f64 a 9 -3)))
11.0ms
(*.f64 (-.f64 a 1/3) (+.f64 1 (/.f64 rand (sqrt.f64 (fma.f64 a 9 -3)))))
1.0ms
(sqrt.f64 (fma.f64 a 9 -3))
0.0ms
(fma.f64 a 9 -3)

simplify147.0ms (3.8%)

Algorithm
egg-herbie
Rules
754×fma-def_binary64
652×distribute-rgt-in_binary64
401×times-frac_binary64
187×cancel-sign-sub-inv_binary64
151×fma-neg_binary64
Counts
149 → 162
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
02422971
16482791
221982639
349752621
449642621

prune218.0ms (5.6%)

Pruning

9 alts after pruning (8 fresh and 1 done)

PrunedKeptTotal
New1548162
Fresh101
Picked011
Done000
Total1559164
Error
0.0b
Counts
164 → 9
Alt Table
StatusErrorProgram
0.5b
(*.f64 (sqrt.f64 (-.f64 a 1/3)) (*.f64 (sqrt.f64 (-.f64 a 1/3)) (+.f64 1 (/.f64 rand (sqrt.f64 (fma.f64 a 9 -3))))))
0.3b
(*.f64 (-.f64 a 1/3) (+.f64 1 (*.f64 (/.f64 1 (fabs.f64 (cbrt.f64 (fma.f64 a 9 -3)))) (/.f64 rand (sqrt.f64 (cbrt.f64 (fma.f64 a 9 -3)))))))
9.6b
(*.f64 (*.f64 (-.f64 a 1/3) (sqrt.f64 (+.f64 1 (/.f64 rand (sqrt.f64 (fma.f64 a 9 -3)))))) (sqrt.f64 (+.f64 1 (/.f64 rand (sqrt.f64 (fma.f64 a 9 -3))))))
0.2b
(*.f64 (-.f64 a 1/3) (+.f64 1 (/.f64 rand (*.f64 (fabs.f64 (cbrt.f64 (fma.f64 a 9 -3))) (sqrt.f64 (cbrt.f64 (fma.f64 a 9 -3)))))))
0.1b
(+.f64 a (fma.f64 rand (*.f64 (sqrt.f64 (/.f64 1 (fma.f64 a 9 -3))) (+.f64 a -1/3)) -1/3))
0.2b
(*.f64 (-.f64 a 1/3) (+.f64 1 (*.f64 (/.f64 1 (sqrt.f64 (sqrt.f64 (fma.f64 a 9 -3)))) (/.f64 rand (sqrt.f64 (sqrt.f64 (fma.f64 a 9 -3)))))))
0.4b
(*.f64 (-.f64 a 1/3) (+.f64 1 (*.f64 (/.f64 (*.f64 (cbrt.f64 rand) (cbrt.f64 rand)) (sqrt.f64 (sqrt.f64 (fma.f64 a 9 -3)))) (/.f64 (cbrt.f64 rand) (sqrt.f64 (sqrt.f64 (fma.f64 a 9 -3)))))))
0.1b
(*.f64 (-.f64 a 1/3) (+.f64 1 (*.f64 rand (sqrt.f64 (/.f64 1 (fma.f64 a 9 -3))))))
0.1b
(*.f64 (-.f64 a 1/3) (+.f64 1 (/.f64 rand (sqrt.f64 (fma.f64 a 9 -3)))))
Compiler

Compiled 4127 to 3205 computations (22.3% saved)

localize11.0ms (0.3%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.1b
(*.f64 (-.f64 a 1/3) (+.f64 1 (*.f64 rand (sqrt.f64 (/.f64 1 (fma.f64 a 9 -3))))))
0.2b
(sqrt.f64 (/.f64 1 (fma.f64 a 9 -3)))
0.2b
(*.f64 rand (sqrt.f64 (/.f64 1 (fma.f64 a 9 -3))))
0.8b
(/.f64 1 (fma.f64 a 9 -3))

series77.0ms (2%)

Counts
4 → 50
Calls

4 calls:

34.0ms
(*.f64 rand (sqrt.f64 (/.f64 1 (fma.f64 a 9 -3))))
26.0ms
(*.f64 (-.f64 a 1/3) (+.f64 1 (*.f64 rand (sqrt.f64 (/.f64 1 (fma.f64 a 9 -3))))))
14.0ms
(sqrt.f64 (/.f64 1 (fma.f64 a 9 -3)))
3.0ms
(/.f64 1 (fma.f64 a 9 -3))

rewrite50.0ms (1.3%)

Algorithm
rewrite-expression-head
Rules
47×add-sqr-sqrt_binary64
34×*-un-lft-identity_binary64
31×times-frac_binary64
30×add-cube-cbrt_binary64
29×sqrt-prod_binary64
Counts
4 → 132
Calls

4 calls:

32.0ms
(*.f64 rand (sqrt.f64 (/.f64 1 (fma.f64 a 9 -3))))
7.0ms
(*.f64 (-.f64 a 1/3) (+.f64 1 (*.f64 rand (sqrt.f64 (/.f64 1 (fma.f64 a 9 -3))))))
2.0ms
(/.f64 1 (fma.f64 a 9 -3))
2.0ms
(sqrt.f64 (/.f64 1 (fma.f64 a 9 -3)))

simplify97.0ms (2.5%)

Algorithm
egg-herbie
Rules
682×distribute-rgt-in_binary64
494×times-frac_binary64
251×cancel-sign-sub-inv_binary64
184×associate-*r*_binary64
176×fma-neg_binary64
Counts
182 → 211
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
02773720
17583469
226943204
350973204

prune285.0ms (7.4%)

Pruning

7 alts after pruning (6 fresh and 1 done)

PrunedKeptTotal
New2083211
Fresh437
Picked101
Done011
Total2137220
Error
0.0b
Counts
220 → 7
Alt Table
StatusErrorProgram
0.1b
(*.f64 (-.f64 a 1/3) (+.f64 1 (*.f64 rand (pow.f64 (fma.f64 a 9 -3) -1/2))))
0.1b
(+.f64 a (fma.f64 rand (*.f64 (sqrt.f64 (/.f64 1 (fma.f64 a 9 -3))) (+.f64 a -1/3)) -1/3))
0.5b
(*.f64 (sqrt.f64 (-.f64 a 1/3)) (*.f64 (sqrt.f64 (-.f64 a 1/3)) (+.f64 1 (/.f64 rand (sqrt.f64 (fma.f64 a 9 -3))))))
0.7b
(*.f64 (-.f64 a 1/3) (+.f64 1 (*.f64 rand (sqrt.f64 (/.f64 1/9 a)))))
0.2b
(*.f64 (-.f64 a 1/3) (+.f64 1 (*.f64 (/.f64 1 (sqrt.f64 (sqrt.f64 (fma.f64 a 9 -3)))) (/.f64 rand (sqrt.f64 (sqrt.f64 (fma.f64 a 9 -3)))))))
0.1b
(+.f64 (*.f64 1 (-.f64 a 1/3)) (*.f64 (*.f64 rand (sqrt.f64 (/.f64 1 (fma.f64 a 9 -3)))) (-.f64 a 1/3)))
0.1b
(*.f64 (-.f64 a 1/3) (+.f64 1 (/.f64 rand (sqrt.f64 (fma.f64 a 9 -3)))))
Compiler

Compiled 5499 to 4439 computations (19.3% saved)

localize10.0ms (0.3%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.0b
(fma.f64 a 9 -3)
0.1b
(*.f64 (-.f64 a 1/3) (+.f64 1 (*.f64 rand (pow.f64 (fma.f64 a 9 -3) -1/2))))
0.2b
(*.f64 rand (pow.f64 (fma.f64 a 9 -3) -1/2))
0.8b
(pow.f64 (fma.f64 a 9 -3) -1/2)

series121.0ms (3.1%)

Counts
3 → 46
Calls

3 calls:

88.0ms
(*.f64 rand (pow.f64 (fma.f64 a 9 -3) -1/2))
28.0ms
(*.f64 (-.f64 a 1/3) (+.f64 1 (*.f64 rand (pow.f64 (fma.f64 a 9 -3) -1/2))))
5.0ms
(pow.f64 (fma.f64 a 9 -3) -1/2)

rewrite17.0ms (0.4%)

Algorithm
rewrite-expression-head
Rules
19×add-sqr-sqrt_binary64
12×*-un-lft-identity_binary64
11×add-exp-log_binary64
10×associate-*r*_binary64
10×add-cube-cbrt_binary64
Counts
3 → 78
Calls

3 calls:

8.0ms
(*.f64 (-.f64 a 1/3) (+.f64 1 (*.f64 rand (pow.f64 (fma.f64 a 9 -3) -1/2))))
4.0ms
(*.f64 rand (pow.f64 (fma.f64 a 9 -3) -1/2))
2.0ms
(pow.f64 (fma.f64 a 9 -3) -1/2)

simplify75.0ms (1.9%)

Algorithm
egg-herbie
Rules
651×distribute-rgt-in_binary64
463×times-frac_binary64
221×cancel-sign-sub-inv_binary64
197×associate-*r*_binary64
188×associate-*l*_binary64
Counts
124 → 156
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
02632998
17342781
225862547
349742547

prune205.0ms (5.3%)

Pruning

6 alts after pruning (5 fresh and 1 done)

PrunedKeptTotal
New1711172
Fresh145
Picked101
Done011
Total1736179
Error
0.0b
Counts
179 → 6
Alt Table
StatusErrorProgram
0.1b
(+.f64 a (fma.f64 rand (*.f64 (sqrt.f64 (/.f64 1 (fma.f64 a 9 -3))) (+.f64 a -1/3)) -1/3))
0.5b
(*.f64 (sqrt.f64 (-.f64 a 1/3)) (*.f64 (sqrt.f64 (-.f64 a 1/3)) (+.f64 1 (/.f64 rand (sqrt.f64 (fma.f64 a 9 -3))))))
0.7b
(*.f64 (-.f64 a 1/3) (+.f64 1 (*.f64 rand (sqrt.f64 (/.f64 1/9 a)))))
0.2b
(*.f64 (-.f64 a 1/3) (+.f64 1 (*.f64 (/.f64 1 (sqrt.f64 (sqrt.f64 (fma.f64 a 9 -3)))) (/.f64 rand (sqrt.f64 (sqrt.f64 (fma.f64 a 9 -3)))))))
0.1b
(+.f64 (+.f64 -1/3 a) (*.f64 (+.f64 -1/3 a) (*.f64 rand (pow.f64 (fma.f64 a 9 -3) -1/2))))
0.1b
(*.f64 (-.f64 a 1/3) (+.f64 1 (/.f64 rand (sqrt.f64 (fma.f64 a 9 -3)))))
Compiler

Compiled 4525 to 3595 computations (20.6% saved)

localize10.0ms (0.3%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.0b
(fma.f64 a 9 -3)
0.2b
(*.f64 rand (pow.f64 (fma.f64 a 9 -3) -1/2))
0.8b
(pow.f64 (fma.f64 a 9 -3) -1/2)
9.2b
(*.f64 (+.f64 -1/3 a) (*.f64 rand (pow.f64 (fma.f64 a 9 -3) -1/2)))

series43.0ms (1.1%)

Counts
1 → 16
Calls

1 calls:

43.0ms
(*.f64 (+.f64 -1/3 a) (*.f64 rand (pow.f64 (fma.f64 a 9 -3) -1/2)))

rewrite8.0ms (0.2%)

Algorithm
rewrite-expression-head
Rules
11×add-exp-log_binary64
prod-exp_binary64
add-cbrt-cube_binary64
associate-*l*_binary64
*-un-lft-identity_binary64
Counts
1 → 24
Calls

1 calls:

6.0ms
(*.f64 (+.f64 -1/3 a) (*.f64 rand (pow.f64 (fma.f64 a 9 -3) -1/2)))

simplify57.0ms (1.5%)

Algorithm
egg-herbie
Rules
794×associate-*l*_binary64
354×associate-/r/_binary64
280×associate-/l/_binary64
243×fma-def_binary64
209×*-commutative_binary64
Counts
40 → 44
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
0106931
1285845
2917825
33409788
45114788

prune175.0ms (4.5%)

Pruning

6 alts after pruning (4 fresh and 2 done)

PrunedKeptTotal
New1470147
Fresh044
Picked011
Done011
Total1476153
Error
0.0b
Counts
153 → 6
Alt Table
StatusErrorProgram
0.1b
(+.f64 a (fma.f64 rand (*.f64 (sqrt.f64 (/.f64 1 (fma.f64 a 9 -3))) (+.f64 a -1/3)) -1/3))
0.5b
(*.f64 (sqrt.f64 (-.f64 a 1/3)) (*.f64 (sqrt.f64 (-.f64 a 1/3)) (+.f64 1 (/.f64 rand (sqrt.f64 (fma.f64 a 9 -3))))))
0.7b
(*.f64 (-.f64 a 1/3) (+.f64 1 (*.f64 rand (sqrt.f64 (/.f64 1/9 a)))))
0.2b
(*.f64 (-.f64 a 1/3) (+.f64 1 (*.f64 (/.f64 1 (sqrt.f64 (sqrt.f64 (fma.f64 a 9 -3)))) (/.f64 rand (sqrt.f64 (sqrt.f64 (fma.f64 a 9 -3)))))))
0.1b
(+.f64 (+.f64 -1/3 a) (*.f64 (+.f64 -1/3 a) (*.f64 rand (pow.f64 (fma.f64 a 9 -3) -1/2))))
0.1b
(*.f64 (-.f64 a 1/3) (+.f64 1 (/.f64 rand (sqrt.f64 (fma.f64 a 9 -3)))))
Compiler

Compiled 3905 to 3036 computations (22.3% saved)

regimes547.0ms (14.1%)

Accuracy

Total 0.1b remaining (83.7%)

Threshold costs 0.1b (83.7%)

Counts
112 → 1
Compiler

Compiled 9586 to 7654 computations (20.2% saved)

simplify4.0ms (0.1%)

Algorithm
egg-herbie
Rules
+-commutative_binary64
*-commutative_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01323
11723
21723

end1.0ms (0%)

Compiler

Compiled 18 to 14 computations (22.2% saved)

sample1.0s (27.1%)

Algorithm
intervals
Results
664.0ms8000×body128valid
23.0ms311×body128nan
18.0ms246×body128invalid
Compiler

Compiled 154 to 125 computations (18.8% saved)

Profiling

Loading profile data...