dtc_found_and_clear (uint32_t dtcc)
{
  uint8_t nDTC[9];
  uint32_t c1;
  uint8_t lim;
  uint8_t nc;
  uint8_t c;
  uint16_t p;
  uint16_t k;
  uint16_t j;
  uint16_t i;
  int _1;
  unsigned char _2;
  unsigned char _3;
  int _4;
  unsigned char _5;
  unsigned char _6;
  int _7;
  const char * _8;
  sizetype _9;
  const char * _10;
  int _11;
  char _12;
  short unsigned int k.30_13;
  unsigned char _14;
  unsigned char _15;
  unsigned char _16;
  unsigned char _17;
  uint8_t * _18;
  _Bool _19;
  int _20;
  unsigned char _21;
  int _22;
  unsigned char _23;
  int _24;
  unsigned char _25;
  int _26;
  unsigned char _27;
  short unsigned int p.31_28;
  short unsigned int i.32_29;
  short unsigned int _30;
  short unsigned int j.33_31;
  uint8_t _40;
  uint8_t _51;
  long unsigned int _63;
  uint8_t _69;

  <bb 2> :
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  k_47 = 0;
  # DEBUG k => k_47
  # DEBUG BEGIN_STMT
  p_48 = 0;
  # DEBUG p => p_48
  # DEBUG BEGIN_STMT
  j_49 = 0;
  # DEBUG j => j_49
  goto <bb 25>; [INV]

  <bb 3> :
  # DEBUG BEGIN_STMT
  c_52 = 128;
  # DEBUG c => c_52
  # DEBUG BEGIN_STMT
  if (j_33 <= 1)
    goto <bb 4>; [INV]
  else
    goto <bb 5>; [INV]

  <bb 4> :
  # DEBUG BEGIN_STMT
  lim_54 = 8;
  # DEBUG lim => lim_54
  goto <bb 6>; [INV]

  <bb 5> :
  # DEBUG BEGIN_STMT
  lim_53 = 3;
  # DEBUG lim => lim_53

  <bb 6> :
  # lim_38 = PHI <lim_54(4), lim_53(5)>
  # DEBUG lim => lim_38
  # DEBUG BEGIN_STMT
  i_55 = 0;
  # DEBUG i => i_55
  goto <bb 23>; [INV]

  <bb 7> :
  # DEBUG BEGIN_STMT
  _1 = (int) j_33;
  _2 = DTC_Item._c[_1];
  _3 = c_37 & _2;
  if (_3 != 0)
    goto <bb 9>; [INV]
  else
    goto <bb 8>; [INV]

  <bb 8> :
  _4 = (int) j_33;
  _5 = DTC_Item_Old._c[_4];
  _6 = c_37 & _5;
  if (_6 != 0)
    goto <bb 9>; [INV]
  else
    goto <bb 22>; [INV]

  <bb 9> :
  # DEBUG BEGIN_STMT
  k_56 = 0;
  # DEBUG k => k_56
  goto <bb 11>; [INV]

  <bb 10> :
  # DEBUG BEGIN_STMT
  _7 = (int) p_35;
  _8 = TFAIL_NAME[_7];
  _9 = (sizetype) k_34;
  _10 = _8 + _9;
  _11 = (int) k_34;
  _12 = *_10;
  nDTC[_11] = _12;
  # DEBUG BEGIN_STMT
  k.30_13 = k_34;
  k_71 = k.30_13 + 1;
  # DEBUG k => k_71

  <bb 11> :
  # k_34 = PHI <k_56(9), k_71(10)>
  # DEBUG k => k_34
  # DEBUG BEGIN_STMT
  if (k_34 <= 7)
    goto <bb 10>; [INV]
  else
    goto <bb 12>; [INV]

  <bb 12> :
  # DEBUG BEGIN_STMT
  nDTC[8] = 0;
  # DEBUG BEGIN_STMT
  _14 = nDTC[0];
  if (_14 == 80)
    goto <bb 13>; [INV]
  else
    goto <bb 14>; [INV]

  <bb 13> :
  # DEBUG BEGIN_STMT
  c1_61 = 0;
  # DEBUG c1 => c1_61
  goto <bb 20>; [INV]

  <bb 14> :
  # DEBUG BEGIN_STMT
  _15 = nDTC[0];
  if (_15 == 67)
    goto <bb 15>; [INV]
  else
    goto <bb 16>; [INV]

  <bb 15> :
  # DEBUG BEGIN_STMT
  c1_60 = 4194304;
  # DEBUG c1 => c1_60
  goto <bb 20>; [INV]

  <bb 16> :
  # DEBUG BEGIN_STMT
  _16 = nDTC[0];
  if (_16 == 66)
    goto <bb 17>; [INV]
  else
    goto <bb 18>; [INV]

  <bb 17> :
  # DEBUG BEGIN_STMT
  c1_59 = 8388608;
  # DEBUG c1 => c1_59
  goto <bb 20>; [INV]

  <bb 18> :
  # DEBUG BEGIN_STMT
  _17 = nDTC[0];
  if (_17 == 85)
    goto <bb 19>; [INV]
  else
    goto <bb 24>; [INV]

  <bb 19> :
  # DEBUG BEGIN_STMT
  c1_58 = 12582912;
  # DEBUG c1 => c1_58

  <bb 20> :
  # c1_39 = PHI <c1_61(13), c1_60(15), c1_59(17), c1_58(19)>
  # DEBUG c1 => c1_39
  # DEBUG BEGIN_STMT
  _18 = &nDTC + 1;
  _63 = string_to_int (_18);
  c1_64 = _63 + c1_39;
  # DEBUG c1 => c1_64
  # DEBUG BEGIN_STMT
  if (c1_64 == dtcc_65(D))
    goto <bb 21>; [INV]
  else
    goto <bb 22>; [INV]

  <bb 21> :
  # DEBUG BEGIN_STMT
  _19 = c_37 == 0;
  nc_66 = (uint8_t) _19;
  # DEBUG nc => nc_66
  # DEBUG BEGIN_STMT
  _20 = (int) j_33;
  _21 = DTC_Item._c[_20];
  _22 = (int) j_33;
  _23 = nc_66 & _21;
  DTC_Item._c[_22] = _23;
  # DEBUG BEGIN_STMT
  _24 = (int) j_33;
  _25 = DTC_Item_Old._c[_24];
  _26 = (int) j_33;
  _27 = nc_66 & _25;
  DTC_Item_Old._c[_26] = _27;
  # DEBUG BEGIN_STMT
  _69 = (uint8_t) p_35;
  // predicted unlikely by early return (on trees) predictor.
  goto <bb 27>; [INV]

  <bb 22> :
  # DEBUG BEGIN_STMT
  p.31_28 = p_35;
  p_72 = p.31_28 + 1;
  # DEBUG p => p_72
  # DEBUG BEGIN_STMT
  c_73 = c_37 >> 1;
  # DEBUG c => c_73
  # DEBUG BEGIN_STMT
  i.32_29 = i_32;
  i_74 = i.32_29 + 1;
  # DEBUG i => i_74

  <bb 23> :
  # i_32 = PHI <i_55(6), i_74(22)>
  # p_35 = PHI <p_36(6), p_72(22)>
  # c_37 = PHI <c_52(6), c_73(22)>
  # DEBUG c => c_37
  # DEBUG p => p_35
  # DEBUG i => i_32
  # DEBUG BEGIN_STMT
  _30 = (short unsigned int) lim_38;
  if (i_32 < _30)
    goto <bb 7>; [INV]
  else
    goto <bb 24>; [INV]

  <bb 24> :
  # DEBUG BEGIN_STMT
  j.33_31 = j_33;
  j_75 = j.33_31 + 1;
  # DEBUG j => j_75

  <bb 25> :
  # j_33 = PHI <j_49(2), j_75(24)>
  # p_36 = PHI <p_48(2), p_35(24)>
  # DEBUG p => p_36
  # DEBUG j => j_33
  # DEBUG BEGIN_STMT
  if (j_33 <= 7)
    goto <bb 3>; [INV]
  else
    goto <bb 26>; [INV]

  <bb 26> :
  # DEBUG BEGIN_STMT
  _51 = 255;

  <bb 27> :
  # _40 = PHI <_69(21), _51(26)>
  nDTC ={v} {CLOBBER};
  return _40;

}


