Power_Ip_InstallNotificationsCallback (void (*Power_Ip_ReportErrorsCallbackType) (Power_Ip_PowerReportErrorType, uint8) reportErrorsCallback)
{
  <bb 2> [local count: 1073741824]:
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  powerReportErrorsCallback = reportErrorsCallback_2(D);
  return;

}


Power_Ip_EnableSleepOnExit ()
{
  <bb 2> [local count: 1073741824]:
  # DEBUG BEGIN_STMT
  Power_Ip_CM4_EnableSleepOnExit ();
  return;

}


Power_Ip_DisableSleepOnExit ()
{
  <bb 2> [local count: 1073741824]:
  # DEBUG BEGIN_STMT
  Power_Ip_CM4_DisableSleepOnExit ();
  return;

}


Power_Ip_InitPower (const struct Power_Ip_HwIPsConfigType * Power_Ip_pHwIPsConfigPtr)
{
  const struct Power_Ip_PMC_ConfigType * _1;
  const struct Power_Ip_SMC_ConfigType * _2;

  <bb 2> [local count: 1073741824]:
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  _1 = Power_Ip_pHwIPsConfigPtr_4(D)->PMC_pConfig;
  Power_Ip_PMC_PowerInit (_1);
  # DEBUG BEGIN_STMT
  _2 = Power_Ip_pHwIPsConfigPtr_4(D)->SMC_pConfig;
  Power_Ip_SMC_AllowedModesConfig (_2);
  return;

}


Power_Ip_InitReset (const struct Power_Ip_HwIPsConfigType * Power_Ip_pHwIPsConfigPtr)
{
  const struct Power_Ip_RCM_ConfigType * _1;

  <bb 2> [local count: 1073741824]:
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  _1 = Power_Ip_pHwIPsConfigPtr_3(D)->RCM_pConfig;
  Power_Ip_RCM_ResetInit (_1);
  return;

}


Power_Ip_GetResetRawValue ()
{
  Power_Ip_RawResetType ResetReason;

  <bb 2> [local count: 1073741824]:
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  ResetReason_3 = Power_Ip_RCM_GetResetRawValue ();
  # DEBUG ResetReason => ResetReason_3
  # DEBUG BEGIN_STMT
  return ResetReason_3;

}


Power_Ip_GetResetReason ()
{
  Power_Ip_ResetType eResetReason;
  static const Power_Ip_ResetType resetReasonArray[15] = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14};
  uint32 resetVal;
  <unnamed type> _4;

  <bb 2> [local count: 1073741824]:
  # DEBUG BEGIN_STMT
  # DEBUG eResetReason => 14
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  resetVal_3 = Power_Ip_RCM_GetResetReason ();
  # DEBUG resetVal => resetVal_3
  # DEBUG BEGIN_STMT
  # DEBUG resetReasonIndex => resetVal_3
  # DEBUG INLINE_ENTRY Power_Ip_ConvertIntergeToResetType
  # DEBUG BEGIN_STMT
  # DEBUG eResetReason => 12
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  _4 = resetReasonArray[resetVal_3];
  if (_4 <= 14)
    goto <bb 3>; [65.00%]
  else
    goto <bb 4>; [35.00%]

  <bb 3> [local count: 697932186]:
  # DEBUG BEGIN_STMT
  # DEBUG eResetReason => _4

  <bb 4> [local count: 1073741824]:
  # eResetReason_5 = PHI <12(2), _4(3)>
  # DEBUG eResetReason => eResetReason_5
  # DEBUG BEGIN_STMT
  # DEBUG resetReasonIndex => NULL
  # DEBUG eResetReason => NULL
  # DEBUG eResetReason => eResetReason_5
  # DEBUG BEGIN_STMT
  return eResetReason_5;

}


Power_Ip_PerformReset (const struct Power_Ip_HwIPsConfigType * Power_Ip_pHwIPsConfigPtr)
{
  <bb 2> [local count: 1073741824]:
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  Power_Ip_CM4_SystemReset ();
  # DEBUG BEGIN_STMT
  return;

}


