DisableFirc (Clock_Ip_NameType name)
{
  <bb 2> :
  DisableFirc_TrustedCall (name_2(D));
  return;

}


DisableFirc_TrustedCall (Clock_Ip_NameType name)
{
  struct SCG_Type * _1;
  long unsigned int _2;
  struct SCG_Type * _3;
  long unsigned int _4;

  <bb 2> :
  _1 = 1074151424B;
  _2 ={v} _1->FIRCCSR;
  _3 = 1074151424B;
  _4 = _2 & 4294967294;
  _3->FIRCCSR ={v} _4;
  return;

}


EnableFirc (const struct Clock_Ip_IrcoscConfigType * config)
{
  <bb 2> :
  EnableFirc_TrustedCall (config_2(D));
  return;

}


EnableFirc_TrustedCall (const struct Clock_Ip_IrcoscConfigType * config)
{
  uint32 IrcoscStatus;
  uint32 TimeoutTicks;
  uint32 ElapsedTime;
  uint32 StartTime;
  boolean TimeoutOccurred;
  short unsigned int _1;
  struct SCG_Type * _2;
  long unsigned int _3;
  struct SCG_Type * _4;
  long unsigned int _5;
  struct SCG_Type * _6;
  long unsigned int _7;
  long unsigned int _8;
  long unsigned int TimeoutTicks.6_9;
  _Bool _10;
  <unnamed type> _11;

  <bb 2> :
  TimeoutOccurred_14 = 0;
  _1 = config_16(D)->enable;
  if (_1 == 1)
    goto <bb 3>; [INV]
  else
    goto <bb 8>; [INV]

  <bb 3> :
  _2 = 1074151424B;
  _3 ={v} _2->FIRCCSR;
  _4 = 1074151424B;
  _5 = _3 | 1;
  _4->FIRCCSR ={v} _5;
  ClockStartTimeout (&StartTime, &ElapsedTime, &TimeoutTicks, 50000);

  <bb 4> :
  _6 = 1074151424B;
  _7 ={v} _6->FIRCCSR;
  _8 = _7 >> 24;
  IrcoscStatus_19 = _8 & 1;
  TimeoutTicks.6_9 = TimeoutTicks;
  TimeoutOccurred_21 = ClockTimeoutExpired (&StartTime, &ElapsedTime, TimeoutTicks.6_9);
  if (IrcoscStatus_19 == 0)
    goto <bb 5>; [INV]
  else
    goto <bb 6>; [INV]

  <bb 5> :
  _10 = ~TimeoutOccurred_21;
  if (_10 != 0)
    goto <bb 4>; [INV]
  else
    goto <bb 6>; [INV]

  <bb 6> :
  if (TimeoutOccurred_21 != 0)
    goto <bb 7>; [INV]
  else
    goto <bb 8>; [INV]

  <bb 7> :
  _11 = config_16(D)->name;
  ReportClockErrors (1, _11);

  <bb 8> :
  StartTime ={v} {CLOBBER};
  ElapsedTime ={v} {CLOBBER};
  TimeoutTicks ={v} {CLOBBER};
  return;

}


SetFirc (const struct Clock_Ip_IrcoscConfigType * config)
{
  <bb 2> :
  SetFirc_TrustedCall (config_2(D));
  return;

}