is_dtc_exist (uint32_t dtcc)
{
  uint8_t nDTC[9];
  uint32_t c1;
  uint8_t lim;
  uint16_t p;
  uint16_t k;
  uint16_t j;
  uint16_t i;
  int _1;
  const char * _2;
  sizetype _3;
  const char * _4;
  int _5;
  char _6;
  short unsigned int k.26_7;
  unsigned char _8;
  unsigned char _9;
  unsigned char _10;
  unsigned char _11;
  uint8_t * _12;
  short unsigned int i.27_13;
  short unsigned int _14;
  short unsigned int p.28_15;
  short unsigned int j.29_16;
  uint8_t _23;
  uint8_t _33;
  long unsigned int _44;
  uint8_t _48;

  <bb 2> :
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  k_29 = 0;
  # DEBUG k => k_29
  # DEBUG BEGIN_STMT
  p_30 = 0;
  # DEBUG p => p_30
  # DEBUG BEGIN_STMT
  j_31 = 0;
  # DEBUG j => j_31
  goto <bb 23>; [INV]

  <bb 3> :
  # DEBUG BEGIN_STMT
  if (j_18 <= 1)
    goto <bb 4>; [INV]
  else
    goto <bb 5>; [INV]

  <bb 4> :
  # DEBUG BEGIN_STMT
  lim_35 = 8;
  # DEBUG lim => lim_35
  goto <bb 6>; [INV]

  <bb 5> :
  # DEBUG BEGIN_STMT
  lim_34 = 3;
  # DEBUG lim => lim_34

  <bb 6> :
  # lim_21 = PHI <lim_35(4), lim_34(5)>
  # DEBUG lim => lim_21
  # DEBUG BEGIN_STMT
  i_36 = 0;
  # DEBUG i => i_36
  goto <bb 21>; [INV]

  <bb 7> :
  # DEBUG BEGIN_STMT
  k_37 = 0;
  # DEBUG k => k_37
  goto <bb 9>; [INV]

  <bb 8> :
  # DEBUG BEGIN_STMT
  _1 = (int) p_20;
  _2 = TFAIL_NAME[_1];
  _3 = (sizetype) k_19;
  _4 = _2 + _3;
  _5 = (int) k_19;
  _6 = *_4;
  nDTC[_5] = _6;
  # DEBUG BEGIN_STMT
  k.26_7 = k_19;
  k_50 = k.26_7 + 1;
  # DEBUG k => k_50

  <bb 9> :
  # k_19 = PHI <k_37(7), k_50(8)>
  # DEBUG k => k_19
  # DEBUG BEGIN_STMT
  if (k_19 <= 7)
    goto <bb 8>; [INV]
  else
    goto <bb 10>; [INV]

  <bb 10> :
  # DEBUG BEGIN_STMT
  nDTC[8] = 0;
  # DEBUG BEGIN_STMT
  _8 = nDTC[0];
  if (_8 == 80)
    goto <bb 11>; [INV]
  else
    goto <bb 12>; [INV]

  <bb 11> :
  # DEBUG BEGIN_STMT
  c1_42 = 0;
  # DEBUG c1 => c1_42
  goto <bb 18>; [INV]

  <bb 12> :
  # DEBUG BEGIN_STMT
  _9 = nDTC[0];
  if (_9 == 67)
    goto <bb 13>; [INV]
  else
    goto <bb 14>; [INV]

  <bb 13> :
  # DEBUG BEGIN_STMT
  c1_41 = 4194304;
  # DEBUG c1 => c1_41
  goto <bb 18>; [INV]

  <bb 14> :
  # DEBUG BEGIN_STMT
  _10 = nDTC[0];
  if (_10 == 66)
    goto <bb 15>; [INV]
  else
    goto <bb 16>; [INV]

  <bb 15> :
  # DEBUG BEGIN_STMT
  c1_40 = 8388608;
  # DEBUG c1 => c1_40
  goto <bb 18>; [INV]

  <bb 16> :
  # DEBUG BEGIN_STMT
  _11 = nDTC[0];
  if (_11 == 85)
    goto <bb 17>; [INV]
  else
    goto <bb 22>; [INV]

  <bb 17> :
  # DEBUG BEGIN_STMT
  c1_39 = 12582912;
  # DEBUG c1 => c1_39

  <bb 18> :
  # c1_22 = PHI <c1_42(11), c1_41(13), c1_40(15), c1_39(17)>
  # DEBUG c1 => c1_22
  # DEBUG BEGIN_STMT
  _12 = &nDTC + 1;
  _44 = string_to_int (_12);
  c1_45 = _44 + c1_22;
  # DEBUG c1 => c1_45
  # DEBUG BEGIN_STMT
  if (c1_45 == dtcc_46(D))
    goto <bb 19>; [INV]
  else
    goto <bb 20>; [INV]

  <bb 19> :
  # DEBUG BEGIN_STMT
  _48 = (uint8_t) p_20;
  // predicted unlikely by early return (on trees) predictor.
  goto <bb 25>; [INV]

  <bb 20> :
  # DEBUG BEGIN_STMT
  i.27_13 = i_17;
  i_47 = i.27_13 + 1;
  # DEBUG i => i_47

  <bb 21> :
  # i_17 = PHI <i_36(6), i_47(20)>
  # DEBUG i => i_17
  # DEBUG BEGIN_STMT
  _14 = (short unsigned int) lim_21;
  if (i_17 < _14)
    goto <bb 7>; [INV]
  else
    goto <bb 22>; [INV]

  <bb 22> :
  # DEBUG BEGIN_STMT
  p.28_15 = p_20;
  p_51 = p.28_15 + 1;
  # DEBUG p => p_51
  # DEBUG BEGIN_STMT
  j.29_16 = j_18;
  j_52 = j.29_16 + 1;
  # DEBUG j => j_52

  <bb 23> :
  # j_18 = PHI <j_31(2), j_52(22)>
  # p_20 = PHI <p_30(2), p_51(22)>
  # DEBUG p => p_20
  # DEBUG j => j_18
  # DEBUG BEGIN_STMT
  if (j_18 <= 7)
    goto <bb 3>; [INV]
  else
    goto <bb 24>; [INV]

  <bb 24> :
  # DEBUG BEGIN_STMT
  _33 = 255;

  <bb 25> :
  # _23 = PHI <_48(19), _33(24)>
  nDTC ={v} {CLOBBER};
  return _23;

}


