Parsed function:ClockPowerModeChangeNotification
Parsed function:ClockInitializeObjects
Parsed function:getSlowDividerConfig
Parsed function:getBusDividerConfig
Parsed function:getCoreDividerConfig
Parsed function:getSelectorConfig
Parsed function:getSpllConfig
Parsed function:getSoscConfig
Parsed function:getFircConfig
Parsed function:SpecificPlatformInitClock
Parsed function:SetSimLpoclksRegister_TrustedCall
Parsed function:SetFircToResetValue_TrustedCall
Parsed function:DisableSafeClock
Parsed function:SpecificPeripheralClockInitialization
Dump after hash based groups
Congruence classes: 15 (unique hash values: 15), with total: 15 items
Class size histogram [num of members]: number of classe number of classess
[1]: 15 classes


Dump after WPA based types groups
Congruence classes: 15 (unique hash values: 15), with total: 15 items
Class size histogram [num of members]: number of classe number of classess
[1]: 15 classes


Worklist has been filled with: 10
Address reference subdivision created: 0 new classes.
Dump after callgraph-based congruence reduction
Congruence classes: 15 (unique hash values: 15), with total: 15 items
Class size histogram [num of members]: number of classe number of classess
[1]: 15 classes


Init called for 0 items (0.00%).
Dump after full equality comparison of groups
Congruence classes: 15 (unique hash values: 15), with total: 15 items
Class size histogram [num of members]: number of classe number of classess
[1]: 15 classes


Worklist has been filled with: 10
Address reference subdivision created: 0 new classes.
Congruence classes: 15 (unique hash values: 15), with total: 15 items
Class size histogram [num of members]: number of classe number of classess
[1]: 15 classes



Item count: 15
Congruent classes before: 15, after: 15
Average class size before: 1.00, after: 1.00
Average non-singular class size: 0.00, count: 0
Equal symbols: 0
Fraction of visited symbols: 0.00%

