1/* { dg-do compile } */
2/* { dg-options "-O -fdump-tree-optimized" } */
3
4int f1(int a)
5{
6  return a*6-a;
7}
8
9int f2(int a)
10{
11  return a*4+a;
12}
13
14int f3(int a)
15{
16  return 2*a + 3*a;
17}
18
19int f4(int a, int b)
20{
21  return 2*a + 6*b;
22}
23
24int f5(int a, int b)
25{
26  return 2*a - 6*b;
27}
28
29int f6(int a, int b)
30{
31  return 6*a - 2*b;
32}
33
34/* { dg-final { scan-tree-dump-times "a_..D. \\\* 5" 3 "optimized" } } */
35/* { dg-final { scan-tree-dump-times " \\\* 2" 3 "optimized" } } */
36/* { dg-final { scan-tree-dump-not "\\\* 6" "optimized" } } */
37/* { dg-final { cleanup-tree-dump "optimized" } } */
38