is_dtc_found (uint32_t dtcc)
{
  uint8_t nDTC[9];
  uint32_t c1;
  uint8_t lim;
  uint8_t c;
  uint16_t p;
  uint16_t k;
  uint16_t j;
  uint16_t i;
  int _1;
  unsigned char _2;
  unsigned char _3;
  int _4;
  unsigned char _5;
  unsigned char _6;
  int _7;
  const char * _8;
  sizetype _9;
  const char * _10;
  int _11;
  char _12;
  short unsigned int k.22_13;
  unsigned char _14;
  unsigned char _15;
  unsigned char _16;
  unsigned char _17;
  uint8_t * _18;
  short unsigned int p.23_19;
  short unsigned int i.24_20;
  short unsigned int _21;
  short unsigned int j.25_22;
  uint8_t _31;
  uint8_t _42;
  long unsigned int _54;
  uint8_t _57;

  <bb 2> :
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  k_38 = 0;
  # DEBUG k => k_38
  # DEBUG BEGIN_STMT
  p_39 = 0;
  # DEBUG p => p_39
  # DEBUG BEGIN_STMT
  j_40 = 0;
  # DEBUG j => j_40
  goto <bb 25>; [INV]

  <bb 3> :
  # DEBUG BEGIN_STMT
  c_43 = 128;
  # DEBUG c => c_43
  # DEBUG BEGIN_STMT
  if (j_24 <= 1)
    goto <bb 4>; [INV]
  else
    goto <bb 5>; [INV]

  <bb 4> :
  # DEBUG BEGIN_STMT
  lim_45 = 8;
  # DEBUG lim => lim_45
  goto <bb 6>; [INV]

  <bb 5> :
  # DEBUG BEGIN_STMT
  lim_44 = 3;
  # DEBUG lim => lim_44

  <bb 6> :
  # lim_29 = PHI <lim_45(4), lim_44(5)>
  # DEBUG lim => lim_29
  # DEBUG BEGIN_STMT
  i_46 = 0;
  # DEBUG i => i_46
  goto <bb 23>; [INV]

  <bb 7> :
  # DEBUG BEGIN_STMT
  _1 = (int) j_24;
  _2 = DTC_Item._c[_1];
  _3 = c_28 & _2;
  if (_3 != 0)
    goto <bb 9>; [INV]
  else
    goto <bb 8>; [INV]

  <bb 8> :
  _4 = (int) j_24;
  _5 = DTC_Item_Old._c[_4];
  _6 = c_28 & _5;
  if (_6 != 0)
    goto <bb 9>; [INV]
  else
    goto <bb 22>; [INV]

  <bb 9> :
  # DEBUG BEGIN_STMT
  k_47 = 0;
  # DEBUG k => k_47
  goto <bb 11>; [INV]

  <bb 10> :
  # DEBUG BEGIN_STMT
  _7 = (int) p_26;
  _8 = TFAIL_NAME[_7];
  _9 = (sizetype) k_25;
  _10 = _8 + _9;
  _11 = (int) k_25;
  _12 = *_10;
  nDTC[_11] = _12;
  # DEBUG BEGIN_STMT
  k.22_13 = k_25;
  k_59 = k.22_13 + 1;
  # DEBUG k => k_59

  <bb 11> :
  # k_25 = PHI <k_47(9), k_59(10)>
  # DEBUG k => k_25
  # DEBUG BEGIN_STMT
  if (k_25 <= 7)
    goto <bb 10>; [INV]
  else
    goto <bb 12>; [INV]

  <bb 12> :
  # DEBUG BEGIN_STMT
  nDTC[8] = 0;
  # DEBUG BEGIN_STMT
  _14 = nDTC[0];
  if (_14 == 80)
    goto <bb 13>; [INV]
  else
    goto <bb 14>; [INV]

  <bb 13> :
  # DEBUG BEGIN_STMT
  c1_52 = 0;
  # DEBUG c1 => c1_52
  goto <bb 20>; [INV]

  <bb 14> :
  # DEBUG BEGIN_STMT
  _15 = nDTC[0];
  if (_15 == 67)
    goto <bb 15>; [INV]
  else
    goto <bb 16>; [INV]

  <bb 15> :
  # DEBUG BEGIN_STMT
  c1_51 = 4194304;
  # DEBUG c1 => c1_51
  goto <bb 20>; [INV]

  <bb 16> :
  # DEBUG BEGIN_STMT
  _16 = nDTC[0];
  if (_16 == 66)
    goto <bb 17>; [INV]
  else
    goto <bb 18>; [INV]

  <bb 17> :
  # DEBUG BEGIN_STMT
  c1_50 = 8388608;
  # DEBUG c1 => c1_50
  goto <bb 20>; [INV]

  <bb 18> :
  # DEBUG BEGIN_STMT
  _17 = nDTC[0];
  if (_17 == 85)
    goto <bb 19>; [INV]
  else
    goto <bb 24>; [INV]

  <bb 19> :
  # DEBUG BEGIN_STMT
  c1_49 = 12582912;
  # DEBUG c1 => c1_49

  <bb 20> :
  # c1_30 = PHI <c1_52(13), c1_51(15), c1_50(17), c1_49(19)>
  # DEBUG c1 => c1_30
  # DEBUG BEGIN_STMT
  _18 = &nDTC + 1;
  _54 = string_to_int (_18);
  c1_55 = _54 + c1_30;
  # DEBUG c1 => c1_55
  # DEBUG BEGIN_STMT
  if (c1_55 == dtcc_56(D))
    goto <bb 21>; [INV]
  else
    goto <bb 22>; [INV]

  <bb 21> :
  # DEBUG BEGIN_STMT
  _57 = (uint8_t) p_26;
  // predicted unlikely by early return (on trees) predictor.
  goto <bb 27>; [INV]

  <bb 22> :
  # DEBUG BEGIN_STMT
  p.23_19 = p_26;
  p_60 = p.23_19 + 1;
  # DEBUG p => p_60
  # DEBUG BEGIN_STMT
  c_61 = c_28 >> 1;
  # DEBUG c => c_61
  # DEBUG BEGIN_STMT
  i.24_20 = i_23;
  i_62 = i.24_20 + 1;
  # DEBUG i => i_62

  <bb 23> :
  # i_23 = PHI <i_46(6), i_62(22)>
  # p_26 = PHI <p_27(6), p_60(22)>
  # c_28 = PHI <c_43(6), c_61(22)>
  # DEBUG c => c_28
  # DEBUG p => p_26
  # DEBUG i => i_23
  # DEBUG BEGIN_STMT
  _21 = (short unsigned int) lim_29;
  if (i_23 < _21)
    goto <bb 7>; [INV]
  else
    goto <bb 24>; [INV]

  <bb 24> :
  # DEBUG BEGIN_STMT
  j.25_22 = j_24;
  j_63 = j.25_22 + 1;
  # DEBUG j => j_63

  <bb 25> :
  # j_24 = PHI <j_40(2), j_63(24)>
  # p_27 = PHI <p_39(2), p_26(24)>
  # DEBUG p => p_27
  # DEBUG j => j_24
  # DEBUG BEGIN_STMT
  if (j_24 <= 7)
    goto <bb 3>; [INV]
  else
    goto <bb 26>; [INV]

  <bb 26> :
  # DEBUG BEGIN_STMT
  _42 = 255;

  <bb 27> :
  # _31 = PHI <_57(21), _42(26)>
  nDTC ={v} {CLOBBER};
  return _31;

}


dtc_count_set ()
{
  uint16_t count;
  uint16_t j;
  uint16_t i;
  uint8_t c;
  int _1;
  unsigned char _2;
  unsigned char _3;
  int _4;
  unsigned char _5;
  unsigned char _6;
  short unsigned int count.19_7;
  short unsigned int i.20_8;
  short unsigned int j.21_9;
  uint16_t _18;

  <bb 2> :
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  count_16 = 0;
  # DEBUG count => count_16
  # DEBUG BEGIN_STMT
  j_17 = 0;
  # DEBUG j => j_17
  goto <bb 10>; [INV]

  <bb 3> :
  # DEBUG BEGIN_STMT
  c_20 = 128;
  # DEBUG c => c_20
  # DEBUG BEGIN_STMT
  i_21 = 0;
  # DEBUG i => i_21
  goto <bb 8>; [INV]

  <bb 4> :
  # DEBUG BEGIN_STMT
  _1 = (int) j_12;
  _2 = DTC_Item._c[_1];
  _3 = c_10 & _2;
  if (_3 != 0)
    goto <bb 6>; [INV]
  else
    goto <bb 5>; [INV]

  <bb 5> :
  _4 = (int) j_12;
  _5 = DTC_Item_Old._c[_4];
  _6 = c_10 & _5;
  if (_6 != 0)
    goto <bb 6>; [INV]
  else
    goto <bb 7>; [INV]

  <bb 6> :
  # DEBUG BEGIN_STMT
  count.19_7 = count_14;
  count_23 = count.19_7 + 1;
  # DEBUG count => count_23

  <bb 7> :
  # count_13 = PHI <count_14(5), count_23(6)>
  # DEBUG count => count_13
  # DEBUG BEGIN_STMT
  c_24 = c_10 >> 1;
  # DEBUG c => c_24
  # DEBUG BEGIN_STMT
  i.20_8 = i_11;
  i_25 = i.20_8 + 1;
  # DEBUG i => i_25

  <bb 8> :
  # c_10 = PHI <c_20(3), c_24(7)>
  # i_11 = PHI <i_21(3), i_25(7)>
  # count_14 = PHI <count_15(3), count_13(7)>
  # DEBUG count => count_14
  # DEBUG i => i_11
  # DEBUG c => c_10
  # DEBUG BEGIN_STMT
  if (i_11 <= 7)
    goto <bb 4>; [INV]
  else
    goto <bb 9>; [INV]

  <bb 9> :
  # DEBUG BEGIN_STMT
  j.21_9 = j_12;
  j_22 = j.21_9 + 1;
  # DEBUG j => j_22

  <bb 10> :
  # j_12 = PHI <j_17(2), j_22(9)>
  # count_15 = PHI <count_16(2), count_14(9)>
  # DEBUG count => count_15
  # DEBUG j => j_12
  # DEBUG BEGIN_STMT
  if (j_12 <= 7)
    goto <bb 3>; [INV]
  else
    goto <bb 11>; [INV]

  <bb 11> :
  # DEBUG BEGIN_STMT
  _18 = count_15;
  return _18;

}