ClockPowerModeChangeNotification (power_modes_t powerMode, power_notification_t notification)
{
  const struct selectorCallback * scsRunClockSelector.33_1;
  void (*<T5ad>) (const struct Clock_Ip_SelectorConfigType *) _2;
  const struct Clock_Ip_SelectorConfigType * scsConfig_Vlpr_Mode.34_3;
  const struct dividerCallback * coreRunClockDivider.35_4;
  void (*<T572>) (const struct Clock_Ip_DividerConfigType *) _5;
  const struct Clock_Ip_DividerConfigType * coreConfig_Vlpr_Mode.36_6;
  const struct dividerCallback * busRunClockDivider.37_7;
  void (*<T572>) (const struct Clock_Ip_DividerConfigType *) _8;
  const struct Clock_Ip_DividerConfigType * busConfig_Vlpr_Mode.38_9;
  const struct dividerCallback * slowRunClockDivider.39_10;
  void (*<T572>) (const struct Clock_Ip_DividerConfigType *) _11;
  const struct Clock_Ip_DividerConfigType * slowConfig_Vlpr_Mode.40_12;
  const struct pllCallback * spllClock.41_13;
  void (*<T558>) (Clock_Ip_NameType) _14;
  const struct Clock_Ip_PllConfigType * spllConfig.42_15;
  <unnamed type> _16;
  const struct extOscCallback * soscClock.43_17;
  void (*<T558>) (Clock_Ip_NameType) _18;
  const struct Clock_Ip_XoscConfigType * soscConfig.44_19;
  <unnamed type> _20;
  const struct intOscCallback * fircClock.45_21;
  void (*<T558>) (Clock_Ip_NameType) _22;
  const struct Clock_Ip_IrcoscConfigType * fircConfig.46_23;
  <unnamed type> _24;
  const struct intOscCallback * fircClock.47_25;
  void (*<T555>) (const struct Clock_Ip_IrcoscConfigType *) _26;
  const struct Clock_Ip_IrcoscConfigType * fircConfig.48_27;
  const struct extOscCallback * soscClock.49_28;
  void (*<T564>) (const struct Clock_Ip_XoscConfigType *) _29;
  const struct Clock_Ip_XoscConfigType * soscConfig.50_30;
  const struct extOscCallback * soscClock.51_31;
  void (*<T564>) (const struct Clock_Ip_XoscConfigType *) _32;
  const struct Clock_Ip_XoscConfigType * soscConfig.52_33;
  const struct pllCallback * spllClock.53_34;
  void (*<T59a>) (const struct Clock_Ip_PllConfigType *) _35;
  const struct Clock_Ip_PllConfigType * spllConfig.54_36;
  const struct pllCallback * spllClock.55_37;
  clock_pll_status_t (*<T5a0>) (Clock_Ip_NameType) _38;
  const struct Clock_Ip_PllConfigType * spllConfig.56_39;
  <unnamed type> _40;
  const struct selectorCallback * scsRunClockSelector.57_41;
  void (*<T5ad>) (const struct Clock_Ip_SelectorConfigType *) _42;
  const struct Clock_Ip_SelectorConfigType * scsConfig_Run_Mode.58_43;
  const struct dividerCallback * coreRunClockDivider.59_44;
  void (*<T572>) (const struct Clock_Ip_DividerConfigType *) _45;
  const struct Clock_Ip_DividerConfigType * coreConfig_Run_Mode.60_46;
  const struct dividerCallback * busRunClockDivider.61_47;
  void (*<T572>) (const struct Clock_Ip_DividerConfigType *) _48;
  const struct Clock_Ip_DividerConfigType * busConfig_Run_Mode.62_49;
  const struct dividerCallback * slowRunClockDivider.63_50;
  void (*<T572>) (const struct Clock_Ip_DividerConfigType *) _51;
  const struct Clock_Ip_DividerConfigType * slowConfig_Run_Mode.64_52;
  const struct intOscCallback * fircClock.65_53;
  void (*<T555>) (const struct Clock_Ip_IrcoscConfigType *) _54;
  const struct Clock_Ip_IrcoscConfigType * fircConfig.66_55;
  const struct extOscCallback * soscClock.67_56;
  void (*<T564>) (const struct Clock_Ip_XoscConfigType *) _57;
  const struct Clock_Ip_XoscConfigType * soscConfig.68_58;
  const struct extOscCallback * soscClock.69_59;
  void (*<T564>) (const struct Clock_Ip_XoscConfigType *) _60;
  const struct Clock_Ip_XoscConfigType * soscConfig.70_61;
  const struct pllCallback * spllClock.71_62;
  void (*<T59a>) (const struct Clock_Ip_PllConfigType *) _63;
  const struct Clock_Ip_PllConfigType * spllConfig.72_64;
  const struct pllCallback * spllClock.73_65;
  clock_pll_status_t (*<T5a0>) (Clock_Ip_NameType) _66;
  const struct Clock_Ip_PllConfigType * spllConfig.74_67;
  <unnamed type> _68;
  const struct selectorCallback * scsHsrunClockSelector.75_69;
  void (*<T5ad>) (const struct Clock_Ip_SelectorConfigType *) _70;
  const struct Clock_Ip_SelectorConfigType * scsConfig_Hsrun_Mode.76_71;
  const struct dividerCallback * coreHsrunClockDivider.77_72;
  void (*<T572>) (const struct Clock_Ip_DividerConfigType *) _73;
  const struct Clock_Ip_DividerConfigType * coreConfig_Hsrun_Mode.78_74;
  const struct dividerCallback * busHsrunClockDivider.79_75;
  void (*<T572>) (const struct Clock_Ip_DividerConfigType *) _76;
  const struct Clock_Ip_DividerConfigType * busConfig_Hsrun_Mode.80_77;
  const struct dividerCallback * slowHsrunClockDivider.81_78;
  void (*<T572>) (const struct Clock_Ip_DividerConfigType *) _79;
  const struct Clock_Ip_DividerConfigType * slowConfig_Hsrun_Mode.82_80;

  <bb 2> [local count: 1073741824]:
  # DEBUG BEGIN_STMT
  switch (powerMode_82(D)) <default: <L12> [25.00%], case 0: <L4> [25.00%], case 1 ... 2: <L0> [25.00%], case 3: <L7> [25.00%]>

  <bb 3> [local count: 268435456]:
<L0>:
  # DEBUG BEGIN_STMT
  if (notification_84(D) == 0)
    goto <bb 4>; [50.00%]
  else
    goto <bb 9>; [50.00%]

  <bb 4> [local count: 134217728]:
  # DEBUG BEGIN_STMT
  scsRunClockSelector.33_1 = scsRunClockSelector;
  _2 = scsRunClockSelector.33_1->Set;
  scsConfig_Vlpr_Mode.34_3 = scsConfig_Vlpr_Mode;
  _2 (scsConfig_Vlpr_Mode.34_3);
  # DEBUG BEGIN_STMT
  coreRunClockDivider.35_4 = coreRunClockDivider;
  _5 = coreRunClockDivider.35_4->Set;
  coreConfig_Vlpr_Mode.36_6 = coreConfig_Vlpr_Mode;
  _5 (coreConfig_Vlpr_Mode.36_6);
  # DEBUG BEGIN_STMT
  busRunClockDivider.37_7 = busRunClockDivider;
  _8 = busRunClockDivider.37_7->Set;
  busConfig_Vlpr_Mode.38_9 = busConfig_Vlpr_Mode;
  _8 (busConfig_Vlpr_Mode.38_9);
  # DEBUG BEGIN_STMT
  slowRunClockDivider.39_10 = slowRunClockDivider;
  _11 = slowRunClockDivider.39_10->Set;
  slowConfig_Vlpr_Mode.40_12 = slowConfig_Vlpr_Mode;
  _11 (slowConfig_Vlpr_Mode.40_12);
  # DEBUG BEGIN_STMT
  spllClock.41_13 = spllClock;
  _14 = spllClock.41_13->Disable;
  spllConfig.42_15 = spllConfig;
  _16 = spllConfig.42_15->name;
  _14 (_16);
  # DEBUG BEGIN_STMT
  soscClock.43_17 = soscClock;
  _18 = soscClock.43_17->Disable;
  soscConfig.44_19 = soscConfig;
  _20 = soscConfig.44_19->name;
  _18 (_20);
  # DEBUG BEGIN_STMT
  fircClock.45_21 = fircClock;
  _22 = fircClock.45_21->Disable;
  fircConfig.46_23 = fircConfig;
  _24 = fircConfig.46_23->name;
  _22 (_24);
  goto <bb 9>; [100.00%]

  <bb 5> [local count: 268435456]:
<L4>:
  # DEBUG BEGIN_STMT
  if (notification_84(D) == 2)
    goto <bb 6>; [34.00%]
  else
    goto <bb 9>; [66.00%]

  <bb 6> [local count: 91268055]:
  # DEBUG BEGIN_STMT
  fircClock.47_25 = fircClock;
  _26 = fircClock.47_25->Enable;
  fircConfig.48_27 = fircConfig;
  _26 (fircConfig.48_27);
  # DEBUG BEGIN_STMT
  soscClock.49_28 = soscClock;
  _29 = soscClock.49_28->Enable;
  soscConfig.50_30 = soscConfig;
  _29 (soscConfig.50_30);
  # DEBUG BEGIN_STMT
  soscClock.51_31 = soscClock;
  _32 = soscClock.51_31->Complete;
  soscConfig.52_33 = soscConfig;
  _32 (soscConfig.52_33);
  # DEBUG BEGIN_STMT
  spllClock.53_34 = spllClock;
  _35 = spllClock.53_34->Enable;
  spllConfig.54_36 = spllConfig;
  _35 (spllConfig.54_36);
  # DEBUG BEGIN_STMT
  spllClock.55_37 = spllClock;
  _38 = spllClock.55_37->Complete;
  spllConfig.56_39 = spllConfig;
  _40 = spllConfig.56_39->name;
  _38 (_40);
  # DEBUG BEGIN_STMT
  scsRunClockSelector.57_41 = scsRunClockSelector;
  _42 = scsRunClockSelector.57_41->Set;
  scsConfig_Run_Mode.58_43 = scsConfig_Run_Mode;
  _42 (scsConfig_Run_Mode.58_43);
  # DEBUG BEGIN_STMT
  coreRunClockDivider.59_44 = coreRunClockDivider;
  _45 = coreRunClockDivider.59_44->Set;
  coreConfig_Run_Mode.60_46 = coreConfig_Run_Mode;
  _45 (coreConfig_Run_Mode.60_46);
  # DEBUG BEGIN_STMT
  busRunClockDivider.61_47 = busRunClockDivider;
  _48 = busRunClockDivider.61_47->Set;
  busConfig_Run_Mode.62_49 = busConfig_Run_Mode;
  _48 (busConfig_Run_Mode.62_49);
  # DEBUG BEGIN_STMT
  slowRunClockDivider.63_50 = slowRunClockDivider;
  _51 = slowRunClockDivider.63_50->Set;
  slowConfig_Run_Mode.64_52 = slowConfig_Run_Mode;
  _51 (slowConfig_Run_Mode.64_52);
  goto <bb 9>; [100.00%]

  <bb 7> [local count: 268435456]:
<L7>:
  # DEBUG BEGIN_STMT
  if (notification_84(D) == 2)
    goto <bb 8>; [34.00%]
  else
    goto <bb 9>; [66.00%]

  <bb 8> [local count: 91268055]:
  # DEBUG BEGIN_STMT
  fircClock.65_53 = fircClock;
  _54 = fircClock.65_53->Enable;
  fircConfig.66_55 = fircConfig;
  _54 (fircConfig.66_55);
  # DEBUG BEGIN_STMT
  soscClock.67_56 = soscClock;
  _57 = soscClock.67_56->Enable;
  soscConfig.68_58 = soscConfig;
  _57 (soscConfig.68_58);
  # DEBUG BEGIN_STMT
  soscClock.69_59 = soscClock;
  _60 = soscClock.69_59->Complete;
  soscConfig.70_61 = soscConfig;
  _60 (soscConfig.70_61);
  # DEBUG BEGIN_STMT
  spllClock.71_62 = spllClock;
  _63 = spllClock.71_62->Enable;
  spllConfig.72_64 = spllConfig;
  _63 (spllConfig.72_64);
  # DEBUG BEGIN_STMT
  spllClock.73_65 = spllClock;
  _66 = spllClock.73_65->Complete;
  spllConfig.74_67 = spllConfig;
  _68 = spllConfig.74_67->name;
  _66 (_68);
  # DEBUG BEGIN_STMT
  scsHsrunClockSelector.75_69 = scsHsrunClockSelector;
  _70 = scsHsrunClockSelector.75_69->Set;
  scsConfig_Hsrun_Mode.76_71 = scsConfig_Hsrun_Mode;
  _70 (scsConfig_Hsrun_Mode.76_71);
  # DEBUG BEGIN_STMT
  coreHsrunClockDivider.77_72 = coreHsrunClockDivider;
  _73 = coreHsrunClockDivider.77_72->Set;
  coreConfig_Hsrun_Mode.78_74 = coreConfig_Hsrun_Mode;
  _73 (coreConfig_Hsrun_Mode.78_74);
  # DEBUG BEGIN_STMT
  busHsrunClockDivider.79_75 = busHsrunClockDivider;
  _76 = busHsrunClockDivider.79_75->Set;
  busConfig_Hsrun_Mode.80_77 = busConfig_Hsrun_Mode;
  _76 (busConfig_Hsrun_Mode.80_77);
  # DEBUG BEGIN_STMT
  slowHsrunClockDivider.81_78 = slowHsrunClockDivider;
  _79 = slowHsrunClockDivider.81_78->Set;
  slowConfig_Hsrun_Mode.82_80 = slowConfig_Hsrun_Mode;
  _79 (slowConfig_Hsrun_Mode.82_80);

  <bb 9> [local count: 1073741824]:
<L12>:
  return;

}


