Details

Time bar (total: 3.0s)

analyze89.0ms (3%)

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%99.9%0.1%4
25%74.9%0.1%5
25%50%25.1%6
25%31.2%43.8%7
31.2%25%43.8%8
39%17.2%43.8%9
42.9%13.3%43.8%10
47.2%9%43.8%11
49.4%6.8%43.8%12
51.6%4.6%43.8%13
52.7%3.5%43.8%14
Compiler

Compiled 18 to 8 computations (55.6% saved)

sample895.0ms (29.9%)

Results
863.0ms8256×body128valid
1.0msbody128invalid
Compiler

Compiled 53 to 23 computations (56.6% saved)

simplify7.0ms (0.2%)

Algorithm
egg-herbie
Rules
28×fma-def_binary64
*-commutative_binary64
associate-+l+_binary64
associate-*r*_binary64
+-commutative_binary64
Counts
1 → 2
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
0820
11515
23011
34911
46311
56711
66511

prune3.0ms (0.1%)

Pruning

3 alts after pruning (3 fresh and 0 done)

PrunedKeptTotal
New022
Fresh011
Picked000
Done000
Total033
Error
0.0b
Counts
3 → 2
Alt Table
StatusErrorProgram
0.1b
(fma.f64 y (*.f64 y 3) (*.f64 x x))
0.1b
(+.f64 (+.f64 (+.f64 (*.f64 x x) (*.f64 y y)) (*.f64 y y)) (*.f64 y y))
Compiler

Compiled 79 to 36 computations (54.4% saved)

localize6.0ms (0.2%)

Local error

Found 2 expressions with local error:

NewErrorProgram
0.0b
(+.f64 (+.f64 (*.f64 x x) (*.f64 y y)) (*.f64 y y))
0.1b
(+.f64 (+.f64 (+.f64 (*.f64 x x) (*.f64 y y)) (*.f64 y y)) (*.f64 y y))

series20.0ms (0.7%)

Counts
2 → 48
Calls

2 calls:

12.0ms
(+.f64 (+.f64 (+.f64 (*.f64 x x) (*.f64 y y)) (*.f64 y y)) (*.f64 y y))
8.0ms
(+.f64 (+.f64 (*.f64 x x) (*.f64 y y)) (*.f64 y y))

rewrite15.0ms (0.5%)

Algorithm
rewrite-expression-head
Rules
16×add-log-exp_binary64
sum-log_binary64
fma-def_binary64
*-un-lft-identity_binary64
add-sqr-sqrt_binary64
Counts
2 → 37
Calls

2 calls:

6.0ms
(+.f64 (+.f64 (+.f64 (*.f64 x x) (*.f64 y y)) (*.f64 y y)) (*.f64 y y))
6.0ms
(+.f64 (+.f64 (*.f64 x x) (*.f64 y y)) (*.f64 y y))

simplify75.0ms (2.5%)

Algorithm
egg-herbie
Rules
520×cancel-sign-sub-inv_binary64
492×fma-neg_binary64
453×fma-def_binary64
414×distribute-rgt-out_binary64
376×distribute-rgt-in_binary64
Counts
85 → 67
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
0611132
11861028
2588941
32530937
44456937
54891937

prune54.0ms (1.8%)

Pruning

5 alts after pruning (5 fresh and 0 done)

PrunedKeptTotal
New63467
Fresh011
Picked101
Done000
Total64569
Error
0.0b
Counts
69 → 5
Alt Table
StatusErrorProgram
42.7b
(/.f64 (+.f64 (pow.f64 (+.f64 (+.f64 (*.f64 x x) (*.f64 y y)) (*.f64 y y)) 3) (pow.f64 (*.f64 y y) 3)) (+.f64 (*.f64 (+.f64 (+.f64 (*.f64 x x) (*.f64 y y)) (*.f64 y y)) (+.f64 (+.f64 (*.f64 x x) (*.f64 y y)) (*.f64 y y))) (-.f64 (*.f64 (*.f64 y y) (*.f64 y y)) (*.f64 (+.f64 (+.f64 (*.f64 x x) (*.f64 y y)) (*.f64 y y)) (*.f64 y y)))))
0.1b
(fma.f64 y (*.f64 y 3) (*.f64 x x))
0.9b
(+.f64 (fma.f64 (*.f64 (cbrt.f64 (+.f64 (*.f64 x x) (*.f64 y y))) (cbrt.f64 (+.f64 (*.f64 x x) (*.f64 y y)))) (cbrt.f64 (+.f64 (*.f64 x x) (*.f64 y y))) (*.f64 y y)) (*.f64 y y))
0.1b
(fma.f64 3 (*.f64 y y) (*.f64 x x))
33.8b
(/.f64 (-.f64 (*.f64 (+.f64 (+.f64 (*.f64 x x) (*.f64 y y)) (*.f64 y y)) (+.f64 (+.f64 (*.f64 x x) (*.f64 y y)) (*.f64 y y))) (*.f64 (*.f64 y y) (*.f64 y y))) (-.f64 (+.f64 (+.f64 (*.f64 x x) (*.f64 y y)) (*.f64 y y)) (*.f64 y y)))
Compiler

