Details

Time bar (total: 2.6s)

analyze76.0ms (2.9%)

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)

sample28.0ms (1.1%)

Algorithm
intervals
Results
8.0ms256×body128valid
Compiler

Compiled 37 to 17 computations (54.1% saved)

simplify9.0ms (0.3%)

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)

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

simplify55.0ms (2.1%)

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

Pruning

4 alts after pruning (3 fresh and 1 done)

PrunedKeptTotal
New22224
Fresh011
Picked011
Done000
Total22426
Error
0.0b
Counts
26 → 4
Alt Table
StatusErrorProgram
0.1b
(+.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))))
0.1b
(fma.f64 y (*.f64 y 3) (*.f64 x x))
Compiler

Compiled 435 to 221 computations (49.2% saved)

localize8.0ms (0.3%)

Local error

Found 3 expressions with local error:

NewErrorProgram
0.0b
(+.f64 (*.f64 x x) (*.f64 y y))
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))

series22.0ms (0.9%)

Counts
3 → 72
Calls

3 calls:

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

rewrite19.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:

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

simplify81.0ms (3.1%)

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

prune68.0ms (2.6%)

Pruning

6 alts after pruning (5 fresh and 1 done)

PrunedKeptTotal
New90494
Fresh112
Picked101
Done011
Total92698
Error
0.0b
Counts
98 → 6
Alt Table
StatusErrorProgram
0.1b
(fma.f64 y (*.f64 y 3) (*.f64 x x))
48.8b
(+.f64 (/.f64 (+.f64 (pow.f64 (+.f64 (*.f64 x x) (*.f64 y y)) 3) (pow.f64 (*.f64 y y) 3)) (+.f64 (*.f64 (+.f64 (*.f64 x x) (*.f64 y y)) (+.f64 (*.f64 x x) (*.f64 y y))) (-.f64 (*.f64 (*.f64 y y) (*.f64 y y)) (*.f64 (+.f64 (*.f64 x x) (*.f64 y y)) (*.f64 y y))))) (*.f64 y y))
0.8b
(+.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 (sqrt.f64 (+.f64 (+.f64 (*.f64 x x) (*.f64 y y)) (*.f64 y y))) (sqrt.f64 (+.f64 (+.f64 (*.f64 x x) (*.f64 y y)) (*.f64 y y))) (*.f64 y y))
1.0b
(+.f64 (*.f64 (*.f64 (cbrt.f64 (fma.f64 2 (*.f64 y y) (*.f64 x x))) (cbrt.f64 (fma.f64 2 (*.f64 y y) (*.f64 x x)))) (cbrt.f64 (fma.f64 2 (*.f64 y y) (*.f64 x x)))) (*.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))))
Compiler

Compiled 2312 to 539 computations (76.7% saved)

localize7.0ms (0.3%)

Local error

Found 4 expressions with local error:

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

series111.0ms (4.3%)

Counts
2 → 48
Calls

2 calls:

94.0ms
(fma.f64 (sqrt.f64 (+.f64 (+.f64 (*.f64 x x) (*.f64 y y)) (*.f64 y y))) (sqrt.f64 (+.f64 (+.f64 (*.f64 x x) (*.f64 y y)) (*.f64 y y))) (*.f64 y y))
17.0ms
(sqrt.f64 (+.f64 (+.f64 (*.f64 x x) (*.f64 y y)) (*.f64 y y)))

rewrite6.0ms (0.2%)

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

2 calls:

4.0ms
(sqrt.f64 (+.f64 (+.f64 (*.f64 x x) (*.f64 y y)) (*.f64 y y)))
0.0ms
(fma.f64 (sqrt.f64 (+.f64 (+.f64 (*.f64 x x) (*.f64 y y)) (*.f64 y y))) (sqrt.f64 (+.f64 (+.f64 (*.f64 x x) (*.f64 y y)) (*.f64 y y))) (*.f64 y y))

simplify44.0ms (1.7%)

Algorithm
egg-herbie
Rules
707×times-frac_binary64
352×fma-def_binary64
323×associate-*r*_binary64
321×associate-/l*_binary64
279×associate-*l*_binary64
Counts
76 → 84
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
01101723
13041313
29561216
349941216

prune209.0ms (8%)

Pruning

7 alts after pruning (5 fresh and 2 done)