SetFirc_TrustedCall (const struct Clock_Ip_IrcoscConfigType * config)
{
  uint32 IrcoscStatus;
  uint32 TimeoutTicks;
  uint32 ElapsedTime;
  uint32 StartTime;
  boolean SircWasDisabled;
  boolean TimeoutOccurred;
  uint32 instance;
  <unnamed type> _1;
  unsigned char _2;
  struct SCG_Type * _3;
  long unsigned int _4;
  struct SCG_Type * _5;
  long unsigned int _6;
  struct SCG_Type * _7;
  long unsigned int _8;
  long unsigned int _9;
  unsigned char _10;
  long unsigned int _11;
  struct SCG_Type * _12;
  long unsigned int _13;
  long unsigned int _14;
  unsigned char _15;
  long unsigned int _16;
  struct SCG_Type * _17;
  long unsigned int _18;
  long unsigned int _19;
  long unsigned int _20;
  struct SCG_Type * _21;
  long unsigned int _22;
  long unsigned int _23;
  struct SCG_Type * _24;
  long unsigned int _25;
  struct SCG_Type * _26;
  long unsigned int _27;
  short unsigned int _28;
  unsigned char _29;
  long unsigned int _30;
  struct SCG_Type * _31;
  long unsigned int _32;
  struct SCG_Type * _33;
  long unsigned int _34;
  unsigned char _35;
  long unsigned int _36;
  long unsigned int _37;
  long unsigned int _38;
  long unsigned int _39;
  struct SCG_Type * _40;
  long unsigned int _41;
  struct SCG_Type * _42;
  long unsigned int _43;
  long unsigned int _44;
  long unsigned int TimeoutTicks.4_45;
  _Bool _46;
  <unnamed type> _47;
  struct SCG_Type * _48;
  long unsigned int _49;
  struct SCG_Type * _50;
  long unsigned int _51;
  short unsigned int _52;
  unsigned char _53;
  long unsigned int _54;
  struct SCG_Type * _55;
  long unsigned int _56;
  struct SCG_Type * _57;
  long unsigned int _58;
  unsigned char _59;
  long unsigned int _60;
  long unsigned int _61;
  long unsigned int _62;
  long unsigned int _63;
  struct SCG_Type * _64;
  long unsigned int _65;
  struct SCG_Type * _66;
  long unsigned int _67;
  long unsigned int _68;
  long unsigned int TimeoutTicks.5_69;
  _Bool _70;
  <unnamed type> _71;

  <bb 2> :
  _1 = config_79(D)->name;
  _2 = clockFeatures[_1][0];
  instance_80 = (uint32) _2;
  TimeoutOccurred_81 = 0;
  SircWasDisabled_82 = 0;
  _3 = 1074151424B;
  _4 ={v} _3->FIRCCSR;
  _5 = 1074151424B;
  _6 = _4 & 4286578687;
  _5->FIRCCSR ={v} _6;
  _7 = 1074151424B;
  _8 ={v} _7->FIRCCSR;
  _9 = _8 & 33554432;
  if (_9 != 0)
    goto <bb 3>; [INV]
  else
    goto <bb 15>; [INV]

  <bb 3> :
  _10 = config_79(D)->range;
  _11 = (long unsigned int) _10;
  _12 = 1074151424B;
  _13 ={v} _12->FIRCCFG;
  _14 = _13 & 3;
  if (_11 != _14)
    goto <bb 5>; [INV]
  else
    goto <bb 4>; [INV]

  <bb 4> :
  _15 = config_79(D)->regulator;
  _16 = (long unsigned int) _15;
  _17 = 1074151424B;
  _18 ={v} _17->FIRCCSR;
  _19 = _18 >> 3;
  _20 = _19 & 1;
  if (_16 != _20)
    goto <bb 5>; [INV]
  else
    goto <bb 21>; [INV]

  <bb 5> :
  _21 = 1074151424B;
  _22 ={v} _21->SIRCCSR;
  _23 = _22 & 1;
  if (_23 == 0)
    goto <bb 6>; [INV]
  else
    goto <bb 7>; [INV]

  <bb 6> :
  SircWasDisabled_92 = 1;
  SetSirc (0B);

  <bb 7> :
  # SircWasDisabled_72 = PHI <SircWasDisabled_82(5), SircWasDisabled_92(6)>
  SetInputSouceSytemClock (2);
  _24 = 1074151424B;
  _25 ={v} _24->FIRCCSR;
  _26 = 1074151424B;
  _27 = _25 & 4294967294;
  _26->FIRCCSR ={v} _27;
  _28 = config_79(D)->enable;
  if (_28 == 1)
    goto <bb 8>; [INV]
  else
    goto <bb 21>; [INV]

  <bb 8> :
  _29 = config_79(D)->range;
  _30 = (long unsigned int) _29;
  _31 = 1074151424B;
  _32 = _30 & 3;
  _31->FIRCCFG ={v} _32;
  _33 = 1074151424B;
  _34 ={v} _33->FIRCCSR;
  _35 = config_79(D)->regulator;
  _36 = (long unsigned int) _35;
  _37 = _36 << 3;
  _38 = _37 & 8;
  _39 = _34 | _38;
  _40 = 1074151424B;
  _41 = _39 | 1;
  _40->FIRCCSR ={v} _41;
  ClockStartTimeout (&StartTime, &ElapsedTime, &TimeoutTicks, 50000);

  <bb 9> :
  _42 = 1074151424B;
  _43 ={v} _42->FIRCCSR;
  _44 = _43 >> 24;
  IrcoscStatus_99 = _44 & 1;
  TimeoutTicks.4_45 = TimeoutTicks;
  TimeoutOccurred_101 = ClockTimeoutExpired (&StartTime, &ElapsedTime, TimeoutTicks.4_45);
  if (IrcoscStatus_99 == 0)
    goto <bb 10>; [INV]
  else
    goto <bb 11>; [INV]

  <bb 10> :
  _46 = ~TimeoutOccurred_101;
  if (_46 != 0)
    goto <bb 9>; [INV]
  else
    goto <bb 11>; [INV]

  <bb 11> :
  if (TimeoutOccurred_101 != 0)
    goto <bb 12>; [INV]
  else
    goto <bb 13>; [INV]

  <bb 12> :
  _47 = config_79(D)->name;
  ReportClockErrors (1, _47);

  <bb 13> :
  SetInputSouceSytemClock (3);
  if (SircWasDisabled_72 != 0)
    goto <bb 14>; [INV]
  else
    goto <bb 21>; [INV]

  <bb 14> :
  DisableSirc (2);
  goto <bb 21>; [INV]

  <bb 15> :
  _48 = 1074151424B;
  _49 ={v} _48->FIRCCSR;
  _50 = 1074151424B;
  _51 = _49 & 4294967294;
  _50->FIRCCSR ={v} _51;
  _52 = config_79(D)->enable;
  if (_52 == 1)
    goto <bb 16>; [INV]
  else
    goto <bb 21>; [INV]

  <bb 16> :
  _53 = config_79(D)->range;
  _54 = (long unsigned int) _53;
  _55 = 1074151424B;
  _56 = _54 & 3;
  _55->FIRCCFG ={v} _56;
  _57 = 1074151424B;
  _58 ={v} _57->FIRCCSR;
  _59 = config_79(D)->regulator;
  _60 = (long unsigned int) _59;
  _61 = _60 << 3;
  _62 = _61 & 8;
  _63 = _58 | _62;
  _64 = 1074151424B;
  _65 = _63 | 1;
  _64->FIRCCSR ={v} _65;
  ClockStartTimeout (&StartTime, &ElapsedTime, &TimeoutTicks, 50000);

  <bb 17> :
  _66 = 1074151424B;
  _67 ={v} _66->FIRCCSR;
  _68 = _67 >> 24;
  IrcoscStatus_88 = _68 & 1;
  TimeoutTicks.5_69 = TimeoutTicks;
  TimeoutOccurred_90 = ClockTimeoutExpired (&StartTime, &ElapsedTime, TimeoutTicks.5_69);
  if (IrcoscStatus_88 == 0)
    goto <bb 18>; [INV]
  else
    goto <bb 19>; [INV]

  <bb 18> :
  _70 = ~TimeoutOccurred_90;
  if (_70 != 0)
    goto <bb 17>; [INV]
  else
    goto <bb 19>; [INV]

  <bb 19> :
  if (TimeoutOccurred_90 != 0)
    goto <bb 20>; [INV]
  else
    goto <bb 21>; [INV]

  <bb 20> :
  _71 = config_79(D)->name;
  ReportClockErrors (1, _71);

  <bb 21> :
  StartTime ={v} {CLOBBER};
  ElapsedTime ={v} {CLOBBER};
  TimeoutTicks ={v} {CLOBBER};
  return;

}