ClockInitializeObjects ()
{
  unsigned char _1;
  int _2;
  const struct pllCallback * _3;
  unsigned char _4;
  int _5;
  const struct extOscCallback * _6;
  unsigned char _7;
  int _8;
  const struct intOscCallback * _9;
  unsigned char _10;
  int _11;
  const struct selectorCallback * _12;
  unsigned char _13;
  int _14;
  const struct selectorCallback * _15;
  unsigned char _16;
  int _17;
  const struct dividerCallback * _18;
  unsigned char _19;
  int _20;
  const struct dividerCallback * _21;
  unsigned char _22;
  int _23;
  const struct dividerCallback * _24;
  unsigned char _25;
  int _26;
  const struct dividerCallback * _27;
  unsigned char _28;
  int _29;
  const struct dividerCallback * _30;
  unsigned char _31;
  int _32;
  const struct dividerCallback * _33;
  const struct Clock_Ip_IrcoscConfigType * _34;
  const struct Clock_Ip_XoscConfigType * _35;
  const struct Clock_Ip_PllConfigType * _36;
  const struct Clock_Ip_SelectorConfigType * _37;
  const struct Clock_Ip_SelectorConfigType * _38;
  const struct Clock_Ip_SelectorConfigType * _39;
  const struct Clock_Ip_DividerConfigType * _40;
  const struct Clock_Ip_DividerConfigType * _41;
  const struct Clock_Ip_DividerConfigType * _42;
  const struct Clock_Ip_DividerConfigType * _43;
  const struct Clock_Ip_DividerConfigType * _44;
  const struct Clock_Ip_DividerConfigType * _45;
  const struct Clock_Ip_DividerConfigType * _46;
  const struct Clock_Ip_DividerConfigType * _47;
  const struct Clock_Ip_DividerConfigType * _48;

  <bb 2> [local count: 1073741824]:
  # DEBUG BEGIN_STMT
  _1 = pllCallbackIndex[1];
  _2 = (int) _1;
  _3 = &pllCallbacks[_2];
  spllClock = _3;
  # DEBUG BEGIN_STMT
  _4 = xoscCallbackIndex[1];
  _5 = (int) _4;
  _6 = &extOscCallbacks[_5];
  soscClock = _6;
  # DEBUG BEGIN_STMT
  _7 = ircoscCallbackIndex[4];
  _8 = (int) _7;
  _9 = &intOscCallbacks[_8];
  fircClock = _9;
  # DEBUG BEGIN_STMT
  _10 = selectorCallbackIndex[5];
  _11 = (int) _10;
  _12 = &selectorCallbacks[_11];
  scsRunClockSelector = _12;
  # DEBUG BEGIN_STMT
  _13 = selectorCallbackIndex[7];
  _14 = (int) _13;
  _15 = &selectorCallbacks[_14];
  scsHsrunClockSelector = _15;
  # DEBUG BEGIN_STMT
  _16 = dividerCallbackIndex[6];
  _17 = (int) _16;
  _18 = &dividerCallbacks[_17];
  coreRunClockDivider = _18;
  # DEBUG BEGIN_STMT
  _19 = dividerCallbackIndex[8];
  _20 = (int) _19;
  _21 = &dividerCallbacks[_20];
  coreHsrunClockDivider = _21;
  # DEBUG BEGIN_STMT
  _22 = dividerCallbackIndex[9];
  _23 = (int) _22;
  _24 = &dividerCallbacks[_23];
  busRunClockDivider = _24;
  # DEBUG BEGIN_STMT
  _25 = dividerCallbackIndex[11];
  _26 = (int) _25;
  _27 = &dividerCallbacks[_26];
  busHsrunClockDivider = _27;
  # DEBUG BEGIN_STMT
  _28 = dividerCallbackIndex[12];
  _29 = (int) _28;
  _30 = &dividerCallbacks[_29];
  slowRunClockDivider = _30;
  # DEBUG BEGIN_STMT
  _31 = dividerCallbackIndex[14];
  _32 = (int) _31;
  _33 = &dividerCallbacks[_32];
  slowHsrunClockDivider = _33;
  # DEBUG BEGIN_STMT
  _34 = getFircConfig ();
  fircConfig = _34;
  # DEBUG BEGIN_STMT
  _35 = getSoscConfig ();
  soscConfig = _35;
  # DEBUG BEGIN_STMT
  _36 = getSpllConfig ();
  spllConfig = _36;
  # DEBUG BEGIN_STMT
  _37 = getSelectorConfig (25);
  scsConfig_Run_Mode = _37;
  # DEBUG BEGIN_STMT
  _38 = getSelectorConfig (26);
  scsConfig_Vlpr_Mode = _38;
  # DEBUG BEGIN_STMT
  _39 = getSelectorConfig (27);
  scsConfig_Hsrun_Mode = _39;
  # DEBUG BEGIN_STMT
  _40 = getCoreDividerConfig (29);
  coreConfig_Run_Mode = _40;
  # DEBUG BEGIN_STMT
  _41 = getCoreDividerConfig (30);
  coreConfig_Vlpr_Mode = _41;
  # DEBUG BEGIN_STMT
  _42 = getCoreDividerConfig (31);
  coreConfig_Hsrun_Mode = _42;
  # DEBUG BEGIN_STMT
  _43 = getBusDividerConfig (33);
  busConfig_Run_Mode = _43;
  # DEBUG BEGIN_STMT
  _44 = getBusDividerConfig (34);
  busConfig_Vlpr_Mode = _44;
  # DEBUG BEGIN_STMT
  _45 = getBusDividerConfig (35);
  busConfig_Hsrun_Mode = _45;
  # DEBUG BEGIN_STMT
  _46 = getSlowDividerConfig (37);
  slowConfig_Run_Mode = _46;
  # DEBUG BEGIN_STMT
  _47 = getSlowDividerConfig (38);
  slowConfig_Vlpr_Mode = _47;
  # DEBUG BEGIN_STMT
  _48 = getSlowDividerConfig (39);
  slowConfig_Hsrun_Mode = _48;
  return;

}


getSlowDividerConfig (Clock_Ip_NameType name)
{
  uint32 i;
  uint32 dividerConfigIndex;
  static struct Clock_Ip_DividerConfigType dividerConfigurations[3];
  const struct Clock_Ip_DividerConfigType * returnValue;
  const struct Clock_Ip_ClockConfigType * config_clock.29_1;
  <unnamed type> _2;
  unsigned char _3;
  long unsigned int _4;
  long unsigned int _5;
  long unsigned int _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;

  <bb 2> [local count: 164107171]:
  # DEBUG BEGIN_STMT
  # DEBUG returnValue => 0B
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  # DEBUG dividerConfigIndex => 0
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  switch (name_20(D)) <default: <L20> [33.33%], case 38: <L1> [33.33%], case 39: <L2> [33.33%]>

  <bb 3> [local count: 54696920]:
<L1>:
  # DEBUG BEGIN_STMT
  # DEBUG dividerConfigIndex => 1
  # DEBUG BEGIN_STMT
  goto <bb 5>; [100.00%]

  <bb 4> [local count: 54696920]:
<L2>:
  # DEBUG BEGIN_STMT
  # DEBUG dividerConfigIndex => 2
  # DEBUG BEGIN_STMT

  <bb 5> [local count: 164090760]:
  # dividerConfigIndex_16 = PHI <0(2), 1(3), 2(4)>
<L20>:
  # DEBUG dividerConfigIndex => dividerConfigIndex_16
  # DEBUG BEGIN_STMT
  config_clock.29_1 = config_clock;
  if (config_clock.29_1 != 0B)
    goto <bb 16>; [70.00%]
  else
    goto <bb 11>; [30.00%]

  <bb 16> [local count: 114863532]:
  goto <bb 9>; [100.00%]

  <bb 6> [local count: 1014686026]:
  # DEBUG BEGIN_STMT
  _2 = config_clock.29_1->dividers[i_17].name;
  if (_2 == name_20(D))
    goto <bb 7>; [5.50%]
  else
    goto <bb 8>; [94.50%]

  <bb 7> [local count: 55807731]:
  # i_19 = PHI <i_17(6)>
  # DEBUG BEGIN_STMT
  returnValue_23 = &config_clock.29_1->dividers[i_19];
  # DEBUG returnValue => returnValue_23
  # DEBUG BEGIN_STMT
  goto <bb 10>; [100.00%]

  <bb 8> [local count: 958878294]:
  # DEBUG BEGIN_STMT
  i_22 = i_17 + 1;
  # DEBUG i => i_22

  <bb 9> [local count: 1073741824]:
  # i_17 = PHI <i_22(8), 0(16)>
  # DEBUG i => i_17
  # DEBUG BEGIN_STMT
  _3 = config_clock.29_1->dividersCount;
  _4 = (long unsigned int) _3;
  if (_4 > i_17)
    goto <bb 6>; [94.50%]
  else
    goto <bb 10>; [5.50%]

  <bb 10> [local count: 114863532]:
  # returnValue_14 = PHI <0B(9), returnValue_23(7)>
  # DEBUG returnValue => returnValue_14
  # DEBUG BEGIN_STMT
  if (returnValue_14 == 0B)
    goto <bb 11>; [30.00%]
  else
    goto <bb 15>; [70.00%]

  <bb 11> [local count: 83686288]:
  # DEBUG returnValue => NULL
  # DEBUG BEGIN_STMT
  returnValue_24 = &dividerConfigurations[dividerConfigIndex_16];
  # DEBUG returnValue => returnValue_24
  # DEBUG BEGIN_STMT
  dividerConfigurations[dividerConfigIndex_16].name = name_20(D);
  # DEBUG BEGIN_STMT
  switch (name_20(D)) <default: <L21> [25.00%], case 37: <L13> [25.00%], case 38: <L14> [25.00%], case 39: <L15> [25.00%]>

  <bb 12> [local count: 20921572]:
<L13>:
  # DEBUG BEGIN_STMT
  _5 ={v} MEM[(struct SCG_Type *)1074151424B].RCCR;
  _6 = _5 & 15;
  _7 = _6 + 1;
  dividerConfigurations[dividerConfigIndex_16].value = _7;
  # DEBUG BEGIN_STMT
  goto <bb 15>; [100.00%]

  <bb 13> [local count: 20921572]:
<L14>:
  # DEBUG BEGIN_STMT
  _8 ={v} MEM[(struct SCG_Type *)1074151424B].VCCR;
  _9 = _8 & 15;
  _10 = _9 + 1;
  dividerConfigurations[dividerConfigIndex_16].value = _10;
  # DEBUG BEGIN_STMT
  goto <bb 15>; [100.00%]

  <bb 14> [local count: 20921572]:
<L15>:
  # DEBUG BEGIN_STMT
  _11 ={v} MEM[(struct SCG_Type *)1074151424B].HCCR;
  _12 = _11 & 15;
  _13 = _12 + 1;
  dividerConfigurations[dividerConfigIndex_16].value = _13;
  # DEBUG BEGIN_STMT

  <bb 15> [local count: 164090760]:
  # returnValue_15 = PHI <returnValue_14(10), returnValue_24(12), returnValue_24(13), returnValue_24(14), returnValue_24(11)>
<L21>:
  # DEBUG returnValue => returnValue_15
  # DEBUG BEGIN_STMT
  return returnValue_15;

}


