Details

Time bar (total: 2.2s)

analyze89.0ms (4.1%)

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)

sample769.0ms (35.3%)

Results
741.0ms8256×body128valid
1.0msbody128invalid
Compiler

Compiled 53 to 23 computations (56.6% saved)

simplify10.0ms (0.5%)

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.1b
Counts
3 → 2
Alt Table
StatusErrorProgram
0.2b
(+.f64 (+.f64 (+.f64 (*.f64 x x) (*.f64 y y)) (*.f64 y y)) (*.f64 y y))
0.2b
(fma.f64 y (*.f64 y 3) (*.f64 x x))
Compiler

Compiled 79 to 36 computations (54.4% saved)

localize5.0ms (0.2%)

Local error

Found 1 expressions with local error:

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

series7.0ms (0.3%)

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

simplify61.0ms (2.8%)

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

prune18.0ms (0.8%)

Pruning

5 alts after pruning (4 fresh and 1 done)

PrunedKeptTotal
New21324
Fresh011
Picked011
Done000
Total21526
Error
0.0b
Counts
26 → 5
Alt Table
StatusErrorProgram
0.2b
(+.f64 (+.f64 (+.f64 (*.f64 x x) (*.f64 y y)) (*.f64 y y)) (*.f64 y y))
0.3b
(*.f64 (sqrt.f64 (fma.f64 y (*.f64 y 3) (*.f64 x x))) (sqrt.f64 (fma.f64 y (*.f64 y 3) (*.f64 x x))))
1.2b
(*.f64 (*.f64 (cbrt.f64 (fma.f64 y (*.f64 y 3) (*.f64 x x))) (cbrt.f64 (fma.f64 y (*.f64 y 3) (*.f64 x x)))) (cbrt.f64 (fma.f64 y (*.f64 y 3) (*.f64 x x))))
3.3b
(expm1.f64 (log1p.f64 (fma.f64 y (*.f64 y 3) (*.f64 x x))))
0.2b
(fma.f64 y (*.f64 y 3) (*.f64 x x))
Compiler

Compiled 459 to 237 computations (48.4% saved)

localize7.0ms (0.3%)

Local error

Found 3 expressions with local error:

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

series23.0ms (1.1%)

Counts
3 → 72
Calls

3 calls:

9.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))
6.0ms
(+.f64 (*.f64 x x) (*.f64 y y))

rewrite16.0ms (0.7%)

Algorithm
rewrite-expression-head
Rules
19×add-log-exp_binary64
10×sum-log_binary64
fma-def_binary64
*-un-lft-identity_binary64
add-sqr-sqrt_binary64
Counts
3 → 51
Calls

3 calls:

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

simplify87.0ms (4%)

Algorithm
egg-herbie
Rules
728×fma-neg_binary64
620×fma-def_binary64
389×distribute-rgt-in_binary64
337×distribute-lft-in_binary64
286×unswap-sqr_binary64
Counts
123 → 94
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
0771464
12491343
27451260
331121256
445281256
550221256

prune72.0ms (3.3%)

Pruning

5 alts after pruning (4 fresh and 1 done)