SetInputSouceSytemClock (uint32 sourceClock)
{
  uint32 ScsStatus;
  uint32 TimeoutTicks;
  uint32 ElapsedTime;
  uint32 StartTime;
  boolean TimeoutOccurred;
  uint32 regValue;
  uint32 iftmp.2;
  struct SCG_Type * _1;
  long unsigned int _2;
  struct SCG_Type * _3;
  struct SCG_Type * _4;
  long unsigned int _5;
  long unsigned int _6;
  long unsigned int _7;
  long unsigned int TimeoutTicks.3_8;
  _Bool _9;
  uint32 iftmp.2_10;
  uint32 iftmp.2_21;
  uint32 iftmp.2_22;

  <bb 2> :
  TimeoutOccurred_13 = 0;
  _1 = 1074151424B;
  regValue_15 ={v} _1->RCCR;
  regValue_16 = regValue_15 & 4043309055;
  _2 = sourceClock_17(D) << 24;
  regValue_18 = regValue_16 | _2;
  _3 = 1074151424B;
  _3->RCCR ={v} regValue_18;
  ClockStartTimeout (&StartTime, &ElapsedTime, &TimeoutTicks, 50000);

  <bb 3> :
  _4 = 1074151424B;
  _5 ={v} _4->CSR;
  _6 = _5 >> 24;
  _7 = _6 & 15;
  if (sourceClock_17(D) != _7)
    goto <bb 4>; [INV]
  else
    goto <bb 5>; [INV]

  <bb 4> :
  iftmp.2_22 = 1;
  goto <bb 6>; [INV]

  <bb 5> :
  iftmp.2_21 = 0;

  <bb 6> :
  # iftmp.2_10 = PHI <iftmp.2_22(4), iftmp.2_21(5)>
  ScsStatus_23 = iftmp.2_10;
  TimeoutTicks.3_8 = TimeoutTicks;
  TimeoutOccurred_25 = ClockTimeoutExpired (&StartTime, &ElapsedTime, TimeoutTicks.3_8);
  if (ScsStatus_23 == 0)
    goto <bb 7>; [INV]
  else
    goto <bb 8>; [INV]

  <bb 7> :
  _9 = ~TimeoutOccurred_25;
  if (_9 != 0)
    goto <bb 3>; [INV]
  else
    goto <bb 8>; [INV]

  <bb 8> :
  if (TimeoutOccurred_25 != 0)
    goto <bb 9>; [INV]
  else
    goto <bb 10>; [INV]

  <bb 9> :
  ReportClockErrors (1, 5);

  <bb 10> :
  StartTime ={v} {CLOBBER};
  ElapsedTime ={v} {CLOBBER};
  TimeoutTicks ={v} {CLOBBER};
  return;

}