getBusDividerConfig (Clock_Ip_NameType name)
{
  uint32 i;
  uint32 dividerConfigIndex;
  static struct Clock_Ip_DividerConfigType dividerConfigurations[3];
  const struct Clock_Ip_DividerConfigType * returnValue;
  const struct Clock_Ip_ClockConfigType * config_clock.25_1;
  <unnamed type> _2;
  unsigned char _3;
  long unsigned int _4;
  long unsigned int _5;
  long unsigned int _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;
  long unsigned int _14;
  long unsigned int _15;
  long unsigned int _16;

  <bb 2> [local count: 164107171]:
  # DEBUG BEGIN_STMT
  # DEBUG returnValue => 0B
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  # DEBUG dividerConfigIndex => 0
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  switch (name_23(D)) <default: <L20> [33.33%], case 34: <L1> [33.33%], case 35: <L2> [33.33%]>

  <bb 3> [local count: 54696920]:
<L1>:
  # DEBUG BEGIN_STMT
  # DEBUG dividerConfigIndex => 1
  # DEBUG BEGIN_STMT
  goto <bb 5>; [100.00%]

  <bb 4> [local count: 54696920]:
<L2>:
  # DEBUG BEGIN_STMT
  # DEBUG dividerConfigIndex => 2
  # DEBUG BEGIN_STMT

  <bb 5> [local count: 164090760]:
  # dividerConfigIndex_19 = PHI <0(2), 1(3), 2(4)>
<L20>:
  # DEBUG dividerConfigIndex => dividerConfigIndex_19
  # DEBUG BEGIN_STMT
  config_clock.25_1 = config_clock;
  if (config_clock.25_1 != 0B)
    goto <bb 16>; [70.00%]
  else
    goto <bb 11>; [30.00%]

  <bb 16> [local count: 114863532]:
  goto <bb 9>; [100.00%]

  <bb 6> [local count: 1014686026]:
  # DEBUG BEGIN_STMT
  _2 = config_clock.25_1->dividers[i_20].name;
  if (_2 == name_23(D))
    goto <bb 7>; [5.50%]
  else
    goto <bb 8>; [94.50%]

  <bb 7> [local count: 55807731]:
  # i_22 = PHI <i_20(6)>
  # DEBUG BEGIN_STMT
  returnValue_26 = &config_clock.25_1->dividers[i_22];
  # DEBUG returnValue => returnValue_26
  # DEBUG BEGIN_STMT
  goto <bb 10>; [100.00%]

  <bb 8> [local count: 958878294]:
  # DEBUG BEGIN_STMT
  i_25 = i_20 + 1;
  # DEBUG i => i_25

  <bb 9> [local count: 1073741824]:
  # i_20 = PHI <i_25(8), 0(16)>
  # DEBUG i => i_20
  # DEBUG BEGIN_STMT
  _3 = config_clock.25_1->dividersCount;
  _4 = (long unsigned int) _3;
  if (_4 > i_20)
    goto <bb 6>; [94.50%]
  else
    goto <bb 10>; [5.50%]

  <bb 10> [local count: 114863532]:
  # returnValue_17 = PHI <0B(9), returnValue_26(7)>
  # DEBUG returnValue => returnValue_17
  # DEBUG BEGIN_STMT
  if (returnValue_17 == 0B)
    goto <bb 11>; [30.00%]
  else
    goto <bb 15>; [70.00%]

  <bb 11> [local count: 83686288]:
  # DEBUG returnValue => NULL
  # DEBUG BEGIN_STMT
  returnValue_27 = &dividerConfigurations[dividerConfigIndex_19];
  # DEBUG returnValue => returnValue_27
  # DEBUG BEGIN_STMT
  dividerConfigurations[dividerConfigIndex_19].name = name_23(D);
  # DEBUG BEGIN_STMT
  switch (name_23(D)) <default: <L21> [25.00%], case 33: <L13> [25.00%], case 34: <L14> [25.00%], case 35: <L15> [25.00%]>

  <bb 12> [local count: 20921572]:
<L13>:
  # DEBUG BEGIN_STMT
  _5 ={v} MEM[(struct SCG_Type *)1074151424B].RCCR;
  _6 = _5 >> 4;
  _7 = _6 & 15;
  _8 = _7 + 1;
  dividerConfigurations[dividerConfigIndex_19].value = _8;
  # DEBUG BEGIN_STMT
  goto <bb 15>; [100.00%]

  <bb 13> [local count: 20921572]:
<L14>:
  # DEBUG BEGIN_STMT
  _9 ={v} MEM[(struct SCG_Type *)1074151424B].VCCR;
  _10 = _9 >> 4;
  _11 = _10 & 15;
  _12 = _11 + 1;
  dividerConfigurations[dividerConfigIndex_19].value = _12;
  # DEBUG BEGIN_STMT
  goto <bb 15>; [100.00%]

  <bb 14> [local count: 20921572]:
<L15>:
  # DEBUG BEGIN_STMT
  _13 ={v} MEM[(struct SCG_Type *)1074151424B].HCCR;
  _14 = _13 >> 4;
  _15 = _14 & 15;
  _16 = _15 + 1;
  dividerConfigurations[dividerConfigIndex_19].value = _16;
  # DEBUG BEGIN_STMT

  <bb 15> [local count: 164090760]:
  # returnValue_18 = PHI <returnValue_17(10), returnValue_27(12), returnValue_27(13), returnValue_27(14), returnValue_27(11)>
<L21>:
  # DEBUG returnValue => returnValue_18
  # DEBUG BEGIN_STMT
  return returnValue_18;

}