dtc_send_table_set (uint8_t type)
{
  uint8_t DTC_PUSH_OLD[9];
  uint8_t DTC_PUSH[9];
  uint8_t nDTC[9];
  uint32_t c1;
  uint8_t a;
  uint8_t c;
  uint16_t pt;
  uint16_t p;
  uint16_t k;
  uint16_t j;
  uint16_t i;
  int _1;
  int _2;
  unsigned char _3;
  int _4;
  int _5;
  unsigned char _6;
  short unsigned int i.8_7;
  int _8;
  int _9;
  short unsigned int i.9_10;
  int _11;
  short unsigned int i.10_12;
  int _13;
  unsigned char _14;
  unsigned char _15;
  int _16;
  unsigned char _17;
  unsigned char _18;
  int _19;
  const char * _20;
  sizetype _21;
  const char * _22;
  int _23;
  char _24;
  short unsigned int k.11_25;
  unsigned char _26;
  unsigned char _27;
  unsigned char _28;
  unsigned char _29;
  uint8_t * _30;
  int _31;
  unsigned char _32;
  unsigned char _33;
  int _34;
  unsigned char _35;
  unsigned char _36;
  long unsigned int _37;
  int _38;
  unsigned char _39;
  short unsigned int pt.12_40;
  long unsigned int _41;
  int _42;
  unsigned char _43;
  short unsigned int pt.13_44;
  int _45;
  unsigned char _46;
  short unsigned int pt.14_47;
  int _48;
  short unsigned int pt.15_49;
  short unsigned int p.16_50;
  short unsigned int i.17_51;
  short unsigned int j.18_52;
  unsigned char _53;
  unsigned char _54;
  unsigned char _55;
  unsigned char _56;
  unsigned char _57;
  unsigned char _58;
  int _59;
  uint16_t _130;
  long unsigned int _143;

  <bb 2> :
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  DTC_Item.f.lv = 1;
  # DEBUG BEGIN_STMT
  DTC_Item.f.hv = 1;
  # DEBUG BEGIN_STMT
  DTC_Item.f.can_l = 1;
  # DEBUG BEGIN_STMT
  DTC_Item.f.can_l_busoff = 1;
  # DEBUG BEGIN_STMT
  DTC_Item.f.can_r = 1;
  # DEBUG BEGIN_STMT
  DTC_Item.f.can_r_busoff = 1;
  # DEBUG BEGIN_STMT
  DTC_Item.f.can_ecu = 1;
  # DEBUG BEGIN_STMT
  DTC_Item.f.can_ecu_busoff = 1;
  # DEBUG BEGIN_STMT
  DTC_Item.f.d1_oc = 1;
  # DEBUG BEGIN_STMT
  DTC_Item.f.d1_open_short = 1;
  # DEBUG BEGIN_STMT
  DTC_Item.f.d1_g_vcc = 1;
  # DEBUG BEGIN_STMT
  DTC_Item.f.d2_oc = 1;
  # DEBUG BEGIN_STMT
  DTC_Item.f.d2_open_short = 1;
  # DEBUG BEGIN_STMT
  DTC_Item.f.d2_g_vcc = 1;
  # DEBUG BEGIN_STMT
  DTC_Item.f.d3_oc = 1;
  # DEBUG BEGIN_STMT
  DTC_Item.f.d3_open_short = 1;
  # DEBUG BEGIN_STMT
  DTC_Item.f.d3_g_vcc = 1;
  # DEBUG BEGIN_STMT
  DTC_Item.f.d4_oc = 1;
  # DEBUG BEGIN_STMT
  DTC_Item.f.d4_open_short = 1;
  # DEBUG BEGIN_STMT
  DTC_Item.f.d4_g_vcc = 1;
  # DEBUG BEGIN_STMT
  DTC_Item.f.d5_oc = 1;
  # DEBUG BEGIN_STMT
  DTC_Item.f.d5_open_short = 1;
  # DEBUG BEGIN_STMT
  DTC_Item.f.d5_g_vcc = 1;
  # DEBUG BEGIN_STMT
  DTC_Item.f.d6_oc = 1;
  # DEBUG BEGIN_STMT
  DTC_Item.f.d6_open_short = 1;
  # DEBUG BEGIN_STMT
  DTC_Item.f.d6_g_vcc = 1;
  # DEBUG BEGIN_STMT
  i_112 = 0;
  # DEBUG i => i_112
  goto <bb 4>; [INV]

  <bb 3> :
  # DEBUG BEGIN_STMT
  _1 = (int) i_60;
  _2 = (int) i_60;
  _3 = DTC_Item._c[_1];
  DTC_PUSH[_2] = _3;
  # DEBUG BEGIN_STMT
  _4 = (int) i_60;
  _5 = (int) i_60;
  _6 = DTC_Item_Old._c[_4];
  DTC_PUSH_OLD[_5] = _6;
  # DEBUG BEGIN_STMT
  i.8_7 = i_60;
  i_166 = i.8_7 + 1;
  # DEBUG i => i_166

  <bb 4> :
  # i_60 = PHI <i_112(2), i_166(3)>
  # DEBUG i => i_60
  # DEBUG BEGIN_STMT
  if (i_60 <= 7)
    goto <bb 3>; [INV]
  else
    goto <bb 5>; [INV]

  <bb 5> :
  # DEBUG BEGIN_STMT
  if (type_113(D) == 10)
    goto <bb 6>; [INV]
  else
    goto <bb 9>; [INV]

  <bb 6> :
  # DEBUG BEGIN_STMT
  i_114 = 0;
  # DEBUG i => i_114
  goto <bb 8>; [INV]

  <bb 7> :
  # DEBUG BEGIN_STMT
  _8 = (int) i_61;
  DTC_Item._c[_8] = 255;
  # DEBUG BEGIN_STMT
  _9 = (int) i_61;
  DTC_Item_Old._c[_9] = 255;
  # DEBUG BEGIN_STMT
  i.9_10 = i_61;
  i_117 = i.9_10 + 1;
  # DEBUG i => i_117

  <bb 8> :
  # i_61 = PHI <i_114(6), i_117(7)>
  # DEBUG i => i_61
  # DEBUG BEGIN_STMT
  if (i_61 <= 7)
    goto <bb 7>; [INV]
  else
    goto <bb 9>; [INV]

  <bb 9> :
  # DEBUG BEGIN_STMT
  i_118 = 0;
  # DEBUG i => i_118
  goto <bb 11>; [INV]

  <bb 10> :
  # DEBUG BEGIN_STMT
  _11 = (int) i_62;
  TABLE_DTC_SEND[_11] = 0;
  # DEBUG BEGIN_STMT
  i.10_12 = i_62;
  i_163 = i.10_12 + 1;
  # DEBUG i => i_163

  <bb 11> :
  # i_62 = PHI <i_118(9), i_163(10)>
  # DEBUG i => i_62
  # DEBUG BEGIN_STMT
  if (i_62 <= 199)
    goto <bb 10>; [INV]
  else
    goto <bb 12>; [INV]

  <bb 12> :
  # DEBUG BEGIN_STMT
  k_119 = 0;
  # DEBUG k => k_119
  # DEBUG BEGIN_STMT
  p_120 = 0;
  # DEBUG p => p_120
  # DEBUG BEGIN_STMT
  pt_121 = 0;
  # DEBUG pt => pt_121
  # DEBUG BEGIN_STMT
  j_122 = 0;
  # DEBUG j => j_122
  goto <bb 35>; [INV]

  <bb 13> :
  # DEBUG BEGIN_STMT
  c_134 = 128;
  # DEBUG c => c_134
  # DEBUG BEGIN_STMT
  i_135 = 0;
  # DEBUG i => i_135
  goto <bb 33>; [INV]

  <bb 14> :
  # DEBUG BEGIN_STMT
  _13 = (int) j_64;
  _14 = DTC_Item._c[_13];
  _15 = c_71 & _14;
  if (_15 != 0)
    goto <bb 16>; [INV]
  else
    goto <bb 15>; [INV]

  <bb 15> :
  _16 = (int) j_64;
  _17 = DTC_Item_Old._c[_16];
  _18 = c_71 & _17;
  if (_18 != 0)
    goto <bb 16>; [INV]
  else
    goto <bb 32>; [INV]

  <bb 16> :
  # DEBUG BEGIN_STMT
  k_136 = 0;
  # DEBUG k => k_136
  goto <bb 18>; [INV]

  <bb 17> :
  # DEBUG BEGIN_STMT
  _19 = (int) p_66;
  _20 = TFAIL_NAME[_19];
  _21 = (sizetype) k_65;
  _22 = _20 + _21;
  _23 = (int) k_65;
  _24 = *_22;
  nDTC[_23] = _24;
  # DEBUG BEGIN_STMT
  k.11_25 = k_65;
  k_157 = k.11_25 + 1;
  # DEBUG k => k_157

  <bb 18> :
  # k_65 = PHI <k_136(16), k_157(17)>
  # DEBUG k => k_65
  # DEBUG BEGIN_STMT
  if (k_65 <= 7)
    goto <bb 17>; [INV]
  else
    goto <bb 19>; [INV]

  <bb 19> :
  # DEBUG BEGIN_STMT
  nDTC[8] = 0;
  # DEBUG BEGIN_STMT
  _26 = nDTC[0];
  if (_26 == 80)
    goto <bb 20>; [INV]
  else
    goto <bb 21>; [INV]

  <bb 20> :
  # DEBUG BEGIN_STMT
  c1_141 = 0;
  # DEBUG c1 => c1_141
  goto <bb 27>; [INV]

  <bb 21> :
  # DEBUG BEGIN_STMT
  _27 = nDTC[0];
  if (_27 == 67)
    goto <bb 22>; [INV]
  else
    goto <bb 23>; [INV]

  <bb 22> :
  # DEBUG BEGIN_STMT
  c1_140 = 4194304;
  # DEBUG c1 => c1_140
  goto <bb 27>; [INV]

  <bb 23> :
  # DEBUG BEGIN_STMT
  _28 = nDTC[0];
  if (_28 == 66)
    goto <bb 24>; [INV]
  else
    goto <bb 25>; [INV]

  <bb 24> :
  # DEBUG BEGIN_STMT
  c1_139 = 8388608;
  # DEBUG c1 => c1_139
  goto <bb 27>; [INV]

  <bb 25> :
  # DEBUG BEGIN_STMT
  _29 = nDTC[0];
  if (_29 == 85)
    goto <bb 26>; [INV]
  else
    goto <bb 34>; [INV]

  <bb 26> :
  # DEBUG BEGIN_STMT
  c1_138 = 12582912;
  # DEBUG c1 => c1_138

  <bb 27> :
  # c1_74 = PHI <c1_141(20), c1_140(22), c1_139(24), c1_138(26)>
  # DEBUG c1 => c1_74
  # DEBUG BEGIN_STMT
  _30 = &nDTC + 1;
  _143 = string_to_int (_30);
  c1_144 = _143 + c1_74;
  # DEBUG c1 => c1_144
  # DEBUG BEGIN_STMT
  a_145 = 0;
  # DEBUG a => a_145
  # DEBUG BEGIN_STMT
  _31 = (int) j_64;
  _32 = DTC_Item_Old._c[_31];
  _33 = c_71 & _32;
  if (_33 != 0)
    goto <bb 28>; [INV]
  else
    goto <bb 29>; [INV]

  <bb 28> :
  # DEBUG BEGIN_STMT
  a_146 = a_145 | 8;
  # DEBUG a => a_146

  <bb 29> :
  # a_72 = PHI <a_145(27), a_146(28)>
  # DEBUG a => a_72
  # DEBUG BEGIN_STMT
  _34 = (int) j_64;
  _35 = DTC_Item._c[_34];
  _36 = c_71 & _35;
  if (_36 != 0)
    goto <bb 30>; [INV]
  else
    goto <bb 31>; [INV]

  <bb 30> :
  # DEBUG BEGIN_STMT
  a_147 = a_72 | 1;
  # DEBUG a => a_147

  <bb 31> :
  # a_73 = PHI <a_72(29), a_147(30)>
  # DEBUG a => a_73
  # DEBUG BEGIN_STMT
  _37 = c1_144 >> 16;
  _38 = (int) pt_69;
  _39 = (unsigned char) _37;
  TABLE_DTC_SEND[_38] = _39;
  # DEBUG BEGIN_STMT
  pt.12_40 = pt_69;
  pt_149 = pt.12_40 + 1;
  # DEBUG pt => pt_149
  # DEBUG BEGIN_STMT
  _41 = c1_144 >> 8;
  _42 = (int) pt_149;
  _43 = (unsigned char) _41;
  TABLE_DTC_SEND[_42] = _43;
  # DEBUG BEGIN_STMT
  pt.13_44 = pt_149;
  pt_151 = pt.13_44 + 1;
  # DEBUG pt => pt_151
  # DEBUG BEGIN_STMT
  _45 = (int) pt_151;
  _46 = (unsigned char) c1_144;
  TABLE_DTC_SEND[_45] = _46;
  # DEBUG BEGIN_STMT
  pt.14_47 = pt_151;
  pt_153 = pt.14_47 + 1;
  # DEBUG pt => pt_153
  # DEBUG BEGIN_STMT
  _48 = (int) pt_153;
  TABLE_DTC_SEND[_48] = a_73;
  # DEBUG BEGIN_STMT
  pt.15_49 = pt_153;
  pt_155 = pt.15_49 + 1;
  # DEBUG pt => pt_155

  <bb 32> :
  # pt_68 = PHI <pt_69(15), pt_155(31)>
  # DEBUG pt => pt_68
  # DEBUG BEGIN_STMT
  p.16_50 = p_66;
  p_158 = p.16_50 + 1;
  # DEBUG p => p_158
  # DEBUG BEGIN_STMT
  c_159 = c_71 >> 1;
  # DEBUG c => c_159
  # DEBUG BEGIN_STMT
  i.17_51 = i_63;
  i_160 = i.17_51 + 1;
  # DEBUG i => i_160

  <bb 33> :
  # i_63 = PHI <i_135(13), i_160(32)>
  # p_66 = PHI <p_67(13), p_158(32)>
  # pt_69 = PHI <pt_70(13), pt_68(32)>
  # c_71 = PHI <c_134(13), c_159(32)>
  # DEBUG c => c_71
  # DEBUG pt => pt_69
  # DEBUG p => p_66
  # DEBUG i => i_63
  # DEBUG BEGIN_STMT
  if (i_63 <= 7)
    goto <bb 14>; [INV]
  else
    goto <bb 34>; [INV]

  <bb 34> :
  # DEBUG BEGIN_STMT
  j.18_52 = j_64;
  j_161 = j.18_52 + 1;
  # DEBUG j => j_161

  <bb 35> :
  # j_64 = PHI <j_122(12), j_161(34)>
  # p_67 = PHI <p_120(12), p_66(34)>
  # pt_70 = PHI <pt_121(12), pt_69(34)>
  # DEBUG pt => pt_70
  # DEBUG p => p_67
  # DEBUG j => j_64
  # DEBUG BEGIN_STMT
  if (j_64 <= 7)
    goto <bb 13>; [INV]
  else
    goto <bb 36>; [INV]

  <bb 36> :
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  if (type_113(D) == 10)
    goto <bb 37>; [INV]
  else
    goto <bb 38>; [INV]

  <bb 37> :
  # DEBUG BEGIN_STMT
  _53 = DTC_PUSH[0];
  DTC_Item._c[0] = _53;
  # DEBUG BEGIN_STMT
  _54 = DTC_PUSH[1];
  DTC_Item._c[1] = _54;
  # DEBUG BEGIN_STMT
  _55 = DTC_PUSH[2];
  DTC_Item._c[2] = _55;
  # DEBUG BEGIN_STMT
  _56 = DTC_PUSH_OLD[0];
  DTC_Item_Old._c[0] = _56;
  # DEBUG BEGIN_STMT
  _57 = DTC_PUSH_OLD[1];
  DTC_Item_Old._c[1] = _57;
  # DEBUG BEGIN_STMT
  _58 = DTC_PUSH_OLD[2];
  DTC_Item_Old._c[2] = _58;

  <bb 38> :
  # DEBUG BEGIN_STMT
  _59 = (int) pt_70;
  TABLE_DTC_SEND[_59] = 0;
  # DEBUG BEGIN_STMT
  _130 = pt_70;
  nDTC ={v} {CLOBBER};
  DTC_PUSH ={v} {CLOBBER};
  DTC_PUSH_OLD ={v} {CLOBBER};
  return _130;

}


