Details

Time bar (total: 4.7s)

analyze354.0ms (7.6%)

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)

sample33.0ms (0.7%)

Algorithm
intervals
Results
22.0ms256×body128valid
1.0msbody128invalid
1.0msbody128nan
Compiler

Compiled 47 to 41 computations (12.8% saved)

simplify102.0ms (2.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 → 1
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

2 alts after pruning (2 fresh and 0 done)

PrunedKeptTotal
New011
Fresh011
Picked000
Done000
Total022
Error
0.1b
Counts
2 → 2
Alt Table
StatusErrorProgram
0.1b
(*.f64 (-.f64 a 1/3) (+.f64 1 (/.f64 rand (sqrt.f64 (fma.f64 a 9 -3)))))
0.1b
(*.f64 (-.f64 a (/.f64 1 3)) (+.f64 1 (*.f64 (/.f64 1 (sqrt.f64 (*.f64 9 (-.f64 a (/.f64 1 3))))) rand)))
Compiler

Compiled 89 to 74 computations (16.9% saved)

localize47.0ms (1%)

Local error

Found 4 expressions with local error:

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

rewrite257.0ms (5.5%)

Algorithm
rewrite-expression-head
Error
0.0b
Rules
32×add-cube-cbrt_binary64
23×pow1_binary64
22×add-sqr-sqrt_binary64
18×add-cbrt-cube_binary64
16×add-exp-log_binary64
Counts
4 → 167
Calls

4 calls:

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

Compiled 3066 to 2431 computations (20.7% saved)

series63.0ms (1.4%)

Error
0.1b
Counts
4 → 24
Calls

4 calls:

25.0ms
(*.f64 (-.f64 a 1/3) (+.f64 1 (/.f64 rand (sqrt.f64 (fma.f64 a 9 -3)))))
19.0ms
(/.f64 rand (sqrt.f64 (fma.f64 a 9 -3)))
7.0ms
(fma.f64 a 9 -3)
5.0ms
(sqrt.f64 (fma.f64 a 9 -3))
Compiler

Compiled 874 to 695 computations (20.5% saved)

simplify105.0ms (2.3%)

Algorithm
egg-herbie
Rules
666×fma-def_binary64
569×associate-/l*_binary64
242×cancel-sign-sub-inv_binary64
164×associate-*l*_binary64
159×distribute-rgt-neg-in_binary64
Counts
191 → 117
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
02022573
15062357
219792298
352802298

prune105.0ms (2.3%)

Pruning

7 alts after pruning (6 fresh and 1 done)

PrunedKeptTotal
New1116117
Fresh101
Picked011
Done000
Total1127119
Error
0.0b
Counts
119 → 7
Alt Table
StatusErrorProgram
1.3b
(*.f64 (*.f64 (cbrt.f64 (*.f64 (+.f64 a -1/3) (+.f64 1 (/.f64 rand (sqrt.f64 (fma.f64 9 a -3)))))) (cbrt.f64 (*.f64 (+.f64 a -1/3) (+.f64 1 (/.f64 rand (sqrt.f64 (fma.f64 9 a -3))))))) (cbrt.f64 (*.f64 (+.f64 a -1/3) (+.f64 1 (/.f64 rand (sqrt.f64 (fma.f64 9 a -3)))))))
26.9b
(*.f64 (-.f64 a 1/3) (+.f64 1 (*.f64 (sqrt.f64 (/.f64 rand (sqrt.f64 (fma.f64 9 a -3)))) (sqrt.f64 (/.f64 rand (sqrt.f64 (fma.f64 9 a -3)))))))
0.1b
(*.f64 (-.f64 a 1/3) (+.f64 1 (/.f64 rand (sqrt.f64 (fma.f64 a 9 -3)))))
0.2b
(*.f64 (-.f64 a 1/3) (+.f64 1 (/.f64 rand (*.f64 (pow.f64 (fma.f64 9 a -3) 1/4) (pow.f64 (fma.f64 9 a -3) 1/4)))))
0.1b
(*.f64 (-.f64 a 1/3) (+.f64 1 (*.f64 rand (sqrt.f64 (/.f64 1 (fma.f64 9 a -3))))))
0.4b
(*.f64 (*.f64 (+.f64 a -1/3) (*.f64 (cbrt.f64 (+.f64 1 (/.f64 rand (sqrt.f64 (fma.f64 9 a -3))))) (cbrt.f64 (+.f64 1 (/.f64 rand (sqrt.f64 (fma.f64 9 a -3))))))) (cbrt.f64 (+.f64 1 (/.f64 rand (sqrt.f64 (fma.f64 a 9 -3))))))
41.2b
(/.f64 (*.f64 (pow.f64 (+.f64 a -1/3) 2) (-.f64 1 (*.f64 (/.f64 rand (fma.f64 9 a -3)) rand))) (*.f64 (+.f64 a -1/3) (-.f64 1 (/.f64 rand (sqrt.f64 (fma.f64 9 a -3))))))
Compiler

Compiled 2254 to 1784 computations (20.9% saved)

localize10.0ms (0.2%)

Local error

Found 4 expressions with local error:

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

rewrite366.0ms (7.9%)

Algorithm
rewrite-expression-head
Error
0.0b
Rules
32×add-cube-cbrt_binary64
26×add-sqr-sqrt_binary64
23×pow1_binary64
20×add-exp-log_binary64
20×add-cbrt-cube_binary64
Counts
4 → 184
Calls

4 calls:

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

Compiled 3796 to 3131 computations (17.5% saved)

series68.0ms (1.5%)

Error
0.0b
Counts
4 → 27
Calls

4 calls:

24.0ms
(*.f64 (-.f64 a 1/3) (+.f64 1 (*.f64 rand (sqrt.f64 (/.f64 1 (fma.f64 9 a -3))))))
19.0ms
(*.f64 rand (sqrt.f64 (/.f64 1 (fma.f64 9 a -3))))
10.0ms
(/.f64 1 (fma.f64 9 a -3))
5.0ms
(sqrt.f64 (/.f64 1 (fma.f64 9 a -3)))
Compiler

Compiled 1079 to 869 computations (19.5% saved)

simplify96.0ms (2.1%)

Algorithm
egg-herbie
Rules
841×fma-def_binary64
327×times-frac_binary64
303×unswap-sqr_binary64
272×cancel-sign-sub-inv_binary64
233×associate-*l*_binary64
Counts
211 → 140
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
02353170
15592837
221252800
349442800

prune135.0ms (2.9%)

Pruning

6 alts after pruning (5 fresh and 1 done)

PrunedKeptTotal
New1373140
Fresh325
Picked101
Done011
Total1416147
Error
0.0b
Counts
147 → 6
Alt Table
StatusErrorProgram
0.4b
(*.f64 (-.f64 a 1/3) (+.f64 1 (*.f64 rand (sqrt.f64 (+.f64 (/.f64 1/9 a) (/.f64 1/27 (*.f64 a a)))))))
0.1b
(*.f64 (-.f64 a 1/3) (+.f64 1 (/.f64 rand (sqrt.f64 (fma.f64 a 9 -3)))))
1.3b
(*.f64 (*.f64 (cbrt.f64 (-.f64 a 1/3)) (cbrt.f64 (-.f64 a 1/3))) (*.f64 (fma.f64 rand (sqrt.f64 (/.f64 1 (fma.f64 a 9 -3))) 1) (cbrt.f64 (+.f64 -1/3 a))))
0.4b
(*.f64 (*.f64 (+.f64 a -1/3) (*.f64 (cbrt.f64 (+.f64 1 (/.f64 rand (sqrt.f64 (fma.f64 9 a -3))))) (cbrt.f64 (+.f64 1 (/.f64 rand (sqrt.f64 (fma.f64 9 a -3))))))) (cbrt.f64 (+.f64 1 (/.f64 rand (sqrt.f64 (fma.f64 a 9 -3))))))
3.2b
(*.f64 (-.f64 a 1/3) (+.f64 1 (*.f64 rand (cbrt.f64 (pow.f64 (sqrt.f64 (/.f64 1 (fma.f64 a 9 -3))) 3)))))
41.2b
(/.f64 (*.f64 (pow.f64 (+.f64 a -1/3) 2) (-.f64 1 (*.f64 (/.f64 rand (fma.f64 9 a -3)) rand))) (*.f64 (+.f64 a -1/3) (-.f64 1 (/.f64 rand (sqrt.f64 (fma.f64 9 a -3))))))
Compiler

Compiled 2610 to 2102 computations (19.5% saved)

localize21.0ms (0.4%)

Local error

Found 4 expressions with local error:

0.2b
(cbrt.f64 (+.f64 1 (/.f64 rand (sqrt.f64 (fma.f64 9 a -3)))))
0.6b
(sqrt.f64 (fma.f64 a 9 -3))
0.6b
(sqrt.f64 (fma.f64 9 a -3))
0.6b
(sqrt.f64 (fma.f64 9 a -3))

rewrite270.0ms (5.8%)

Algorithm
rewrite-expression-head
Error
0.0b
Rules
25×add-cube-cbrt_binary64
22×add-sqr-sqrt_binary64
14×pow1_binary64
12×pow1/2_binary64
12×log1p-expm1-u_binary64
Counts
4 → 140
Calls

4 calls:

53.0ms
(sqrt.f64 (fma.f64 9 a -3))
12.0ms
(sqrt.f64 (fma.f64 a 9 -3))
11.0ms
(sqrt.f64 (fma.f64 9 a -3))
11.0ms
(cbrt.f64 (+.f64 1 (/.f64 rand (sqrt.f64 (fma.f64 9 a -3)))))
Compiler

Compiled 4287 to 3511 computations (18.1% saved)

series76.0ms (1.6%)

Error
0.0b
Counts
4 → 19
Calls

4 calls:

41.0ms
(cbrt.f64 (+.f64 1 (/.f64 rand (sqrt.f64 (fma.f64 9 a -3)))))
8.0ms
(sqrt.f64 (fma.f64 9 a -3))
7.0ms
(sqrt.f64 (fma.f64 9 a -3))
7.0ms
(sqrt.f64 (fma.f64 a 9 -3))
Compiler

Compiled 2248 to 1869 computations (16.9% saved)

simplify115.0ms (2.5%)

Algorithm
egg-herbie
Rules
682×times-frac_binary64
490×fma-def_binary64
399×associate-/l*_binary64
393×fma-neg_binary64
290×associate-*l*_binary64
Counts
159 → 48
Iterations

Useful iterations: 4 (0.0ms)

IterNodesCost
01371593
12391555
24771521
312971449
441631448
549381448
649071448

prune79.0ms (1.7%)

Pruning

7 alts after pruning (5 fresh and 2 done)

PrunedKeptTotal
New47148
Fresh044
Picked011
Done011
Total47754
Error
0.0b
Counts
54 → 7
Alt Table
StatusErrorProgram
0.4b
(*.f64 (*.f64 (+.f64 a -1/3) (*.f64 (cbrt.f64 (+.f64 1 (/.f64 rand (sqrt.f64 (fma.f64 9 a -3))))) (cbrt.f64 (+.f64 1 (/.f64 rand (sqrt.f64 (fma.f64 9 a -3))))))) (cbrt.f64 (+.f64 1 (/.f64 rand (*.f64 (*.f64 (cbrt.f64 (sqrt.f64 (fma.f64 9 a -3))) (cbrt.f64 (sqrt.f64 (fma.f64 9 a -3)))) (cbrt.f64 (sqrt.f64 (fma.f64 9 a -3))))))))
0.1b
(*.f64 (-.f64 a 1/3) (+.f64 1 (/.f64 rand (sqrt.f64 (fma.f64 a 9 -3)))))
0.4b
(*.f64 (-.f64 a 1/3) (+.f64 1 (*.f64 rand (sqrt.f64 (+.f64 (/.f64 1/9 a) (/.f64 1/27 (*.f64 a a)))))))
1.3b
(*.f64 (*.f64 (cbrt.f64 (-.f64 a 1/3)) (cbrt.f64 (-.f64 a 1/3))) (*.f64 (fma.f64 rand (sqrt.f64 (/.f64 1 (fma.f64 a 9 -3))) 1) (cbrt.f64 (+.f64 -1/3 a))))
0.4b
(*.f64 (*.f64 (+.f64 a -1/3) (*.f64 (cbrt.f64 (+.f64 1 (/.f64 rand (sqrt.f64 (fma.f64 9 a -3))))) (cbrt.f64 (+.f64 1 (/.f64 rand (sqrt.f64 (fma.f64 9 a -3))))))) (cbrt.f64 (+.f64 1 (/.f64 rand (sqrt.f64 (fma.f64 a 9 -3))))))
3.2b
(*.f64 (-.f64 a 1/3) (+.f64 1 (*.f64 rand (cbrt.f64 (pow.f64 (sqrt.f64 (/.f64 1 (fma.f64 a 9 -3))) 3)))))
41.2b
(/.f64 (*.f64 (pow.f64 (+.f64 a -1/3) 2) (-.f64 1 (*.f64 (/.f64 rand (fma.f64 9 a -3)) rand))) (*.f64 (+.f64 a -1/3) (-.f64 1 (/.f64 rand (sqrt.f64 (fma.f64 9 a -3))))))
Compiler

Compiled 2197 to 1786 computations (18.7% saved)

localize25.0ms (0.5%)

Local error

Found 4 expressions with local error:

0.6b
(sqrt.f64 (fma.f64 9 a -3))
0.6b
(sqrt.f64 (fma.f64 9 a -3))
0.6b
(sqrt.f64 (fma.f64 9 a -3))
0.6b
(sqrt.f64 (fma.f64 9 a -3))

rewrite309.0ms (6.6%)

Algorithm
rewrite-expression-head
Error
0.0b
Rules
24×add-sqr-sqrt_binary64
24×add-cube-cbrt_binary64
16×pow1_binary64
16×pow1/2_binary64
12×add-cbrt-cube_binary64
Counts
4 → 140
Calls

4 calls:

12.0ms
(sqrt.f64 (fma.f64 9 a -3))
11.0ms
(sqrt.f64 (fma.f64 9 a -3))
11.0ms
(sqrt.f64 (fma.f64 9 a -3))
11.0ms
(sqrt.f64 (fma.f64 9 a -3))
Compiler

Compiled 5541 to 4608 computations (16.8% saved)

series41.0ms (0.9%)

Error
0.0b
Counts
4 → 12
Calls

4 calls:

10.0ms
(sqrt.f64 (fma.f64 9 a -3))
10.0ms
(sqrt.f64 (fma.f64 9 a -3))
8.0ms
(sqrt.f64 (fma.f64 9 a -3))
8.0ms
(sqrt.f64 (fma.f64 9 a -3))
Compiler

Compiled 1502 to 1242 computations (17.3% saved)

simplify175.0ms (3.8%)

Algorithm
egg-herbie
Rules
423×sqr-pow_binary64
374×unswap-sqr_binary64
359×*-commutative_binary64
277×fma-def_binary64
253×fma-neg_binary64
Counts
152 → 40
Iterations

Useful iterations: 4 (0.0ms)

IterNodesCost
034896
148880
267880
398880
4140872
5205872
6469872
7955872
81652872
91997872
102359872
112774872
123414872
134683872
144982872
154570872

prune86.0ms (1.8%)

Pruning

8 alts after pruning (5 fresh and 3 done)

PrunedKeptTotal
New39140
Fresh044
Picked011
Done022
Total39847
Error
0.0b
Counts
47 → 8
Alt Table
StatusErrorProgram
0.4b
(*.f64 (*.f64 (+.f64 a -1/3) (*.f64 (cbrt.f64 (+.f64 1 (/.f64 rand (sqrt.f64 (fma.f64 9 a -3))))) (cbrt.f64 (+.f64 1 (/.f64 rand (sqrt.f64 (fma.f64 9 a -3))))))) (cbrt.f64 (+.f64 1 (/.f64 rand (*.f64 (*.f64 (cbrt.f64 (sqrt.f64 (fma.f64 9 a -3))) (cbrt.f64 (sqrt.f64 (fma.f64 9 a -3)))) (cbrt.f64 (sqrt.f64 (fma.f64 9 a -3))))))))
0.1b
(*.f64 (-.f64 a 1/3) (+.f64 1 (/.f64 rand (sqrt.f64 (fma.f64 a 9 -3)))))
0.4b
(*.f64 (-.f64 a 1/3) (+.f64 1 (*.f64 rand (sqrt.f64 (+.f64 (/.f64 1/9 a) (/.f64 1/27 (*.f64 a a)))))))
3.4b
(*.f64 (*.f64 (+.f64 a -1/3) (*.f64 (cbrt.f64 (+.f64 1 (/.f64 rand (cbrt.f64 (pow.f64 (sqrt.f64 (fma.f64 9 a -3)) 3))))) (cbrt.f64 (+.f64 1 (/.f64 rand (sqrt.f64 (fma.f64 9 a -3))))))) (cbrt.f64 (+.f64 1 (/.f64 rand (*.f64 (*.f64 (cbrt.f64 (sqrt.f64 (fma.f64 9 a -3))) (cbrt.f64 (sqrt.f64 (fma.f64 9 a -3)))) (cbrt.f64 (sqrt.f64 (fma.f64 9 a -3))))))))
1.3b
(*.f64 (*.f64 (cbrt.f64 (-.f64 a 1/3)) (cbrt.f64 (-.f64 a 1/3))) (*.f64 (fma.f64 rand (sqrt.f64 (/.f64 1 (fma.f64 a 9 -3))) 1) (cbrt.f64 (+.f64 -1/3 a))))
0.4b
(*.f64 (*.f64 (+.f64 a -1/3) (*.f64 (cbrt.f64 (+.f64 1 (/.f64 rand (sqrt.f64 (fma.f64 9 a -3))))) (cbrt.f64 (+.f64 1 (/.f64 rand (sqrt.f64 (fma.f64 9 a -3))))))) (cbrt.f64 (+.f64 1 (/.f64 rand (sqrt.f64 (fma.f64 a 9 -3))))))
3.2b
(*.f64 (-.f64 a 1/3) (+.f64 1 (*.f64 rand (cbrt.f64 (pow.f64 (sqrt.f64 (/.f64 1 (fma.f64 a 9 -3))) 3)))))
41.2b
(/.f64 (*.f64 (pow.f64 (+.f64 a -1/3) 2) (-.f64 1 (*.f64 (/.f64 rand (fma.f64 9 a -3)) rand))) (*.f64 (+.f64 a -1/3) (-.f64 1 (/.f64 rand (sqrt.f64 (fma.f64 9 a -3))))))
Compiler

Compiled 2090 to 1733 computations (17.1% saved)

regimes617.0ms (13.2%)

Accuracy

Total 0.1b remaining (70.2%)

Threshold costs 0.1b (70.2%)

Compiler

Compiled 11738 to 9606 computations (18.2% saved)

simplify3.0ms (0.1%)

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

Useful iterations: 0 (0.0ms)

IterNodesCost
01319
12019
22119
31919

end2.0ms (0%)

Compiler

Compiled 15 to 12 computations (20% saved)

sample1.1s (23.5%)

Algorithm
intervals
Results
614.0ms8000×body128valid
20.0ms255×body128invalid
16.0ms242×body128nan
Compiler

Compiled 301 to 247 computations (17.9% saved)

Profiling

Loading profile data...