Blame view

second_degre.c.169t.optimized 2.46 KB
42a7f240   Pierre Cwik   optimisation 19 mai
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
  
  ;; Function main (main, funcdef_no=14, decl_uid=3287, symbol_order=14) (executed once)
  
  Removing basic block 9
  Removing basic block 10
  Removing basic block 11
  main ()
  {
    float r2;
    float r1;
    int c;
    int b;
    int a;
    int b.0_6;
    int _7;
    int a.1_8;
    int _9;
    int c.2_10;
    int _11;
    int _12;
    int _13;
    double _14;
    double _15;
    double _17;
    double _18;
    int a.1_19;
    int _20;
    double _21;
    double _22;
    int b.0_24;
    int _25;
    double _26;
    int _27;
    int _28;
    int c.2_29;
    int _30;
    int _31;
    double _32;
    double _34;
    double _35;
    int a.1_36;
    int _37;
    double _38;
    double _39;
    double _41;
    double _42;
    int b.0_44;
    int _45;
    int a.1_46;
    int _47;
    int c.2_48;
    int _49;
    int _50;
    int _51;
    int _52;
    double _54;
    int pretmp_82;
    int pretmp_84;
    int pretmp_86;
    int pretmp_88;
    int pretmp_90;
    int pretmp_92;
    int pretmp_94;
    int prephitmp_95;
  
    <bb 2>:
    scanf ("%d,%d,%d", &a, &b, &c);
    b.0_6 = b;
    _7 = b.0_6 * b.0_6;
    a.1_8 = a;
    _9 = a.1_8 * -4;
    c.2_10 = c;
    _11 = _9 * c.2_10;
    _12 = _7 + _11;
    if (_12 > 0)
      goto <bb 3>;
    else
      goto <bb 4>;
  
    <bb 3>:
    _13 = -b.0_6;
    _14 = (double) _13;
    _15 = (double) _12;
    _17 = sqrt (_15);
    _18 = _14 - _17;
    a.1_19 = a;
    _20 = a.1_19 * 2;
    _21 = (double) _20;
    _22 = _18 / _21;
    r1_23 = (float) _22;
    b.0_24 = b;
    _25 = -b.0_24;
    _26 = (double) _25;
    _27 = b.0_24 * b.0_24;
    _28 = a.1_19 * -4;
    c.2_29 = c;
    _30 = _28 * c.2_29;
    _31 = _27 + _30;
    _32 = (double) _31;
    _34 = sqrt (_32);
    _35 = _26 + _34;
    a.1_36 = a;
    _37 = a.1_36 * 2;
    _38 = (double) _37;
    _39 = _35 / _38;
    r2_40 = (float) _39;
    _41 = (double) r2_40;
    _42 = (double) r1_23;
    printf ("r1 = %f   \nr2 = %f", _42, _41);
  
    <bb 4>:
    b.0_44 = b;
    _45 = b.0_44 * b.0_44;
    a.1_46 = a;
    _47 = a.1_46 * -4;
    c.2_48 = c;
    _49 = _47 * c.2_48;
    _50 = _45 + _49;
    if (_50 == 0)
      goto <bb 5>;
    else
      goto <bb 6>;
  
    <bb 5>:
    _51 = a.1_46 * -2;
    _52 = b.0_44 / _51;
    r2_53 = (float) _52;
    _54 = (double) r2_53;
    printf ("r1 = %f   \nr2 = %f", _54, _54);
    pretmp_82 = b;
    pretmp_84 = pretmp_82 * pretmp_82;
    pretmp_86 = a;
    pretmp_88 = pretmp_86 * -4;
    pretmp_90 = c;
    pretmp_92 = pretmp_88 * pretmp_90;
    pretmp_94 = pretmp_84 + pretmp_92;
  
    <bb 6>:
    # prephitmp_95 = PHI <_50(4), pretmp_94(5)>
    if (prephitmp_95 < 0)
      goto <bb 7>;
    else
      goto <bb 8>;
  
    <bb 7>:
    printf ("pas de racine");
  
    <bb 8>:
    a ={v} {CLOBBER};
    b ={v} {CLOBBER};
    c ={v} {CLOBBER};
    return 0;
  
  }