second_degre.c.169t.optimized 2.46 KB

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

}