getCoreDividerConfig (Clock_Ip_NameType name)
{
  uint32 i;
  uint32 dividerConfigIndex;
  static struct Clock_Ip_DividerConfigType dividerConfigurations[3];
  const struct Clock_Ip_DividerConfigType * returnValue;
  const struct Clock_Ip_ClockConfigType * config_clock.21_1;
  <unnamed type> _2;
  unsigned char _3;
  long unsigned int _4;
  long unsigned int _5;
  long unsigned int _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;
  long unsigned int _14;
  long unsigned int _15;
  long unsigned int _16;

  <bb 2> [local count: 164107171]:
  # DEBUG BEGIN_STMT
  # DEBUG returnValue => 0B
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  # DEBUG dividerConfigIndex => 0
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  switch (name_23(D)) <default: <L20> [33.33%], case 30: <L1> [33.33%], case 31: <L2> [33.33%]>

  <bb 3> [local count: 54696920]:
<L1>:
  # DEBUG BEGIN_STMT
  # DEBUG dividerConfigIndex => 1
  # DEBUG BEGIN_STMT
  goto <bb 5>; [100.00%]

  <bb 4> [local count: 54696920]:
<L2>:
  # DEBUG BEGIN_STMT
  # DEBUG dividerConfigIndex => 2
  # DEBUG BEGIN_STMT

  <bb 5> [local count: 164090760]:
  # dividerConfigIndex_19 = PHI <0(2), 1(3), 2(4)>
<L20>:
  # DEBUG dividerConfigIndex => dividerConfigIndex_19
  # DEBUG BEGIN_STMT
  config_clock.21_1 = config_clock;
  if (config_clock.21_1 != 0B)
    goto <bb 16>; [70.00%]
  else
    goto <bb 11>; [30.00%]

  <bb 16> [local count: 114863532]:
  goto <bb 9>; [100.00%]

  <bb 6> [local count: 1014686026]:
  # DEBUG BEGIN_STMT
  _2 = config_clock.21_1->dividers[i_20].name;
  if (_2 == name_23(D))
    goto <bb 7>; [5.50%]
  else
    goto <bb 8>; [94.50%]

  <bb 7> [local count: 55807731]:
  # i_22 = PHI <i_20(6)>
  # DEBUG BEGIN_STMT
  returnValue_26 = &config_clock.21_1->dividers[i_22];
  # DEBUG returnValue => returnValue_26
  # DEBUG BEGIN_STMT
  goto <bb 10>; [100.00%]

  <bb 8> [local count: 958878294]:
  # DEBUG BEGIN_STMT
  i_25 = i_20 + 1;
  # DEBUG i => i_25

  <bb 9> [local count: 1073741824]:
  # i_20 = PHI <i_25(8), 0(16)>
  # DEBUG i => i_20
  # DEBUG BEGIN_STMT
  _3 = config_clock.21_1->dividersCount;
  _4 = (long unsigned int) _3;
  if (_4 > i_20)
    goto <bb 6>; [94.50%]
  else
    goto <bb 10>; [5.50%]

  <bb 10> [local count: 114863532]:
  # returnValue_17 = PHI <0B(9), returnValue_26(7)>
  # DEBUG returnValue => returnValue_17
  # DEBUG BEGIN_STMT
  if (returnValue_17 == 0B)
    goto <bb 11>; [30.00%]
  else
    goto <bb 15>; [70.00%]

  <bb 11> [local count: 83686288]:
  # DEBUG returnValue => NULL
  # DEBUG BEGIN_STMT
  returnValue_27 = &dividerConfigurations[dividerConfigIndex_19];
  # DEBUG returnValue => returnValue_27
  # DEBUG BEGIN_STMT
  dividerConfigurations[dividerConfigIndex_19].name = name_23(D);
  # DEBUG BEGIN_STMT
  switch (name_23(D)) <default: <L21> [25.00%], case 29: <L13> [25.00%], case 30: <L14> [25.00%], case 31: <L15> [25.00%]>

  <bb 12> [local count: 20921572]:
<L13>:
  # DEBUG BEGIN_STMT
  _5 ={v} MEM[(struct SCG_Type *)1074151424B].RCCR;
  _6 = _5 >> 16;
  _7 = _6 & 15;
  _8 = _7 + 1;
  dividerConfigurations[dividerConfigIndex_19].value = _8;
  # DEBUG BEGIN_STMT
  goto <bb 15>; [100.00%]

  <bb 13> [local count: 20921572]:
<L14>:
  # DEBUG BEGIN_STMT
  _9 ={v} MEM[(struct SCG_Type *)1074151424B].VCCR;
  _10 = _9 >> 16;
  _11 = _10 & 15;
  _12 = _11 + 1;
  dividerConfigurations[dividerConfigIndex_19].value = _12;
  # DEBUG BEGIN_STMT
  goto <bb 15>; [100.00%]

  <bb 14> [local count: 20921572]:
<L15>:
  # DEBUG BEGIN_STMT
  _13 ={v} MEM[(struct SCG_Type *)1074151424B].HCCR;
  _14 = _13 >> 16;
  _15 = _14 & 15;
  _16 = _15 + 1;
  dividerConfigurations[dividerConfigIndex_19].value = _16;
  # DEBUG BEGIN_STMT

  <bb 15> [local count: 164090760]:
  # returnValue_18 = PHI <returnValue_17(10), returnValue_27(12), returnValue_27(13), returnValue_27(14), returnValue_27(11)>
<L21>:
  # DEBUG returnValue => returnValue_18
  # DEBUG BEGIN_STMT
  return returnValue_18;

}


getSelectorConfig (Clock_Ip_NameType name)
{
  static const Clock_Ip_NameType clockSource[7] = {0, 8, 2, 5, 0, 0, 9};
  uint32 i;
  uint32 selectorConfigIndex;
  static struct Clock_Ip_SelectorConfigType selectorConfigurations[3];
  const struct Clock_Ip_SelectorConfigType * returnValue;
  const struct Clock_Ip_ClockConfigType * config_clock.17_1;
  <unnamed type> _2;
  unsigned char _3;
  long unsigned int _4;
  long unsigned int _5;
  long unsigned int _6;
  long unsigned int _7;
  <unnamed type> _8;
  long unsigned int _9;
  long unsigned int _10;
  long unsigned int _11;
  <unnamed type> _12;
  long unsigned int _13;
  long unsigned int _14;
  long unsigned int _15;
  <unnamed type> _16;

  <bb 2> [local count: 164107171]:
  # DEBUG BEGIN_STMT
  # DEBUG returnValue => 0B
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  switch (name_23(D)) <default: <L21> [33.33%], case 26: <L1> [33.33%], case 27: <L2> [33.33%]>

  <bb 3> [local count: 54696920]:
<L1>:
  # DEBUG BEGIN_STMT
  # DEBUG selectorConfigIndex => 1
  # DEBUG BEGIN_STMT
  goto <bb 5>; [100.00%]

  <bb 4> [local count: 54696920]:
<L2>:
  # DEBUG BEGIN_STMT
  # DEBUG selectorConfigIndex => 2
  # DEBUG BEGIN_STMT

  <bb 5> [local count: 164090760]:
  # selectorConfigIndex_19 = PHI <0(2), 1(3), 2(4)>
<L21>:
  # DEBUG selectorConfigIndex => selectorConfigIndex_19
  # DEBUG BEGIN_STMT
  config_clock.17_1 = config_clock;
  if (config_clock.17_1 != 0B)
    goto <bb 16>; [70.00%]
  else
    goto <bb 11>; [30.00%]

  <bb 16> [local count: 114863532]:
  goto <bb 9>; [100.00%]

  <bb 6> [local count: 1014686026]:
  # DEBUG BEGIN_STMT
  _2 = config_clock.17_1->selectors[i_20].name;
  if (_2 == name_23(D))
    goto <bb 7>; [5.50%]
  else
    goto <bb 8>; [94.50%]

  <bb 7> [local count: 55807731]:
  # i_22 = PHI <i_20(6)>
  # DEBUG BEGIN_STMT
  returnValue_26 = &config_clock.17_1->selectors[i_22];
  # DEBUG returnValue => returnValue_26
  # DEBUG BEGIN_STMT
  goto <bb 10>; [100.00%]

  <bb 8> [local count: 958878294]:
  # DEBUG BEGIN_STMT
  i_25 = i_20 + 1;
  # DEBUG i => i_25

  <bb 9> [local count: 1073741824]:
  # i_20 = PHI <i_25(8), 0(16)>
  # DEBUG i => i_20
  # DEBUG BEGIN_STMT
  _3 = config_clock.17_1->selectorsCount;
  _4 = (long unsigned int) _3;
  if (_4 > i_20)
    goto <bb 6>; [94.50%]
  else
    goto <bb 10>; [5.50%]

  <bb 10> [local count: 114863532]:
  # returnValue_17 = PHI <0B(9), returnValue_26(7)>
  # DEBUG returnValue => returnValue_17
  # DEBUG BEGIN_STMT
  if (returnValue_17 == 0B)
    goto <bb 11>; [30.00%]
  else
    goto <bb 15>; [70.00%]

  <bb 11> [local count: 83686288]:
  # DEBUG returnValue => NULL
  # DEBUG BEGIN_STMT
  returnValue_27 = &selectorConfigurations[selectorConfigIndex_19];
  # DEBUG returnValue => returnValue_27
  # DEBUG BEGIN_STMT
  selectorConfigurations[selectorConfigIndex_19].name = name_23(D);
  # DEBUG BEGIN_STMT
  switch (name_23(D)) <default: <L20> [25.00%], case 25: <L13> [25.00%], case 26: <L14> [25.00%], case 27: <L15> [25.00%]>

  <bb 12> [local count: 20921572]:
<L13>:
  # DEBUG BEGIN_STMT
  _5 ={v} MEM[(struct SCG_Type *)1074151424B].RCCR;
  _6 = _5 >> 24;
  _7 = _6 & 15;
  _8 = clockSource[_7];
  selectorConfigurations[selectorConfigIndex_19].value = _8;
  # DEBUG BEGIN_STMT
  goto <bb 15>; [100.00%]

  <bb 13> [local count: 20921572]:
<L14>:
  # DEBUG BEGIN_STMT
  _9 ={v} MEM[(struct SCG_Type *)1074151424B].VCCR;
  _10 = _9 >> 24;
  _11 = _10 & 15;
  _12 = clockSource[_11];
  selectorConfigurations[selectorConfigIndex_19].value = _12;
  # DEBUG BEGIN_STMT
  goto <bb 15>; [100.00%]

  <bb 14> [local count: 20921572]:
<L15>:
  # DEBUG BEGIN_STMT
  _13 ={v} MEM[(struct SCG_Type *)1074151424B].HCCR;
  _14 = _13 >> 24;
  _15 = _14 & 15;
  _16 = clockSource[_15];
  selectorConfigurations[selectorConfigIndex_19].value = _16;
  # DEBUG BEGIN_STMT

  <bb 15> [local count: 164090760]:
  # returnValue_18 = PHI <returnValue_17(10), returnValue_27(12), returnValue_27(13), returnValue_27(14), returnValue_27(11)>
<L20>:
  # DEBUG returnValue => returnValue_18
  # DEBUG BEGIN_STMT
  return returnValue_18;

}