dtc_string_to_code (uint16_t p)
{
  uint32_t c1;
  uint8_t nDTC[9];
  uint16_t k;
  int _1;
  const char * _2;
  sizetype _3;
  const char * _4;
  int _5;
  char _6;
  short unsigned int k.7_7;
  unsigned char _8;
  unsigned char _9;
  unsigned char _10;
  unsigned char _11;
  long unsigned int _24;
  uint32_t _26;

  <bb 2> :
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  c1_15 = 0;
  # DEBUG c1 => c1_15
  # DEBUG BEGIN_STMT
  k_16 = 0;
  # DEBUG k => k_16
  goto <bb 4>; [INV]

  <bb 3> :
  # DEBUG BEGIN_STMT
  _1 = (int) p_28(D);
  _2 = TFAIL_NAME[_1];
  _3 = (sizetype) k_12;
  _4 = _2 + _3;
  _5 = (int) k_12;
  _6 = *_4;
  nDTC[_5] = _6;
  # DEBUG BEGIN_STMT
  k.7_7 = k_12;
  k_30 = k.7_7 + 1;
  # DEBUG k => k_30

  <bb 4> :
  # k_12 = PHI <k_16(2), k_30(3)>
  # DEBUG k => k_12
  # DEBUG BEGIN_STMT
  if (k_12 <= 7)
    goto <bb 3>; [INV]
  else
    goto <bb 5>; [INV]

  <bb 5> :
  # DEBUG BEGIN_STMT
  nDTC[8] = 0;
  # DEBUG BEGIN_STMT
  _8 = nDTC[0];
  if (_8 == 80)
    goto <bb 6>; [INV]
  else
    goto <bb 7>; [INV]

  <bb 6> :
  # DEBUG BEGIN_STMT
  c1_22 = 0;
  # DEBUG c1 => c1_22
  goto <bb 13>; [INV]

  <bb 7> :
  # DEBUG BEGIN_STMT
  _9 = nDTC[0];
  if (_9 == 67)
    goto <bb 8>; [INV]
  else
    goto <bb 9>; [INV]

  <bb 8> :
  # DEBUG BEGIN_STMT
  c1_21 = 4194304;
  # DEBUG c1 => c1_21
  goto <bb 13>; [INV]

  <bb 9> :
  # DEBUG BEGIN_STMT
  _10 = nDTC[0];
  if (_10 == 66)
    goto <bb 10>; [INV]
  else
    goto <bb 11>; [INV]

  <bb 10> :
  # DEBUG BEGIN_STMT
  c1_20 = 8388608;
  # DEBUG c1 => c1_20
  goto <bb 13>; [INV]

  <bb 11> :
  # DEBUG BEGIN_STMT
  _11 = nDTC[0];
  if (_11 == 85)
    goto <bb 12>; [INV]
  else
    goto <bb 13>; [INV]

  <bb 12> :
  # DEBUG BEGIN_STMT
  c1_19 = 12582912;
  # DEBUG c1 => c1_19

  <bb 13> :
  # c1_13 = PHI <c1_22(6), c1_21(8), c1_20(10), c1_15(11), c1_19(12)>
  # DEBUG c1 => c1_13
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  _24 = string_to_int (&nDTC[1]);
  c1_25 = _24 + c1_13;
  # DEBUG c1 => c1_25
  # DEBUG BEGIN_STMT
  _26 = c1_25;
  nDTC ={v} {CLOBBER};
  return _26;

}