PrunedKeptTotal
New91394
Fresh213
Picked101
Done011
Total94599
Error
0.0b
Counts
99 → 5
Alt Table
StatusErrorProgram
0.2b
(fma.f64 y (*.f64 y 3) (*.f64 x x))
32.2b
(/.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.9b
(+.f64 (+.f64 (*.f64 (*.f64 (cbrt.f64 (fma.f64 y y (*.f64 x x))) (cbrt.f64 (fma.f64 y y (*.f64 x x)))) (cbrt.f64 (fma.f64 y y (*.f64 x x)))) (*.f64 y y)) (*.f64 y y))
0.3b
(*.f64 (sqrt.f64 (fma.f64 y (*.f64 y 3) (*.f64 x x))) (sqrt.f64 (fma.f64 y (*.f64 y 3) (*.f64 x x))))
0.1b
(fma.f64 3 (*.f64 y y) (*.f64 x x))
Compiler

Compiled 2182 to 493 computations (77.4% 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.4%)

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

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

prune16.0ms (0.7%)

Pruning

5 alts after pruning (3 fresh and 2 done)

PrunedKeptTotal
New23023
Fresh033
Picked011
Done011
Total23528
Error
0.0b
Counts
28 → 5
Alt Table
StatusErrorProgram
0.2b
(fma.f64 y (*.f64 y 3) (*.f64 x x))
32.2b
(/.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.9b
(+.f64 (+.f64 (*.f64 (*.f64 (cbrt.f64 (fma.f64 y y (*.f64 x x))) (cbrt.f64 (fma.f64 y y (*.f64 x x)))) (cbrt.f64 (fma.f64 y y (*.f64 x x)))) (*.f64 y y)) (*.f64 y y))
0.3b
(*.f64 (sqrt.f64 (fma.f64 y (*.f64 y 3) (*.f64 x x))) (sqrt.f64 (fma.f64 y (*.f64 y 3) (*.f64 x x))))
0.1b
(fma.f64 3 (*.f64 y y) (*.f64 x x))
Compiler

Compiled 504 to 203 computations (59.7% saved)

localize7.0ms (0.3%)

Local error

Found 3 expressions with local error:

NewErrorProgram
0.2b
(fma.f64 y (*.f64 y 3) (*.f64 x x))
0.3b
(*.f64 (sqrt.f64 (fma.f64 y (*.f64 y 3) (*.f64 x x))) (sqrt.f64 (fma.f64 y (*.f64 y 3) (*.f64 x x))))
6.1b
(sqrt.f64 (fma.f64 y (*.f64 y 3) (*.f64 x x)))

series23.0ms (1.1%)

Counts
2 → 48
Calls

2 calls:

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

rewrite16.0ms (0.7%)

Algorithm
rewrite-expression-head
Rules
28×add-sqr-sqrt_binary64
21×sqrt-prod_binary64
18×pow1_binary64
11×*-un-lft-identity_binary64
11×add-cube-cbrt_binary64
Counts
2 → 68
Calls

2 calls:

5.0ms
(*.f64 (sqrt.f64 (fma.f64 y (*.f64 y 3) (*.f64 x x))) (sqrt.f64 (fma.f64 y (*.f64 y 3) (*.f64 x x))))
1.0ms
(sqrt.f64 (fma.f64 y (*.f64 y 3) (*.f64 x x)))

simplify83.0ms (3.8%)

Algorithm
egg-herbie
Rules
565×times-frac_binary64
429×unswap-sqr_binary64
332×associate-*l*_binary64
318×associate-*r*_binary64
250×associate-/l*_binary64
Counts
116 → 122
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
01102141
12641953
28301863
341231826
451311826

prune191.0ms (8.8%)

Pruning

6 alts after pruning (3 fresh and 3 done)

PrunedKeptTotal
New2221223
Fresh022
Picked011
Done022
Total2226228
Error
0b
Counts
228 → 6
Alt Table
StatusErrorProgram
0.2b
(fma.f64 y (*.f64 y 3) (*.f64 x x))
32.2b
(/.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.5b
(*.f64 (sqrt.f64 (fma.f64 y (*.f64 y 3) (*.f64 x x))) (*.f64 (sqrt.f64 (sqrt.f64 (fma.f64 y (*.f64 y 3) (*.f64 x x)))) (sqrt.f64 (sqrt.f64 (fma.f64 y (*.f64 y 3) (*.f64 x x))))))
0.9b
(+.f64 (+.f64 (*.f64 (*.f64 (cbrt.f64 (fma.f64 y y (*.f64 x x))) (cbrt.f64 (fma.f64 y y (*.f64 x x)))) (cbrt.f64 (fma.f64 y y (*.f64 x x)))) (*.f64 y y)) (*.f64 y y))
0.3b
(*.f64 (sqrt.f64 (fma.f64 y (*.f64 y 3) (*.f64 x x))) (sqrt.f64 (fma.f64 y (*.f64 y 3) (*.f64 x x))))
0.1b
(fma.f64 3 (*.f64 y y) (*.f64 x x))
Compiler

Compiled 5763 to 3233 computations (43.9% saved)

regimes523.0ms (24%)

Accuracy

Total 0.1b remaining (86.4%)

Threshold costs 0.1b (86.4%)

Counts
95 → 1
Compiler

Compiled 9491 to 5349 computations (43.6% saved)

simplify2.0ms (0.1%)

Algorithm
egg-herbie
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0711
1711

end80.0ms (3.7%)

Compiler

Compiled 176 to 76 computations (56.8% saved)

Profiling

Loading profile data...