getSpllConfig ()
{
  static struct Clock_Ip_PllConfigType spllConfiguration;
  const struct Clock_Ip_PllConfigType * returnValue;
  uint32 i;
  const struct Clock_Ip_ClockConfigType * config_clock.13_1;
  <unnamed type> _2;
  unsigned char _3;
  long unsigned int _4;
  long unsigned int _5;
  short unsigned int _6;
  short unsigned int _7;
  long unsigned int _8;
  long unsigned int _9;
  unsigned char _10;
  unsigned char _11;
  long unsigned int _12;
  long unsigned int _13;
  unsigned char _14;
  unsigned char _15;

  <bb 2> [local count: 164090760]:
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  # DEBUG returnValue => 0B
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  config_clock.13_1 = config_clock;
  if (config_clock.13_1 != 0B)
    goto <bb 10>; [70.00%]
  else
    goto <bb 8>; [30.00%]

  <bb 10> [local count: 114863532]:
  goto <bb 6>; [100.00%]

  <bb 3> [local count: 1014686024]:
  # DEBUG BEGIN_STMT
  _2 = config_clock.13_1->plls[i_16].name;
  if (_2 == 9)
    goto <bb 4>; [5.50%]
  else
    goto <bb 5>; [94.50%]

  <bb 4> [local count: 55807731]:
  # i_20 = PHI <i_16(3)>
  # DEBUG BEGIN_STMT
  returnValue_23 = &config_clock.13_1->plls[i_20];
  # DEBUG returnValue => returnValue_23
  # DEBUG BEGIN_STMT
  goto <bb 7>; [100.00%]

  <bb 5> [local count: 958878294]:
  # DEBUG BEGIN_STMT
  i_22 = i_16 + 1;
  # DEBUG i => i_22

  <bb 6> [local count: 1073741824]:
  # i_16 = PHI <i_22(5), 0(10)>
  # DEBUG i => i_16
  # DEBUG BEGIN_STMT
  _3 = config_clock.13_1->pllsCount;
  _4 = (long unsigned int) _3;
  if (_4 > i_16)
    goto <bb 3>; [94.50%]
  else
    goto <bb 7>; [5.50%]

  <bb 7> [local count: 114863532]:
  # returnValue_17 = PHI <0B(6), returnValue_23(4)>
  # DEBUG returnValue => returnValue_17
  # DEBUG BEGIN_STMT
  if (returnValue_17 == 0B)
    goto <bb 8>; [30.00%]
  else
    goto <bb 9>; [70.00%]

  <bb 8> [local count: 83686288]:
  # DEBUG returnValue => NULL
  # DEBUG BEGIN_STMT
  # DEBUG returnValue => &spllConfiguration
  # DEBUG BEGIN_STMT
  spllConfiguration.name = 9;
  # DEBUG BEGIN_STMT
  _5 ={v} MEM[(struct SCG_Type *)1074151424B].SPLLCSR;
  _6 = (short unsigned int) _5;
  _7 = _6 & 1;
  spllConfiguration.enable = _7;
  # DEBUG BEGIN_STMT
  _8 ={v} MEM[(struct SCG_Type *)1074151424B].SPLLCFG;
  _9 = _8 >> 8;
  _10 = (unsigned char) _9;
  _11 = _10 & 7;
  spllConfiguration.predivider = _11;
  # DEBUG BEGIN_STMT
  _12 ={v} MEM[(struct SCG_Type *)1074151424B].SPLLCFG;
  _13 = _12 >> 16;
  _14 = (unsigned char) _13;
  _15 = _14 & 31;
  spllConfiguration.mulFactorDiv = _15;

  <bb 9> [local count: 164090760]:
  # returnValue_18 = PHI <returnValue_17(7), &spllConfiguration(8)>
  # DEBUG returnValue => returnValue_18
  # DEBUG BEGIN_STMT
  return returnValue_18;

}


getSoscConfig ()
{
  static struct Clock_Ip_XoscConfigType soscConfiguration;
  const struct Clock_Ip_XoscConfigType * returnValue;
  uint32 i;
  const struct Clock_Ip_ClockConfigType * config_clock.9_1;
  <unnamed type> _2;
  unsigned char _3;
  long unsigned int _4;
  long unsigned int _5;
  short unsigned int _6;
  short unsigned int _7;

  <bb 2> [local count: 164090760]:
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  # DEBUG returnValue => 0B
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  config_clock.9_1 = config_clock;
  if (config_clock.9_1 != 0B)
    goto <bb 10>; [70.00%]
  else
    goto <bb 8>; [30.00%]

  <bb 10> [local count: 114863532]:
  goto <bb 6>; [100.00%]

  <bb 3> [local count: 1014686024]:
  # DEBUG BEGIN_STMT
  _2 = config_clock.9_1->xoscs[i_8].name;
  if (_2 == 8)
    goto <bb 4>; [5.50%]
  else
    goto <bb 5>; [94.50%]

  <bb 4> [local count: 55807731]:
  # i_12 = PHI <i_8(3)>
  # DEBUG BEGIN_STMT
  returnValue_15 = &config_clock.9_1->xoscs[i_12];
  # DEBUG returnValue => returnValue_15
  # DEBUG BEGIN_STMT
  goto <bb 7>; [100.00%]

  <bb 5> [local count: 958878294]:
  # DEBUG BEGIN_STMT
  i_14 = i_8 + 1;
  # DEBUG i => i_14

  <bb 6> [local count: 1073741824]:
  # i_8 = PHI <i_14(5), 0(10)>
  # DEBUG i => i_8
  # DEBUG BEGIN_STMT
  _3 = config_clock.9_1->xoscsCount;
  _4 = (long unsigned int) _3;
  if (_4 > i_8)
    goto <bb 3>; [94.50%]
  else
    goto <bb 7>; [5.50%]

  <bb 7> [local count: 114863532]:
  # returnValue_9 = PHI <0B(6), returnValue_15(4)>
  # DEBUG returnValue => returnValue_9
  # DEBUG BEGIN_STMT
  if (returnValue_9 == 0B)
    goto <bb 8>; [30.00%]
  else
    goto <bb 9>; [70.00%]

  <bb 8> [local count: 83686288]:
  # DEBUG returnValue => NULL
  # DEBUG BEGIN_STMT
  # DEBUG returnValue => &soscConfiguration
  # DEBUG BEGIN_STMT
  soscConfiguration.name = 8;
  # DEBUG BEGIN_STMT
  _5 ={v} MEM[(struct SCG_Type *)1074151424B].SOSCCSR;
  _6 = (short unsigned int) _5;
  _7 = _6 & 1;
  soscConfiguration.enable = _7;
  # DEBUG BEGIN_STMT
  soscConfiguration.freq = 40000000;

  <bb 9> [local count: 164090760]:
  # returnValue_10 = PHI <returnValue_9(7), &soscConfiguration(8)>
  # DEBUG returnValue => returnValue_10
  # DEBUG BEGIN_STMT
  return returnValue_10;

}


