Details

Time bar (total: 6.4s)

analyze117.0ms (1.8%)

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
25%12.5%62.5%6
25%12.5%62.5%7
25%6.2%68.8%8
25%6.2%68.8%9
25%3.1%71.9%10
25%3.1%71.9%11
25%1.6%73.5%12
25%1.6%73.5%13
25%0.8%74.2%14
Compiler

Compiled 23 to 20 computations (13% saved)

sample1.8s (27.9%)

Results
1.4s8256×body128valid
38.0ms232×body128invalid
Compiler

Compiled 68 to 59 computations (13.2% saved)

simplify124.0ms (2%)

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

prune7.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
(*.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)

localize19.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 (sqrt.f64 (fma.f64 a 9 -3)))))
0.2b
(/.f64 rand (sqrt.f64 (fma.f64 a 9 -3)))
0.6b
(sqrt.f64 (fma.f64 a 9 -3))

series89.0ms (1.4%)

Counts
4 → 50
Calls

4 calls:

46.0ms
(/.f64 rand (sqrt.f64 (fma.f64 a 9 -3)))
26.0ms
(*.f64 (-.f64 a 1/3) (+.f64 1 (/.f64 rand (sqrt.f64 (fma.f64 a 9 -3)))))
15.0ms
(sqrt.f64 (fma.f64 a 9 -3))
2.0ms
(fma.f64 a 9 -3)

rewrite21.0ms (0.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:

12.0ms
(*.f64 (-.f64 a 1/3) (+.f64 1 (/.f64 rand (sqrt.f64 (fma.f64 a 9 -3)))))
3.0ms
(/.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)

simplify111.0ms (1.7%)

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

prune234.0ms (3.7%)

Pruning

7 alts after pruning (7 fresh and 0 done)

PrunedKeptTotal
New1557162
Fresh101
Picked101
Done000
Total1577164
Error
0b
Counts
164 → 7
Alt Table
StatusErrorProgram
0.4b
(*.f64 (-.f64 a 1/3) (+.f64 1 (*.f64 (*.f64 (cbrt.f64 rand) (cbrt.f64 rand)) (/.f64 (cbrt.f64 rand) (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.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))))))
7.9b
(/.f64 (*.f64 (+.f64 a -1/3) (-.f64 1 (/.f64 rand (/.f64 (fma.f64 a 9 -3) rand)))) (-.f64 1 (/.f64 rand (sqrt.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 rand (*.f64 (sqrt.f64 (sqrt.f64 (fma.f64 a 9 -3))) (sqrt.f64 (sqrt.f64 (fma.f64 a 9 -3)))))))
0.4b
(*.f64 (-.f64 a 1/3) (+.f64 1 (/.f64 rand (*.f64 (*.f64 (cbrt.f64 (sqrt.f64 (fma.f64 a 9 -3))) (cbrt.f64 (sqrt.f64 (fma.f64 a 9 -3)))) (cbrt.f64 (sqrt.f64 (fma.f64 a 9 -3)))))))
Compiler

Compiled 4054 to 3141 computations (22.5% saved)

localize10.0ms (0.1%)

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

series80.0ms (1.3%)

Counts
4 → 50
Calls

4 calls:

37.0ms
(*.f64 rand (sqrt.f64 (/.f64 1 (fma.f64 a 9 -3))))
27.0ms
(*.f64 (-.f64 a 1/3) (+.f64 1 (*.f64 rand (sqrt.f64 (/.f64 1 (fma.f64 a 9 -3))))))
12.0ms
(sqrt.f64 (/.f64 1 (fma.f64 a 9 -3)))
3.0ms
(/.f64 1 (fma.f64 a 9 -3))

rewrite26.0ms (0.4%)

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:

8.0ms
(*.f64 (-.f64 a 1/3) (+.f64 1 (*.f64 rand (sqrt.f64 (/.f64 1 (fma.f64 a 9 -3))))))
7.0ms
(*.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)))

simplify141.0ms (2.2%)

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

prune419.0ms (6.6%)

Pruning

6 alts after pruning (6 fresh and 0 done)

PrunedKeptTotal
New2083211
Fresh336
Picked101
Done000
Total2126218
Error
0b
Counts
218 → 6
Alt Table
StatusErrorProgram
0.8b
(*.f64 (-.f64 a 1/3) (+.f64 1 (*.f64 rand (sqrt.f64 (+.f64 (*.f64 1/27 (/.f64 1 (pow.f64 a 2))) (*.f64 1/9 (/.f64 1 a)))))))
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))))))
7.4b
(+.f64 (+.f64 -1/3 a) (*.f64 (sqrt.f64 (/.f64 1 (fma.f64 a 9 -3))) (*.f64 rand (+.f64 -1/3 a))))
0.1b
(+.f64 a (fma.f64 rand (*.f64 (sqrt.f64 (/.f64 1 (fma.f64 a 9 -3))) (+.f64 a -1/3)) -1/3))
0.1b
(*.f64 (-.f64 a 1/3) (+.f64 1 (/.f64 (*.f64 rand (sqrt.f64 1)) (sqrt.f64 (fma.f64 a 9 -3)))))
0.4b
(*.f64 (-.f64 a 1/3) (+.f64 1 (*.f64 (*.f64 (cbrt.f64 rand) (cbrt.f64 rand)) (/.f64 (cbrt.f64 rand) (sqrt.f64 (fma.f64 a 9 -3))))))
Compiler

Compiled 5498 to 4433 computations (19.4% saved)

localize22.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 (*.f64 rand (sqrt.f64 1)) (sqrt.f64 (fma.f64 a 9 -3)))))
0.2b
(/.f64 (*.f64 rand (sqrt.f64 1)) (sqrt.f64 (fma.f64 a 9 -3)))
0.6b
(sqrt.f64 (fma.f64 a 9 -3))

