Details

Time bar (total: 5.1s)

analyze130.0ms (2.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
0%50%50%5
6.2%31.2%62.5%6
9.4%28.1%62.5%7
14%17.2%68.8%8
14.8%16.4%68.8%9
17.6%9.8%72.7%10
18.1%8.8%73.1%11
19.6%5.2%75.2%12
20%4.5%75.5%13
20.7%2.7%76.6%14
Compiler

Compiled 23 to 20 computations (13% saved)

sample1.5s (29.4%)

Results
1.2s8256×body128valid
81.0ms568×body128invalid
Compiler

Compiled 68 to 59 computations (13.2% saved)

simplify96.0ms (1.9%)

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.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)

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

series68.0ms (1.3%)

Counts
4 → 50
Calls

4 calls:

33.0ms
(/.f64 rand (sqrt.f64 (fma.f64 a 9 -3)))
24.0ms
(*.f64 (-.f64 a 1/3) (+.f64 1 (/.f64 rand (sqrt.f64 (fma.f64 a 9 -3)))))
9.0ms
(sqrt.f64 (fma.f64 a 9 -3))
2.0ms
(fma.f64 a 9 -3)

rewrite20.0ms (0.4%)

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:

10.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)

simplify98.0ms (1.9%)

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

prune298.0ms (5.8%)

Pruning

6 alts after pruning (5 fresh and 1 done)

PrunedKeptTotal
New1575162
Fresh101
Picked011
Done000
Total1586164
Error
0.0b
Counts
164 → 6
Alt Table
StatusErrorProgram
36.1b
(/.f64 (*.f64 (+.f64 1 (/.f64 rand (sqrt.f64 (fma.f64 a 9 -3)))) (fma.f64 a a -1/9)) (+.f64 a 1/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.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 (/.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)))))))
10.4b
(-.f64 (+.f64 a (*.f64 (*.f64 a rand) (sqrt.f64 (/.f64 1 (-.f64 (*.f64 9 a) 3))))) (+.f64 (*.f64 1/3 (*.f64 rand (sqrt.f64 (/.f64 1 (-.f64 (*.f64 9 a) 3))))) 1/3))
50.9b
(cbrt.f64 (pow.f64 (*.f64 (+.f64 a -1/3) (+.f64 1 (/.f64 rand (sqrt.f64 (fma.f64 a 9 -3))))) 3))
Compiler

Compiled 3989 to 3087 computations (22.6% 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.2b
(*.f64 (sqrt.f64 (/.f64 1 (fma.f64 a 9 -3))) (+.f64 a -1/3))
0.4b
(/.f64 1 (fma.f64 a 9 -3))

series60.0ms (1.2%)

Counts
4 → 36
Calls

4 calls:

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

rewrite20.0ms (0.4%)

Algorithm
rewrite-expression-head
Rules
41×add-sqr-sqrt_binary64
32×*-un-lft-identity_binary64
31×times-frac_binary64
29×sqrt-prod_binary64
28×add-cube-cbrt_binary64
Counts
4 → 117
Calls

4 calls:

8.0ms
(*.f64 (sqrt.f64 (/.f64 1 (fma.f64 a 9 -3))) (+.f64 a -1/3))
3.0ms
(sqrt.f64 (/.f64 1 (fma.f64 a 9 -3)))
2.0ms
(/.f64 1 (fma.f64 a 9 -3))
0.0ms
(fma.f64 rand (*.f64 (sqrt.f64 (/.f64 1 (fma.f64 a 9 -3))) (+.f64 a -1/3)) -1/3)

simplify101.0ms (2%)

Algorithm
egg-herbie
Rules
826×fma-def_binary64
571×times-frac_binary64
332×distribute-rgt-in_binary64
293×distribute-lft-in_binary64
237×fma-neg_binary64
Counts
153 → 198
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
02433027
16562737
219752681
349162673
449302673

prune324.0ms (6.4%)

Pruning

6 alts after pruning (4 fresh and 2 done)

PrunedKeptTotal
New1980198
Fresh044
Picked011
Done011
Total1986204
Error
0.0b
Counts
204 → 6
Alt Table
StatusErrorProgram
36.1b
(/.f64 (*.f64 (+.f64 1 (/.f64 rand (sqrt.f64 (fma.f64 a 9 -3)))) (fma.f64 a a -1/9)) (+.f64 a 1/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.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 (/.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)))))))
10.4b
(-.f64 (+.f64 a (*.f64 (*.f64 a rand) (sqrt.f64 (/.f64 1 (-.f64 (*.f64 9 a) 3))))) (+.f64 (*.f64 1/3 (*.f64 rand (sqrt.f64 (/.f64 1 (-.f64 (*.f64 9 a) 3))))) 1/3))
50.9b
(cbrt.f64 (pow.f64 (*.f64 (+.f64 a -1/3) (+.f64 1 (/.f64 rand (sqrt.f64 (fma.f64 a 9 -3))))) 3))
Compiler