dtc_write ()
{
  uint32_t ps;
  volatile vuint32_t data[3];
  uint32_t i;
  unsigned char _1;
  long unsigned int _2;
  long unsigned int _3;
  long unsigned int _4;
  long unsigned int _5;
  unsigned char _6;
  long unsigned int _7;
  long unsigned int _8;
  long unsigned int _9;
  long unsigned int _10;
  long unsigned int _11;
  unsigned char _12;
  long unsigned int _13;
  long unsigned int _14;
  long unsigned int _15;
  long unsigned int _16;
  long unsigned int _17;
  unsigned char _18;
  long unsigned int _19;
  long unsigned int _20;
  unsigned char _21;
  long unsigned int _22;
  long unsigned int _23;
  long unsigned int _24;
  long unsigned int _25;
  unsigned char _26;
  long unsigned int _27;
  long unsigned int _28;
  long unsigned int _29;
  long unsigned int _30;
  long unsigned int _31;
  unsigned char _32;
  long unsigned int _33;
  long unsigned int _34;
  long unsigned int _35;
  long unsigned int _36;
  long unsigned int _37;
  unsigned char _38;
  long unsigned int _39;
  long unsigned int _40;
  unsigned char _41;
  long unsigned int _42;
  long unsigned int _43;
  long unsigned int _44;
  long unsigned int _45;
  unsigned char _46;
  long unsigned int _47;
  long unsigned int _48;
  long unsigned int _49;
  long unsigned int _50;
  long unsigned int _51;
  unsigned char _52;
  long unsigned int _53;
  long unsigned int _54;
  long unsigned int _55;
  long unsigned int _56;
  long unsigned int _57;
  unsigned char _58;
  long unsigned int _59;
  long unsigned int _60;
  unsigned char _61;
  long unsigned int _62;
  long unsigned int _63;
  long unsigned int _64;
  long unsigned int _65;
  unsigned char _66;
  long unsigned int _67;
  long unsigned int _68;
  long unsigned int _69;
  long unsigned int _70;
  long unsigned int _71;
  unsigned char _72;
  long unsigned int _73;
  long unsigned int _74;
  long unsigned int _75;
  long unsigned int _76;
  long unsigned int _77;
  unsigned char _78;
  long unsigned int _79;
  long unsigned int _80;
  unsigned char _81;
  unsigned char _82;

  <bb 2> :
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  ps_85 = 8421392;
  # DEBUG ps => ps_85
  # DEBUG BEGIN_STMT
  _1 = DTC_Item._c[0];
  _2 = (long unsigned int) _1;
  data[0] ={v} _2;
  # DEBUG BEGIN_STMT
  _3 ={v} data[0];
  _4 = _3 << 8;
  data[0] ={v} _4;
  # DEBUG BEGIN_STMT
  _5 ={v} data[0];
  _6 = DTC_Item._c[1];
  _7 = (long unsigned int) _6;
  _8 = _5 + _7;
  data[0] ={v} _8;
  # DEBUG BEGIN_STMT
  _9 ={v} data[0];
  _10 = _9 << 8;
  data[0] ={v} _10;
  # DEBUG BEGIN_STMT
  _11 ={v} data[0];
  _12 = DTC_Item._c[2];
  _13 = (long unsigned int) _12;
  _14 = _11 + _13;
  data[0] ={v} _14;
  # DEBUG BEGIN_STMT
  _15 ={v} data[0];
  _16 = _15 << 8;
  data[0] ={v} _16;
  # DEBUG BEGIN_STMT
  _17 ={v} data[0];
  _18 = DTC_Item._c[3];
  _19 = (long unsigned int) _18;
  _20 = _17 + _19;
  data[0] ={v} _20;
  # DEBUG BEGIN_STMT
  _21 = DTC_Item._c[4];
  _22 = (long unsigned int) _21;
  data[1] ={v} _22;
  # DEBUG BEGIN_STMT
  _23 ={v} data[1];
  _24 = _23 << 8;
  data[1] ={v} _24;
  # DEBUG BEGIN_STMT
  _25 ={v} data[1];
  _26 = DTC_Item._c[5];
  _27 = (long unsigned int) _26;
  _28 = _25 + _27;
  data[1] ={v} _28;
  # DEBUG BEGIN_STMT
  _29 ={v} data[1];
  _30 = _29 << 8;
  data[1] ={v} _30;
  # DEBUG BEGIN_STMT
  _31 ={v} data[1];
  _32 = DTC_Item._c[6];
  _33 = (long unsigned int) _32;
  _34 = _31 + _33;
  data[1] ={v} _34;
  # DEBUG BEGIN_STMT
  _35 ={v} data[1];
  _36 = _35 << 8;
  data[1] ={v} _36;
  # DEBUG BEGIN_STMT
  _37 ={v} data[1];
  _38 = DTC_Item._c[7];
  _39 = (long unsigned int) _38;
  _40 = _37 + _39;
  data[1] ={v} _40;
  # DEBUG BEGIN_STMT
  ps_101 = 8421400;
  # DEBUG ps => ps_101
  # DEBUG BEGIN_STMT
  _41 = DTC_Item_Old._c[0];
  _42 = (long unsigned int) _41;
  data[0] ={v} _42;
  # DEBUG BEGIN_STMT
  _43 ={v} data[0];
  _44 = _43 << 8;
  data[0] ={v} _44;
  # DEBUG BEGIN_STMT
  _45 ={v} data[0];
  _46 = DTC_Item_Old._c[1];
  _47 = (long unsigned int) _46;
  _48 = _45 + _47;
  data[0] ={v} _48;
  # DEBUG BEGIN_STMT
  _49 ={v} data[0];
  _50 = _49 << 8;
  data[0] ={v} _50;
  # DEBUG BEGIN_STMT
  _51 ={v} data[0];
  _52 = DTC_Item_Old._c[2];
  _53 = (long unsigned int) _52;
  _54 = _51 + _53;
  data[0] ={v} _54;
  # DEBUG BEGIN_STMT
  _55 ={v} data[0];
  _56 = _55 << 8;
  data[0] ={v} _56;
  # DEBUG BEGIN_STMT
  _57 ={v} data[0];
  _58 = DTC_Item_Old._c[3];
  _59 = (long unsigned int) _58;
  _60 = _57 + _59;
  data[0] ={v} _60;
  # DEBUG BEGIN_STMT
  _61 = DTC_Item_Old._c[4];
  _62 = (long unsigned int) _61;
  data[1] ={v} _62;
  # DEBUG BEGIN_STMT
  _63 ={v} data[1];
  _64 = _63 << 8;
  data[1] ={v} _64;
  # DEBUG BEGIN_STMT
  _65 ={v} data[1];
  _66 = DTC_Item_Old._c[5];
  _67 = (long unsigned int) _66;
  _68 = _65 + _67;
  data[1] ={v} _68;
  # DEBUG BEGIN_STMT
  _69 ={v} data[1];
  _70 = _69 << 8;
  data[1] ={v} _70;
  # DEBUG BEGIN_STMT
  _71 ={v} data[1];
  _72 = DTC_Item_Old._c[6];
  _73 = (long unsigned int) _72;
  _74 = _71 + _73;
  data[1] ={v} _74;
  # DEBUG BEGIN_STMT
  _75 ={v} data[1];
  _76 = _75 << 8;
  data[1] ={v} _76;
  # DEBUG BEGIN_STMT
  _77 ={v} data[1];
  _78 = DTC_Item_Old._c[7];
  _79 = (long unsigned int) _78;
  _80 = _77 + _79;
  data[1] ={v} _80;
  # DEBUG BEGIN_STMT
  data[0] ={v} 10002;
  # DEBUG BEGIN_STMT
  data[1] ={v} 10003;
  # DEBUG BEGIN_STMT
  ps_118 = 8421504;
  # DEBUG ps => ps_118
  # DEBUG BEGIN_STMT
  programDword_data_flash (ps_118, &data);
  # DEBUG BEGIN_STMT
  i_120 = 0;
  # DEBUG i => i_120
  goto <bb 4>; [INV]

  <bb 3> :
  # DEBUG BEGIN_STMT
  _81 = DTC_Item._c[i_83];
  DTC_Item_wr._c[i_83] = _81;
  # DEBUG BEGIN_STMT
  _82 = DTC_Item_Old._c[i_83];
  DTC_Item_wr_Old._c[i_83] = _82;
  # DEBUG BEGIN_STMT
  i_123 = i_83 + 1;
  # DEBUG i => i_123

  <bb 4> :
  # i_83 = PHI <i_120(2), i_123(3)>
  # DEBUG i => i_83
  # DEBUG BEGIN_STMT
  if (i_83 <= 7)
    goto <bb 3>; [INV]
  else
    goto <bb 5>; [INV]

  <bb 5> :
  return;

}