Power_Ip_SetMode (const struct Power_Ip_ModeConfigType * Power_Ip_pModeConfigPtr)
{
  Power_Ip_PowerModeType ePowerMode;
  uint32 ePowerSwitchMode;
  <unnamed type> _1;
  unsigned int _2;

  <bb 2> [local count: 1073741824]:
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  ePowerMode_7 = Power_Ip_pModeConfigPtr_6(D)->Power_Ip_ePowerMode;
  # DEBUG ePowerMode => ePowerMode_7
  # DEBUG BEGIN_STMT
  _1 = Power_Ip_SMC_ModeCheckEntry (ePowerMode_7);
  if (_1 != 0)
    goto <bb 7>; [50.00%]
  else
    goto <bb 4>; [50.00%]

  <bb 4> [local count: 536870913]:
  # DEBUG BEGIN_STMT
  Power_Ip_PrepareLowPowerMode (ePowerMode_7);
  # DEBUG BEGIN_STMT
  ePowerSwitchMode_11 = Power_Ip_SMC_ModeConfig (Power_Ip_pModeConfigPtr_6(D));
  # DEBUG ePowerSwitchMode => ePowerSwitchMode_11
  # DEBUG BEGIN_STMT
  _2 = ePowerMode_7 + 4294967293;
  if (_2 <= 2)
    goto <bb 5>; [33.00%]
  else
    goto <bb 6>; [67.00%]

  <bb 5> [local count: 177167401]:
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  Power_Ip_CM4_DisableDeepSleep ();

  <bb 6> [local count: 536870913]:
  # DEBUG ePowerSwitchMode => ePowerSwitchMode_11
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  if (ePowerSwitchMode_11 == 1)
    goto <bb 7>; [34.00%]
  else
    goto <bb 8>; [66.00%]

  <bb 7> [local count: 719407023]:
  # DEBUG ePowerSwitchMode => NULL
  # DEBUG BEGIN_STMT
  ReportPowerErrors (3, 255);

  <bb 8> [local count: 1073741824]:
  # DEBUG BEGIN_STMT
  return;

}


Power_Ip_PrepareLowPowerMode (Power_Ip_PowerModeType ePowerMode)
{
  unsigned int _1;
  unsigned int _2;

  <bb 2> [local count: 1073741824]:
  # DEBUG BEGIN_STMT
  _1 = ePowerMode_5(D) + 4294967294;
  if (_1 <= 1)
    goto <bb 3>; [25.50%]
  else
    goto <bb 5>; [74.50%]

  <bb 3> [local count: 273804165]:
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  Power_Ip_SCG_DisableClockMonitors ();
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  Power_Ip_DisableFircClock ();
  # DEBUG BEGIN_STMT
  Power_Ip_DisableSoscClock ();
  # DEBUG BEGIN_STMT
  if (ePowerMode_5(D) == 3)
    goto <bb 4>; [20.24%]
  else
    goto <bb 5>; [79.76%]

  <bb 4> [local count: 55417963]:
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  Power_Ip_CM4_EnableDeepSleep ();

  <bb 5> [local count: 1073741824]:
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  _2 = ePowerMode_5(D) + 4294967292;
  if (_2 <= 1)
    goto <bb 6>; [25.50%]
  else
    goto <bb 7>; [74.50%]

  <bb 6> [local count: 273804165]:
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  Power_Ip_CM4_EnableDeepSleep ();

  <bb 7> [local count: 1073741824]:
  # DEBUG BEGIN_STMT
  return;

}


Power_Ip_DisableSoscClock ()
{
  uint32 u32SystemResetIsrConfig;

  <bb 2> [local count: 1073741824]:
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  Power_Ip_SCG_DropSysClkToSircInRunMode ();
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  u32SystemResetIsrConfig_4 = Power_Ip_RCM_GetCurrentSystemResetIsrSettings ();
  # DEBUG u32SystemResetIsrConfig => u32SystemResetIsrConfig_4
  # DEBUG BEGIN_STMT
  Power_Ip_RCM_SystemResetIsrConfig ();
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  Power_Ip_SCG_DisableSoscClock ();
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  Power_Ip_RCM_RestoreSystemResetIsrConfig (u32SystemResetIsrConfig_4);
  return;

}


Power_Ip_DisableFircClock ()
{
  uint32 u32SystemResetIsrConfig;

  <bb 2> [local count: 1073741824]:
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  Power_Ip_SCG_DropSysClkToSircInRunMode ();
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  u32SystemResetIsrConfig_4 = Power_Ip_RCM_GetCurrentSystemResetIsrSettings ();
  # DEBUG u32SystemResetIsrConfig => u32SystemResetIsrConfig_4
  # DEBUG BEGIN_STMT
  Power_Ip_RCM_SystemResetIsrConfig ();
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  Power_Ip_SCG_DisableFircClock ();
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  Power_Ip_RCM_RestoreSystemResetIsrConfig (u32SystemResetIsrConfig_4);
  return;

}