series217.0ms (3.4%)

Counts
2 → 34
Calls

2 calls:

150.0ms
(*.f64 (-.f64 a 1/3) (+.f64 1 (/.f64 (*.f64 rand (sqrt.f64 1)) (sqrt.f64 (fma.f64 a 9 -3)))))
67.0ms
(/.f64 (*.f64 rand (sqrt.f64 1)) (sqrt.f64 (fma.f64 a 9 -3)))

rewrite27.0ms (0.4%)

Algorithm
rewrite-expression-head
Rules
12×*-un-lft-identity_binary64
12×add-sqr-sqrt_binary64
add-cbrt-cube_binary64
add-exp-log_binary64
add-cube-cbrt_binary64
Counts
2 → 62
Calls

2 calls:

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

simplify139.0ms (2.2%)

Algorithm
egg-herbie
Rules
777×fma-def_binary64
631×distribute-rgt-in_binary64
565×times-frac_binary64
193×fma-neg_binary64
182×cancel-sign-sub-inv_binary64
Counts
96 → 125
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
02082261
15762102
220581950
349091932
449361932

prune333.0ms (5.2%)

Pruning

6 alts after pruning (5 fresh and 1 done)

PrunedKeptTotal
New1640164
Fresh055
Picked011
Done000
Total1646170
Error
0b
Counts
170 → 6
Alt Table
StatusErrorProgram
0.8b
(*.f64 (-.f64 a 1/3) (+.f64 1 (*.f64 rand (sqrt.f64 (+.f64 (*.f64 1/27 (/.f64 1 (pow.f64 a 2))) (*.f64 1/9 (/.f64 1 a)))))))
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))))))
7.4b
(+.f64 (+.f64 -1/3 a) (*.f64 (sqrt.f64 (/.f64 1 (fma.f64 a 9 -3))) (*.f64 rand (+.f64 -1/3 a))))
0.1b
(+.f64 a (fma.f64 rand (*.f64 (sqrt.f64 (/.f64 1 (fma.f64 a 9 -3))) (+.f64 a -1/3)) -1/3))
0.1b
(*.f64 (-.f64 a 1/3) (+.f64 1 (/.f64 (*.f64 rand (sqrt.f64 1)) (sqrt.f64 (fma.f64 a 9 -3)))))
0.4b
(*.f64 (-.f64 a 1/3) (+.f64 1 (*.f64 (*.f64 (cbrt.f64 rand) (cbrt.f64 rand)) (/.f64 (cbrt.f64 rand) (sqrt.f64 (fma.f64 a 9 -3))))))
Compiler

Compiled 4324 to 3483 computations (19.4% saved)

localize11.0ms (0.2%)

Local error

Found 4 expressions with local error:

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

series132.0ms (2.1%)

Counts
2 → 20
Calls

2 calls:

109.0ms
(fma.f64 rand (*.f64 (sqrt.f64 (/.f64 1 (fma.f64 a 9 -3))) (+.f64 a -1/3)) -1/3)
22.0ms
(*.f64 (sqrt.f64 (/.f64 1 (fma.f64 a 9 -3))) (+.f64 a -1/3))

rewrite27.0ms (0.4%)

Algorithm
rewrite-expression-head
Rules
20×add-sqr-sqrt_binary64
16×associate-*l*_binary64
16×sqrt-prod_binary64
14×*-un-lft-identity_binary64
11×times-frac_binary64
Counts
2 → 54
Calls

2 calls:

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

simplify130.0ms (2%)

Algorithm
egg-herbie
Rules
568×fma-def_binary64
505×times-frac_binary64
452×fma-neg_binary64
308×associate-/l*_binary64
270×distribute-rgt-in_binary64
Counts
74 → 109
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
01631874
14631634
213821601
348831595
451711595

prune586.0ms (9.2%)

Pruning

5 alts after pruning (4 fresh and 1 done)

PrunedKeptTotal
New1952197
Fresh224
Picked101
Done011
Total1985203
Error
0b
Counts
203 → 5
Alt Table
StatusErrorProgram
0.8b
(*.f64 (-.f64 a 1/3) (+.f64 1 (*.f64 rand (sqrt.f64 (+.f64 (*.f64 1/27 (/.f64 1 (pow.f64 a 2))) (*.f64 1/9 (/.f64 1 a)))))))
0.1b
(*.f64 (-.f64 a 1/3) (+.f64 1 (/.f64 (*.f64 rand (sqrt.f64 1)) (sqrt.f64 (fma.f64 a 9 -3)))))
7.4b
(+.f64 a (fma.f64 (sqrt.f64 (/.f64 1 (fma.f64 a 9 -3))) (*.f64 rand (+.f64 -1/3 a)) -1/3))
0.4b
(*.f64 (-.f64 a 1/3) (+.f64 1 (*.f64 (*.f64 (cbrt.f64 rand) (cbrt.f64 rand)) (/.f64 (cbrt.f64 rand) (sqrt.f64 (fma.f64 a 9 -3))))))
0.1b
(+.f64 a (fma.f64 rand (*.f64 (pow.f64 (fma.f64 a 9 -3) -1/2) (+.f64 a -1/3)) -1/3))
Compiler

Compiled 4983 to 3939 computations (21% saved)

regimes1.4s (22.6%)

Accuracy

Total 0.1b remaining (86%)

Threshold costs 0.1b (86%)

Counts
180 → 1
Compiler

Compiled 13734 to 11118 computations (19% saved)

simplify4.0ms (0.1%)

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

Useful iterations: 0 (0.0ms)

IterNodesCost
01419
12119
22219
32019

end123.0ms (1.9%)

Compiler

Compiled 129 to 101 computations (21.7% saved)

Profiling

Loading profile data...