PrunedKeptTotal
New2591260
Fresh044
Picked011
Done011
Total2597266
Error
0.0b
Counts
266 → 7
Alt Table
StatusErrorProgram
0.1b
(fma.f64 y (*.f64 y 3) (*.f64 x x))
48.8b
(+.f64 (/.f64 (+.f64 (pow.f64 (+.f64 (*.f64 x x) (*.f64 y y)) 3) (pow.f64 (*.f64 y y) 3)) (+.f64 (*.f64 (+.f64 (*.f64 x x) (*.f64 y y)) (+.f64 (*.f64 x x) (*.f64 y y))) (-.f64 (*.f64 (*.f64 y y) (*.f64 y y)) (*.f64 (+.f64 (*.f64 x x) (*.f64 y y)) (*.f64 y y))))) (*.f64 y y))
0.8b
(+.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 (sqrt.f64 (+.f64 (+.f64 (*.f64 x x) (*.f64 y y)) (*.f64 y y))) (*.f64 1 (hypot.f64 (*.f64 y (sqrt.f64 2)) x)) (*.f64 y y))
0.2b
(fma.f64 (sqrt.f64 (+.f64 (+.f64 (*.f64 x x) (*.f64 y y)) (*.f64 y y))) (sqrt.f64 (+.f64 (+.f64 (*.f64 x x) (*.f64 y y)) (*.f64 y y))) (*.f64 y y))
1.0b
(+.f64 (*.f64 (*.f64 (cbrt.f64 (fma.f64 2 (*.f64 y y) (*.f64 x x))) (cbrt.f64 (fma.f64 2 (*.f64 y y) (*.f64 x x)))) (cbrt.f64 (fma.f64 2 (*.f64 y y) (*.f64 x x)))) (*.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))))
Compiler

Compiled 9063 to 2000 computations (77.9% saved)

localize13.0ms (0.5%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.0b
(+.f64 (+.f64 (*.f64 x x) (*.f64 y y)) (*.f64 y y))
0.2b
(fma.f64 (sqrt.f64 (+.f64 (+.f64 (*.f64 x x) (*.f64 y y)) (*.f64 y y))) (*.f64 1 (hypot.f64 (*.f64 y (sqrt.f64 2)) x)) (*.f64 y y))
0.4b
(*.f64 y (sqrt.f64 2))
6.0b
(sqrt.f64 (+.f64 (+.f64 (*.f64 x x) (*.f64 y y)) (*.f64 y y)))

series102.0ms (3.9%)

Counts
2 → 24
Calls

2 calls:

98.0ms
(fma.f64 (sqrt.f64 (+.f64 (+.f64 (*.f64 x x) (*.f64 y y)) (*.f64 y y))) (*.f64 1 (hypot.f64 (*.f64 y (sqrt.f64 2)) x)) (*.f64 y y))
3.0ms
(*.f64 y (sqrt.f64 2))

rewrite10.0ms (0.4%)

Algorithm
rewrite-expression-head
Rules
add-sqr-sqrt_binary64
associate-*r*_binary64
*-un-lft-identity_binary64
add-cube-cbrt_binary64
sqrt-prod_binary64
Counts
2 → 34
Calls

2 calls:

8.0ms
(*.f64 y (sqrt.f64 2))
0.0ms
(fma.f64 (sqrt.f64 (+.f64 (+.f64 (*.f64 x x) (*.f64 y y)) (*.f64 y y))) (*.f64 1 (hypot.f64 (*.f64 y (sqrt.f64 2)) x)) (*.f64 y y))

simplify82.0ms (3.1%)

Algorithm
egg-herbie
Rules
489×fma-def_binary64
448×associate-*l*_binary64
416×associate-*r*_binary64
321×exp-prod_binary64
287×times-frac_binary64
Counts
58 → 53
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
0112959
1267803
2811723
34511582
44888582
55030582

prune129.0ms (5%)

Pruning

5 alts after pruning (3 fresh and 2 done)

PrunedKeptTotal
New1412143
Fresh314
Picked011
Done112
Total1455150
Error
0.0b
Counts
150 → 5
Alt Table
StatusErrorProgram
0.2b
(fma.f64 (sqrt.f64 (+.f64 (+.f64 (*.f64 x x) (*.f64 y y)) (*.f64 y y))) (*.f64 1 (hypot.f64 (*.f64 y (sqrt.f64 2)) x)) (*.f64 y y))
0.2b
(fma.f64 (sqrt.f64 (+.f64 (+.f64 (*.f64 x x) (*.f64 y y)) (*.f64 y y))) (*.f64 1 (hypot.f64 (*.f64 (*.f64 y (sqrt.f64 (sqrt.f64 2))) (sqrt.f64 (sqrt.f64 2))) x)) (*.f64 y y))
0.5b
(fma.f64 (sqrt.f64 (+.f64 (+.f64 (*.f64 x x) (*.f64 y y)) (*.f64 y y))) (*.f64 1 (hypot.f64 (*.f64 (*.f64 (cbrt.f64 y) (cbrt.f64 y)) (*.f64 (cbrt.f64 y) (sqrt.f64 2))) x)) (*.f64 y y))
0.1b
(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))))
Compiler

Compiled 4362 to 2062 computations (52.7% saved)

regimes853.0ms (32.8%)

Accuracy

Total 0.1b remaining (90.9%)

Threshold costs 0.1b (90.9%)

Counts
166 → 1
Compiler

Compiled 20301 to 10509 computations (48.2% saved)

simplify2.0ms (0.1%)

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

Useful iterations: 0 (0.0ms)

IterNodesCost
0919
11219
21219

end0.0ms (0%)

Compiler

Compiled 15 to 8 computations (46.7% saved)

sample637.0ms (24.5%)

Algorithm
intervals
Results
354.0ms8000×body128valid
0.0msbody128invalid
Compiler

Compiled 156 to 86 computations (44.9% saved)

Profiling

Loading profile data...