Compiled 1747 to 381 computations (78.2% saved)

localize5.0ms (0.2%)

Local error

Found 1 expressions with local error:

NewErrorProgram
0.1b
(fma.f64 3 (*.f64 y y) (*.f64 x x))

series8.0ms (0.3%)

Counts
1 → 24
Calls

1 calls:

8.0ms
(fma.f64 3 (*.f64 y y) (*.f64 x x))

rewrite1.0ms (0%)

Algorithm
rewrite-expression-head
Rules
*-un-lft-identity_binary64
add-sqr-sqrt_binary64
add-cube-cbrt_binary64
add-cbrt-cube_binary64
add-exp-log_binary64
Counts
1 → 10
Calls

1 calls:

0.0ms
(fma.f64 3 (*.f64 y y) (*.f64 x x))

simplify59.0ms (2%)

Algorithm
egg-herbie
Rules
912×fma-def_binary64
466×distribute-rgt-in_binary64
460×distribute-lft-in_binary64
356×unswap-sqr_binary64
324×*-commutative_binary64
Counts
34 → 23
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
022394
132371
265371
3184371
4793371
53022371
64320371
75097371

prune19.0ms (0.6%)

Pruning

5 alts after pruning (4 fresh and 1 done)

PrunedKeptTotal
New23023
Fresh044
Picked011
Done000
Total23528
Error
0.0b
Counts
28 → 5
Alt Table
StatusErrorProgram
42.7b
(/.f64 (+.f64 (pow.f64 (+.f64 (+.f64 (*.f64 x x) (*.f64 y y)) (*.f64 y y)) 3) (pow.f64 (*.f64 y y) 3)) (+.f64 (*.f64 (+.f64 (+.f64 (*.f64 x x) (*.f64 y y)) (*.f64 y y)) (+.f64 (+.f64 (*.f64 x x) (*.f64 y y)) (*.f64 y y))) (-.f64 (*.f64 (*.f64 y y) (*.f64 y y)) (*.f64 (+.f64 (+.f64 (*.f64 x x) (*.f64 y y)) (*.f64 y y)) (*.f64 y y)))))
0.1b
(fma.f64 y (*.f64 y 3) (*.f64 x x))
0.9b
(+.f64 (fma.f64 (*.f64 (cbrt.f64 (+.f64 (*.f64 x x) (*.f64 y y))) (cbrt.f64 (+.f64 (*.f64 x x) (*.f64 y y)))) (cbrt.f64 (+.f64 (*.f64 x x) (*.f64 y y))) (*.f64 y y)) (*.f64 y y))
0.1b
(fma.f64 3 (*.f64 y y) (*.f64 x x))
33.8b
(/.f64 (-.f64 (*.f64 (+.f64 (+.f64 (*.f64 x x) (*.f64 y y)) (*.f64 y y)) (+.f64 (+.f64 (*.f64 x x) (*.f64 y y)) (*.f64 y y))) (*.f64 (*.f64 y y) (*.f64 y y))) (-.f64 (+.f64 (+.f64 (*.f64 x x) (*.f64 y y)) (*.f64 y y)) (*.f64 y y)))
Compiler

Compiled 614 to 217 computations (64.7% saved)

localize5.0ms (0.2%)

Local error

Found 1 expressions with local error:

NewErrorProgram
0.1b
(fma.f64 y (*.f64 y 3) (*.f64 x x))

series7.0ms (0.2%)

Counts
1 → 24
Calls

1 calls:

7.0ms
(fma.f64 y (*.f64 y 3) (*.f64 x x))

rewrite1.0ms (0%)

Algorithm
rewrite-expression-head
Rules
*-un-lft-identity_binary64
add-sqr-sqrt_binary64
add-cube-cbrt_binary64
add-cbrt-cube_binary64
add-exp-log_binary64
Counts
1 → 10
Calls

1 calls:

0.0ms
(fma.f64 y (*.f64 y 3) (*.f64 x x))

simplify58.0ms (1.9%)

Algorithm
egg-herbie
Rules
911×fma-def_binary64
466×distribute-rgt-in_binary64
460×distribute-lft-in_binary64
356×unswap-sqr_binary64
323×*-commutative_binary64
Counts
34 → 24
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
022394
135371
266371
3184371
4793371
53022371
64320371
75097371

prune20.0ms (0.7%)

Pruning

5 alts after pruning (3 fresh and 2 done)

PrunedKeptTotal
New24024
Fresh033
Picked011
Done011
Total24529
Error
0.0b
Counts
29 → 5
Alt Table
StatusErrorProgram
42.7b
(/.f64 (+.f64 (pow.f64 (+.f64 (+.f64 (*.f64 x x) (*.f64 y y)) (*.f64 y y)) 3) (pow.f64 (*.f64 y y) 3)) (+.f64 (*.f64 (+.f64 (+.f64 (*.f64 x x) (*.f64 y y)) (*.f64 y y)) (+.f64 (+.f64 (*.f64 x x) (*.f64 y y)) (*.f64 y y))) (-.f64 (*.f64 (*.f64 y y) (*.f64 y y)) (*.f64 (+.f64 (+.f64 (*.f64 x x) (*.f64 y y)) (*.f64 y y)) (*.f64 y y)))))
0.1b
(fma.f64 y (*.f64 y 3) (*.f64 x x))
0.9b
(+.f64 (fma.f64 (*.f64 (cbrt.f64 (+.f64 (*.f64 x x) (*.f64 y y))) (cbrt.f64 (+.f64 (*.f64 x x) (*.f64 y y)))) (cbrt.f64 (+.f64 (*.f64 x x) (*.f64 y y))) (*.f64 y y)) (*.f64 y y))
0.1b
(fma.f64 3 (*.f64 y y) (*.f64 x x))
33.8b
(/.f64 (-.f64 (*.f64 (+.f64 (+.f64 (*.f64 x x) (*.f64 y y)) (*.f64 y y)) (+.f64 (+.f64 (*.f64 x x) (*.f64 y y)) (*.f64 y y))) (*.f64 (*.f64 y y) (*.f64 y y))) (-.f64 (+.f64 (+.f64 (*.f64 x x) (*.f64 y y)) (*.f64 y y)) (*.f64 y y)))
Compiler

Compiled 613 to 229 computations (62.6% saved)