getFircConfig ()
{
  static struct Clock_Ip_IrcoscConfigType fircConfiguration;
  const struct Clock_Ip_IrcoscConfigType * returnValue;
  uint32 i;
  const struct Clock_Ip_ClockConfigType * config_clock.5_1;
  <unnamed type> _2;
  unsigned char _3;
  long unsigned int _4;
  long unsigned int _6;
  short unsigned int _7;
  short unsigned int _8;
  long unsigned int _9;
  unsigned char _10;
  unsigned char _11;
  long unsigned int _12;
  int _13;
  unsigned char _14;
  unsigned char _15;
  int _21;
  int _24;

  <bb 2> [local count: 164090760]:
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  # DEBUG returnValue => 0B
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  config_clock.5_1 = config_clock;
  if (config_clock.5_1 != 0B)
    goto <bb 10>; [70.00%]
  else
    goto <bb 8>; [30.00%]

  <bb 10> [local count: 114863532]:
  goto <bb 6>; [100.00%]

  <bb 3> [local count: 1014686024]:
  # DEBUG BEGIN_STMT
  _2 = config_clock.5_1->ircoscs[i_16].name;
  if (_2 == 5)
    goto <bb 4>; [5.50%]
  else
    goto <bb 5>; [94.50%]

  <bb 4> [local count: 55807731]:
  # i_5 = PHI <i_16(3)>
  # DEBUG BEGIN_STMT
  returnValue_23 = &config_clock.5_1->ircoscs[i_5];
  # DEBUG returnValue => returnValue_23
  # DEBUG BEGIN_STMT
  goto <bb 7>; [100.00%]

  <bb 5> [local count: 958878294]:
  # DEBUG BEGIN_STMT
  i_22 = i_16 + 1;
  # DEBUG i => i_22

  <bb 6> [local count: 1073741824]:
  # i_16 = PHI <i_22(5), 0(10)>
  # DEBUG i => i_16
  # DEBUG BEGIN_STMT
  _3 = config_clock.5_1->ircoscsCount;
  _4 = (long unsigned int) _3;
  if (_4 > i_16)
    goto <bb 3>; [94.50%]
  else
    goto <bb 7>; [5.50%]

  <bb 7> [local count: 114863532]:
  # returnValue_17 = PHI <0B(6), returnValue_23(4)>
  # DEBUG returnValue => returnValue_17
  # DEBUG BEGIN_STMT
  if (returnValue_17 == 0B)
    goto <bb 8>; [30.00%]
  else
    goto <bb 9>; [70.00%]

  <bb 8> [local count: 83686288]:
  # DEBUG returnValue => NULL
  # DEBUG BEGIN_STMT
  # DEBUG returnValue => &fircConfiguration
  # DEBUG BEGIN_STMT
  fircConfiguration.name = 5;
  # DEBUG BEGIN_STMT
  _6 ={v} MEM[(struct SCG_Type *)1074151424B].FIRCCSR;
  _7 = (short unsigned int) _6;
  _8 = _7 & 1;
  fircConfiguration.enable = _8;
  # DEBUG BEGIN_STMT
  _9 ={v} MEM[(struct SCG_Type *)1074151424B].FIRCCFG;
  _10 = (unsigned char) _9;
  _11 = _10 & 3;
  fircConfiguration.range = _11;
  # DEBUG BEGIN_STMT
  _12 ={v} MEM[(struct SCG_Type *)1074151424B].FIRCCSR;
  _21 = (int) _12;
  _24 = _21 >> 3;
  _13 = _24 & 31;
  _14 = (unsigned char) _13;
  _15 = _14 & 1;
  fircConfiguration.regulator = _15;

  <bb 9> [local count: 164090760]:
  # returnValue_18 = PHI <returnValue_17(7), &fircConfiguration(8)>
  # DEBUG returnValue => returnValue_18
  # DEBUG BEGIN_STMT
  return returnValue_18;

}


SpecificPlatformInitClock (const struct Clock_Ip_ClockConfigType * config)
{
  uint32 IrcoscStatus;
  uint32 TimeoutTicks;
  uint32 ElapsedTime;
  uint32 StartTime;
  boolean TimeoutOccurred;
  long unsigned int _1;
  long unsigned int _2;
  long unsigned int _3;
  long unsigned int _4;
  long unsigned int TimeoutTicks.4_5;

  <bb 2> [local count: 348071309]:
  # DEBUG BEGIN_STMT
  # DEBUG TimeoutOccurred => 0
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  config_clock = config_10(D);
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  _1 ={v} MEM[(struct SCG_Type *)1074151424B].FIRCCSR;
  _2 = _1 & 1;
  if (_2 == 0)
    goto <bb 3>; [33.00%]
  else
    goto <bb 8>; [67.00%]

  <bb 3> [local count: 114863532]:
  # DEBUG BEGIN_STMT
  fircWasEnabledBeforeMcuInit = 0;
  # DEBUG BEGIN_STMT
  SetFircToResetValue_TrustedCall ();
  # DEBUG BEGIN_STMT
  ClockStartTimeout (&StartTime, &ElapsedTime, &TimeoutTicks, 50000);

  <bb 4> [local count: 1073741824]:
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  _3 ={v} MEM[(struct SCG_Type *)1074151424B].FIRCCSR;
  _4 = _3 >> 24;
  IrcoscStatus_16 = _4 & 1;
  # DEBUG IrcoscStatus => IrcoscStatus_16
  # DEBUG BEGIN_STMT
  TimeoutTicks.4_5 = TimeoutTicks;
  TimeoutOccurred_18 = ClockTimeoutExpired (&StartTime, &ElapsedTime, TimeoutTicks.4_5);
  # DEBUG TimeoutOccurred => TimeoutOccurred_18
  # DEBUG BEGIN_STMT
  if (IrcoscStatus_16 == 0)
    goto <bb 5>; [94.50%]
  else
    goto <bb 6>; [5.50%]

  <bb 5> [local count: 1014686025]:
  if (TimeoutOccurred_18 != 0)
    goto <bb 6>; [5.50%]
  else
    goto <bb 10>; [94.50%]

  <bb 10> [local count: 958878292]:
  goto <bb 4>; [100.00%]

  <bb 6> [local count: 114863532]:
  # TimeoutOccurred_8 = PHI <TimeoutOccurred_18(4), TimeoutOccurred_18(5)>
  # DEBUG BEGIN_STMT
  if (TimeoutOccurred_8 != 0)
    goto <bb 7>; [33.00%]
  else
    goto <bb 9>; [67.00%]

  <bb 7> [local count: 37904965]:
  # DEBUG BEGIN_STMT
  ReportClockErrors (1, 5);
  goto <bb 9>; [100.00%]

  <bb 8> [local count: 233207777]:
  # DEBUG BEGIN_STMT
  fircWasEnabledBeforeMcuInit = 1;

  <bb 9> [local count: 348071309]:
  # DEBUG BEGIN_STMT
  SetSimLpoclksRegister_TrustedCall (config_10(D));
  StartTime ={v} {CLOBBER};
  ElapsedTime ={v} {CLOBBER};
  TimeoutTicks ={v} {CLOBBER};
  return;

}