DisableSircStop (Clock_Ip_NameType name)
{
  <bb 2> :
  DisableSircStop_TrustedCall (name_2(D));
  return;

}


DisableSircStop_TrustedCall (Clock_Ip_NameType name)
{
  struct SCG_Type * _1;
  long unsigned int _2;
  struct SCG_Type * _3;
  long unsigned int _4;

  <bb 2> :
  _1 = 1074151424B;
  _2 ={v} _1->SIRCCSR;
  _3 = 1074151424B;
  _4 = _2 & 4294967293;
  _3->SIRCCSR ={v} _4;
  return;

}


EnableSircStop (const struct Clock_Ip_IrcoscConfigType * config)
{
  <bb 2> :
  EnableSircStop_TrustedCall (config_2(D));
  return;

}


EnableSircStop_TrustedCall (const struct Clock_Ip_IrcoscConfigType * config)
{
  short unsigned int _1;
  struct SCG_Type * _2;
  long unsigned int _3;
  struct SCG_Type * _4;
  long unsigned int _5;

  <bb 2> :
  _1 = config_8(D)->enable;
  if (_1 == 1)
    goto <bb 3>; [INV]
  else
    goto <bb 4>; [INV]

  <bb 3> :
  _2 = 1074151424B;
  _3 ={v} _2->SIRCCSR;
  _4 = 1074151424B;
  _5 = _3 | 2;
  _4->SIRCCSR ={v} _5;

  <bb 4> :
  return;

}


SetSircStop (const struct Clock_Ip_IrcoscConfigType * config)
{
  <bb 2> :
  SetSircStop_TrustedCall (config_2(D));
  return;

}