localize9.0ms (0.3%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.1b
(+.f64 (fma.f64 (*.f64 (cbrt.f64 (+.f64 (*.f64 x x) (*.f64 y y))) (cbrt.f64 (+.f64 (*.f64 x x) (*.f64 y y)))) (cbrt.f64 (+.f64 (*.f64 x x) (*.f64 y y))) (*.f64 y y)) (*.f64 y y))
0.2b
(fma.f64 (*.f64 (cbrt.f64 (+.f64 (*.f64 x x) (*.f64 y y))) (cbrt.f64 (+.f64 (*.f64 x x) (*.f64 y y)))) (cbrt.f64 (+.f64 (*.f64 x x) (*.f64 y y))) (*.f64 y y))
0.4b
(*.f64 (cbrt.f64 (+.f64 (*.f64 x x) (*.f64 y y))) (cbrt.f64 (+.f64 (*.f64 x x) (*.f64 y y))))
6.2b
(cbrt.f64 (+.f64 (*.f64 x x) (*.f64 y y)))

series900.0ms (30.1%)

Counts
4 → 96
Calls

4 calls:

411.0ms
(fma.f64 (*.f64 (cbrt.f64 (+.f64 (*.f64 x x) (*.f64 y y))) (cbrt.f64 (+.f64 (*.f64 x x) (*.f64 y y)))) (cbrt.f64 (+.f64 (*.f64 x x) (*.f64 y y))) (*.f64 y y))
409.0ms
(+.f64 (fma.f64 (*.f64 (cbrt.f64 (+.f64 (*.f64 x x) (*.f64 y y))) (cbrt.f64 (+.f64 (*.f64 x x) (*.f64 y y)))) (cbrt.f64 (+.f64 (*.f64 x x) (*.f64 y y))) (*.f64 y y)) (*.f64 y y))
42.0ms
(*.f64 (cbrt.f64 (+.f64 (*.f64 x x) (*.f64 y y))) (cbrt.f64 (+.f64 (*.f64 x x) (*.f64 y y))))
38.0ms
(cbrt.f64 (+.f64 (*.f64 x x) (*.f64 y y)))

rewrite26.0ms (0.9%)

Algorithm
rewrite-expression-head
Rules
22×add-sqr-sqrt_binary64
19×cbrt-prod_binary64
14×*-un-lft-identity_binary64
14×cbrt-div_binary64
14×add-cube-cbrt_binary64
Counts
4 → 92
Calls

4 calls:

14.0ms
(*.f64 (cbrt.f64 (+.f64 (*.f64 x x) (*.f64 y y))) (cbrt.f64 (+.f64 (*.f64 x x) (*.f64 y y))))
2.0ms
(cbrt.f64 (+.f64 (*.f64 x x) (*.f64 y y)))
2.0ms
(+.f64 (fma.f64 (*.f64 (cbrt.f64 (+.f64 (*.f64 x x) (*.f64 y y))) (cbrt.f64 (+.f64 (*.f64 x x) (*.f64 y y)))) (cbrt.f64 (+.f64 (*.f64 x x) (*.f64 y y))) (*.f64 y y)) (*.f64 y y))
0.0ms
(fma.f64 (*.f64 (cbrt.f64 (+.f64 (*.f64 x x) (*.f64 y y))) (cbrt.f64 (+.f64 (*.f64 x x) (*.f64 y y)))) (cbrt.f64 (+.f64 (*.f64 x x) (*.f64 y y))) (*.f64 y y))

simplify135.0ms (4.5%)

Algorithm
egg-herbie
Rules
665×fma-def_binary64
641×fma-neg_binary64
474×*-commutative_binary64
233×unswap-sqr_binary64
223×cancel-sign-sub-inv_binary64
Counts
188 → 193
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
02064291
15293993
216253769
340023698
449023698
550253698

prune165.0ms (5.5%)

Pruning

6 alts after pruning (3 fresh and 3 done)

PrunedKeptTotal
New2772279
Fresh112
Picked011
Done022
Total2786284
Error
0b
Counts
284 → 6
Alt Table
StatusErrorProgram
0.9b
(+.f64 (fma.f64 (*.f64 (cbrt.f64 (+.f64 (*.f64 x x) (*.f64 y y))) (cbrt.f64 (+.f64 (*.f64 x x) (*.f64 y y)))) (cbrt.f64 (+.f64 (*.f64 x x) (*.f64 y y))) (*.f64 y y)) (*.f64 y y))
0.9b
(fma.f64 (sqrt.f64 (fma.f64 (*.f64 (cbrt.f64 (+.f64 (*.f64 x x) (*.f64 y y))) (cbrt.f64 (+.f64 (*.f64 x x) (*.f64 y y)))) (cbrt.f64 (+.f64 (*.f64 x x) (*.f64 y y))) (*.f64 y y))) (sqrt.f64 (fma.f64 (*.f64 (cbrt.f64 (+.f64 (*.f64 x x) (*.f64 y y))) (cbrt.f64 (+.f64 (*.f64 x x) (*.f64 y y)))) (cbrt.f64 (+.f64 (*.f64 x x) (*.f64 y y))) (*.f64 y y))) (*.f64 y y))
3.2b
(expm1.f64 (log1p.f64 (fma.f64 y y (fma.f64 2 (*.f64 y y) (*.f64 x x)))))
0.1b
(fma.f64 3 (*.f64 y y) (*.f64 x x))
33.8b
(/.f64 (-.f64 (*.f64 (+.f64 (+.f64 (*.f64 x x) (*.f64 y y)) (*.f64 y y)) (+.f64 (+.f64 (*.f64 x x) (*.f64 y y)) (*.f64 y y))) (*.f64 (*.f64 y y) (*.f64 y y))) (-.f64 (+.f64 (+.f64 (*.f64 x x) (*.f64 y y)) (*.f64 y y)) (*.f64 y y)))
0.1b
(fma.f64 y (*.f64 y 3) (*.f64 x x))
Compiler

Compiled 11776 to 2450 computations (79.2% saved)

regimes328.0ms (11%)

Accuracy

Total 0.1b remaining (87.2%)

Threshold costs 0.1b (87.2%)

Counts
76 → 1
Compiler

Compiled 9162 to 3804 computations (58.5% saved)

simplify5.0ms (0.2%)

Algorithm
egg-herbie
Rules
+-commutative_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0822
11122
21122

end76.0ms (2.5%)

Compiler

Compiled 219 to 65 computations (70.3% saved)

Profiling

Loading profile data...