dtc_control ()
{
  uint8_t wr;
  uint8_t i;
  unsigned char _1;
  int _2;
  unsigned char _3;
  int _4;
  unsigned char _5;
  unsigned char wr.4_6;
  int _7;
  unsigned char _8;
  int _9;
  unsigned char _10;
  unsigned char wr.5_11;
  int _12;
  unsigned char _13;
  int _14;
  unsigned char _15;
  int _16;
  unsigned char _17;
  unsigned char i.6_18;
  short unsigned int _19;

  <bb 2> :
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  _1 = uds.session;
  if (_1 <= 1)
    goto <bb 3>; [INV]
  else
    goto <bb 4>; [INV]

  <bb 3> :
  # DEBUG BEGIN_STMT
  uds.dtc_check_inhibit = 0;

  <bb 4> :
  # DEBUG BEGIN_STMT
  CAN_DTC_Data_Set (&DTC_Item, &DTC_Item_Old);
  # DEBUG BEGIN_STMT
  wr_30 = 0;
  # DEBUG wr => wr_30
  # DEBUG BEGIN_STMT
  i_31 = 0;
  # DEBUG i => i_31
  goto <bb 10>; [INV]

  <bb 5> :
  # DEBUG BEGIN_STMT
  _2 = (int) i_20;
  _3 = DTC_Item._c[_2];
  _4 = (int) i_20;
  _5 = DTC_Item_wr._c[_4];
  if (_3 != _5)
    goto <bb 6>; [INV]
  else
    goto <bb 7>; [INV]

  <bb 6> :
  # DEBUG BEGIN_STMT
  wr.4_6 = wr_23;
  wr_33 = wr.4_6 + 1;
  # DEBUG wr => wr_33

  <bb 7> :
  # wr_21 = PHI <wr_23(5), wr_33(6)>
  # DEBUG wr => wr_21
  # DEBUG BEGIN_STMT
  _7 = (int) i_20;
  _8 = DTC_Item_Old._c[_7];
  _9 = (int) i_20;
  _10 = DTC_Item_wr_Old._c[_9];
  if (_8 != _10)
    goto <bb 8>; [INV]
  else
    goto <bb 9>; [INV]

  <bb 8> :
  # DEBUG BEGIN_STMT
  wr.5_11 = wr_21;
  wr_34 = wr.5_11 + 1;
  # DEBUG wr => wr_34

  <bb 9> :
  # wr_22 = PHI <wr_21(7), wr_34(8)>
  # DEBUG wr => wr_22
  # DEBUG BEGIN_STMT
  _12 = (int) i_20;
  _13 = DTC_Item_Old._c[_12];
  _14 = (int) i_20;
  _15 = DTC_Item._c[_14];
  _16 = (int) i_20;
  _17 = _13 | _15;
  DTC_Item_Old._c[_16] = _17;
  # DEBUG BEGIN_STMT
  i.6_18 = i_20;
  i_36 = i.6_18 + 1;
  # DEBUG i => i_36

  <bb 10> :
  # i_20 = PHI <i_31(4), i_36(9)>
  # wr_23 = PHI <wr_30(4), wr_22(9)>
  # DEBUG wr => wr_23
  # DEBUG i => i_20
  # DEBUG BEGIN_STMT
  if (i_20 <= 7)
    goto <bb 5>; [INV]
  else
    goto <bb 11>; [INV]

  <bb 11> :
  # DEBUG BEGIN_STMT
  if (wr_23 != 0)
    goto <bb 12>; [INV]
  else
    goto <bb 14>; [INV]

  <bb 12> :
  _19 = uds.timeout;
  if (_19 == 0)
    goto <bb 13>; [INV]
  else
    goto <bb 14>; [INV]

  <bb 13> :
  # DEBUG BEGIN_STMT
  dtc_write ();

  <bb 14> :
  return;

}