SetSircStop_TrustedCall (const struct Clock_Ip_IrcoscConfigType * config)
{
  struct SCG_Type * _1;
  long unsigned int _2;
  struct SCG_Type * _3;
  long unsigned int _4;
  struct SCG_Type * _5;
  long unsigned int _6;
  struct SCG_Type * _7;
  long unsigned int _8;
  struct SCG_Type * _9;
  long unsigned int _10;
  unsigned char _11;
  long unsigned int _12;
  long unsigned int _13;
  long unsigned int _14;
  struct SCG_Type * _15;
  long unsigned int _16;

  <bb 2> :
  _1 = 1074151424B;
  _2 ={v} _1->SIRCCSR;
  _3 = 1074151424B;
  _4 = _2 & 4286578687;
  _3->SIRCCSR ={v} _4;
  _5 = 1074151424B;
  _6 ={v} _5->SIRCCSR;
  _7 = 1074151424B;
  _8 = _6 & 4294967293;
  _7->SIRCCSR ={v} _8;
  _9 = 1074151424B;
  _10 ={v} _9->SIRCCSR;
  _11 = config_20(D)->stopModeEnable;
  _12 = (long unsigned int) _11;
  _13 = _12 << 1;
  _14 = _13 & 2;
  _15 = 1074151424B;
  _16 = _10 | _14;
  _15->SIRCCSR ={v} _16;
  return;

}


DisableSircVlp (Clock_Ip_NameType name)
{
  <bb 2> :
  DisableSircVlp_TrustedCall (name_2(D));
  return;

}


DisableSircVlp_TrustedCall (Clock_Ip_NameType name)
{
  struct SCG_Type * _1;
  long unsigned int _2;
  struct SCG_Type * _3;
  long unsigned int _4;

  <bb 2> :
  _1 = 1074151424B;
  _2 ={v} _1->SIRCCSR;
  _3 = 1074151424B;
  _4 = _2 & 4294967291;
  _3->SIRCCSR ={v} _4;
  return;

}


EnableSircVlp (const struct Clock_Ip_IrcoscConfigType * config)
{
  <bb 2> :
  EnableSircVlp_TrustedCall (config_2(D));
  return;

}


EnableSircVlp_TrustedCall (const struct Clock_Ip_IrcoscConfigType * config)
{
  short unsigned int _1;
  struct SCG_Type * _2;
  long unsigned int _3;
  struct SCG_Type * _4;
  long unsigned int _5;

  <bb 2> :
  _1 = config_8(D)->enable;
  if (_1 == 1)
    goto <bb 3>; [INV]
  else
    goto <bb 4>; [INV]

  <bb 3> :
  _2 = 1074151424B;
  _3 ={v} _2->SIRCCSR;
  _4 = 1074151424B;
  _5 = _3 | 4;
  _4->SIRCCSR ={v} _5;

  <bb 4> :
  return;

}


SetSircVlp (const struct Clock_Ip_IrcoscConfigType * config)
{
  <bb 2> :
  SetSircVlp_TrustedCall (config_2(D));
  return;

}


SetSircVlp_TrustedCall (const struct Clock_Ip_IrcoscConfigType * config)
{
  struct SCG_Type * _1;
  long unsigned int _2;
  struct SCG_Type * _3;
  long unsigned int _4;
  struct SCG_Type * _5;
  long unsigned int _6;
  struct SCG_Type * _7;
  long unsigned int _8;
  struct SCG_Type * _9;
  long unsigned int _10;
  unsigned char _11;
  long unsigned int _12;
  long unsigned int _13;
  long unsigned int _14;
  struct SCG_Type * _15;
  long unsigned int _16;

  <bb 2> :
  _1 = 1074151424B;
  _2 ={v} _1->SIRCCSR;
  _3 = 1074151424B;
  _4 = _2 & 4286578687;
  _3->SIRCCSR ={v} _4;
  _5 = 1074151424B;
  _6 ={v} _5->SIRCCSR;
  _7 = 1074151424B;
  _8 = _6 & 4294967291;
  _7->SIRCCSR ={v} _8;
  _9 = 1074151424B;
  _10 ={v} _9->SIRCCSR;
  _11 = config_20(D)->lowPowerModeEnable;
  _12 = (long unsigned int) _11;
  _13 = _12 << 2;
  _14 = _13 & 4;
  _15 = 1074151424B;
  _16 = _10 | _14;
  _15->SIRCCSR ={v} _16;
  return;

}


DisableSirc (Clock_Ip_NameType name)
{
  <bb 2> :
  DisableSirc_TrustedCall (name_2(D));
  return;

}