Compiled 5148 to 4066 computations (21% saved)

localize15.0ms (0.3%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.4b
(/.f64 (cbrt.f64 rand) (sqrt.f64 (sqrt.f64 (fma.f64 a 9 -3))))
0.4b
(sqrt.f64 (fma.f64 a 9 -3))
0.5b
(*.f64 (cbrt.f64 rand) (cbrt.f64 rand))
0.6b
(cbrt.f64 rand)

series605.0ms (11.9%)

Counts
3 → 48
Calls

3 calls:

481.0ms
(/.f64 (cbrt.f64 rand) (sqrt.f64 (sqrt.f64 (fma.f64 a 9 -3))))
86.0ms
(cbrt.f64 rand)
38.0ms
(*.f64 (cbrt.f64 rand) (cbrt.f64 rand))

rewrite21.0ms (0.4%)

Algorithm
rewrite-expression-head
Rules
63×sqrt-prod_binary64
61×add-sqr-sqrt_binary64
54×times-frac_binary64
53×*-un-lft-identity_binary64
53×add-cube-cbrt_binary64
Counts
3 → 138
Calls

3 calls:

5.0ms
(*.f64 (cbrt.f64 rand) (cbrt.f64 rand))
5.0ms
(/.f64 (cbrt.f64 rand) (sqrt.f64 (sqrt.f64 (fma.f64 a 9 -3))))
1.0ms
(cbrt.f64 rand)

simplify124.0ms (2.4%)

Algorithm
egg-herbie
Rules
822×unswap-sqr_binary64
675×fma-def_binary64
541×times-frac_binary64
521×associate-*l/_binary64
226×associate-/r*_binary64
Counts
186 → 214
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
02253791
14473537
216163422
342603287
450193287

prune365.0ms (7.2%)

Pruning

6 alts after pruning (3 fresh and 3 done)

PrunedKeptTotal
New2960296
Fresh033
Picked011
Done022
Total2966302
Error
0.0b
Counts
302 → 6
Alt Table
StatusErrorProgram
36.1b
(/.f64 (*.f64 (+.f64 1 (/.f64 rand (sqrt.f64 (fma.f64 a 9 -3)))) (fma.f64 a a -1/9)) (+.f64 a 1/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.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 (/.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)))))))
10.4b
(-.f64 (+.f64 a (*.f64 (*.f64 a rand) (sqrt.f64 (/.f64 1 (-.f64 (*.f64 9 a) 3))))) (+.f64 (*.f64 1/3 (*.f64 rand (sqrt.f64 (/.f64 1 (-.f64 (*.f64 9 a) 3))))) 1/3))
50.9b
(cbrt.f64 (pow.f64 (*.f64 (+.f64 a -1/3) (+.f64 1 (/.f64 rand (sqrt.f64 (fma.f64 a 9 -3))))) 3))
Compiler

Compiled 11058 to 7412 computations (33% saved)