dtc_read ()
{
  volatile vuint32_t buf[8];
  volatile vuint32_t * p;
  uint32_t i;
  volatile vuint32_t * p.1_1;
  long unsigned int _2;
  long unsigned int _3;
  volatile vuint32_t * p.2_4;
  long unsigned int _5;
  volatile vuint32_t * p.3_6;
  long unsigned int _7;
  long unsigned int _8;
  long unsigned int _9;
  long unsigned int _10;
  long unsigned int _11;
  long unsigned int _12;
  long unsigned int _13;
  unsigned char _14;
  long unsigned int _15;
  long unsigned int _16;
  unsigned char _17;
  long unsigned int _18;
  long unsigned int _19;
  unsigned char _20;
  long unsigned int _21;
  unsigned char _22;
  long unsigned int _23;
  long unsigned int _24;
  unsigned char _25;
  long unsigned int _26;
  long unsigned int _27;
  unsigned char _28;
  long unsigned int _29;
  long unsigned int _30;
  unsigned char _31;
  long unsigned int _32;
  unsigned char _33;
  long unsigned int _34;
  long unsigned int _35;
  unsigned char _36;
  long unsigned int _37;
  long unsigned int _38;
  unsigned char _39;
  long unsigned int _40;
  long unsigned int _41;
  unsigned char _42;
  long unsigned int _43;
  unsigned char _44;
  long unsigned int _45;
  long unsigned int _46;
  unsigned char _47;
  long unsigned int _48;
  long unsigned int _49;
  unsigned char _50;
  long unsigned int _51;
  long unsigned int _52;
  unsigned char _53;
  long unsigned int _54;
  unsigned char _55;
  unsigned char _56;
  unsigned char _57;
  unsigned char _58;
  unsigned char _59;
  unsigned char _60;

  <bb 2> :
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  p_77 = 8421504B;
  # DEBUG p => p_77
  # DEBUG BEGIN_STMT
  i_78 = 0;
  # DEBUG i => i_78
  goto <bb 4>; [INV]

  <bb 3> :
  # DEBUG BEGIN_STMT
  p.1_1 = p_67;
  p_126 = p.1_1 + 4;
  # DEBUG p => p_126
  _2 ={v} *p.1_1;
  buf[i_61] ={v} _2;
  # DEBUG BEGIN_STMT
  i_128 = i_61 + 1;
  # DEBUG i => i_128

  <bb 4> :
  # i_61 = PHI <i_78(2), i_128(3)>
  # p_67 = PHI <p_77(2), p_126(3)>
  # DEBUG p => p_67
  # DEBUG i => i_61
  # DEBUG BEGIN_STMT
  if (i_61 <= 3)
    goto <bb 3>; [INV]
  else
    goto <bb 5>; [INV]

  <bb 5> :
  # DEBUG BEGIN_STMT
  _3 ={v} buf[0];
  if (_3 != 10002)
    goto <bb 6>; [INV]
  else
    goto <bb 7>; [INV]

  <bb 6> :
  # DEBUG BEGIN_STMT
  monprintf ("DTC SIGN fail clear\n\r");
  # DEBUG BEGIN_STMT
  dtc_clear ();
  goto <bb 8>; [INV]

  <bb 7> :
  # DEBUG BEGIN_STMT
  monprintf ("DTC SIGN ok\n\r");

  <bb 8> :
  # DEBUG BEGIN_STMT
  p_83 = 8421392B;
  # DEBUG p => p_83
  # DEBUG BEGIN_STMT
  i_84 = 0;
  # DEBUG i => i_84
  goto <bb 10>; [INV]

  <bb 9> :
  # DEBUG BEGIN_STMT
  p.2_4 = p_68;
  p_123 = p.2_4 + 4;
  # DEBUG p => p_123
  _5 ={v} *p.2_4;
  buf[i_62] ={v} _5;
  # DEBUG BEGIN_STMT
  i_125 = i_62 + 1;
  # DEBUG i => i_125

  <bb 10> :
  # i_62 = PHI <i_84(8), i_125(9)>
  # p_68 = PHI <p_83(8), p_123(9)>
  # DEBUG p => p_68
  # DEBUG i => i_62
  # DEBUG BEGIN_STMT
  if (i_62 <= 7)
    goto <bb 9>; [INV]
  else
    goto <bb 11>; [INV]

  <bb 11> :
  # DEBUG BEGIN_STMT
  p_85 = 8421392B;
  # DEBUG p => p_85
  # DEBUG BEGIN_STMT
  i_86 = 0;
  # DEBUG i => i_86
  goto <bb 13>; [INV]

  <bb 12> :
  # DEBUG BEGIN_STMT
  p.3_6 = p_69;
  p_120 = p.3_6 + 4;
  # DEBUG p => p_120
  _7 ={v} *p.3_6;
  buf[i_63] ={v} _7;
  # DEBUG BEGIN_STMT
  i_122 = i_63 + 1;
  # DEBUG i => i_122

  <bb 13> :
  # i_63 = PHI <i_86(11), i_122(12)>
  # p_69 = PHI <p_85(11), p_120(12)>
  # DEBUG p => p_69
  # DEBUG i => i_63
  # DEBUG BEGIN_STMT
  if (i_63 <= 7)
    goto <bb 12>; [INV]
  else
    goto <bb 14>; [INV]

  <bb 14> :
  # DEBUG BEGIN_STMT
  _8 ={v} buf[0];
  _9 ={v} buf[1];
  _10 ={v} buf[2];
  _11 ={v} buf[3];
  monprintf ("\n\rDTC :%08X,%08X,%08X,%08X\n\r", _8, _9, _10, _11);
  # DEBUG BEGIN_STMT
  _12 ={v} buf[0];
  _13 = _12 >> 24;
  _14 = (unsigned char) _13;
  DTC_Item._c[0] = _14;
  # DEBUG BEGIN_STMT
  _15 ={v} buf[0];
  _16 = _15 >> 16;
  _17 = (unsigned char) _16;
  DTC_Item._c[1] = _17;
  # DEBUG BEGIN_STMT
  _18 ={v} buf[0];
  _19 = _18 >> 8;
  _20 = (unsigned char) _19;
  DTC_Item._c[2] = _20;
  # DEBUG BEGIN_STMT
  _21 ={v} buf[0];
  _22 = (unsigned char) _21;
  DTC_Item._c[3] = _22;
  # DEBUG BEGIN_STMT
  _23 ={v} buf[1];
  _24 = _23 >> 24;
  _25 = (unsigned char) _24;
  DTC_Item._c[4] = _25;
  # DEBUG BEGIN_STMT
  _26 ={v} buf[1];
  _27 = _26 >> 16;
  _28 = (unsigned char) _27;
  DTC_Item._c[5] = _28;
  # DEBUG BEGIN_STMT
  _29 ={v} buf[1];
  _30 = _29 >> 8;
  _31 = (unsigned char) _30;
  DTC_Item._c[6] = _31;
  # DEBUG BEGIN_STMT
  _32 ={v} buf[1];
  _33 = (unsigned char) _32;
  DTC_Item._c[7] = _33;
  # DEBUG BEGIN_STMT
  _34 ={v} buf[2];
  _35 = _34 >> 24;
  _36 = (unsigned char) _35;
  DTC_Item_Old._c[0] = _36;
  # DEBUG BEGIN_STMT
  _37 ={v} buf[2];
  _38 = _37 >> 16;
  _39 = (unsigned char) _38;
  DTC_Item_Old._c[1] = _39;
  # DEBUG BEGIN_STMT
  _40 ={v} buf[2];
  _41 = _40 >> 8;
  _42 = (unsigned char) _41;
  DTC_Item_Old._c[2] = _42;
  # DEBUG BEGIN_STMT
  _43 ={v} buf[2];
  _44 = (unsigned char) _43;
  DTC_Item_Old._c[3] = _44;
  # DEBUG BEGIN_STMT
  _45 ={v} buf[3];
  _46 = _45 >> 24;
  _47 = (unsigned char) _46;
  DTC_Item_Old._c[4] = _47;
  # DEBUG BEGIN_STMT
  _48 ={v} buf[3];
  _49 = _48 >> 16;
  _50 = (unsigned char) _49;
  DTC_Item_Old._c[5] = _50;
  # DEBUG BEGIN_STMT
  _51 ={v} buf[3];
  _52 = _51 >> 8;
  _53 = (unsigned char) _52;
  DTC_Item_Old._c[6] = _53;
  # DEBUG BEGIN_STMT
  _54 ={v} buf[3];
  _55 = (unsigned char) _54;
  DTC_Item_Old._c[7] = _55;
  # DEBUG BEGIN_STMT
  OutStr ("DTC_Item:");
  # DEBUG BEGIN_STMT
  i_105 = 0;
  # DEBUG i => i_105
  goto <bb 16>; [INV]

  <bb 15> :
  # DEBUG BEGIN_STMT
  _56 = DTC_Item._c[i_64];
  put_charp (_56);
  # DEBUG BEGIN_STMT
  i_119 = i_64 + 1;
  # DEBUG i => i_119

  <bb 16> :
  # i_64 = PHI <i_105(14), i_119(15)>
  # DEBUG i => i_64
  # DEBUG BEGIN_STMT
  if (i_64 <= 7)
    goto <bb 15>; [INV]
  else
    goto <bb 17>; [INV]

  <bb 17> :
  # DEBUG BEGIN_STMT
  put_cr ();
  # DEBUG BEGIN_STMT
  OutStr ("DTC_Item_Old:");
  # DEBUG BEGIN_STMT
  i_108 = 0;
  # DEBUG i => i_108
  goto <bb 19>; [INV]

  <bb 18> :
  # DEBUG BEGIN_STMT
  _57 = DTC_Item_Old._c[i_65];
  put_charp (_57);
  # DEBUG BEGIN_STMT
  i_117 = i_65 + 1;
  # DEBUG i => i_117

  <bb 19> :
  # i_65 = PHI <i_108(17), i_117(18)>
  # DEBUG i => i_65
  # DEBUG BEGIN_STMT
  if (i_65 <= 7)
    goto <bb 18>; [INV]
  else
    goto <bb 20>; [INV]

  <bb 20> :
  # DEBUG BEGIN_STMT
  put_cr ();
  # DEBUG BEGIN_STMT
  i_110 = 0;
  # DEBUG i => i_110
  goto <bb 22>; [INV]

  <bb 21> :
  # DEBUG BEGIN_STMT
  _58 = DTC_Item._c[i_66];
  DTC_Item_wr._c[i_66] = _58;
  # DEBUG BEGIN_STMT
  _59 = DTC_Item_Old._c[i_66];
  DTC_Item_wr_Old._c[i_66] = _59;
  # DEBUG BEGIN_STMT
  _60 = DTC_Item._c[i_66];
  DTC_Item_event._c[i_66] = _60;
  # DEBUG BEGIN_STMT
  DTC_Item_new._c[i_66] = 0;
  # DEBUG BEGIN_STMT
  i_115 = i_66 + 1;
  # DEBUG i => i_115

  <bb 22> :
  # i_66 = PHI <i_110(20), i_115(21)>
  # DEBUG i => i_66
  # DEBUG BEGIN_STMT
  if (i_66 <= 7)
    goto <bb 21>; [INV]
  else
    goto <bb 23>; [INV]

  <bb 23> :
  return;

}


dtc_clear ()
{
  uint8_t i;
  int _1;
  int _2;
  int _3;
  int _4;
  unsigned char i.0_5;

  <bb 2> :
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  i_8 = 0;
  # DEBUG i => i_8
  goto <bb 4>; [INV]

  <bb 3> :
  # DEBUG BEGIN_STMT
  _1 = (int) i_6;
  DTC_Item._c[_1] = 0;
  # DEBUG BEGIN_STMT
  _2 = (int) i_6;
  DTC_Item_Old._c[_2] = 0;
  # DEBUG BEGIN_STMT
  _3 = (int) i_6;
  DTC_Item_event._c[_3] = 0;
  # DEBUG BEGIN_STMT
  _4 = (int) i_6;
  DTC_Item_new._c[_4] = 0;
  # DEBUG BEGIN_STMT
  i.0_5 = i_6;
  i_15 = i.0_5 + 1;
  # DEBUG i => i_15

  <bb 4> :
  # i_6 = PHI <i_8(2), i_15(3)>
  # DEBUG i => i_6
  # DEBUG BEGIN_STMT
  if (i_6 <= 7)
    goto <bb 3>; [INV]
  else
    goto <bb 5>; [INV]

  <bb 5> :
  # DEBUG BEGIN_STMT
  dtc_write ();
  return;

}


write_DTC_to_EEP (uint8_t dp)
{
  <bb 2> :
  # DEBUG BEGIN_STMT
  return;

}


CAN_DTC_Data_Set (union _DTC_Items_Type_ * pX, union _DTC_Items_Type_ * pX_old)
{
  unsigned char _1;

  <bb 2> :
  # DEBUG BEGIN_STMT
  _1 = uds.dtc_check_inhibit;
  if (_1 == 1)
    goto <bb 3>; [INV]
  else
    goto <bb 4>; [INV]

  <bb 3> :
  # DEBUG BEGIN_STMT
  // predicted unlikely by early return (on trees) predictor.

  <bb 4> :
  return;

}