DisableSirc_TrustedCall (Clock_Ip_NameType name)
{
  struct SCG_Type * _1;
  long unsigned int _2;
  struct SCG_Type * _3;
  long unsigned int _4;
  struct SCG_Type * _5;
  long unsigned int _6;
  struct SCG_Type * _7;
  long unsigned int _8;

  <bb 2> :
  _1 = 1074151424B;
  _2 ={v} _1->SIRCCSR;
  _3 = 1074151424B;
  _4 = _2 & 4294967294;
  _3->SIRCCSR ={v} _4;
  _5 = 1074151424B;
  _6 ={v} _5->SIRCCSR;
  _7 = 1074151424B;
  _8 = _6 & 4294967291;
  _7->SIRCCSR ={v} _8;
  return;

}


EnableSirc (const struct Clock_Ip_IrcoscConfigType * config)
{
  <bb 2> :
  EnableSirc_TrustedCall (config_2(D));
  return;

}


EnableSirc_TrustedCall (const struct Clock_Ip_IrcoscConfigType * config)
{
  uint32 IrcoscStatus;
  uint32 TimeoutTicks;
  uint32 ElapsedTime;
  uint32 StartTime;
  boolean TimeoutOccurred;
  struct SCG_Type * _1;
  long unsigned int _2;
  struct SCG_Type * _3;
  long unsigned int _4;
  struct SCG_Type * _5;
  long unsigned int _6;
  struct SCG_Type * _7;
  long unsigned int _8;
  struct SCG_Type * _9;
  long unsigned int _10;
  long unsigned int _11;
  long unsigned int TimeoutTicks.1_12;
  _Bool _13;
  <unnamed type> _14;

  <bb 2> :
  TimeoutOccurred_17 = 0;
  _1 = 1074151424B;
  _2 ={v} _1->SIRCCSR;
  _3 = 1074151424B;
  _4 = _2 | 1;
  _3->SIRCCSR ={v} _4;
  _5 = 1074151424B;
  _6 ={v} _5->SIRCCSR;
  _7 = 1074151424B;
  _8 = _6 | 4;
  _7->SIRCCSR ={v} _8;
  ClockStartTimeout (&StartTime, &ElapsedTime, &TimeoutTicks, 50000);

  <bb 3> :
  _9 = 1074151424B;
  _10 ={v} _9->SIRCCSR;
  _11 = _10 >> 24;
  IrcoscStatus_22 = _11 & 1;
  TimeoutTicks.1_12 = TimeoutTicks;
  TimeoutOccurred_24 = ClockTimeoutExpired (&StartTime, &ElapsedTime, TimeoutTicks.1_12);
  if (IrcoscStatus_22 == 0)
    goto <bb 4>; [INV]
  else
    goto <bb 5>; [INV]

  <bb 4> :
  _13 = ~TimeoutOccurred_24;
  if (_13 != 0)
    goto <bb 3>; [INV]
  else
    goto <bb 5>; [INV]

  <bb 5> :
  if (TimeoutOccurred_24 != 0)
    goto <bb 6>; [INV]
  else
    goto <bb 7>; [INV]

  <bb 6> :
  _14 = config_25(D)->name;
  ReportClockErrors (1, _14);

  <bb 7> :
  StartTime ={v} {CLOBBER};
  ElapsedTime ={v} {CLOBBER};
  TimeoutTicks ={v} {CLOBBER};
  return;

}


SetSirc (const struct Clock_Ip_IrcoscConfigType * config)
{
  <bb 2> :
  SetSirc_TrustedCall (config_2(D));
  return;

}