SetSimLpoclksRegister_TrustedCall (const struct Clock_Ip_ClockConfigType * config)
{
  uint32 i;
  uint32 SimLpoValue;
  <unnamed type> _1;
  <unnamed type> _2;
  unsigned char _3;
  long unsigned int _4;
  long unsigned int _5;
  <unnamed type> _7;
  unsigned char _8;
  long unsigned int _9;
  long unsigned int _10;
  unsigned char _11;
  long unsigned int _12;
  <unnamed type> _13;
  short unsigned int _14;
  long unsigned int _15;
  long unsigned int _16;
  short unsigned int _17;
  long unsigned int _18;
  unsigned char _19;
  long unsigned int _20;

  <bb 2> [local count: 118111600]:
  # DEBUG BEGIN_STMT
  # DEBUG SimLpoValue => 3
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  # DEBUG i => 0
  goto <bb 8>; [100.00%]

  <bb 3> [local count: 955630220]:
  # DEBUG BEGIN_STMT
  _1 = config_30(D)->selectors[i_27].name;
  if (_1 == 40)
    goto <bb 4>; [34.00%]
  else
    goto <bb 5>; [66.00%]

  <bb 4> [local count: 324914275]:
  # DEBUG BEGIN_STMT
  _2 = config_30(D)->selectors[i_27].value;
  _3 = selectorEntry_hardwareValue[_2];
  _4 = (long unsigned int) _3;
  _5 = _4 << 4;
  SimLpoValue_35 = _5 | SimLpoValue_23;
  # DEBUG SimLpoValue => SimLpoValue_35

  <bb 5> [local count: 955630222]:
  # SimLpoValue_21 = PHI <SimLpoValue_23(3), SimLpoValue_35(4)>
  # DEBUG SimLpoValue => SimLpoValue_21
  # DEBUG BEGIN_STMT
  if (_1 == 41)
    goto <bb 6>; [34.00%]
  else
    goto <bb 7>; [66.00%]

  <bb 6> [local count: 324914275]:
  # DEBUG BEGIN_STMT
  _7 = config_30(D)->selectors[i_27].value;
  _8 = selectorEntryPCS_hardwareValue[_7];
  _9 = (long unsigned int) _8;
  _10 = _9 << 2;
  SimLpoValue_36 = _10 | SimLpoValue_21;
  # DEBUG SimLpoValue => SimLpoValue_36

  <bb 7> [local count: 955630222]:
  # SimLpoValue_22 = PHI <SimLpoValue_21(5), SimLpoValue_36(6)>
  # DEBUG SimLpoValue => SimLpoValue_22
  # DEBUG BEGIN_STMT
  i_37 = i_27 + 1;
  # DEBUG i => i_37

  <bb 8> [local count: 1073741821]:
  # SimLpoValue_23 = PHI <3(2), SimLpoValue_22(7)>
  # i_27 = PHI <0(2), i_37(7)>
  # DEBUG i => i_27
  # DEBUG SimLpoValue => SimLpoValue_23
  # DEBUG BEGIN_STMT
  _11 = config_30(D)->selectorsCount;
  _12 = (long unsigned int) _11;
  if (_12 > i_27)
    goto <bb 3>; [89.00%]
  else
    goto <bb 17>; [11.00%]

  <bb 17> [local count: 118111600]:
  goto <bb 15>; [100.00%]

  <bb 10> [local count: 955630224]:
  # DEBUG BEGIN_STMT
  _13 = config_30(D)->gates[i_28].name;
  if (_13 == 18)
    goto <bb 11>; [34.00%]
  else
    goto <bb 12>; [66.00%]

  <bb 11> [local count: 324914276]:
  # DEBUG BEGIN_STMT
  _14 = config_30(D)->gates[i_28].enable;
  _15 = (long unsigned int) _14;
  _16 = _15 << 1;
  SimLpoValue_32 = _16 | SimLpoValue_26;
  # DEBUG SimLpoValue => SimLpoValue_32

  <bb 12> [local count: 955630224]:
  # SimLpoValue_24 = PHI <SimLpoValue_26(10), SimLpoValue_32(11)>
  # DEBUG SimLpoValue => SimLpoValue_24
  # DEBUG BEGIN_STMT
  if (_13 == 19)
    goto <bb 13>; [34.00%]
  else
    goto <bb 14>; [66.00%]

  <bb 13> [local count: 324914276]:
  # DEBUG BEGIN_STMT
  _17 = config_30(D)->gates[i_28].enable;
  _18 = (long unsigned int) _17;
  SimLpoValue_33 = _18 | SimLpoValue_24;
  # DEBUG SimLpoValue => SimLpoValue_33

  <bb 14> [local count: 955630224]:
  # SimLpoValue_25 = PHI <SimLpoValue_24(12), SimLpoValue_33(13)>
  # DEBUG SimLpoValue => SimLpoValue_25
  # DEBUG BEGIN_STMT
  i_34 = i_28 + 1;
  # DEBUG i => i_34

  <bb 15> [local count: 1073741824]:
  # SimLpoValue_26 = PHI <SimLpoValue_25(14), SimLpoValue_23(17)>
  # i_28 = PHI <i_34(14), 0(17)>
  # DEBUG i => i_28
  # DEBUG SimLpoValue => SimLpoValue_26
  # DEBUG BEGIN_STMT
  _19 = config_30(D)->gatesCount;
  _20 = (long unsigned int) _19;
  if (_20 > i_28)
    goto <bb 10>; [89.00%]
  else
    goto <bb 16>; [11.00%]

  <bb 16> [local count: 118111601]:
  # SimLpoValue_6 = PHI <SimLpoValue_26(15)>
  # DEBUG BEGIN_STMT
  MEM[(struct SIM_Type *)1074036736B].LPOCLKS ={v} SimLpoValue_6;
  return;

}


SetFircToResetValue_TrustedCall ()
{
  long unsigned int _1;
  long unsigned int _2;

  <bb 2> [local count: 1073741824]:
  # DEBUG BEGIN_STMT
  MEM[(struct SCG_Type *)1074151424B].FIRCCFG ={v} 0;
  # DEBUG BEGIN_STMT
  _1 ={v} MEM[(struct SCG_Type *)1074151424B].FIRCCSR;
  _2 = _1 | 1;
  MEM[(struct SCG_Type *)1074151424B].FIRCCSR ={v} _2;
  return;

}


DisableSafeClock (const struct Clock_Ip_ClockConfigType * config)
{
  uint32 i;
  <unnamed type> _1;
  short unsigned int _2;
  unsigned char _3;
  int _4;
  void (*<T558>) (Clock_Ip_NameType) _5;
  const struct Clock_Ip_ClockConfigType * config_clock.2_6;
  unsigned char _7;
  long unsigned int _8;
  _Bool fircWasEnabledBeforeMcuInit.3_9;
  unsigned char _10;
  int _11;
  void (*<T558>) (Clock_Ip_NameType) _12;
  const struct Clock_Ip_ClockConfigType * config_clock.2_15;

  <bb 2> [local count: 164090760]:
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  # DEBUG fircConfigFound => 0
  # DEBUG BEGIN_STMT
  if (config_16(D) != 0B)
    goto <bb 11>; [70.00%]
  else
    goto <bb 8>; [30.00%]

  <bb 11> [local count: 114863532]:
  goto <bb 7>; [100.00%]

  <bb 3> [local count: 1014686024]:
  # DEBUG BEGIN_STMT
  _1 = config_clock.2_6->ircoscs[i_13].name;
  if (_1 == 5)
    goto <bb 4>; [5.50%]
  else
    goto <bb 6>; [94.50%]

  <bb 4> [local count: 55807731]:
  # config_clock.2_15 = PHI <config_clock.2_6(3)>
  # i_19 = PHI <i_13(3)>
  # DEBUG BEGIN_STMT
  # DEBUG fircConfigFound => 1
  # DEBUG BEGIN_STMT
  _2 = config_clock.2_15->ircoscs[i_19].enable;
  if (_2 == 0)
    goto <bb 5>; [50.00%]
  else
    goto <bb 10>; [50.00%]

  <bb 5> [local count: 27903866]:
  # DEBUG BEGIN_STMT
  _3 = ircoscCallbackIndex[4];
  _4 = (int) _3;
  _5 = intOscCallbacks[_4].Disable;
  _5 (5);
  # DEBUG fircConfigFound => 1
  # DEBUG BEGIN_STMT
  goto <bb 10>; [100.00%]

  <bb 6> [local count: 958878294]:
  # DEBUG BEGIN_STMT
  i_18 = i_13 + 1;
  # DEBUG i => i_18

  <bb 7> [local count: 1073741824]:
  # i_13 = PHI <i_18(6), 0(11)>
  # DEBUG i => i_13
  # DEBUG BEGIN_STMT
  config_clock.2_6 = config_clock;
  _7 = config_clock.2_6->ircoscsCount;
  _8 = (long unsigned int) _7;
  if (_8 > i_13)
    goto <bb 3>; [94.50%]
  else
    goto <bb 8>; [5.50%]

  <bb 8> [local count: 108283028]:
  # DEBUG fircConfigFound => NULL
  fircWasEnabledBeforeMcuInit.3_9 = fircWasEnabledBeforeMcuInit;
  if (fircWasEnabledBeforeMcuInit.3_9 != 0)
    goto <bb 10>; [50.00%]
  else
    goto <bb 9>; [50.00%]

  <bb 9> [local count: 54141514]:
  # DEBUG BEGIN_STMT
  _10 = ircoscCallbackIndex[4];
  _11 = (int) _10;
  _12 = intOscCallbacks[_11].Disable;
  _12 (5);

  <bb 10> [local count: 164090760]:
  # DEBUG fircConfigFound => NULL
  return;

}


SpecificPeripheralClockInitialization (const struct Clock_IP_SpecificPeriphConfigType * config)
{
  <bb 2> [local count: 1073741824]:
  # DEBUG BEGIN_STMT
  return;

}