localize14.0ms (0.3%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.2b
(*.f64 rand (sqrt.f64 (/.f64 1 (-.f64 (*.f64 9 a) 3))))
0.4b
(*.f64 1/3 (*.f64 rand (sqrt.f64 (/.f64 1 (-.f64 (*.f64 9 a) 3)))))
0.4b
(/.f64 1 (-.f64 (*.f64 9 a) 3))
9.8b
(*.f64 (*.f64 a rand) (sqrt.f64 (/.f64 1 (-.f64 (*.f64 9 a) 3))))

series112.0ms (2.2%)

Counts
4 → 24
Calls

4 calls:

39.0ms
(*.f64 1/3 (*.f64 rand (sqrt.f64 (/.f64 1 (-.f64 (*.f64 9 a) 3)))))
37.0ms
(*.f64 (*.f64 a rand) (sqrt.f64 (/.f64 1 (-.f64 (*.f64 9 a) 3))))
32.0ms
(*.f64 rand (sqrt.f64 (/.f64 1 (-.f64 (*.f64 9 a) 3))))
3.0ms
(/.f64 1 (-.f64 (*.f64 9 a) 3))

rewrite44.0ms (0.9%)

Algorithm
rewrite-expression-head
Rules
39×add-sqr-sqrt_binary64
37×associate-*r*_binary64
33×sqrt-prod_binary64
31×*-un-lft-identity_binary64
30×add-cube-cbrt_binary64
Counts
4 → 131
Calls

4 calls:

12.0ms
(*.f64 (*.f64 a rand) (sqrt.f64 (/.f64 1 (-.f64 (*.f64 9 a) 3))))
9.0ms
(*.f64 1/3 (*.f64 rand (sqrt.f64 (/.f64 1 (-.f64 (*.f64 9 a) 3)))))
9.0ms
(*.f64 rand (sqrt.f64 (/.f64 1 (-.f64 (*.f64 9 a) 3))))
5.0ms
(/.f64 1 (-.f64 (*.f64 9 a) 3))

simplify100.0ms (2%)

Algorithm
egg-herbie
Rules
611×times-frac_binary64
531×fma-def_binary64
322×fma-neg_binary64
256×associate-*r*_binary64
240×associate-*l*_binary64
Counts
155 → 236
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
02492886
16642680
223182555
345472551
449202551

prune372.0ms (7.3%)

Pruning

6 alts after pruning (2 fresh and 4 done)

PrunedKeptTotal
New3020302
Fresh022
Picked011
Done033
Total3026308
Error
0.0b
Counts
308 → 6
Alt Table
StatusErrorProgram
36.1b
(/.f64 (*.f64 (+.f64 1 (/.f64 rand (sqrt.f64 (fma.f64 a 9 -3)))) (fma.f64 a a -1/9)) (+.f64 a 1/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.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 (/.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)))))))
10.4b
(-.f64 (+.f64 a (*.f64 (*.f64 a rand) (sqrt.f64 (/.f64 1 (-.f64 (*.f64 9 a) 3))))) (+.f64 (*.f64 1/3 (*.f64 rand (sqrt.f64 (/.f64 1 (-.f64 (*.f64 9 a) 3))))) 1/3))
50.9b
(cbrt.f64 (pow.f64 (*.f64 (+.f64 a -1/3) (+.f64 1 (/.f64 rand (sqrt.f64 (fma.f64 a 9 -3))))) 3))
Compiler

Compiled 11567 to 8980 computations (22.4% saved)

regimes466.0ms (9.1%)

Accuracy

Total 0.1b remaining (70.5%)

Threshold costs 0.1b (70.5%)

Counts
97 → 1
Compiler

Compiled 9034 to 7146 computations (20.9% saved)

simplify2.0ms (0%)

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

Useful iterations: 0 (0.0ms)

IterNodesCost
01821
12321
22021

end120.0ms (2.4%)

Compiler

Compiled 166 to 129 computations (22.3% saved)

Profiling

Loading profile data...