SetSirc_TrustedCall (const struct Clock_Ip_IrcoscConfigType * config)
{
  struct Clock_Ip_IrcoscConfigType sircConfig;
  uint32 IrcoscStatus;
  uint32 TimeoutTicks;
  uint32 ElapsedTime;
  uint32 StartTime;
  boolean TimeoutOccurred;
  <unnamed type> _1;
  unsigned char _2;
  short unsigned int _3;
  unsigned char _4;
  struct SCG_Type * _5;
  long unsigned int _6;
  struct SCG_Type * _7;
  long unsigned int _8;
  struct SCG_Type * _9;
  long unsigned int _10;
  struct SCG_Type * _11;
  long unsigned int _12;
  struct SCG_Type * _13;
  long unsigned int _14;
  struct SCG_Type * _15;
  long unsigned int _16;
  short unsigned int _17;
  unsigned char _18;
  long unsigned int _19;
  struct SCG_Type * _20;
  long unsigned int _21;
  struct SCG_Type * _22;
  long unsigned int _23;
  struct SCG_Type * _24;
  long unsigned int _25;
  struct SCG_Type * _26;
  long unsigned int _27;
  unsigned char _28;
  long unsigned int _29;
  long unsigned int _30;
  long unsigned int _31;
  struct SCG_Type * _32;
  long unsigned int _33;
  struct SCG_Type * _34;
  long unsigned int _35;
  long unsigned int _36;
  long unsigned int TimeoutTicks.0_37;
  _Bool _38;
  <unnamed type> _39;

  <bb 2> :
  TimeoutOccurred_43 = 0;
  if (config_44(D) == 0B)
    goto <bb 3>; [INV]
  else
    goto <bb 4>; [INV]

  <bb 3> :
  sircConfig.name = 5;
  sircConfig.range = 1;
  sircConfig.enable = 1;
  sircConfig.lowPowerModeEnable = 1;
  goto <bb 5>; [INV]

  <bb 4> :
  _1 = config_44(D)->name;
  sircConfig.name = _1;
  _2 = config_44(D)->range;
  sircConfig.range = _2;
  _3 = config_44(D)->enable;
  sircConfig.enable = _3;
  _4 = config_44(D)->lowPowerModeEnable;
  sircConfig.lowPowerModeEnable = _4;

  <bb 5> :
  _5 = 1074151424B;
  _6 ={v} _5->SIRCCSR;
  _7 = 1074151424B;
  _8 = _6 & 4286578687;
  _7->SIRCCSR ={v} _8;
  _9 = 1074151424B;
  _10 ={v} _9->SIRCCSR;
  _11 = 1074151424B;
  _12 = _10 & 4294967294;
  _11->SIRCCSR ={v} _12;
  _13 = 1074151424B;
  _14 ={v} _13->SIRCCSR;
  _15 = 1074151424B;
  _16 = _14 & 4294967291;
  _15->SIRCCSR ={v} _16;
  _17 = sircConfig.enable;
  if (_17 == 1)
    goto <bb 6>; [INV]
  else
    goto <bb 11>; [INV]

  <bb 6> :
  _18 = sircConfig.range;
  _19 = (long unsigned int) _18;
  _20 = 1074151424B;
  _21 = _19 & 1;
  _20->SIRCCFG ={v} _21;
  _22 = 1074151424B;
  _23 ={v} _22->SIRCCSR;
  _24 = 1074151424B;
  _25 = _23 | 1;
  _24->SIRCCSR ={v} _25;
  _26 = 1074151424B;
  _27 ={v} _26->SIRCCSR;
  _28 = sircConfig.lowPowerModeEnable;
  _29 = (long unsigned int) _28;
  _30 = _29 << 2;
  _31 = _30 & 4;
  _32 = 1074151424B;
  _33 = _27 | _31;
  _32->SIRCCSR ={v} _33;
  ClockStartTimeout (&StartTime, &ElapsedTime, &TimeoutTicks, 50000);

  <bb 7> :
  _34 = 1074151424B;
  _35 ={v} _34->SIRCCSR;
  _36 = _35 >> 24;
  IrcoscStatus_61 = _36 & 1;
  TimeoutTicks.0_37 = TimeoutTicks;
  TimeoutOccurred_63 = ClockTimeoutExpired (&StartTime, &ElapsedTime, TimeoutTicks.0_37);
  if (IrcoscStatus_61 == 0)
    goto <bb 8>; [INV]
  else
    goto <bb 9>; [INV]

  <bb 8> :
  _38 = ~TimeoutOccurred_63;
  if (_38 != 0)
    goto <bb 7>; [INV]
  else
    goto <bb 9>; [INV]

  <bb 9> :
  if (TimeoutOccurred_63 != 0)
    goto <bb 10>; [INV]
  else
    goto <bb 11>; [INV]

  <bb 10> :
  _39 = sircConfig.name;
  ReportClockErrors (1, _39);

  <bb 11> :
  StartTime ={v} {CLOBBER};
  ElapsedTime ={v} {CLOBBER};
  TimeoutTicks ={v} {CLOBBER};
  sircConfig ={v} {CLOBBER};
  return;

}


InternalOscillatorEmpty_Disable (Clock_Ip_NameType name)
{
  <bb 2> :
  return;

}


InternalOscillatorEmpty (const struct Clock_Ip_IrcoscConfigType * config)
{
  <bb 2> :
  return;

}


