/*
 * File: BCMR_DChrgTiRem.c
 *
 * Code generated for Simulink model 'BCMR_DChrgTiRem'.
 *
 * Model version                  : 1.645
 * Simulink Coder version         : 8.11 (R2016b) 25-Aug-2016
 * C/C++ source code generated on : Sun Feb 28 20:48:46 2021
 *
 * Target selection: ert.tlc
 * Embedded hardware selection: Infineon->TriCore
 * Code generation objectives:
 *    1. MISRA C:2012 guidelines
 *    2. Execution efficiency
 * Validation result: Not run
 */

#include "BCMR_DChrgTiRem.h"
#include "BCMR_DChrgTiRem_private.h"

/* Named constants for Chart: '<S14>/ParaStep' */
#define BCMR_DChrgTiRem_IN_Init        ((uint8_T)1U)
#define BCMR_DChrgTiRem_IN_ParaStep1   ((uint8_T)2U)
#define BCMR_DChrgTiRem_IN_ParaStep10  ((uint8_T)3U)
#define BCMR_DChrgTiRem_IN_ParaStep11  ((uint8_T)4U)
#define BCMR_DChrgTiRem_IN_ParaStep12  ((uint8_T)5U)
#define BCMR_DChrgTiRem_IN_ParaStep13  ((uint8_T)6U)
#define BCMR_DChrgTiRem_IN_ParaStep14  ((uint8_T)7U)
#define BCMR_DChrgTiRem_IN_ParaStep15  ((uint8_T)8U)
#define BCMR_DChrgTiRem_IN_ParaStep16  ((uint8_T)9U)
#define BCMR_DChrgTiRem_IN_ParaStep2   ((uint8_T)10U)
#define BCMR_DChrgTiRem_IN_ParaStep3   ((uint8_T)11U)
#define BCMR_DChrgTiRem_IN_ParaStep4   ((uint8_T)12U)
#define BCMR_DChrgTiRem_IN_ParaStep5   ((uint8_T)13U)
#define BCMR_DChrgTiRem_IN_ParaStep6   ((uint8_T)14U)
#define BCMR_DChrgTiRem_IN_ParaStep7   ((uint8_T)15U)
#define BCMR_DChrgTiRem_IN_ParaStep8   ((uint8_T)16U)
#define BCMR_DChrgTiRem_IN_ParaStep9   ((uint8_T)17U)
#define BCMR_DChrgTi_IN_NO_ACTIVE_CHILD ((uint8_T)0U)

/* Named constants for Chart: '<S15>/ParaStep2' */
#define BCMR_DChrgTiRem_IN_Init_l      ((uint8_T)1U)
#define BCMR_DChrgTiRem_IN_ParaStep10_g ((uint8_T)3U)
#define BCMR_DChrgTiRem_IN_ParaStep11_h ((uint8_T)4U)
#define BCMR_DChrgTiRem_IN_ParaStep12_d ((uint8_T)5U)
#define BCMR_DChrgTiRem_IN_ParaStep13_b ((uint8_T)6U)
#define BCMR_DChrgTiRem_IN_ParaStep14_d ((uint8_T)7U)
#define BCMR_DChrgTiRem_IN_ParaStep15_a ((uint8_T)8U)
#define BCMR_DChrgTiRem_IN_ParaStep16_p ((uint8_T)9U)
#define BCMR_DChrgTiRem_IN_ParaStep1_f ((uint8_T)2U)
#define BCMR_DChrgTiRem_IN_ParaStep2_k ((uint8_T)10U)
#define BCMR_DChrgTiRem_IN_ParaStep3_e ((uint8_T)11U)
#define BCMR_DChrgTiRem_IN_ParaStep4_k ((uint8_T)12U)
#define BCMR_DChrgTiRem_IN_ParaStep5_f ((uint8_T)13U)
#define BCMR_DChrgTiRem_IN_ParaStep6_o ((uint8_T)14U)
#define BCMR_DChrgTiRem_IN_ParaStep7_a ((uint8_T)15U)
#define BCMR_DChrgTiRem_IN_ParaStep8_b ((uint8_T)16U)
#define BCMR_DChrgTiRem_IN_ParaStep9_l ((uint8_T)17U)
#define BCMR_DChrg_IN_NO_ACTIVE_CHILD_l ((uint8_T)0U)

/* Named constants for Chart: '<S13>/TiRvsCalc' */
#define BCMR_DChrgTiRem_IN_CurHold     ((uint8_T)1U)
#define BCMR_DChrgTiRem_IN_CurOpt      ((uint8_T)2U)
#define BCMR_DChrgTiRem_IN_DChrg       ((uint8_T)3U)
#define BCMR_DChrgTiRem_IN_Default     ((uint8_T)4U)
#define BCMR_DChrgTiRem_IN_Init_l1     ((uint8_T)5U)
#define BCMR_DChrgTiRem_IN_TimeAdd     ((uint8_T)6U)
#define BCMR_DChrgTiRem_IN_TimeLinear  ((uint8_T)1U)
#define BCMR_DChrgTiRem_IN_end         ((uint8_T)7U)
#define BCMR_DChrgTiRem_IN_endA        ((uint8_T)2U)
#define BCMR_DChrgTiRem_IN_endB        ((uint8_T)3U)
#define BCMR_DChrgTiRem_IN_endC        ((uint8_T)4U)
#define BCMR_DChrg_IN_NO_ACTIVE_CHILD_j ((uint8_T)0U)

/* Exported data definition */
#define ASW1_OEM_START_SEC_DEFAULT_RAM1_CLEARED_UNSPECIFIED
#include "Asw1_OEM_MemMap.h"

/* Definition for custom storage class: OutputSignal */
volatile uint8_T BCMR_RemTimeState;
volatile uint16_T BCMR_cntCountNum;
volatile uint16_T BCMR_cntCounterNum;
volatile real32_T BCMR_iCurDChrgOldVal;
volatile uint8_T BCMR_rColNum;
volatile uint8_T BCMR_rRowNum;
volatile real32_T BCMR_rSocStepDiff;
volatile real32_T BCMR_rSocStepLong;
volatile real32_T BCMR_tiDChrgRemRvs;
volatile real32_T BCMR_tiDChrgRemTbl;
volatile real32_T BCMR_tiDChrgTiRemCalc;
volatile real32_T BCMR_tiRemDChrgTime;
volatile real32_T BCMR_tiUnitTimeSub;
volatile real32_T BCMR_tiUnitTimeTot;

#define ASW1_OEM_STOP_SEC_DEFAULT_RAM1_CLEARED_UNSPECIFIED
#include "Asw1_OEM_MemMap.h"

/* Block signals (auto storage) */
B_BCMR_DChrgTiRem_T BCMR_DChrgTiRem_B;

/* Block states (auto storage) */
DW_BCMR_DChrgTiRem_T BCMR_DChrgTiRem_DW;

/* Forward declaration for local functions */
static void BCMR_DChrgTiRem_ParaStep9(real32_T rtu_BattTemp, const real32_T
  rtu_BCMR_BattPara_A[16], const uint8_T rtu_BCMR_ParaStep_A[16], real32_T
  rtu_BCMR_HysRng_C, B_ParaStep_BCMR_DChrgTiRem_T *localB,
  DW_ParaStep_BCMR_DChrgTiRem_T *localDW);
static void BCMR_DChrgTiRem_Init(real32_T rtu_BattTemp, const real32_T
  rtu_BCMR_BattPara_A[16], const uint8_T rtu_BCMR_ParaStep_A[16],
  B_ParaStep_BCMR_DChrgTiRem_T *localB, DW_ParaStep_BCMR_DChrgTiRem_T *localDW);
static void BCMR_DChrgTiRem_ParaStep10(real32_T rtu_BattTemp, const real32_T
  rtu_BCMR_BattPara_A[16], const uint8_T rtu_BCMR_ParaStep_A[16], real32_T
  rtu_BCMR_HysRng_C, B_ParaStep_BCMR_DChrgTiRem_T *localB,
  DW_ParaStep_BCMR_DChrgTiRem_T *localDW);
static void BCMR_DChrgTiRem_ParaStep11(real32_T rtu_BattTemp, const real32_T
  rtu_BCMR_BattPara_A[16], const uint8_T rtu_BCMR_ParaStep_A[16], real32_T
  rtu_BCMR_HysRng_C, B_ParaStep_BCMR_DChrgTiRem_T *localB,
  DW_ParaStep_BCMR_DChrgTiRem_T *localDW);
static void BCMR_DChrgTiRem_ParaStep12(real32_T rtu_BattTemp, const real32_T
  rtu_BCMR_BattPara_A[16], const uint8_T rtu_BCMR_ParaStep_A[16], real32_T
  rtu_BCMR_HysRng_C, B_ParaStep_BCMR_DChrgTiRem_T *localB,
  DW_ParaStep_BCMR_DChrgTiRem_T *localDW);
static void BCMR_DChrgTiRem_ParaStep13(real32_T rtu_BattTemp, const real32_T
  rtu_BCMR_BattPara_A[16], const uint8_T rtu_BCMR_ParaStep_A[16], real32_T
  rtu_BCMR_HysRng_C, B_ParaStep_BCMR_DChrgTiRem_T *localB,
  DW_ParaStep_BCMR_DChrgTiRem_T *localDW);
static void BCMR_DChrgTiRem_ParaStep14(real32_T rtu_BattTemp, const real32_T
  rtu_BCMR_BattPara_A[16], const uint8_T rtu_BCMR_ParaStep_A[16], real32_T
  rtu_BCMR_HysRng_C, B_ParaStep_BCMR_DChrgTiRem_T *localB,
  DW_ParaStep_BCMR_DChrgTiRem_T *localDW);
static void BCMR_DChrgTiRem_ParaStep15(real32_T rtu_BattTemp, const real32_T
  rtu_BCMR_BattPara_A[16], const uint8_T rtu_BCMR_ParaStep_A[16], real32_T
  rtu_BCMR_HysRng_C, B_ParaStep_BCMR_DChrgTiRem_T *localB,
  DW_ParaStep_BCMR_DChrgTiRem_T *localDW);
static void BCMR_DChrgTiRem_ParaStep16(real32_T rtu_BattTemp, const real32_T
  rtu_BCMR_BattPara_A[16], const uint8_T rtu_BCMR_ParaStep_A[16], real32_T
  rtu_BCMR_HysRng_C, B_ParaStep_BCMR_DChrgTiRem_T *localB,
  DW_ParaStep_BCMR_DChrgTiRem_T *localDW);
static void enter_internal_c3_BCMR_DChrgTiR(real32_T rtu_BattTemp, const
  real32_T rtu_BCMR_BattPara_A[16], const uint8_T rtu_BCMR_ParaStep_A[16],
  real32_T rtu_BCMR_HysRng_C, B_ParaStep_BCMR_DChrgTiRem_T *localB,
  DW_ParaStep_BCMR_DChrgTiRem_T *localDW);

/* Forward declaration for local functions */
static void BCMR_DChrgTiRem_ParaStep9_p(real32_T rtu_BattTemp, const real32_T
  rtu_BCMR_BattPara_A[16], const uint8_T rtu_BCMR_ParaStep_A[16], real32_T
  rtu_BCMR_HysRng_C, B_ParaStep2_BCMR_DChrgTiRem_T *localB,
  DW_ParaStep2_BCMR_DChrgTiRem_T *localDW);
static void BCMR_DChrgTiRem_Init_m(real32_T rtu_BattTemp, const real32_T
  rtu_BCMR_BattPara_A[16], const uint8_T rtu_BCMR_ParaStep_A[16],
  B_ParaStep2_BCMR_DChrgTiRem_T *localB, DW_ParaStep2_BCMR_DChrgTiRem_T *localDW);
static void BCMR_DChrgTiRem_ParaStep10_k(real32_T rtu_BattTemp, const real32_T
  rtu_BCMR_BattPara_A[16], const uint8_T rtu_BCMR_ParaStep_A[16], real32_T
  rtu_BCMR_HysRng_C, B_ParaStep2_BCMR_DChrgTiRem_T *localB,
  DW_ParaStep2_BCMR_DChrgTiRem_T *localDW);
static void BCMR_DChrgTiRem_ParaStep11_n(real32_T rtu_BattTemp, const real32_T
  rtu_BCMR_BattPara_A[16], const uint8_T rtu_BCMR_ParaStep_A[16], real32_T
  rtu_BCMR_HysRng_C, B_ParaStep2_BCMR_DChrgTiRem_T *localB,
  DW_ParaStep2_BCMR_DChrgTiRem_T *localDW);
static void BCMR_DChrgTiRem_ParaStep12_l(real32_T rtu_BattTemp, const real32_T
  rtu_BCMR_BattPara_A[16], const uint8_T rtu_BCMR_ParaStep_A[16], real32_T
  rtu_BCMR_HysRng_C, B_ParaStep2_BCMR_DChrgTiRem_T *localB,
  DW_ParaStep2_BCMR_DChrgTiRem_T *localDW);
static void BCMR_DChrgTiRem_ParaStep13_b(real32_T rtu_BattTemp, const real32_T
  rtu_BCMR_BattPara_A[16], const uint8_T rtu_BCMR_ParaStep_A[16], real32_T
  rtu_BCMR_HysRng_C, B_ParaStep2_BCMR_DChrgTiRem_T *localB,
  DW_ParaStep2_BCMR_DChrgTiRem_T *localDW);
static void BCMR_DChrgTiRem_ParaStep14_j(real32_T rtu_BattTemp, const real32_T
  rtu_BCMR_BattPara_A[16], const uint8_T rtu_BCMR_ParaStep_A[16], real32_T
  rtu_BCMR_HysRng_C, B_ParaStep2_BCMR_DChrgTiRem_T *localB,
  DW_ParaStep2_BCMR_DChrgTiRem_T *localDW);
static void BCMR_DChrgTiRem_ParaStep15_k(real32_T rtu_BattTemp, const real32_T
  rtu_BCMR_BattPara_A[16], const uint8_T rtu_BCMR_ParaStep_A[16], real32_T
  rtu_BCMR_HysRng_C, B_ParaStep2_BCMR_DChrgTiRem_T *localB,
  DW_ParaStep2_BCMR_DChrgTiRem_T *localDW);
static void BCMR_DChrgTiRem_ParaStep16_a(real32_T rtu_BattTemp, const real32_T
  rtu_BCMR_BattPara_A[16], const uint8_T rtu_BCMR_ParaStep_A[16], real32_T
  rtu_BCMR_HysRng_C, B_ParaStep2_BCMR_DChrgTiRem_T *localB,
  DW_ParaStep2_BCMR_DChrgTiRem_T *localDW);

/* Function for Chart: '<S14>/ParaStep' */
static void BCMR_DChrgTiRem_ParaStep9(real32_T rtu_BattTemp, const real32_T
  rtu_BCMR_BattPara_A[16], const uint8_T rtu_BCMR_ParaStep_A[16], real32_T
  rtu_BCMR_HysRng_C, B_ParaStep_BCMR_DChrgTiRem_T *localB,
  DW_ParaStep_BCMR_DChrgTiRem_T *localDW)
{
  boolean_T guard1 = false;
  boolean_T guard2 = false;
  boolean_T guard3 = false;
  boolean_T guard4 = false;
  boolean_T guard5 = false;
  boolean_T guard6 = false;
  boolean_T guard7 = false;
  boolean_T guard8 = false;
  boolean_T guard9 = false;
  boolean_T guard10 = false;
  boolean_T guard11 = false;
  boolean_T guard12 = false;
  boolean_T guard13 = false;
  boolean_T guard14 = false;
  boolean_T guard15 = false;
  boolean_T guard16 = false;
  if (rtu_BattTemp >= rtu_BCMR_BattPara_A[8]) {
    localDW->is_c3_BCMR_DChrgTiRem = BCMR_DChrgTiRem_IN_ParaStep10;
    localB->ParaStep = rtu_BCMR_ParaStep_A[8];
  } else {
    if (rtu_BattTemp < rtu_BCMR_BattPara_A[7] - rtu_BCMR_HysRng_C) {
      if (rtu_BattTemp < rtu_BCMR_BattPara_A[6] - rtu_BCMR_HysRng_C) {
        guard1 = false;
        guard2 = false;
        guard3 = false;
        guard4 = false;
        guard5 = false;
        guard6 = false;
        guard7 = false;
        guard8 = false;
        guard9 = false;
        guard10 = false;
        guard11 = false;
        guard12 = false;
        guard13 = false;
        guard14 = false;
        guard15 = false;
        guard16 = false;
        if (rtu_BattTemp < rtu_BCMR_BattPara_A[5] - rtu_BCMR_HysRng_C) {
          if (rtu_BattTemp < rtu_BCMR_BattPara_A[4] - rtu_BCMR_HysRng_C) {
            if (rtu_BattTemp < rtu_BCMR_BattPara_A[3] - rtu_BCMR_HysRng_C) {
              if (rtu_BattTemp < rtu_BCMR_BattPara_A[2] - rtu_BCMR_HysRng_C) {
                if (rtu_BattTemp < rtu_BCMR_BattPara_A[1] - rtu_BCMR_HysRng_C) {
                  if (rtu_BattTemp < rtu_BCMR_BattPara_A[0]) {
                    guard1 = true;
                  } else {
                    guard8 = true;
                  }
                } else {
                  guard11 = true;
                }
              } else {
                guard13 = true;
              }
            } else {
              guard15 = true;
            }
          } else {
            guard16 = true;
          }
        } else if (rtu_BattTemp < rtu_BCMR_BattPara_A[5] - rtu_BCMR_HysRng_C) {
          guard16 = true;
        } else {
          localDW->is_c3_BCMR_DChrgTiRem = BCMR_DChrgTiRem_IN_ParaStep7;
          localB->ParaStep = rtu_BCMR_ParaStep_A[5];
        }

        if (guard16) {
          if (rtu_BattTemp < rtu_BCMR_BattPara_A[4] - rtu_BCMR_HysRng_C) {
            guard15 = true;
          } else if (rtu_BattTemp < rtu_BCMR_BattPara_A[4] - rtu_BCMR_HysRng_C)
          {
            guard14 = true;
          } else {
            localDW->is_c3_BCMR_DChrgTiRem = BCMR_DChrgTiRem_IN_ParaStep6;
            localB->ParaStep = rtu_BCMR_ParaStep_A[4];
          }
        }

        if (guard15) {
          if (rtu_BattTemp < rtu_BCMR_BattPara_A[3] - rtu_BCMR_HysRng_C) {
            guard13 = true;
          } else {
            guard14 = true;
          }
        }

        if (guard14) {
          if (rtu_BattTemp < rtu_BCMR_BattPara_A[3] - rtu_BCMR_HysRng_C) {
            guard12 = true;
          } else if (rtu_BattTemp < rtu_BCMR_BattPara_A[3] - rtu_BCMR_HysRng_C)
          {
            guard10 = true;
          } else {
            localDW->is_c3_BCMR_DChrgTiRem = BCMR_DChrgTiRem_IN_ParaStep5;
            localB->ParaStep = rtu_BCMR_ParaStep_A[3];
          }
        }

        if (guard13) {
          if (rtu_BattTemp < rtu_BCMR_BattPara_A[2] - rtu_BCMR_HysRng_C) {
            guard11 = true;
          } else {
            guard12 = true;
          }
        }

        if (guard12) {
          if (rtu_BattTemp < rtu_BCMR_BattPara_A[2] - rtu_BCMR_HysRng_C) {
            guard9 = true;
          } else {
            guard10 = true;
          }
        }

        if (guard11) {
          if (rtu_BattTemp < rtu_BCMR_BattPara_A[1] - rtu_BCMR_HysRng_C) {
            guard8 = true;
          } else {
            guard9 = true;
          }
        }

        if (guard10) {
          if (rtu_BattTemp < rtu_BCMR_BattPara_A[2] - rtu_BCMR_HysRng_C) {
            guard7 = true;
          } else if (rtu_BattTemp < rtu_BCMR_BattPara_A[2] - rtu_BCMR_HysRng_C)
          {
            guard5 = true;
          } else {
            localDW->is_c3_BCMR_DChrgTiRem = BCMR_DChrgTiRem_IN_ParaStep4;
            localB->ParaStep = rtu_BCMR_ParaStep_A[2];
          }
        }

        if (guard9) {
          if (rtu_BattTemp < rtu_BCMR_BattPara_A[1] - rtu_BCMR_HysRng_C) {
            guard6 = true;
          } else {
            guard7 = true;
          }
        }

        if (guard8) {
          if (rtu_BattTemp < rtu_BCMR_BattPara_A[0]) {
            guard1 = true;
          } else {
            guard6 = true;
          }
        }

        if (guard7) {
          if (rtu_BattTemp < rtu_BCMR_BattPara_A[1] - rtu_BCMR_HysRng_C) {
            guard4 = true;
          } else {
            guard5 = true;
          }
        }

        if (guard6) {
          if (rtu_BattTemp < rtu_BCMR_BattPara_A[0]) {
            guard1 = true;
          } else {
            guard4 = true;
          }
        }

        if (guard5) {
          if (rtu_BattTemp < rtu_BCMR_BattPara_A[1] - rtu_BCMR_HysRng_C) {
            guard3 = true;
          } else if (rtu_BattTemp < rtu_BCMR_BattPara_A[1] - rtu_BCMR_HysRng_C)
          {
            guard2 = true;
          } else {
            localDW->is_c3_BCMR_DChrgTiRem = BCMR_DChrgTiRem_IN_ParaStep3;
            localB->ParaStep = rtu_BCMR_ParaStep_A[1];
          }
        }

        if (guard4) {
          if (rtu_BattTemp < rtu_BCMR_BattPara_A[0]) {
            guard1 = true;
          } else {
            guard3 = true;
          }
        }

        if (guard3) {
          if (rtu_BattTemp < rtu_BCMR_BattPara_A[0]) {
            guard1 = true;
          } else {
            guard2 = true;
          }
        }

        if (guard2) {
          if (rtu_BattTemp < rtu_BCMR_BattPara_A[0]) {
            guard1 = true;
          } else {
            localDW->is_c3_BCMR_DChrgTiRem = BCMR_DChrgTiRem_IN_ParaStep2;
            localB->ParaStep = rtu_BCMR_ParaStep_A[0];
          }
        }

        if (guard1) {
          localDW->is_c3_BCMR_DChrgTiRem = BCMR_DChrgTiRem_IN_ParaStep1;
          localB->ParaStep = rtu_BCMR_ParaStep_A[0];
        }
      } else {
        localDW->is_c3_BCMR_DChrgTiRem = BCMR_DChrgTiRem_IN_ParaStep8;
        localB->ParaStep = rtu_BCMR_ParaStep_A[6];
      }
    }
  }
}

/* Function for Chart: '<S14>/ParaStep' */
static void BCMR_DChrgTiRem_Init(real32_T rtu_BattTemp, const real32_T
  rtu_BCMR_BattPara_A[16], const uint8_T rtu_BCMR_ParaStep_A[16],
  B_ParaStep_BCMR_DChrgTiRem_T *localB, DW_ParaStep_BCMR_DChrgTiRem_T *localDW)
{
  if (rtu_BattTemp <= rtu_BCMR_BattPara_A[0]) {
    localDW->is_c3_BCMR_DChrgTiRem = BCMR_DChrgTiRem_IN_ParaStep1;
    localB->ParaStep = rtu_BCMR_ParaStep_A[0];
  } else {
    if (rtu_BattTemp >= rtu_BCMR_BattPara_A[0]) {
      if (rtu_BattTemp > rtu_BCMR_BattPara_A[1]) {
        if (rtu_BattTemp > rtu_BCMR_BattPara_A[2]) {
          if (rtu_BattTemp > rtu_BCMR_BattPara_A[3]) {
            if (rtu_BattTemp > rtu_BCMR_BattPara_A[4]) {
              if (rtu_BattTemp > rtu_BCMR_BattPara_A[5]) {
                if (rtu_BattTemp > rtu_BCMR_BattPara_A[6]) {
                  if (rtu_BattTemp > rtu_BCMR_BattPara_A[7]) {
                    if (rtu_BattTemp > rtu_BCMR_BattPara_A[8]) {
                      if (rtu_BattTemp > rtu_BCMR_BattPara_A[9]) {
                        if (rtu_BattTemp > rtu_BCMR_BattPara_A[10]) {
                          if (rtu_BattTemp > rtu_BCMR_BattPara_A[11]) {
                            if (rtu_BattTemp > rtu_BCMR_BattPara_A[12]) {
                              if (rtu_BattTemp >= rtu_BCMR_BattPara_A[13]) {
                                if (rtu_BattTemp >= rtu_BCMR_BattPara_A[14]) {
                                  if (rtu_BattTemp >= rtu_BCMR_BattPara_A[15]) {
                                    localDW->is_c3_BCMR_DChrgTiRem =
                                      BCMR_DChrgTiRem_IN_Init;
                                    localB->ParaStep = 15U;
                                  } else {
                                    localDW->is_c3_BCMR_DChrgTiRem =
                                      BCMR_DChrgTiRem_IN_ParaStep16;
                                    localB->ParaStep = rtu_BCMR_ParaStep_A[14];
                                  }
                                } else {
                                  localDW->is_c3_BCMR_DChrgTiRem =
                                    BCMR_DChrgTiRem_IN_ParaStep15;
                                  localB->ParaStep = rtu_BCMR_ParaStep_A[13];
                                }
                              } else {
                                localDW->is_c3_BCMR_DChrgTiRem =
                                  BCMR_DChrgTiRem_IN_ParaStep14;
                                localB->ParaStep = rtu_BCMR_ParaStep_A[12];
                              }
                            } else {
                              localDW->is_c3_BCMR_DChrgTiRem =
                                BCMR_DChrgTiRem_IN_ParaStep13;
                              localB->ParaStep = rtu_BCMR_ParaStep_A[11];
                            }
                          } else {
                            localDW->is_c3_BCMR_DChrgTiRem =
                              BCMR_DChrgTiRem_IN_ParaStep12;
                            localB->ParaStep = rtu_BCMR_ParaStep_A[10];
                          }
                        } else {
                          localDW->is_c3_BCMR_DChrgTiRem =
                            BCMR_DChrgTiRem_IN_ParaStep11;
                          localB->ParaStep = rtu_BCMR_ParaStep_A[9];
                        }
                      } else {
                        localDW->is_c3_BCMR_DChrgTiRem =
                          BCMR_DChrgTiRem_IN_ParaStep10;
                        localB->ParaStep = rtu_BCMR_ParaStep_A[8];
                      }
                    } else {
                      localDW->is_c3_BCMR_DChrgTiRem =
                        BCMR_DChrgTiRem_IN_ParaStep9;
                      localB->ParaStep = rtu_BCMR_ParaStep_A[7];
                    }
                  } else {
                    localDW->is_c3_BCMR_DChrgTiRem =
                      BCMR_DChrgTiRem_IN_ParaStep8;
                    localB->ParaStep = rtu_BCMR_ParaStep_A[6];
                  }
                } else {
                  localDW->is_c3_BCMR_DChrgTiRem = BCMR_DChrgTiRem_IN_ParaStep7;
                  localB->ParaStep = rtu_BCMR_ParaStep_A[5];
                }
              } else {
                localDW->is_c3_BCMR_DChrgTiRem = BCMR_DChrgTiRem_IN_ParaStep6;
                localB->ParaStep = rtu_BCMR_ParaStep_A[4];
              }
            } else {
              localDW->is_c3_BCMR_DChrgTiRem = BCMR_DChrgTiRem_IN_ParaStep5;
              localB->ParaStep = rtu_BCMR_ParaStep_A[3];
            }
          } else {
            localDW->is_c3_BCMR_DChrgTiRem = BCMR_DChrgTiRem_IN_ParaStep4;
            localB->ParaStep = rtu_BCMR_ParaStep_A[2];
          }
        } else {
          localDW->is_c3_BCMR_DChrgTiRem = BCMR_DChrgTiRem_IN_ParaStep3;
          localB->ParaStep = rtu_BCMR_ParaStep_A[1];
        }
      } else {
        localDW->is_c3_BCMR_DChrgTiRem = BCMR_DChrgTiRem_IN_ParaStep2;
        localB->ParaStep = rtu_BCMR_ParaStep_A[0];
      }
    }
  }
}

/* Function for Chart: '<S14>/ParaStep' */
static void BCMR_DChrgTiRem_ParaStep10(real32_T rtu_BattTemp, const real32_T
  rtu_BCMR_BattPara_A[16], const uint8_T rtu_BCMR_ParaStep_A[16], real32_T
  rtu_BCMR_HysRng_C, B_ParaStep_BCMR_DChrgTiRem_T *localB,
  DW_ParaStep_BCMR_DChrgTiRem_T *localDW)
{
  boolean_T guard1 = false;
  boolean_T guard2 = false;
  boolean_T guard3 = false;
  boolean_T guard4 = false;
  boolean_T guard5 = false;
  boolean_T guard6 = false;
  boolean_T guard7 = false;
  boolean_T guard8 = false;
  boolean_T guard9 = false;
  boolean_T guard10 = false;
  boolean_T guard11 = false;
  boolean_T guard12 = false;
  boolean_T guard13 = false;
  boolean_T guard14 = false;
  boolean_T guard15 = false;
  boolean_T guard16 = false;
  boolean_T guard17 = false;
  boolean_T guard18 = false;
  boolean_T guard19 = false;
  boolean_T guard20 = false;
  boolean_T guard21 = false;
  boolean_T guard22 = false;
  if (rtu_BattTemp >= rtu_BCMR_BattPara_A[9]) {
    localDW->is_c3_BCMR_DChrgTiRem = BCMR_DChrgTiRem_IN_ParaStep11;
    localB->ParaStep = rtu_BCMR_ParaStep_A[9];
  } else {
    if (rtu_BattTemp < rtu_BCMR_BattPara_A[8] - rtu_BCMR_HysRng_C) {
      if (rtu_BattTemp < rtu_BCMR_BattPara_A[7] - rtu_BCMR_HysRng_C) {
        guard1 = false;
        guard2 = false;
        guard3 = false;
        guard4 = false;
        guard5 = false;
        guard6 = false;
        guard7 = false;
        guard8 = false;
        guard9 = false;
        guard10 = false;
        guard11 = false;
        guard12 = false;
        guard13 = false;
        guard14 = false;
        guard15 = false;
        guard16 = false;
        guard17 = false;
        guard18 = false;
        guard19 = false;
        guard20 = false;
        guard21 = false;
        guard22 = false;
        if (rtu_BattTemp < rtu_BCMR_BattPara_A[6] - rtu_BCMR_HysRng_C) {
          if (rtu_BattTemp < rtu_BCMR_BattPara_A[5] - rtu_BCMR_HysRng_C) {
            if (rtu_BattTemp < rtu_BCMR_BattPara_A[4] - rtu_BCMR_HysRng_C) {
              if (rtu_BattTemp < rtu_BCMR_BattPara_A[3] - rtu_BCMR_HysRng_C) {
                if (rtu_BattTemp < rtu_BCMR_BattPara_A[2] - rtu_BCMR_HysRng_C) {
                  if (rtu_BattTemp < rtu_BCMR_BattPara_A[1] - rtu_BCMR_HysRng_C)
                  {
                    if (rtu_BattTemp < rtu_BCMR_BattPara_A[0]) {
                      guard1 = true;
                    } else {
                      guard11 = true;
                    }
                  } else {
                    guard14 = true;
                  }
                } else {
                  guard17 = true;
                }
              } else {
                guard19 = true;
              }
            } else {
              guard21 = true;
            }
          } else {
            guard22 = true;
          }
        } else if (rtu_BattTemp < rtu_BCMR_BattPara_A[6] - rtu_BCMR_HysRng_C) {
          guard22 = true;
        } else {
          localDW->is_c3_BCMR_DChrgTiRem = BCMR_DChrgTiRem_IN_ParaStep8;
          localB->ParaStep = rtu_BCMR_ParaStep_A[6];
        }

        if (guard22) {
          if (rtu_BattTemp < rtu_BCMR_BattPara_A[5] - rtu_BCMR_HysRng_C) {
            guard21 = true;
          } else if (rtu_BattTemp < rtu_BCMR_BattPara_A[5] - rtu_BCMR_HysRng_C)
          {
            guard20 = true;
          } else {
            localDW->is_c3_BCMR_DChrgTiRem = BCMR_DChrgTiRem_IN_ParaStep7;
            localB->ParaStep = rtu_BCMR_ParaStep_A[5];
          }
        }

        if (guard21) {
          if (rtu_BattTemp < rtu_BCMR_BattPara_A[4] - rtu_BCMR_HysRng_C) {
            guard19 = true;
          } else {
            guard20 = true;
          }
        }

        if (guard20) {
          if (rtu_BattTemp < rtu_BCMR_BattPara_A[4] - rtu_BCMR_HysRng_C) {
            guard18 = true;
          } else if (rtu_BattTemp < rtu_BCMR_BattPara_A[4] - rtu_BCMR_HysRng_C)
          {
            guard16 = true;
          } else {
            localDW->is_c3_BCMR_DChrgTiRem = BCMR_DChrgTiRem_IN_ParaStep6;
            localB->ParaStep = rtu_BCMR_ParaStep_A[4];
          }
        }

        if (guard19) {
          if (rtu_BattTemp < rtu_BCMR_BattPara_A[3] - rtu_BCMR_HysRng_C) {
            guard17 = true;
          } else {
            guard18 = true;
          }
        }

        if (guard18) {
          if (rtu_BattTemp < rtu_BCMR_BattPara_A[3] - rtu_BCMR_HysRng_C) {
            guard15 = true;
          } else {
            guard16 = true;
          }
        }

        if (guard17) {
          if (rtu_BattTemp < rtu_BCMR_BattPara_A[2] - rtu_BCMR_HysRng_C) {
            guard14 = true;
          } else {
            guard15 = true;
          }
        }

        if (guard16) {
          if (rtu_BattTemp < rtu_BCMR_BattPara_A[3] - rtu_BCMR_HysRng_C) {
            guard13 = true;
          } else if (rtu_BattTemp < rtu_BCMR_BattPara_A[3] - rtu_BCMR_HysRng_C)
          {
            guard10 = true;
          } else {
            localDW->is_c3_BCMR_DChrgTiRem = BCMR_DChrgTiRem_IN_ParaStep5;
            localB->ParaStep = rtu_BCMR_ParaStep_A[3];
          }
        }

        if (guard15) {
          if (rtu_BattTemp < rtu_BCMR_BattPara_A[2] - rtu_BCMR_HysRng_C) {
            guard12 = true;
          } else {
            guard13 = true;
          }
        }

        if (guard14) {
          if (rtu_BattTemp < rtu_BCMR_BattPara_A[1] - rtu_BCMR_HysRng_C) {
            guard11 = true;
          } else {
            guard12 = true;
          }
        }

        if (guard13) {
          if (rtu_BattTemp < rtu_BCMR_BattPara_A[2] - rtu_BCMR_HysRng_C) {
            guard9 = true;
          } else {
            guard10 = true;
          }
        }

        if (guard12) {
          if (rtu_BattTemp < rtu_BCMR_BattPara_A[1] - rtu_BCMR_HysRng_C) {
            guard8 = true;
          } else {
            guard9 = true;
          }
        }

        if (guard11) {
          if (rtu_BattTemp < rtu_BCMR_BattPara_A[0]) {
            guard1 = true;
          } else {
            guard8 = true;
          }
        }

        if (guard10) {
          if (rtu_BattTemp < rtu_BCMR_BattPara_A[2] - rtu_BCMR_HysRng_C) {
            guard7 = true;
          } else if (rtu_BattTemp < rtu_BCMR_BattPara_A[2] - rtu_BCMR_HysRng_C)
          {
            guard5 = true;
          } else {
            localDW->is_c3_BCMR_DChrgTiRem = BCMR_DChrgTiRem_IN_ParaStep4;
            localB->ParaStep = rtu_BCMR_ParaStep_A[2];
          }
        }

        if (guard9) {
          if (rtu_BattTemp < rtu_BCMR_BattPara_A[1] - rtu_BCMR_HysRng_C) {
            guard6 = true;
          } else {
            guard7 = true;
          }
        }

        if (guard8) {
          if (rtu_BattTemp < rtu_BCMR_BattPara_A[0]) {
            guard1 = true;
          } else {
            guard6 = true;
          }
        }

        if (guard7) {
          if (rtu_BattTemp < rtu_BCMR_BattPara_A[1] - rtu_BCMR_HysRng_C) {
            guard4 = true;
          } else {
            guard5 = true;
          }
        }

        if (guard6) {
          if (rtu_BattTemp < rtu_BCMR_BattPara_A[0]) {
            guard1 = true;
          } else {
            guard4 = true;
          }
        }

        if (guard5) {
          if (rtu_BattTemp < rtu_BCMR_BattPara_A[1] - rtu_BCMR_HysRng_C) {
            guard3 = true;
          } else if (rtu_BattTemp < rtu_BCMR_BattPara_A[1] - rtu_BCMR_HysRng_C)
          {
            guard2 = true;
          } else {
            localDW->is_c3_BCMR_DChrgTiRem = BCMR_DChrgTiRem_IN_ParaStep3;
            localB->ParaStep = rtu_BCMR_ParaStep_A[1];
          }
        }

        if (guard4) {
          if (rtu_BattTemp < rtu_BCMR_BattPara_A[0]) {
            guard1 = true;
          } else {
            guard3 = true;
          }
        }

        if (guard3) {
          if (rtu_BattTemp < rtu_BCMR_BattPara_A[0]) {
            guard1 = true;
          } else {
            guard2 = true;
          }
        }

        if (guard2) {
          if (rtu_BattTemp < rtu_BCMR_BattPara_A[0]) {
            guard1 = true;
          } else {
            localDW->is_c3_BCMR_DChrgTiRem = BCMR_DChrgTiRem_IN_ParaStep2;
            localB->ParaStep = rtu_BCMR_ParaStep_A[0];
          }
        }

        if (guard1) {
          localDW->is_c3_BCMR_DChrgTiRem = BCMR_DChrgTiRem_IN_ParaStep1;
          localB->ParaStep = rtu_BCMR_ParaStep_A[0];
        }
      } else {
        localDW->is_c3_BCMR_DChrgTiRem = BCMR_DChrgTiRem_IN_ParaStep9;
        localB->ParaStep = rtu_BCMR_ParaStep_A[7];
      }
    }
  }
}

/* Function for Chart: '<S14>/ParaStep' */
static void BCMR_DChrgTiRem_ParaStep11(real32_T rtu_BattTemp, const real32_T
  rtu_BCMR_BattPara_A[16], const uint8_T rtu_BCMR_ParaStep_A[16], real32_T
  rtu_BCMR_HysRng_C, B_ParaStep_BCMR_DChrgTiRem_T *localB,
  DW_ParaStep_BCMR_DChrgTiRem_T *localDW)
{
  boolean_T guard1 = false;
  boolean_T guard2 = false;
  boolean_T guard3 = false;
  boolean_T guard4 = false;
  boolean_T guard5 = false;
  boolean_T guard6 = false;
  boolean_T guard7 = false;
  boolean_T guard8 = false;
  boolean_T guard9 = false;
  boolean_T guard10 = false;
  boolean_T guard11 = false;
  boolean_T guard12 = false;
  boolean_T guard13 = false;
  boolean_T guard14 = false;
  boolean_T guard15 = false;
  boolean_T guard16 = false;
  boolean_T guard17 = false;
  boolean_T guard18 = false;
  boolean_T guard19 = false;
  boolean_T guard20 = false;
  boolean_T guard21 = false;
  boolean_T guard22 = false;
  boolean_T guard23 = false;
  boolean_T guard24 = false;
  boolean_T guard25 = false;
  boolean_T guard26 = false;
  boolean_T guard27 = false;
  boolean_T guard28 = false;
  boolean_T guard29 = false;
  if (rtu_BattTemp >= rtu_BCMR_BattPara_A[10]) {
    localDW->is_c3_BCMR_DChrgTiRem = BCMR_DChrgTiRem_IN_ParaStep12;
    localB->ParaStep = rtu_BCMR_ParaStep_A[10];
  } else {
    if (rtu_BattTemp < rtu_BCMR_BattPara_A[9] - rtu_BCMR_HysRng_C) {
      if (rtu_BattTemp < rtu_BCMR_BattPara_A[8] - rtu_BCMR_HysRng_C) {
        guard1 = false;
        guard2 = false;
        guard3 = false;
        guard4 = false;
        guard5 = false;
        guard6 = false;
        guard7 = false;
        guard8 = false;
        guard9 = false;
        guard10 = false;
        guard11 = false;
        guard12 = false;
        guard13 = false;
        guard14 = false;
        guard15 = false;
        guard16 = false;
        guard17 = false;
        guard18 = false;
        guard19 = false;
        guard20 = false;
        guard21 = false;
        guard22 = false;
        guard23 = false;
        guard24 = false;
        guard25 = false;
        guard26 = false;
        guard27 = false;
        guard28 = false;
        guard29 = false;
        if (rtu_BattTemp < rtu_BCMR_BattPara_A[7] - rtu_BCMR_HysRng_C) {
          if (rtu_BattTemp < rtu_BCMR_BattPara_A[6] - rtu_BCMR_HysRng_C) {
            if (rtu_BattTemp < rtu_BCMR_BattPara_A[5] - rtu_BCMR_HysRng_C) {
              if (rtu_BattTemp < rtu_BCMR_BattPara_A[4] - rtu_BCMR_HysRng_C) {
                if (rtu_BattTemp < rtu_BCMR_BattPara_A[3] - rtu_BCMR_HysRng_C) {
                  if (rtu_BattTemp < rtu_BCMR_BattPara_A[2] - rtu_BCMR_HysRng_C)
                  {
                    if (rtu_BattTemp < rtu_BCMR_BattPara_A[1] -
                        rtu_BCMR_HysRng_C) {
                      if (rtu_BattTemp < rtu_BCMR_BattPara_A[0]) {
                        guard1 = true;
                      } else {
                        guard14 = true;
                      }
                    } else {
                      guard18 = true;
                    }
                  } else {
                    guard21 = true;
                  }
                } else {
                  guard24 = true;
                }
              } else {
                guard26 = true;
              }
            } else {
              guard28 = true;
            }
          } else {
            guard29 = true;
          }
        } else if (rtu_BattTemp < rtu_BCMR_BattPara_A[7] - rtu_BCMR_HysRng_C) {
          guard29 = true;
        } else {
          localDW->is_c3_BCMR_DChrgTiRem = BCMR_DChrgTiRem_IN_ParaStep9;
          localB->ParaStep = rtu_BCMR_ParaStep_A[7];
        }

        if (guard29) {
          if (rtu_BattTemp < rtu_BCMR_BattPara_A[6] - rtu_BCMR_HysRng_C) {
            guard28 = true;
          } else if (rtu_BattTemp < rtu_BCMR_BattPara_A[6] - rtu_BCMR_HysRng_C)
          {
            guard27 = true;
          } else {
            localDW->is_c3_BCMR_DChrgTiRem = BCMR_DChrgTiRem_IN_ParaStep8;
            localB->ParaStep = rtu_BCMR_ParaStep_A[6];
          }
        }

        if (guard28) {
          if (rtu_BattTemp < rtu_BCMR_BattPara_A[5] - rtu_BCMR_HysRng_C) {
            guard26 = true;
          } else {
            guard27 = true;
          }
        }

        if (guard27) {
          if (rtu_BattTemp < rtu_BCMR_BattPara_A[5] - rtu_BCMR_HysRng_C) {
            guard25 = true;
          } else if (rtu_BattTemp < rtu_BCMR_BattPara_A[5] - rtu_BCMR_HysRng_C)
          {
            guard23 = true;
          } else {
            localDW->is_c3_BCMR_DChrgTiRem = BCMR_DChrgTiRem_IN_ParaStep7;
            localB->ParaStep = rtu_BCMR_ParaStep_A[5];
          }
        }

        if (guard26) {
          if (rtu_BattTemp < rtu_BCMR_BattPara_A[4] - rtu_BCMR_HysRng_C) {
            guard24 = true;
          } else {
            guard25 = true;
          }
        }

        if (guard25) {
          if (rtu_BattTemp < rtu_BCMR_BattPara_A[4] - rtu_BCMR_HysRng_C) {
            guard22 = true;
          } else {
            guard23 = true;
          }
        }

        if (guard24) {
          if (rtu_BattTemp < rtu_BCMR_BattPara_A[3] - rtu_BCMR_HysRng_C) {
            guard21 = true;
          } else {
            guard22 = true;
          }
        }

        if (guard23) {
          if (rtu_BattTemp < rtu_BCMR_BattPara_A[4] - rtu_BCMR_HysRng_C) {
            guard20 = true;
          } else if (rtu_BattTemp < rtu_BCMR_BattPara_A[4] - rtu_BCMR_HysRng_C)
          {
            guard17 = true;
          } else {
            localDW->is_c3_BCMR_DChrgTiRem = BCMR_DChrgTiRem_IN_ParaStep6;
            localB->ParaStep = rtu_BCMR_ParaStep_A[4];
          }
        }

        if (guard22) {
          if (rtu_BattTemp < rtu_BCMR_BattPara_A[3] - rtu_BCMR_HysRng_C) {
            guard19 = true;
          } else {
            guard20 = true;
          }
        }

        if (guard21) {
          if (rtu_BattTemp < rtu_BCMR_BattPara_A[2] - rtu_BCMR_HysRng_C) {
            guard18 = true;
          } else {
            guard19 = true;
          }
        }

        if (guard20) {
          if (rtu_BattTemp < rtu_BCMR_BattPara_A[3] - rtu_BCMR_HysRng_C) {
            guard16 = true;
          } else {
            guard17 = true;
          }
        }

        if (guard19) {
          if (rtu_BattTemp < rtu_BCMR_BattPara_A[2] - rtu_BCMR_HysRng_C) {
            guard15 = true;
          } else {
            guard16 = true;
          }
        }

        if (guard18) {
          if (rtu_BattTemp < rtu_BCMR_BattPara_A[1] - rtu_BCMR_HysRng_C) {
            guard14 = true;
          } else {
            guard15 = true;
          }
        }

        if (guard17) {
          if (rtu_BattTemp < rtu_BCMR_BattPara_A[3] - rtu_BCMR_HysRng_C) {
            guard13 = true;
          } else if (rtu_BattTemp < rtu_BCMR_BattPara_A[3] - rtu_BCMR_HysRng_C)
          {
            guard10 = true;
          } else {
            localDW->is_c3_BCMR_DChrgTiRem = BCMR_DChrgTiRem_IN_ParaStep5;
            localB->ParaStep = rtu_BCMR_ParaStep_A[3];
          }
        }

        if (guard16) {
          if (rtu_BattTemp < rtu_BCMR_BattPara_A[2] - rtu_BCMR_HysRng_C) {
            guard12 = true;
          } else {
            guard13 = true;
          }
        }

        if (guard15) {
          if (rtu_BattTemp < rtu_BCMR_BattPara_A[1] - rtu_BCMR_HysRng_C) {
            guard11 = true;
          } else {
            guard12 = true;
          }
        }

        if (guard14) {
          if (rtu_BattTemp < rtu_BCMR_BattPara_A[0]) {
            guard1 = true;
          } else {
            guard11 = true;
          }
        }

        if (guard13) {
          if (rtu_BattTemp < rtu_BCMR_BattPara_A[2] - rtu_BCMR_HysRng_C) {
            guard9 = true;
          } else {
            guard10 = true;
          }
        }

        if (guard12) {
          if (rtu_BattTemp < rtu_BCMR_BattPara_A[1] - rtu_BCMR_HysRng_C) {
            guard8 = true;
          } else {
            guard9 = true;
          }
        }

        if (guard11) {
          if (rtu_BattTemp < rtu_BCMR_BattPara_A[0]) {
            guard1 = true;
          } else {
            guard8 = true;
          }
        }

        if (guard10) {
          if (rtu_BattTemp < rtu_BCMR_BattPara_A[2] - rtu_BCMR_HysRng_C) {
            guard7 = true;
          } else if (rtu_BattTemp < rtu_BCMR_BattPara_A[2] - rtu_BCMR_HysRng_C)
          {
            guard5 = true;
          } else {
            localDW->is_c3_BCMR_DChrgTiRem = BCMR_DChrgTiRem_IN_ParaStep4;
            localB->ParaStep = rtu_BCMR_ParaStep_A[2];
          }
        }

        if (guard9) {
          if (rtu_BattTemp < rtu_BCMR_BattPara_A[1] - rtu_BCMR_HysRng_C) {
            guard6 = true;
          } else {
            guard7 = true;
          }
        }

        if (guard8) {
          if (rtu_BattTemp < rtu_BCMR_BattPara_A[0]) {
            guard1 = true;
          } else {
            guard6 = true;
          }
        }

        if (guard7) {
          if (rtu_BattTemp < rtu_BCMR_BattPara_A[1] - rtu_BCMR_HysRng_C) {
            guard4 = true;
          } else {
            guard5 = true;
          }
        }

        if (guard6) {
          if (rtu_BattTemp < rtu_BCMR_BattPara_A[0]) {
            guard1 = true;
          } else {
            guard4 = true;
          }
        }

        if (guard5) {
          if (rtu_BattTemp < rtu_BCMR_BattPara_A[1] - rtu_BCMR_HysRng_C) {
            guard3 = true;
          } else if (rtu_BattTemp < rtu_BCMR_BattPara_A[1] - rtu_BCMR_HysRng_C)
          {
            guard2 = true;
          } else {
            localDW->is_c3_BCMR_DChrgTiRem = BCMR_DChrgTiRem_IN_ParaStep3;
            localB->ParaStep = rtu_BCMR_ParaStep_A[1];
          }
        }

        if (guard4) {
          if (rtu_BattTemp < rtu_BCMR_BattPara_A[0]) {
            guard1 = true;
          } else {
            guard3 = true;
          }
        }

        if (guard3) {
          if (rtu_BattTemp < rtu_BCMR_BattPara_A[0]) {
            guard1 = true;
          } else {
            guard2 = true;
          }
        }

        if (guard2) {
          if (rtu_BattTemp < rtu_BCMR_BattPara_A[0]) {
            guard1 = true;
          } else {
            localDW->is_c3_BCMR_DChrgTiRem = BCMR_DChrgTiRem_IN_ParaStep2;
            localB->ParaStep = rtu_BCMR_ParaStep_A[0];
          }
        }

        if (guard1) {
          localDW->is_c3_BCMR_DChrgTiRem = BCMR_DChrgTiRem_IN_ParaStep1;
          localB->ParaStep = rtu_BCMR_ParaStep_A[0];
        }
      } else {
        localDW->is_c3_BCMR_DChrgTiRem = BCMR_DChrgTiRem_IN_ParaStep10;
        localB->ParaStep = rtu_BCMR_ParaStep_A[8];
      }
    }
  }
}

/* Function for Chart: '<S14>/ParaStep' */
static void BCMR_DChrgTiRem_ParaStep12(real32_T rtu_BattTemp, const real32_T
  rtu_BCMR_BattPara_A[16], const uint8_T rtu_BCMR_ParaStep_A[16], real32_T
  rtu_BCMR_HysRng_C, B_ParaStep_BCMR_DChrgTiRem_T *localB,
  DW_ParaStep_BCMR_DChrgTiRem_T *localDW)
{
  boolean_T guard1 = false;
  boolean_T guard2 = false;
  boolean_T guard3 = false;
  boolean_T guard4 = false;
  boolean_T guard5 = false;
  boolean_T guard6 = false;
  boolean_T guard7 = false;
  boolean_T guard8 = false;
  boolean_T guard9 = false;
  boolean_T guard10 = false;
  boolean_T guard11 = false;
  boolean_T guard12 = false;
  boolean_T guard13 = false;
  boolean_T guard14 = false;
  boolean_T guard15 = false;
  boolean_T guard16 = false;
  boolean_T guard17 = false;
  boolean_T guard18 = false;
  boolean_T guard19 = false;
  boolean_T guard20 = false;
  boolean_T guard21 = false;
  boolean_T guard22 = false;
  boolean_T guard23 = false;
  boolean_T guard24 = false;
  boolean_T guard25 = false;
  boolean_T guard26 = false;
  boolean_T guard27 = false;
  boolean_T guard28 = false;
  boolean_T guard29 = false;
  boolean_T guard30 = false;
  boolean_T guard31 = false;
  boolean_T guard32 = false;
  boolean_T guard33 = false;
  boolean_T guard34 = false;
  boolean_T guard35 = false;
  boolean_T guard36 = false;
  boolean_T guard37 = false;
  if (rtu_BattTemp >= rtu_BCMR_BattPara_A[11]) {
    localDW->is_c3_BCMR_DChrgTiRem = BCMR_DChrgTiRem_IN_ParaStep13;
    localB->ParaStep = rtu_BCMR_ParaStep_A[11];
  } else {
    if (rtu_BattTemp < rtu_BCMR_BattPara_A[10] - rtu_BCMR_HysRng_C) {
      if (rtu_BattTemp < rtu_BCMR_BattPara_A[9] - rtu_BCMR_HysRng_C) {
        guard1 = false;
        guard2 = false;
        guard3 = false;
        guard4 = false;
        guard5 = false;
        guard6 = false;
        guard7 = false;
        guard8 = false;
        guard9 = false;
        guard10 = false;
        guard11 = false;
        guard12 = false;
        guard13 = false;
        guard14 = false;
        guard15 = false;
        guard16 = false;
        guard17 = false;
        guard18 = false;
        guard19 = false;
        guard20 = false;
        guard21 = false;
        guard22 = false;
        guard23 = false;
        guard24 = false;
        guard25 = false;
        guard26 = false;
        guard27 = false;
        guard28 = false;
        guard29 = false;
        guard30 = false;
        guard31 = false;
        guard32 = false;
        guard33 = false;
        guard34 = false;
        guard35 = false;
        guard36 = false;
        guard37 = false;
        if (rtu_BattTemp < rtu_BCMR_BattPara_A[8] - rtu_BCMR_HysRng_C) {
          if (rtu_BattTemp < rtu_BCMR_BattPara_A[7] - rtu_BCMR_HysRng_C) {
            if (rtu_BattTemp < rtu_BCMR_BattPara_A[6] - rtu_BCMR_HysRng_C) {
              if (rtu_BattTemp < rtu_BCMR_BattPara_A[5] - rtu_BCMR_HysRng_C) {
                if (rtu_BattTemp < rtu_BCMR_BattPara_A[4] - rtu_BCMR_HysRng_C) {
                  if (rtu_BattTemp < rtu_BCMR_BattPara_A[3] - rtu_BCMR_HysRng_C)
                  {
                    if (rtu_BattTemp < rtu_BCMR_BattPara_A[2] -
                        rtu_BCMR_HysRng_C) {
                      if (rtu_BattTemp < rtu_BCMR_BattPara_A[1] -
                          rtu_BCMR_HysRng_C) {
                        if (rtu_BattTemp < rtu_BCMR_BattPara_A[0]) {
                          guard1 = true;
                        } else {
                          guard18 = true;
                        }
                      } else {
                        guard22 = true;
                      }
                    } else {
                      guard26 = true;
                    }
                  } else {
                    guard29 = true;
                  }
                } else {
                  guard32 = true;
                }
              } else {
                guard34 = true;
              }
            } else {
              guard36 = true;
            }
          } else {
            guard37 = true;
          }
        } else if (rtu_BattTemp < rtu_BCMR_BattPara_A[8] - rtu_BCMR_HysRng_C) {
          guard37 = true;
        } else {
          localDW->is_c3_BCMR_DChrgTiRem = BCMR_DChrgTiRem_IN_ParaStep10;
          localB->ParaStep = rtu_BCMR_ParaStep_A[8];
        }

        if (guard37) {
          if (rtu_BattTemp < rtu_BCMR_BattPara_A[7] - rtu_BCMR_HysRng_C) {
            guard36 = true;
          } else if (rtu_BattTemp < rtu_BCMR_BattPara_A[7] - rtu_BCMR_HysRng_C)
          {
            guard35 = true;
          } else {
            localDW->is_c3_BCMR_DChrgTiRem = BCMR_DChrgTiRem_IN_ParaStep9;
            localB->ParaStep = rtu_BCMR_ParaStep_A[7];
          }
        }

        if (guard36) {
          if (rtu_BattTemp < rtu_BCMR_BattPara_A[6] - rtu_BCMR_HysRng_C) {
            guard34 = true;
          } else {
            guard35 = true;
          }
        }

        if (guard35) {
          if (rtu_BattTemp < rtu_BCMR_BattPara_A[6] - rtu_BCMR_HysRng_C) {
            guard33 = true;
          } else if (rtu_BattTemp < rtu_BCMR_BattPara_A[6] - rtu_BCMR_HysRng_C)
          {
            guard31 = true;
          } else {
            localDW->is_c3_BCMR_DChrgTiRem = BCMR_DChrgTiRem_IN_ParaStep8;
            localB->ParaStep = rtu_BCMR_ParaStep_A[6];
          }
        }

        if (guard34) {
          if (rtu_BattTemp < rtu_BCMR_BattPara_A[5] - rtu_BCMR_HysRng_C) {
            guard32 = true;
          } else {
            guard33 = true;
          }
        }

        if (guard33) {
          if (rtu_BattTemp < rtu_BCMR_BattPara_A[5] - rtu_BCMR_HysRng_C) {
            guard30 = true;
          } else {
            guard31 = true;
          }
        }

        if (guard32) {
          if (rtu_BattTemp < rtu_BCMR_BattPara_A[4] - rtu_BCMR_HysRng_C) {
            guard29 = true;
          } else {
            guard30 = true;
          }
        }

        if (guard31) {
          if (rtu_BattTemp < rtu_BCMR_BattPara_A[5] - rtu_BCMR_HysRng_C) {
            guard28 = true;
          } else if (rtu_BattTemp < rtu_BCMR_BattPara_A[5] - rtu_BCMR_HysRng_C)
          {
            guard25 = true;
          } else {
            localDW->is_c3_BCMR_DChrgTiRem = BCMR_DChrgTiRem_IN_ParaStep7;
            localB->ParaStep = rtu_BCMR_ParaStep_A[5];
          }
        }

        if (guard30) {
          if (rtu_BattTemp < rtu_BCMR_BattPara_A[4] - rtu_BCMR_HysRng_C) {
            guard27 = true;
          } else {
            guard28 = true;
          }
        }

        if (guard29) {
          if (rtu_BattTemp < rtu_BCMR_BattPara_A[3] - rtu_BCMR_HysRng_C) {
            guard26 = true;
          } else {
            guard27 = true;
          }
        }

        if (guard28) {
          if (rtu_BattTemp < rtu_BCMR_BattPara_A[4] - rtu_BCMR_HysRng_C) {
            guard24 = true;
          } else {
            guard25 = true;
          }
        }

        if (guard27) {
          if (rtu_BattTemp < rtu_BCMR_BattPara_A[3] - rtu_BCMR_HysRng_C) {
            guard23 = true;
          } else {
            guard24 = true;
          }
        }

        if (guard26) {
          if (rtu_BattTemp < rtu_BCMR_BattPara_A[2] - rtu_BCMR_HysRng_C) {
            guard22 = true;
          } else {
            guard23 = true;
          }
        }

        if (guard25) {
          if (rtu_BattTemp < rtu_BCMR_BattPara_A[4] - rtu_BCMR_HysRng_C) {
            guard21 = true;
          } else if (rtu_BattTemp < rtu_BCMR_BattPara_A[4] - rtu_BCMR_HysRng_C)
          {
            guard17 = true;
          } else {
            localDW->is_c3_BCMR_DChrgTiRem = BCMR_DChrgTiRem_IN_ParaStep6;
            localB->ParaStep = rtu_BCMR_ParaStep_A[4];
          }
        }

        if (guard24) {
          if (rtu_BattTemp < rtu_BCMR_BattPara_A[3] - rtu_BCMR_HysRng_C) {
            guard20 = true;
          } else {
            guard21 = true;
          }
        }

        if (guard23) {
          if (rtu_BattTemp < rtu_BCMR_BattPara_A[2] - rtu_BCMR_HysRng_C) {
            guard19 = true;
          } else {
            guard20 = true;
          }
        }

        if (guard22) {
          if (rtu_BattTemp < rtu_BCMR_BattPara_A[1] - rtu_BCMR_HysRng_C) {
            guard18 = true;
          } else {
            guard19 = true;
          }
        }

        if (guard21) {
          if (rtu_BattTemp < rtu_BCMR_BattPara_A[3] - rtu_BCMR_HysRng_C) {
            guard16 = true;
          } else {
            guard17 = true;
          }
        }

        if (guard20) {
          if (rtu_BattTemp < rtu_BCMR_BattPara_A[2] - rtu_BCMR_HysRng_C) {
            guard15 = true;
          } else {
            guard16 = true;
          }
        }

        if (guard19) {
          if (rtu_BattTemp < rtu_BCMR_BattPara_A[1] - rtu_BCMR_HysRng_C) {
            guard14 = true;
          } else {
            guard15 = true;
          }
        }

        if (guard18) {
          if (rtu_BattTemp < rtu_BCMR_BattPara_A[0]) {
            guard1 = true;
          } else {
            guard14 = true;
          }
        }

        if (guard17) {
          if (rtu_BattTemp < rtu_BCMR_BattPara_A[3] - rtu_BCMR_HysRng_C) {
            guard13 = true;
          } else if (rtu_BattTemp < rtu_BCMR_BattPara_A[3] - rtu_BCMR_HysRng_C)
          {
            guard10 = true;
          } else {
            localDW->is_c3_BCMR_DChrgTiRem = BCMR_DChrgTiRem_IN_ParaStep5;
            localB->ParaStep = rtu_BCMR_ParaStep_A[3];
          }
        }

        if (guard16) {
          if (rtu_BattTemp < rtu_BCMR_BattPara_A[2] - rtu_BCMR_HysRng_C) {
            guard12 = true;
          } else {
            guard13 = true;
          }
        }

        if (guard15) {
          if (rtu_BattTemp < rtu_BCMR_BattPara_A[1] - rtu_BCMR_HysRng_C) {
            guard11 = true;
          } else {
            guard12 = true;
          }
        }

        if (guard14) {
          if (rtu_BattTemp < rtu_BCMR_BattPara_A[0]) {
            guard1 = true;
          } else {
            guard11 = true;
          }
        }

        if (guard13) {
          if (rtu_BattTemp < rtu_BCMR_BattPara_A[2] - rtu_BCMR_HysRng_C) {
            guard9 = true;
          } else {
            guard10 = true;
          }
        }

        if (guard12) {
          if (rtu_BattTemp < rtu_BCMR_BattPara_A[1] - rtu_BCMR_HysRng_C) {
            guard8 = true;
          } else {
            guard9 = true;
          }
        }

        if (guard11) {
          if (rtu_BattTemp < rtu_BCMR_BattPara_A[0]) {
            guard1 = true;
          } else {
            guard8 = true;
          }
        }

        if (guard10) {
          if (rtu_BattTemp < rtu_BCMR_BattPara_A[2] - rtu_BCMR_HysRng_C) {
            guard7 = true;
          } else if (rtu_BattTemp < rtu_BCMR_BattPara_A[2] - rtu_BCMR_HysRng_C)
          {
            guard5 = true;
          } else {
            localDW->is_c3_BCMR_DChrgTiRem = BCMR_DChrgTiRem_IN_ParaStep4;
            localB->ParaStep = rtu_BCMR_ParaStep_A[2];
          }
        }

        if (guard9) {
          if (rtu_BattTemp < rtu_BCMR_BattPara_A[1] - rtu_BCMR_HysRng_C) {
            guard6 = true;
          } else {
            guard7 = true;
          }
        }

        if (guard8) {
          if (rtu_BattTemp < rtu_BCMR_BattPara_A[0]) {
            guard1 = true;
          } else {
            guard6 = true;
          }
        }

        if (guard7) {
          if (rtu_BattTemp < rtu_BCMR_BattPara_A[1] - rtu_BCMR_HysRng_C) {
            guard4 = true;
          } else {
            guard5 = true;
          }
        }

        if (guard6) {
          if (rtu_BattTemp < rtu_BCMR_BattPara_A[0]) {
            guard1 = true;
          } else {
            guard4 = true;
          }
        }

        if (guard5) {
          if (rtu_BattTemp < rtu_BCMR_BattPara_A[1] - rtu_BCMR_HysRng_C) {
            guard3 = true;
          } else if (rtu_BattTemp < rtu_BCMR_BattPara_A[1] - rtu_BCMR_HysRng_C)
          {
            guard2 = true;
          } else {
            localDW->is_c3_BCMR_DChrgTiRem = BCMR_DChrgTiRem_IN_ParaStep3;
            localB->ParaStep = rtu_BCMR_ParaStep_A[1];
          }
        }

        if (guard4) {
          if (rtu_BattTemp < rtu_BCMR_BattPara_A[0]) {
            guard1 = true;
          } else {
            guard3 = true;
          }
        }

        if (guard3) {
          if (rtu_BattTemp < rtu_BCMR_BattPara_A[0]) {
            guard1 = true;
          } else {
            guard2 = true;
          }
        }

        if (guard2) {
          if (rtu_BattTemp < rtu_BCMR_BattPara_A[0]) {
            guard1 = true;
          } else {
            localDW->is_c3_BCMR_DChrgTiRem = BCMR_DChrgTiRem_IN_ParaStep2;
            localB->ParaStep = rtu_BCMR_ParaStep_A[0];
          }
        }

        if (guard1) {
          localDW->is_c3_BCMR_DChrgTiRem = BCMR_DChrgTiRem_IN_ParaStep1;
          localB->ParaStep = rtu_BCMR_ParaStep_A[0];
        }
      } else {
        localDW->is_c3_BCMR_DChrgTiRem = BCMR_DChrgTiRem_IN_ParaStep11;
        localB->ParaStep = rtu_BCMR_ParaStep_A[9];
      }
    }
  }
}

/* Function for Chart: '<S14>/ParaStep' */
static void BCMR_DChrgTiRem_ParaStep13(real32_T rtu_BattTemp, const real32_T
  rtu_BCMR_BattPara_A[16], const uint8_T rtu_BCMR_ParaStep_A[16], real32_T
  rtu_BCMR_HysRng_C, B_ParaStep_BCMR_DChrgTiRem_T *localB,
  DW_ParaStep_BCMR_DChrgTiRem_T *localDW)
{
  boolean_T guard1 = false;
  boolean_T guard2 = false;
  boolean_T guard3 = false;
  boolean_T guard4 = false;
  boolean_T guard5 = false;
  boolean_T guard6 = false;
  boolean_T guard7 = false;
  boolean_T guard8 = false;
  boolean_T guard9 = false;
  boolean_T guard10 = false;
  boolean_T guard11 = false;
  boolean_T guard12 = false;
  boolean_T guard13 = false;
  boolean_T guard14 = false;
  boolean_T guard15 = false;
  boolean_T guard16 = false;
  boolean_T guard17 = false;
  boolean_T guard18 = false;
  boolean_T guard19 = false;
  boolean_T guard20 = false;
  boolean_T guard21 = false;
  boolean_T guard22 = false;
  boolean_T guard23 = false;
  boolean_T guard24 = false;
  boolean_T guard25 = false;
  boolean_T guard26 = false;
  boolean_T guard27 = false;
  boolean_T guard28 = false;
  boolean_T guard29 = false;
  boolean_T guard30 = false;
  boolean_T guard31 = false;
  boolean_T guard32 = false;
  boolean_T guard33 = false;
  boolean_T guard34 = false;
  boolean_T guard35 = false;
  boolean_T guard36 = false;
  boolean_T guard37 = false;
  boolean_T guard38 = false;
  boolean_T guard39 = false;
  boolean_T guard40 = false;
  boolean_T guard41 = false;
  boolean_T guard42 = false;
  boolean_T guard43 = false;
  boolean_T guard44 = false;
  boolean_T guard45 = false;
  boolean_T guard46 = false;
  if (rtu_BattTemp < rtu_BCMR_BattPara_A[11] - rtu_BCMR_HysRng_C) {
    if (rtu_BattTemp < rtu_BCMR_BattPara_A[10] - rtu_BCMR_HysRng_C) {
      guard1 = false;
      guard2 = false;
      guard3 = false;
      guard4 = false;
      guard5 = false;
      guard6 = false;
      guard7 = false;
      guard8 = false;
      guard9 = false;
      guard10 = false;
      guard11 = false;
      guard12 = false;
      guard13 = false;
      guard14 = false;
      guard15 = false;
      guard16 = false;
      guard17 = false;
      guard18 = false;
      guard19 = false;
      guard20 = false;
      guard21 = false;
      guard22 = false;
      guard23 = false;
      guard24 = false;
      guard25 = false;
      guard26 = false;
      guard27 = false;
      guard28 = false;
      guard29 = false;
      guard30 = false;
      guard31 = false;
      guard32 = false;
      guard33 = false;
      guard34 = false;
      guard35 = false;
      guard36 = false;
      guard37 = false;
      guard38 = false;
      guard39 = false;
      guard40 = false;
      guard41 = false;
      guard42 = false;
      guard43 = false;
      guard44 = false;
      guard45 = false;
      guard46 = false;
      if (rtu_BattTemp < rtu_BCMR_BattPara_A[9] - rtu_BCMR_HysRng_C) {
        if (rtu_BattTemp < rtu_BCMR_BattPara_A[8] - rtu_BCMR_HysRng_C) {
          if (rtu_BattTemp < rtu_BCMR_BattPara_A[7] - rtu_BCMR_HysRng_C) {
            if (rtu_BattTemp < rtu_BCMR_BattPara_A[6] - rtu_BCMR_HysRng_C) {
              if (rtu_BattTemp < rtu_BCMR_BattPara_A[5] - rtu_BCMR_HysRng_C) {
                if (rtu_BattTemp < rtu_BCMR_BattPara_A[4] - rtu_BCMR_HysRng_C) {
                  if (rtu_BattTemp < rtu_BCMR_BattPara_A[3] - rtu_BCMR_HysRng_C)
                  {
                    if (rtu_BattTemp < rtu_BCMR_BattPara_A[2] -
                        rtu_BCMR_HysRng_C) {
                      if (rtu_BattTemp < rtu_BCMR_BattPara_A[1] -
                          rtu_BCMR_HysRng_C) {
                        if (rtu_BattTemp < rtu_BCMR_BattPara_A[0]) {
                          guard1 = true;
                        } else {
                          guard22 = true;
                        }
                      } else {
                        guard27 = true;
                      }
                    } else {
                      guard31 = true;
                    }
                  } else {
                    guard35 = true;
                  }
                } else {
                  guard38 = true;
                }
              } else {
                guard41 = true;
              }
            } else {
              guard43 = true;
            }
          } else {
            guard45 = true;
          }
        } else {
          guard46 = true;
        }
      } else if (rtu_BattTemp < rtu_BCMR_BattPara_A[9] - rtu_BCMR_HysRng_C) {
        guard46 = true;
      } else {
        localDW->is_c3_BCMR_DChrgTiRem = BCMR_DChrgTiRem_IN_ParaStep11;
        localB->ParaStep = rtu_BCMR_ParaStep_A[9];
      }

      if (guard46) {
        if (rtu_BattTemp < rtu_BCMR_BattPara_A[8] - rtu_BCMR_HysRng_C) {
          guard45 = true;
        } else if (rtu_BattTemp < rtu_BCMR_BattPara_A[8] - rtu_BCMR_HysRng_C) {
          guard44 = true;
        } else {
          localDW->is_c3_BCMR_DChrgTiRem = BCMR_DChrgTiRem_IN_ParaStep10;
          localB->ParaStep = rtu_BCMR_ParaStep_A[8];
        }
      }

      if (guard45) {
        if (rtu_BattTemp < rtu_BCMR_BattPara_A[7] - rtu_BCMR_HysRng_C) {
          guard43 = true;
        } else {
          guard44 = true;
        }
      }

      if (guard44) {
        if (rtu_BattTemp < rtu_BCMR_BattPara_A[7] - rtu_BCMR_HysRng_C) {
          guard42 = true;
        } else if (rtu_BattTemp < rtu_BCMR_BattPara_A[7] - rtu_BCMR_HysRng_C) {
          guard40 = true;
        } else {
          localDW->is_c3_BCMR_DChrgTiRem = BCMR_DChrgTiRem_IN_ParaStep9;
          localB->ParaStep = rtu_BCMR_ParaStep_A[7];
        }
      }

      if (guard43) {
        if (rtu_BattTemp < rtu_BCMR_BattPara_A[6] - rtu_BCMR_HysRng_C) {
          guard41 = true;
        } else {
          guard42 = true;
        }
      }

      if (guard42) {
        if (rtu_BattTemp < rtu_BCMR_BattPara_A[6] - rtu_BCMR_HysRng_C) {
          guard39 = true;
        } else {
          guard40 = true;
        }
      }

      if (guard41) {
        if (rtu_BattTemp < rtu_BCMR_BattPara_A[5] - rtu_BCMR_HysRng_C) {
          guard38 = true;
        } else {
          guard39 = true;
        }
      }

      if (guard40) {
        if (rtu_BattTemp < rtu_BCMR_BattPara_A[6] - rtu_BCMR_HysRng_C) {
          guard37 = true;
        } else if (rtu_BattTemp < rtu_BCMR_BattPara_A[6] - rtu_BCMR_HysRng_C) {
          guard34 = true;
        } else {
          localDW->is_c3_BCMR_DChrgTiRem = BCMR_DChrgTiRem_IN_ParaStep8;
          localB->ParaStep = rtu_BCMR_ParaStep_A[6];
        }
      }

      if (guard39) {
        if (rtu_BattTemp < rtu_BCMR_BattPara_A[5] - rtu_BCMR_HysRng_C) {
          guard36 = true;
        } else {
          guard37 = true;
        }
      }

      if (guard38) {
        if (rtu_BattTemp < rtu_BCMR_BattPara_A[4] - rtu_BCMR_HysRng_C) {
          guard35 = true;
        } else {
          guard36 = true;
        }
      }

      if (guard37) {
        if (rtu_BattTemp < rtu_BCMR_BattPara_A[5] - rtu_BCMR_HysRng_C) {
          guard33 = true;
        } else {
          guard34 = true;
        }
      }

      if (guard36) {
        if (rtu_BattTemp < rtu_BCMR_BattPara_A[4] - rtu_BCMR_HysRng_C) {
          guard32 = true;
        } else {
          guard33 = true;
        }
      }

      if (guard35) {
        if (rtu_BattTemp < rtu_BCMR_BattPara_A[3] - rtu_BCMR_HysRng_C) {
          guard31 = true;
        } else {
          guard32 = true;
        }
      }

      if (guard34) {
        if (rtu_BattTemp < rtu_BCMR_BattPara_A[5] - rtu_BCMR_HysRng_C) {
          guard30 = true;
        } else if (rtu_BattTemp < rtu_BCMR_BattPara_A[5] - rtu_BCMR_HysRng_C) {
          guard26 = true;
        } else {
          localDW->is_c3_BCMR_DChrgTiRem = BCMR_DChrgTiRem_IN_ParaStep7;
          localB->ParaStep = rtu_BCMR_ParaStep_A[5];
        }
      }

      if (guard33) {
        if (rtu_BattTemp < rtu_BCMR_BattPara_A[4] - rtu_BCMR_HysRng_C) {
          guard29 = true;
        } else {
          guard30 = true;
        }
      }

      if (guard32) {
        if (rtu_BattTemp < rtu_BCMR_BattPara_A[3] - rtu_BCMR_HysRng_C) {
          guard28 = true;
        } else {
          guard29 = true;
        }
      }

      if (guard31) {
        if (rtu_BattTemp < rtu_BCMR_BattPara_A[2] - rtu_BCMR_HysRng_C) {
          guard27 = true;
        } else {
          guard28 = true;
        }
      }

      if (guard30) {
        if (rtu_BattTemp < rtu_BCMR_BattPara_A[4] - rtu_BCMR_HysRng_C) {
          guard25 = true;
        } else {
          guard26 = true;
        }
      }

      if (guard29) {
        if (rtu_BattTemp < rtu_BCMR_BattPara_A[3] - rtu_BCMR_HysRng_C) {
          guard24 = true;
        } else {
          guard25 = true;
        }
      }

      if (guard28) {
        if (rtu_BattTemp < rtu_BCMR_BattPara_A[2] - rtu_BCMR_HysRng_C) {
          guard23 = true;
        } else {
          guard24 = true;
        }
      }

      if (guard27) {
        if (rtu_BattTemp < rtu_BCMR_BattPara_A[1] - rtu_BCMR_HysRng_C) {
          guard22 = true;
        } else {
          guard23 = true;
        }
      }

      if (guard26) {
        if (rtu_BattTemp < rtu_BCMR_BattPara_A[4] - rtu_BCMR_HysRng_C) {
          guard21 = true;
        } else if (rtu_BattTemp < rtu_BCMR_BattPara_A[4] - rtu_BCMR_HysRng_C) {
          guard17 = true;
        } else {
          localDW->is_c3_BCMR_DChrgTiRem = BCMR_DChrgTiRem_IN_ParaStep6;
          localB->ParaStep = rtu_BCMR_ParaStep_A[4];
        }
      }

      if (guard25) {
        if (rtu_BattTemp < rtu_BCMR_BattPara_A[3] - rtu_BCMR_HysRng_C) {
          guard20 = true;
        } else {
          guard21 = true;
        }
      }

      if (guard24) {
        if (rtu_BattTemp < rtu_BCMR_BattPara_A[2] - rtu_BCMR_HysRng_C) {
          guard19 = true;
        } else {
          guard20 = true;
        }
      }

      if (guard23) {
        if (rtu_BattTemp < rtu_BCMR_BattPara_A[1] - rtu_BCMR_HysRng_C) {
          guard18 = true;
        } else {
          guard19 = true;
        }
      }

      if (guard22) {
        if (rtu_BattTemp < rtu_BCMR_BattPara_A[0]) {
          guard1 = true;
        } else {
          guard18 = true;
        }
      }

      if (guard21) {
        if (rtu_BattTemp < rtu_BCMR_BattPara_A[3] - rtu_BCMR_HysRng_C) {
          guard16 = true;
        } else {
          guard17 = true;
        }
      }

      if (guard20) {
        if (rtu_BattTemp < rtu_BCMR_BattPara_A[2] - rtu_BCMR_HysRng_C) {
          guard15 = true;
        } else {
          guard16 = true;
        }
      }

      if (guard19) {
        if (rtu_BattTemp < rtu_BCMR_BattPara_A[1] - rtu_BCMR_HysRng_C) {
          guard14 = true;
        } else {
          guard15 = true;
        }
      }

      if (guard18) {
        if (rtu_BattTemp < rtu_BCMR_BattPara_A[0]) {
          guard1 = true;
        } else {
          guard14 = true;
        }
      }

      if (guard17) {
        if (rtu_BattTemp < rtu_BCMR_BattPara_A[3] - rtu_BCMR_HysRng_C) {
          guard13 = true;
        } else if (rtu_BattTemp < rtu_BCMR_BattPara_A[3] - rtu_BCMR_HysRng_C) {
          guard10 = true;
        } else {
          localDW->is_c3_BCMR_DChrgTiRem = BCMR_DChrgTiRem_IN_ParaStep5;
          localB->ParaStep = rtu_BCMR_ParaStep_A[3];
        }
      }

      if (guard16) {
        if (rtu_BattTemp < rtu_BCMR_BattPara_A[2] - rtu_BCMR_HysRng_C) {
          guard12 = true;
        } else {
          guard13 = true;
        }
      }

      if (guard15) {
        if (rtu_BattTemp < rtu_BCMR_BattPara_A[1] - rtu_BCMR_HysRng_C) {
          guard11 = true;
        } else {
          guard12 = true;
        }
      }

      if (guard14) {
        if (rtu_BattTemp < rtu_BCMR_BattPara_A[0]) {
          guard1 = true;
        } else {
          guard11 = true;
        }
      }

      if (guard13) {
        if (rtu_BattTemp < rtu_BCMR_BattPara_A[2] - rtu_BCMR_HysRng_C) {
          guard9 = true;
        } else {
          guard10 = true;
        }
      }

      if (guard12) {
        if (rtu_BattTemp < rtu_BCMR_BattPara_A[1] - rtu_BCMR_HysRng_C) {
          guard8 = true;
        } else {
          guard9 = true;
        }
      }

      if (guard11) {
        if (rtu_BattTemp < rtu_BCMR_BattPara_A[0]) {
          guard1 = true;
        } else {
          guard8 = true;
        }
      }

      if (guard10) {
        if (rtu_BattTemp < rtu_BCMR_BattPara_A[2] - rtu_BCMR_HysRng_C) {
          guard7 = true;
        } else if (rtu_BattTemp < rtu_BCMR_BattPara_A[2] - rtu_BCMR_HysRng_C) {
          guard5 = true;
        } else {
          localDW->is_c3_BCMR_DChrgTiRem = BCMR_DChrgTiRem_IN_ParaStep4;
          localB->ParaStep = rtu_BCMR_ParaStep_A[2];
        }
      }

      if (guard9) {
        if (rtu_BattTemp < rtu_BCMR_BattPara_A[1] - rtu_BCMR_HysRng_C) {
          guard6 = true;
        } else {
          guard7 = true;
        }
      }

      if (guard8) {
        if (rtu_BattTemp < rtu_BCMR_BattPara_A[0]) {
          guard1 = true;
        } else {
          guard6 = true;
        }
      }

      if (guard7) {
        if (rtu_BattTemp < rtu_BCMR_BattPara_A[1] - rtu_BCMR_HysRng_C) {
          guard4 = true;
        } else {
          guard5 = true;
        }
      }

      if (guard6) {
        if (rtu_BattTemp < rtu_BCMR_BattPara_A[0]) {
          guard1 = true;
        } else {
          guard4 = true;
        }
      }

      if (guard5) {
        if (rtu_BattTemp < rtu_BCMR_BattPara_A[1] - rtu_BCMR_HysRng_C) {
          guard3 = true;
        } else if (rtu_BattTemp < rtu_BCMR_BattPara_A[1] - rtu_BCMR_HysRng_C) {
          guard2 = true;
        } else {
          localDW->is_c3_BCMR_DChrgTiRem = BCMR_DChrgTiRem_IN_ParaStep3;
          localB->ParaStep = rtu_BCMR_ParaStep_A[1];
        }
      }

      if (guard4) {
        if (rtu_BattTemp < rtu_BCMR_BattPara_A[0]) {
          guard1 = true;
        } else {
          guard3 = true;
        }
      }

      if (guard3) {
        if (rtu_BattTemp < rtu_BCMR_BattPara_A[0]) {
          guard1 = true;
        } else {
          guard2 = true;
        }
      }

      if (guard2) {
        if (rtu_BattTemp < rtu_BCMR_BattPara_A[0]) {
          guard1 = true;
        } else {
          localDW->is_c3_BCMR_DChrgTiRem = BCMR_DChrgTiRem_IN_ParaStep2;
          localB->ParaStep = rtu_BCMR_ParaStep_A[0];
        }
      }

      if (guard1) {
        localDW->is_c3_BCMR_DChrgTiRem = BCMR_DChrgTiRem_IN_ParaStep1;
        localB->ParaStep = rtu_BCMR_ParaStep_A[0];
      }
    } else {
      localDW->is_c3_BCMR_DChrgTiRem = BCMR_DChrgTiRem_IN_ParaStep12;
      localB->ParaStep = rtu_BCMR_ParaStep_A[10];
    }
  } else {
    if (rtu_BattTemp >= rtu_BCMR_BattPara_A[12]) {
      localDW->is_c3_BCMR_DChrgTiRem = BCMR_DChrgTiRem_IN_ParaStep14;
      localB->ParaStep = rtu_BCMR_ParaStep_A[12];
    }
  }
}

/* Function for Chart: '<S14>/ParaStep' */
static void BCMR_DChrgTiRem_ParaStep14(real32_T rtu_BattTemp, const real32_T
  rtu_BCMR_BattPara_A[16], const uint8_T rtu_BCMR_ParaStep_A[16], real32_T
  rtu_BCMR_HysRng_C, B_ParaStep_BCMR_DChrgTiRem_T *localB,
  DW_ParaStep_BCMR_DChrgTiRem_T *localDW)
{
  boolean_T guard1 = false;
  boolean_T guard2 = false;
  boolean_T guard3 = false;
  boolean_T guard4 = false;
  boolean_T guard5 = false;
  boolean_T guard6 = false;
  boolean_T guard7 = false;
  boolean_T guard8 = false;
  boolean_T guard9 = false;
  boolean_T guard10 = false;
  boolean_T guard11 = false;
  boolean_T guard12 = false;
  boolean_T guard13 = false;
  boolean_T guard14 = false;
  boolean_T guard15 = false;
  boolean_T guard16 = false;
  boolean_T guard17 = false;
  boolean_T guard18 = false;
  boolean_T guard19 = false;
  boolean_T guard20 = false;
  boolean_T guard21 = false;
  boolean_T guard22 = false;
  boolean_T guard23 = false;
  boolean_T guard24 = false;
  boolean_T guard25 = false;
  boolean_T guard26 = false;
  boolean_T guard27 = false;
  boolean_T guard28 = false;
  boolean_T guard29 = false;
  boolean_T guard30 = false;
  boolean_T guard31 = false;
  boolean_T guard32 = false;
  boolean_T guard33 = false;
  boolean_T guard34 = false;
  boolean_T guard35 = false;
  boolean_T guard36 = false;
  boolean_T guard37 = false;
  boolean_T guard38 = false;
  boolean_T guard39 = false;
  boolean_T guard40 = false;
  boolean_T guard41 = false;
  boolean_T guard42 = false;
  boolean_T guard43 = false;
  boolean_T guard44 = false;
  boolean_T guard45 = false;
  boolean_T guard46 = false;
  boolean_T guard47 = false;
  boolean_T guard48 = false;
  boolean_T guard49 = false;
  boolean_T guard50 = false;
  boolean_T guard51 = false;
  boolean_T guard52 = false;
  boolean_T guard53 = false;
  boolean_T guard54 = false;
  boolean_T guard55 = false;
  boolean_T guard56 = false;
  if (rtu_BattTemp < rtu_BCMR_BattPara_A[12] - rtu_BCMR_HysRng_C) {
    if (rtu_BattTemp < rtu_BCMR_BattPara_A[11] - rtu_BCMR_HysRng_C) {
      guard1 = false;
      guard2 = false;
      guard3 = false;
      guard4 = false;
      guard5 = false;
      guard6 = false;
      guard7 = false;
      guard8 = false;
      guard9 = false;
      guard10 = false;
      guard11 = false;
      guard12 = false;
      guard13 = false;
      guard14 = false;
      guard15 = false;
      guard16 = false;
      guard17 = false;
      guard18 = false;
      guard19 = false;
      guard20 = false;
      guard21 = false;
      guard22 = false;
      guard23 = false;
      guard24 = false;
      guard25 = false;
      guard26 = false;
      guard27 = false;
      guard28 = false;
      guard29 = false;
      guard30 = false;
      guard31 = false;
      guard32 = false;
      guard33 = false;
      guard34 = false;
      guard35 = false;
      guard36 = false;
      guard37 = false;
      guard38 = false;
      guard39 = false;
      guard40 = false;
      guard41 = false;
      guard42 = false;
      guard43 = false;
      guard44 = false;
      guard45 = false;
      guard46 = false;
      guard47 = false;
      guard48 = false;
      guard49 = false;
      guard50 = false;
      guard51 = false;
      guard52 = false;
      guard53 = false;
      guard54 = false;
      guard55 = false;
      guard56 = false;
      if (rtu_BattTemp < rtu_BCMR_BattPara_A[10] - rtu_BCMR_HysRng_C) {
        if (rtu_BattTemp < rtu_BCMR_BattPara_A[9] - rtu_BCMR_HysRng_C) {
          if (rtu_BattTemp < rtu_BCMR_BattPara_A[8] - rtu_BCMR_HysRng_C) {
            if (rtu_BattTemp < rtu_BCMR_BattPara_A[7] - rtu_BCMR_HysRng_C) {
              if (rtu_BattTemp < rtu_BCMR_BattPara_A[6] - rtu_BCMR_HysRng_C) {
                if (rtu_BattTemp < rtu_BCMR_BattPara_A[5] - rtu_BCMR_HysRng_C) {
                  if (rtu_BattTemp < rtu_BCMR_BattPara_A[4] - rtu_BCMR_HysRng_C)
                  {
                    if (rtu_BattTemp < rtu_BCMR_BattPara_A[3] -
                        rtu_BCMR_HysRng_C) {
                      if (rtu_BattTemp < rtu_BCMR_BattPara_A[2] -
                          rtu_BCMR_HysRng_C) {
                        if (rtu_BattTemp < rtu_BCMR_BattPara_A[1] -
                            rtu_BCMR_HysRng_C) {
                          if (rtu_BattTemp < rtu_BCMR_BattPara_A[0]) {
                            guard1 = true;
                          } else {
                            guard27 = true;
                          }
                        } else {
                          guard32 = true;
                        }
                      } else {
                        guard37 = true;
                      }
                    } else {
                      guard41 = true;
                    }
                  } else {
                    guard45 = true;
                  }
                } else {
                  guard48 = true;
                }
              } else {
                guard51 = true;
              }
            } else {
              guard53 = true;
            }
          } else {
            guard55 = true;
          }
        } else {
          guard56 = true;
        }
      } else if (rtu_BattTemp < rtu_BCMR_BattPara_A[10] - rtu_BCMR_HysRng_C) {
        guard56 = true;
      } else {
        localDW->is_c3_BCMR_DChrgTiRem = BCMR_DChrgTiRem_IN_ParaStep12;
        localB->ParaStep = rtu_BCMR_ParaStep_A[10];
      }

      if (guard56) {
        if (rtu_BattTemp < rtu_BCMR_BattPara_A[9] - rtu_BCMR_HysRng_C) {
          guard55 = true;
        } else if (rtu_BattTemp < rtu_BCMR_BattPara_A[9] - rtu_BCMR_HysRng_C) {
          guard54 = true;
        } else {
          localDW->is_c3_BCMR_DChrgTiRem = BCMR_DChrgTiRem_IN_ParaStep11;
          localB->ParaStep = rtu_BCMR_ParaStep_A[9];
        }
      }

      if (guard55) {
        if (rtu_BattTemp < rtu_BCMR_BattPara_A[8] - rtu_BCMR_HysRng_C) {
          guard53 = true;
        } else {
          guard54 = true;
        }
      }

      if (guard54) {
        if (rtu_BattTemp < rtu_BCMR_BattPara_A[8] - rtu_BCMR_HysRng_C) {
          guard52 = true;
        } else if (rtu_BattTemp < rtu_BCMR_BattPara_A[8] - rtu_BCMR_HysRng_C) {
          guard50 = true;
        } else {
          localDW->is_c3_BCMR_DChrgTiRem = BCMR_DChrgTiRem_IN_ParaStep10;
          localB->ParaStep = rtu_BCMR_ParaStep_A[8];
        }
      }

      if (guard53) {
        if (rtu_BattTemp < rtu_BCMR_BattPara_A[7] - rtu_BCMR_HysRng_C) {
          guard51 = true;
        } else {
          guard52 = true;
        }
      }

      if (guard52) {
        if (rtu_BattTemp < rtu_BCMR_BattPara_A[7] - rtu_BCMR_HysRng_C) {
          guard49 = true;
        } else {
          guard50 = true;
        }
      }

      if (guard51) {
        if (rtu_BattTemp < rtu_BCMR_BattPara_A[6] - rtu_BCMR_HysRng_C) {
          guard48 = true;
        } else {
          guard49 = true;
        }
      }

      if (guard50) {
        if (rtu_BattTemp < rtu_BCMR_BattPara_A[7] - rtu_BCMR_HysRng_C) {
          guard47 = true;
        } else if (rtu_BattTemp < rtu_BCMR_BattPara_A[7] - rtu_BCMR_HysRng_C) {
          guard44 = true;
        } else {
          localDW->is_c3_BCMR_DChrgTiRem = BCMR_DChrgTiRem_IN_ParaStep9;
          localB->ParaStep = rtu_BCMR_ParaStep_A[7];
        }
      }

      if (guard49) {
        if (rtu_BattTemp < rtu_BCMR_BattPara_A[6] - rtu_BCMR_HysRng_C) {
          guard46 = true;
        } else {
          guard47 = true;
        }
      }

      if (guard48) {
        if (rtu_BattTemp < rtu_BCMR_BattPara_A[5] - rtu_BCMR_HysRng_C) {
          guard45 = true;
        } else {
          guard46 = true;
        }
      }

      if (guard47) {
        if (rtu_BattTemp < rtu_BCMR_BattPara_A[6] - rtu_BCMR_HysRng_C) {
          guard43 = true;
        } else {
          guard44 = true;
        }
      }

      if (guard46) {
        if (rtu_BattTemp < rtu_BCMR_BattPara_A[5] - rtu_BCMR_HysRng_C) {
          guard42 = true;
        } else {
          guard43 = true;
        }
      }

      if (guard45) {
        if (rtu_BattTemp < rtu_BCMR_BattPara_A[4] - rtu_BCMR_HysRng_C) {
          guard41 = true;
        } else {
          guard42 = true;
        }
      }

      if (guard44) {
        if (rtu_BattTemp < rtu_BCMR_BattPara_A[6] - rtu_BCMR_HysRng_C) {
          guard40 = true;
        } else if (rtu_BattTemp < rtu_BCMR_BattPara_A[6] - rtu_BCMR_HysRng_C) {
          guard36 = true;
        } else {
          localDW->is_c3_BCMR_DChrgTiRem = BCMR_DChrgTiRem_IN_ParaStep8;
          localB->ParaStep = rtu_BCMR_ParaStep_A[6];
        }
      }

      if (guard43) {
        if (rtu_BattTemp < rtu_BCMR_BattPara_A[5] - rtu_BCMR_HysRng_C) {
          guard39 = true;
        } else {
          guard40 = true;
        }
      }

      if (guard42) {
        if (rtu_BattTemp < rtu_BCMR_BattPara_A[4] - rtu_BCMR_HysRng_C) {
          guard38 = true;
        } else {
          guard39 = true;
        }
      }

      if (guard41) {
        if (rtu_BattTemp < rtu_BCMR_BattPara_A[3] - rtu_BCMR_HysRng_C) {
          guard37 = true;
        } else {
          guard38 = true;
        }
      }

      if (guard40) {
        if (rtu_BattTemp < rtu_BCMR_BattPara_A[5] - rtu_BCMR_HysRng_C) {
          guard35 = true;
        } else {
          guard36 = true;
        }
      }

      if (guard39) {
        if (rtu_BattTemp < rtu_BCMR_BattPara_A[4] - rtu_BCMR_HysRng_C) {
          guard34 = true;
        } else {
          guard35 = true;
        }
      }

      if (guard38) {
        if (rtu_BattTemp < rtu_BCMR_BattPara_A[3] - rtu_BCMR_HysRng_C) {
          guard33 = true;
        } else {
          guard34 = true;
        }
      }

      if (guard37) {
        if (rtu_BattTemp < rtu_BCMR_BattPara_A[2] - rtu_BCMR_HysRng_C) {
          guard32 = true;
        } else {
          guard33 = true;
        }
      }

      if (guard36) {
        if (rtu_BattTemp < rtu_BCMR_BattPara_A[5] - rtu_BCMR_HysRng_C) {
          guard31 = true;
        } else if (rtu_BattTemp < rtu_BCMR_BattPara_A[5] - rtu_BCMR_HysRng_C) {
          guard26 = true;
        } else {
          localDW->is_c3_BCMR_DChrgTiRem = BCMR_DChrgTiRem_IN_ParaStep7;
          localB->ParaStep = rtu_BCMR_ParaStep_A[5];
        }
      }

      if (guard35) {
        if (rtu_BattTemp < rtu_BCMR_BattPara_A[4] - rtu_BCMR_HysRng_C) {
          guard30 = true;
        } else {
          guard31 = true;
        }
      }

      if (guard34) {
        if (rtu_BattTemp < rtu_BCMR_BattPara_A[3] - rtu_BCMR_HysRng_C) {
          guard29 = true;
        } else {
          guard30 = true;
        }
      }

      if (guard33) {
        if (rtu_BattTemp < rtu_BCMR_BattPara_A[2] - rtu_BCMR_HysRng_C) {
          guard28 = true;
        } else {
          guard29 = true;
        }
      }

      if (guard32) {
        if (rtu_BattTemp < rtu_BCMR_BattPara_A[1] - rtu_BCMR_HysRng_C) {
          guard27 = true;
        } else {
          guard28 = true;
        }
      }

      if (guard31) {
        if (rtu_BattTemp < rtu_BCMR_BattPara_A[4] - rtu_BCMR_HysRng_C) {
          guard25 = true;
        } else {
          guard26 = true;
        }
      }

      if (guard30) {
        if (rtu_BattTemp < rtu_BCMR_BattPara_A[3] - rtu_BCMR_HysRng_C) {
          guard24 = true;
        } else {
          guard25 = true;
        }
      }

      if (guard29) {
        if (rtu_BattTemp < rtu_BCMR_BattPara_A[2] - rtu_BCMR_HysRng_C) {
          guard23 = true;
        } else {
          guard24 = true;
        }
      }

      if (guard28) {
        if (rtu_BattTemp < rtu_BCMR_BattPara_A[1] - rtu_BCMR_HysRng_C) {
          guard22 = true;
        } else {
          guard23 = true;
        }
      }

      if (guard27) {
        if (rtu_BattTemp < rtu_BCMR_BattPara_A[0]) {
          guard1 = true;
        } else {
          guard22 = true;
        }
      }

      if (guard26) {
        if (rtu_BattTemp < rtu_BCMR_BattPara_A[4] - rtu_BCMR_HysRng_C) {
          guard21 = true;
        } else if (rtu_BattTemp < rtu_BCMR_BattPara_A[4] - rtu_BCMR_HysRng_C) {
          guard17 = true;
        } else {
          localDW->is_c3_BCMR_DChrgTiRem = BCMR_DChrgTiRem_IN_ParaStep6;
          localB->ParaStep = rtu_BCMR_ParaStep_A[4];
        }
      }

      if (guard25) {
        if (rtu_BattTemp < rtu_BCMR_BattPara_A[3] - rtu_BCMR_HysRng_C) {
          guard20 = true;
        } else {
          guard21 = true;
        }
      }

      if (guard24) {
        if (rtu_BattTemp < rtu_BCMR_BattPara_A[2] - rtu_BCMR_HysRng_C) {
          guard19 = true;
        } else {
          guard20 = true;
        }
      }

      if (guard23) {
        if (rtu_BattTemp < rtu_BCMR_BattPara_A[1] - rtu_BCMR_HysRng_C) {
          guard18 = true;
        } else {
          guard19 = true;
        }
      }

      if (guard22) {
        if (rtu_BattTemp < rtu_BCMR_BattPara_A[0]) {
          guard1 = true;
        } else {
          guard18 = true;
        }
      }

      if (guard21) {
        if (rtu_BattTemp < rtu_BCMR_BattPara_A[3] - rtu_BCMR_HysRng_C) {
          guard16 = true;
        } else {
          guard17 = true;
        }
      }

      if (guard20) {
        if (rtu_BattTemp < rtu_BCMR_BattPara_A[2] - rtu_BCMR_HysRng_C) {
          guard15 = true;
        } else {
          guard16 = true;
        }
      }

      if (guard19) {
        if (rtu_BattTemp < rtu_BCMR_BattPara_A[1] - rtu_BCMR_HysRng_C) {
          guard14 = true;
        } else {
          guard15 = true;
        }
      }

      if (guard18) {
        if (rtu_BattTemp < rtu_BCMR_BattPara_A[0]) {
          guard1 = true;
        } else {
          guard14 = true;
        }
      }

      if (guard17) {
        if (rtu_BattTemp < rtu_BCMR_BattPara_A[3] - rtu_BCMR_HysRng_C) {
          guard13 = true;
        } else if (rtu_BattTemp < rtu_BCMR_BattPara_A[3] - rtu_BCMR_HysRng_C) {
          guard10 = true;
        } else {
          localDW->is_c3_BCMR_DChrgTiRem = BCMR_DChrgTiRem_IN_ParaStep5;
          localB->ParaStep = rtu_BCMR_ParaStep_A[3];
        }
      }

      if (guard16) {
        if (rtu_BattTemp < rtu_BCMR_BattPara_A[2] - rtu_BCMR_HysRng_C) {
          guard12 = true;
        } else {
          guard13 = true;
        }
      }

      if (guard15) {
        if (rtu_BattTemp < rtu_BCMR_BattPara_A[1] - rtu_BCMR_HysRng_C) {
          guard11 = true;
        } else {
          guard12 = true;
        }
      }

      if (guard14) {
        if (rtu_BattTemp < rtu_BCMR_BattPara_A[0]) {
          guard1 = true;
        } else {
          guard11 = true;
        }
      }

      if (guard13) {
        if (rtu_BattTemp < rtu_BCMR_BattPara_A[2] - rtu_BCMR_HysRng_C) {
          guard9 = true;
        } else {
          guard10 = true;
        }
      }

      if (guard12) {
        if (rtu_BattTemp < rtu_BCMR_BattPara_A[1] - rtu_BCMR_HysRng_C) {
          guard8 = true;
        } else {
          guard9 = true;
        }
      }

      if (guard11) {
        if (rtu_BattTemp < rtu_BCMR_BattPara_A[0]) {
          guard1 = true;
        } else {
          guard8 = true;
        }
      }

      if (guard10) {
        if (rtu_BattTemp < rtu_BCMR_BattPara_A[2] - rtu_BCMR_HysRng_C) {
          guard7 = true;
        } else if (rtu_BattTemp < rtu_BCMR_BattPara_A[2] - rtu_BCMR_HysRng_C) {
          guard5 = true;
        } else {
          localDW->is_c3_BCMR_DChrgTiRem = BCMR_DChrgTiRem_IN_ParaStep4;
          localB->ParaStep = rtu_BCMR_ParaStep_A[2];
        }
      }

      if (guard9) {
        if (rtu_BattTemp < rtu_BCMR_BattPara_A[1] - rtu_BCMR_HysRng_C) {
          guard6 = true;
        } else {
          guard7 = true;
        }
      }

      if (guard8) {
        if (rtu_BattTemp < rtu_BCMR_BattPara_A[0]) {
          guard1 = true;
        } else {
          guard6 = true;
        }
      }

      if (guard7) {
        if (rtu_BattTemp < rtu_BCMR_BattPara_A[1] - rtu_BCMR_HysRng_C) {
          guard4 = true;
        } else {
          guard5 = true;
        }
      }

      if (guard6) {
        if (rtu_BattTemp < rtu_BCMR_BattPara_A[0]) {
          guard1 = true;
        } else {
          guard4 = true;
        }
      }

      if (guard5) {
        if (rtu_BattTemp < rtu_BCMR_BattPara_A[1] - rtu_BCMR_HysRng_C) {
          guard3 = true;
        } else if (rtu_BattTemp < rtu_BCMR_BattPara_A[1] - rtu_BCMR_HysRng_C) {
          guard2 = true;
        } else {
          localDW->is_c3_BCMR_DChrgTiRem = BCMR_DChrgTiRem_IN_ParaStep3;
          localB->ParaStep = rtu_BCMR_ParaStep_A[1];
        }
      }

      if (guard4) {
        if (rtu_BattTemp < rtu_BCMR_BattPara_A[0]) {
          guard1 = true;
        } else {
          guard3 = true;
        }
      }

      if (guard3) {
        if (rtu_BattTemp < rtu_BCMR_BattPara_A[0]) {
          guard1 = true;
        } else {
          guard2 = true;
        }
      }

      if (guard2) {
        if (rtu_BattTemp < rtu_BCMR_BattPara_A[0]) {
          guard1 = true;
        } else {
          localDW->is_c3_BCMR_DChrgTiRem = BCMR_DChrgTiRem_IN_ParaStep2;
          localB->ParaStep = rtu_BCMR_ParaStep_A[0];
        }
      }

      if (guard1) {
        localDW->is_c3_BCMR_DChrgTiRem = BCMR_DChrgTiRem_IN_ParaStep1;
        localB->ParaStep = rtu_BCMR_ParaStep_A[0];
      }
    } else {
      localDW->is_c3_BCMR_DChrgTiRem = BCMR_DChrgTiRem_IN_ParaStep13;
      localB->ParaStep = rtu_BCMR_ParaStep_A[11];
    }
  } else {
    if (rtu_BattTemp >= rtu_BCMR_BattPara_A[13]) {
      localDW->is_c3_BCMR_DChrgTiRem = BCMR_DChrgTiRem_IN_ParaStep15;
      localB->ParaStep = rtu_BCMR_ParaStep_A[13];
    }
  }
}

/* Function for Chart: '<S14>/ParaStep' */
static void BCMR_DChrgTiRem_ParaStep15(real32_T rtu_BattTemp, const real32_T
  rtu_BCMR_BattPara_A[16], const uint8_T rtu_BCMR_ParaStep_A[16], real32_T
  rtu_BCMR_HysRng_C, B_ParaStep_BCMR_DChrgTiRem_T *localB,
  DW_ParaStep_BCMR_DChrgTiRem_T *localDW)
{
  boolean_T guard1 = false;
  boolean_T guard2 = false;
  boolean_T guard3 = false;
  boolean_T guard4 = false;
  boolean_T guard5 = false;
  boolean_T guard6 = false;
  boolean_T guard7 = false;
  boolean_T guard8 = false;
  boolean_T guard9 = false;
  boolean_T guard10 = false;
  boolean_T guard11 = false;
  boolean_T guard12 = false;
  boolean_T guard13 = false;
  boolean_T guard14 = false;
  boolean_T guard15 = false;
  boolean_T guard16 = false;
  boolean_T guard17 = false;
  boolean_T guard18 = false;
  boolean_T guard19 = false;
  boolean_T guard20 = false;
  boolean_T guard21 = false;
  boolean_T guard22 = false;
  boolean_T guard23 = false;
  boolean_T guard24 = false;
  boolean_T guard25 = false;
  boolean_T guard26 = false;
  boolean_T guard27 = false;
  boolean_T guard28 = false;
  boolean_T guard29 = false;
  boolean_T guard30 = false;
  boolean_T guard31 = false;
  boolean_T guard32 = false;
  boolean_T guard33 = false;
  boolean_T guard34 = false;
  boolean_T guard35 = false;
  boolean_T guard36 = false;
  boolean_T guard37 = false;
  boolean_T guard38 = false;
  boolean_T guard39 = false;
  boolean_T guard40 = false;
  boolean_T guard41 = false;
  boolean_T guard42 = false;
  boolean_T guard43 = false;
  boolean_T guard44 = false;
  boolean_T guard45 = false;
  boolean_T guard46 = false;
  boolean_T guard47 = false;
  boolean_T guard48 = false;
  boolean_T guard49 = false;
  boolean_T guard50 = false;
  boolean_T guard51 = false;
  boolean_T guard52 = false;
  boolean_T guard53 = false;
  boolean_T guard54 = false;
  boolean_T guard55 = false;
  boolean_T guard56 = false;
  boolean_T guard57 = false;
  boolean_T guard58 = false;
  boolean_T guard59 = false;
  boolean_T guard60 = false;
  boolean_T guard61 = false;
  boolean_T guard62 = false;
  boolean_T guard63 = false;
  boolean_T guard64 = false;
  boolean_T guard65 = false;
  boolean_T guard66 = false;
  boolean_T guard67 = false;
  if (rtu_BattTemp >= rtu_BCMR_BattPara_A[14]) {
    localDW->is_c3_BCMR_DChrgTiRem = BCMR_DChrgTiRem_IN_ParaStep16;
    localB->ParaStep = rtu_BCMR_ParaStep_A[14];
  } else {
    if (rtu_BattTemp < rtu_BCMR_BattPara_A[13] - rtu_BCMR_HysRng_C) {
      if (rtu_BattTemp < rtu_BCMR_BattPara_A[12] - rtu_BCMR_HysRng_C) {
        guard1 = false;
        guard2 = false;
        guard3 = false;
        guard4 = false;
        guard5 = false;
        guard6 = false;
        guard7 = false;
        guard8 = false;
        guard9 = false;
        guard10 = false;
        guard11 = false;
        guard12 = false;
        guard13 = false;
        guard14 = false;
        guard15 = false;
        guard16 = false;
        guard17 = false;
        guard18 = false;
        guard19 = false;
        guard20 = false;
        guard21 = false;
        guard22 = false;
        guard23 = false;
        guard24 = false;
        guard25 = false;
        guard26 = false;
        guard27 = false;
        guard28 = false;
        guard29 = false;
        guard30 = false;
        guard31 = false;
        guard32 = false;
        guard33 = false;
        guard34 = false;
        guard35 = false;
        guard36 = false;
        guard37 = false;
        guard38 = false;
        guard39 = false;
        guard40 = false;
        guard41 = false;
        guard42 = false;
        guard43 = false;
        guard44 = false;
        guard45 = false;
        guard46 = false;
        guard47 = false;
        guard48 = false;
        guard49 = false;
        guard50 = false;
        guard51 = false;
        guard52 = false;
        guard53 = false;
        guard54 = false;
        guard55 = false;
        guard56 = false;
        guard57 = false;
        guard58 = false;
        guard59 = false;
        guard60 = false;
        guard61 = false;
        guard62 = false;
        guard63 = false;
        guard64 = false;
        guard65 = false;
        guard66 = false;
        guard67 = false;
        if (rtu_BattTemp < rtu_BCMR_BattPara_A[11] - rtu_BCMR_HysRng_C) {
          if (rtu_BattTemp < rtu_BCMR_BattPara_A[10] - rtu_BCMR_HysRng_C) {
            if (rtu_BattTemp < rtu_BCMR_BattPara_A[9] - rtu_BCMR_HysRng_C) {
              if (rtu_BattTemp < rtu_BCMR_BattPara_A[8] - rtu_BCMR_HysRng_C) {
                if (rtu_BattTemp < rtu_BCMR_BattPara_A[7] - rtu_BCMR_HysRng_C) {
                  if (rtu_BattTemp < rtu_BCMR_BattPara_A[6] - rtu_BCMR_HysRng_C)
                  {
                    if (rtu_BattTemp < rtu_BCMR_BattPara_A[5] -
                        rtu_BCMR_HysRng_C) {
                      if (rtu_BattTemp < rtu_BCMR_BattPara_A[4] -
                          rtu_BCMR_HysRng_C) {
                        if (rtu_BattTemp < rtu_BCMR_BattPara_A[3] -
                            rtu_BCMR_HysRng_C) {
                          if (rtu_BattTemp < rtu_BCMR_BattPara_A[2] -
                              rtu_BCMR_HysRng_C) {
                            if (rtu_BattTemp < rtu_BCMR_BattPara_A[1] -
                                rtu_BCMR_HysRng_C) {
                              if (rtu_BattTemp < rtu_BCMR_BattPara_A[0]) {
                                guard1 = true;
                              } else {
                                guard32 = true;
                              }
                            } else {
                              guard38 = true;
                            }
                          } else {
                            guard43 = true;
                          }
                        } else {
                          guard48 = true;
                        }
                      } else {
                        guard52 = true;
                      }
                    } else {
                      guard56 = true;
                    }
                  } else {
                    guard59 = true;
                  }
                } else {
                  guard62 = true;
                }
              } else {
                guard64 = true;
              }
            } else {
              guard66 = true;
            }
          } else {
            guard67 = true;
          }
        } else if (rtu_BattTemp < rtu_BCMR_BattPara_A[11] - rtu_BCMR_HysRng_C) {
          guard67 = true;
        } else {
          localDW->is_c3_BCMR_DChrgTiRem = BCMR_DChrgTiRem_IN_ParaStep13;
          localB->ParaStep = rtu_BCMR_ParaStep_A[11];
        }

        if (guard67) {
          if (rtu_BattTemp < rtu_BCMR_BattPara_A[10] - rtu_BCMR_HysRng_C) {
            guard66 = true;
          } else if (rtu_BattTemp < rtu_BCMR_BattPara_A[10] - rtu_BCMR_HysRng_C)
          {
            guard65 = true;
          } else {
            localDW->is_c3_BCMR_DChrgTiRem = BCMR_DChrgTiRem_IN_ParaStep12;
            localB->ParaStep = rtu_BCMR_ParaStep_A[10];
          }
        }

        if (guard66) {
          if (rtu_BattTemp < rtu_BCMR_BattPara_A[9] - rtu_BCMR_HysRng_C) {
            guard64 = true;
          } else {
            guard65 = true;
          }
        }

        if (guard65) {
          if (rtu_BattTemp < rtu_BCMR_BattPara_A[9] - rtu_BCMR_HysRng_C) {
            guard63 = true;
          } else if (rtu_BattTemp < rtu_BCMR_BattPara_A[9] - rtu_BCMR_HysRng_C)
          {
            guard61 = true;
          } else {
            localDW->is_c3_BCMR_DChrgTiRem = BCMR_DChrgTiRem_IN_ParaStep11;
            localB->ParaStep = rtu_BCMR_ParaStep_A[9];
          }
        }

        if (guard64) {
          if (rtu_BattTemp < rtu_BCMR_BattPara_A[8] - rtu_BCMR_HysRng_C) {
            guard62 = true;
          } else {
            guard63 = true;
          }
        }

        if (guard63) {
          if (rtu_BattTemp < rtu_BCMR_BattPara_A[8] - rtu_BCMR_HysRng_C) {
            guard60 = true;
          } else {
            guard61 = true;
          }
        }

        if (guard62) {
          if (rtu_BattTemp < rtu_BCMR_BattPara_A[7] - rtu_BCMR_HysRng_C) {
            guard59 = true;
          } else {
            guard60 = true;
          }
        }

        if (guard61) {
          if (rtu_BattTemp < rtu_BCMR_BattPara_A[8] - rtu_BCMR_HysRng_C) {
            guard58 = true;
          } else if (rtu_BattTemp < rtu_BCMR_BattPara_A[8] - rtu_BCMR_HysRng_C)
          {
            guard55 = true;
          } else {
            localDW->is_c3_BCMR_DChrgTiRem = BCMR_DChrgTiRem_IN_ParaStep10;
            localB->ParaStep = rtu_BCMR_ParaStep_A[8];
          }
        }

        if (guard60) {
          if (rtu_BattTemp < rtu_BCMR_BattPara_A[7] - rtu_BCMR_HysRng_C) {
            guard57 = true;
          } else {
            guard58 = true;
          }
        }

        if (guard59) {
          if (rtu_BattTemp < rtu_BCMR_BattPara_A[6] - rtu_BCMR_HysRng_C) {
            guard56 = true;
          } else {
            guard57 = true;
          }
        }

        if (guard58) {
          if (rtu_BattTemp < rtu_BCMR_BattPara_A[7] - rtu_BCMR_HysRng_C) {
            guard54 = true;
          } else {
            guard55 = true;
          }
        }

        if (guard57) {
          if (rtu_BattTemp < rtu_BCMR_BattPara_A[6] - rtu_BCMR_HysRng_C) {
            guard53 = true;
          } else {
            guard54 = true;
          }
        }

        if (guard56) {
          if (rtu_BattTemp < rtu_BCMR_BattPara_A[5] - rtu_BCMR_HysRng_C) {
            guard52 = true;
          } else {
            guard53 = true;
          }
        }

        if (guard55) {
          if (rtu_BattTemp < rtu_BCMR_BattPara_A[7] - rtu_BCMR_HysRng_C) {
            guard51 = true;
          } else if (rtu_BattTemp < rtu_BCMR_BattPara_A[7] - rtu_BCMR_HysRng_C)
          {
            guard47 = true;
          } else {
            localDW->is_c3_BCMR_DChrgTiRem = BCMR_DChrgTiRem_IN_ParaStep9;
            localB->ParaStep = rtu_BCMR_ParaStep_A[7];
          }
        }

        if (guard54) {
          if (rtu_BattTemp < rtu_BCMR_BattPara_A[6] - rtu_BCMR_HysRng_C) {
            guard50 = true;
          } else {
            guard51 = true;
          }
        }

        if (guard53) {
          if (rtu_BattTemp < rtu_BCMR_BattPara_A[5] - rtu_BCMR_HysRng_C) {
            guard49 = true;
          } else {
            guard50 = true;
          }
        }

        if (guard52) {
          if (rtu_BattTemp < rtu_BCMR_BattPara_A[4] - rtu_BCMR_HysRng_C) {
            guard48 = true;
          } else {
            guard49 = true;
          }
        }

        if (guard51) {
          if (rtu_BattTemp < rtu_BCMR_BattPara_A[6] - rtu_BCMR_HysRng_C) {
            guard46 = true;
          } else {
            guard47 = true;
          }
        }

        if (guard50) {
          if (rtu_BattTemp < rtu_BCMR_BattPara_A[5] - rtu_BCMR_HysRng_C) {
            guard45 = true;
          } else {
            guard46 = true;
          }
        }

        if (guard49) {
          if (rtu_BattTemp < rtu_BCMR_BattPara_A[4] - rtu_BCMR_HysRng_C) {
            guard44 = true;
          } else {
            guard45 = true;
          }
        }

        if (guard48) {
          if (rtu_BattTemp < rtu_BCMR_BattPara_A[3] - rtu_BCMR_HysRng_C) {
            guard43 = true;
          } else {
            guard44 = true;
          }
        }

        if (guard47) {
          if (rtu_BattTemp < rtu_BCMR_BattPara_A[6] - rtu_BCMR_HysRng_C) {
            guard42 = true;
          } else if (rtu_BattTemp < rtu_BCMR_BattPara_A[6] - rtu_BCMR_HysRng_C)
          {
            guard37 = true;
          } else {
            localDW->is_c3_BCMR_DChrgTiRem = BCMR_DChrgTiRem_IN_ParaStep8;
            localB->ParaStep = rtu_BCMR_ParaStep_A[6];
          }
        }

        if (guard46) {
          if (rtu_BattTemp < rtu_BCMR_BattPara_A[5] - rtu_BCMR_HysRng_C) {
            guard41 = true;
          } else {
            guard42 = true;
          }
        }

        if (guard45) {
          if (rtu_BattTemp < rtu_BCMR_BattPara_A[4] - rtu_BCMR_HysRng_C) {
            guard40 = true;
          } else {
            guard41 = true;
          }
        }

        if (guard44) {
          if (rtu_BattTemp < rtu_BCMR_BattPara_A[3] - rtu_BCMR_HysRng_C) {
            guard39 = true;
          } else {
            guard40 = true;
          }
        }

        if (guard43) {
          if (rtu_BattTemp < rtu_BCMR_BattPara_A[2] - rtu_BCMR_HysRng_C) {
            guard38 = true;
          } else {
            guard39 = true;
          }
        }

        if (guard42) {
          if (rtu_BattTemp < rtu_BCMR_BattPara_A[5] - rtu_BCMR_HysRng_C) {
            guard36 = true;
          } else {
            guard37 = true;
          }
        }

        if (guard41) {
          if (rtu_BattTemp < rtu_BCMR_BattPara_A[4] - rtu_BCMR_HysRng_C) {
            guard35 = true;
          } else {
            guard36 = true;
          }
        }

        if (guard40) {
          if (rtu_BattTemp < rtu_BCMR_BattPara_A[3] - rtu_BCMR_HysRng_C) {
            guard34 = true;
          } else {
            guard35 = true;
          }
        }

        if (guard39) {
          if (rtu_BattTemp < rtu_BCMR_BattPara_A[2] - rtu_BCMR_HysRng_C) {
            guard33 = true;
          } else {
            guard34 = true;
          }
        }

        if (guard38) {
          if (rtu_BattTemp < rtu_BCMR_BattPara_A[1] - rtu_BCMR_HysRng_C) {
            guard32 = true;
          } else {
            guard33 = true;
          }
        }

        if (guard37) {
          if (rtu_BattTemp < rtu_BCMR_BattPara_A[5] - rtu_BCMR_HysRng_C) {
            guard31 = true;
          } else if (rtu_BattTemp < rtu_BCMR_BattPara_A[5] - rtu_BCMR_HysRng_C)
          {
            guard26 = true;
          } else {
            localDW->is_c3_BCMR_DChrgTiRem = BCMR_DChrgTiRem_IN_ParaStep7;
            localB->ParaStep = rtu_BCMR_ParaStep_A[5];
          }
        }

        if (guard36) {
          if (rtu_BattTemp < rtu_BCMR_BattPara_A[4] - rtu_BCMR_HysRng_C) {
            guard30 = true;
          } else {
            guard31 = true;
          }
        }

        if (guard35) {
          if (rtu_BattTemp < rtu_BCMR_BattPara_A[3] - rtu_BCMR_HysRng_C) {
            guard29 = true;
          } else {
            guard30 = true;
          }
        }

        if (guard34) {
          if (rtu_BattTemp < rtu_BCMR_BattPara_A[2] - rtu_BCMR_HysRng_C) {
            guard28 = true;
          } else {
            guard29 = true;
          }
        }

        if (guard33) {
          if (rtu_BattTemp < rtu_BCMR_BattPara_A[1] - rtu_BCMR_HysRng_C) {
            guard27 = true;
          } else {
            guard28 = true;
          }
        }

        if (guard32) {
          if (rtu_BattTemp < rtu_BCMR_BattPara_A[0]) {
            guard1 = true;
          } else {
            guard27 = true;
          }
        }

        if (guard31) {
          if (rtu_BattTemp < rtu_BCMR_BattPara_A[4] - rtu_BCMR_HysRng_C) {
            guard25 = true;
          } else {
            guard26 = true;
          }
        }

        if (guard30) {
          if (rtu_BattTemp < rtu_BCMR_BattPara_A[3] - rtu_BCMR_HysRng_C) {
            guard24 = true;
          } else {
            guard25 = true;
          }
        }

        if (guard29) {
          if (rtu_BattTemp < rtu_BCMR_BattPara_A[2] - rtu_BCMR_HysRng_C) {
            guard23 = true;
          } else {
            guard24 = true;
          }
        }

        if (guard28) {
          if (rtu_BattTemp < rtu_BCMR_BattPara_A[1] - rtu_BCMR_HysRng_C) {
            guard22 = true;
          } else {
            guard23 = true;
          }
        }

        if (guard27) {
          if (rtu_BattTemp < rtu_BCMR_BattPara_A[0]) {
            guard1 = true;
          } else {
            guard22 = true;
          }
        }

        if (guard26) {
          if (rtu_BattTemp < rtu_BCMR_BattPara_A[4] - rtu_BCMR_HysRng_C) {
            guard21 = true;
          } else if (rtu_BattTemp < rtu_BCMR_BattPara_A[4] - rtu_BCMR_HysRng_C)
          {
            guard17 = true;
          } else {
            localDW->is_c3_BCMR_DChrgTiRem = BCMR_DChrgTiRem_IN_ParaStep6;
            localB->ParaStep = rtu_BCMR_ParaStep_A[4];
          }
        }

        if (guard25) {
          if (rtu_BattTemp < rtu_BCMR_BattPara_A[3] - rtu_BCMR_HysRng_C) {
            guard20 = true;
          } else {
            guard21 = true;
          }
        }

        if (guard24) {
          if (rtu_BattTemp < rtu_BCMR_BattPara_A[2] - rtu_BCMR_HysRng_C) {
            guard19 = true;
          } else {
            guard20 = true;
          }
        }

        if (guard23) {
          if (rtu_BattTemp < rtu_BCMR_BattPara_A[1] - rtu_BCMR_HysRng_C) {
            guard18 = true;
          } else {
            guard19 = true;
          }
        }

        if (guard22) {
          if (rtu_BattTemp < rtu_BCMR_BattPara_A[0]) {
            guard1 = true;
          } else {
            guard18 = true;
          }
        }

        if (guard21) {
          if (rtu_BattTemp < rtu_BCMR_BattPara_A[3] - rtu_BCMR_HysRng_C) {
            guard16 = true;
          } else {
            guard17 = true;
          }
        }

        if (guard20) {
          if (rtu_BattTemp < rtu_BCMR_BattPara_A[2] - rtu_BCMR_HysRng_C) {
            guard15 = true;
          } else {
            guard16 = true;
          }
        }

        if (guard19) {
          if (rtu_BattTemp < rtu_BCMR_BattPara_A[1] - rtu_BCMR_HysRng_C) {
            guard14 = true;
          } else {
            guard15 = true;
          }
        }

        if (guard18) {
          if (rtu_BattTemp < rtu_BCMR_BattPara_A[0]) {
            guard1 = true;
          } else {
            guard14 = true;
          }
        }

        if (guard17) {
          if (rtu_BattTemp < rtu_BCMR_BattPara_A[3] - rtu_BCMR_HysRng_C) {
            guard13 = true;
          } else if (rtu_BattTemp < rtu_BCMR_BattPara_A[3] - rtu_BCMR_HysRng_C)
          {
            guard10 = true;
          } else {
            localDW->is_c3_BCMR_DChrgTiRem = BCMR_DChrgTiRem_IN_ParaStep5;
            localB->ParaStep = rtu_BCMR_ParaStep_A[3];
          }
        }

        if (guard16) {
          if (rtu_BattTemp < rtu_BCMR_BattPara_A[2] - rtu_BCMR_HysRng_C) {
            guard12 = true;
          } else {
            guard13 = true;
          }
        }

        if (guard15) {
          if (rtu_BattTemp < rtu_BCMR_BattPara_A[1] - rtu_BCMR_HysRng_C) {
            guard11 = true;
          } else {
            guard12 = true;
          }
        }

        if (guard14) {
          if (rtu_BattTemp < rtu_BCMR_BattPara_A[0]) {
            guard1 = true;
          } else {
            guard11 = true;
          }
        }

        if (guard13) {
          if (rtu_BattTemp < rtu_BCMR_BattPara_A[2] - rtu_BCMR_HysRng_C) {
            guard9 = true;
          } else {
            guard10 = true;
          }
        }

        if (guard12) {
          if (rtu_BattTemp < rtu_BCMR_BattPara_A[1] - rtu_BCMR_HysRng_C) {
            guard8 = true;
          } else {
            guard9 = true;
          }
        }

        if (guard11) {
          if (rtu_BattTemp < rtu_BCMR_BattPara_A[0]) {
            guard1 = true;
          } else {
            guard8 = true;
          }
        }

        if (guard10) {
          if (rtu_BattTemp < rtu_BCMR_BattPara_A[2] - rtu_BCMR_HysRng_C) {
            guard7 = true;
          } else if (rtu_BattTemp < rtu_BCMR_BattPara_A[2] - rtu_BCMR_HysRng_C)
          {
            guard5 = true;
          } else {
            localDW->is_c3_BCMR_DChrgTiRem = BCMR_DChrgTiRem_IN_ParaStep4;
            localB->ParaStep = rtu_BCMR_ParaStep_A[2];
          }
        }

        if (guard9) {
          if (rtu_BattTemp < rtu_BCMR_BattPara_A[1] - rtu_BCMR_HysRng_C) {
            guard6 = true;
          } else {
            guard7 = true;
          }
        }

        if (guard8) {
          if (rtu_BattTemp < rtu_BCMR_BattPara_A[0]) {
            guard1 = true;
          } else {
            guard6 = true;
          }
        }

        if (guard7) {
          if (rtu_BattTemp < rtu_BCMR_BattPara_A[1] - rtu_BCMR_HysRng_C) {
            guard4 = true;
          } else {
            guard5 = true;
          }
        }

        if (guard6) {
          if (rtu_BattTemp < rtu_BCMR_BattPara_A[0]) {
            guard1 = true;
          } else {
            guard4 = true;
          }
        }

        if (guard5) {
          if (rtu_BattTemp < rtu_BCMR_BattPara_A[1] - rtu_BCMR_HysRng_C) {
            guard3 = true;
          } else if (rtu_BattTemp < rtu_BCMR_BattPara_A[1] - rtu_BCMR_HysRng_C)
          {
            guard2 = true;
          } else {
            localDW->is_c3_BCMR_DChrgTiRem = BCMR_DChrgTiRem_IN_ParaStep3;
            localB->ParaStep = rtu_BCMR_ParaStep_A[1];
          }
        }

        if (guard4) {
          if (rtu_BattTemp < rtu_BCMR_BattPara_A[0]) {
            guard1 = true;
          } else {
            guard3 = true;
          }
        }

        if (guard3) {
          if (rtu_BattTemp < rtu_BCMR_BattPara_A[0]) {
            guard1 = true;
          } else {
            guard2 = true;
          }
        }

        if (guard2) {
          if (rtu_BattTemp < rtu_BCMR_BattPara_A[0]) {
            guard1 = true;
          } else {
            localDW->is_c3_BCMR_DChrgTiRem = BCMR_DChrgTiRem_IN_ParaStep2;
            localB->ParaStep = rtu_BCMR_ParaStep_A[0];
          }
        }

        if (guard1) {
          localDW->is_c3_BCMR_DChrgTiRem = BCMR_DChrgTiRem_IN_ParaStep1;
          localB->ParaStep = rtu_BCMR_ParaStep_A[0];
        }
      } else {
        localDW->is_c3_BCMR_DChrgTiRem = BCMR_DChrgTiRem_IN_ParaStep14;
        localB->ParaStep = rtu_BCMR_ParaStep_A[12];
      }
    }
  }
}

/* Function for Chart: '<S14>/ParaStep' */
static void BCMR_DChrgTiRem_ParaStep16(real32_T rtu_BattTemp, const real32_T
  rtu_BCMR_BattPara_A[16], const uint8_T rtu_BCMR_ParaStep_A[16], real32_T
  rtu_BCMR_HysRng_C, B_ParaStep_BCMR_DChrgTiRem_T *localB,
  DW_ParaStep_BCMR_DChrgTiRem_T *localDW)
{
  boolean_T guard1 = false;
  boolean_T guard2 = false;
  boolean_T guard3 = false;
  boolean_T guard4 = false;
  boolean_T guard5 = false;
  boolean_T guard6 = false;
  boolean_T guard7 = false;
  boolean_T guard8 = false;
  boolean_T guard9 = false;
  boolean_T guard10 = false;
  boolean_T guard11 = false;
  boolean_T guard12 = false;
  boolean_T guard13 = false;
  boolean_T guard14 = false;
  boolean_T guard15 = false;
  boolean_T guard16 = false;
  boolean_T guard17 = false;
  boolean_T guard18 = false;
  boolean_T guard19 = false;
  boolean_T guard20 = false;
  boolean_T guard21 = false;
  boolean_T guard22 = false;
  boolean_T guard23 = false;
  boolean_T guard24 = false;
  boolean_T guard25 = false;
  boolean_T guard26 = false;
  boolean_T guard27 = false;
  boolean_T guard28 = false;
  boolean_T guard29 = false;
  boolean_T guard30 = false;
  boolean_T guard31 = false;
  boolean_T guard32 = false;
  boolean_T guard33 = false;
  boolean_T guard34 = false;
  boolean_T guard35 = false;
  boolean_T guard36 = false;
  boolean_T guard37 = false;
  boolean_T guard38 = false;
  boolean_T guard39 = false;
  boolean_T guard40 = false;
  boolean_T guard41 = false;
  boolean_T guard42 = false;
  boolean_T guard43 = false;
  boolean_T guard44 = false;
  boolean_T guard45 = false;
  boolean_T guard46 = false;
  boolean_T guard47 = false;
  boolean_T guard48 = false;
  boolean_T guard49 = false;
  boolean_T guard50 = false;
  boolean_T guard51 = false;
  boolean_T guard52 = false;
  boolean_T guard53 = false;
  boolean_T guard54 = false;
  boolean_T guard55 = false;
  boolean_T guard56 = false;
  boolean_T guard57 = false;
  boolean_T guard58 = false;
  boolean_T guard59 = false;
  boolean_T guard60 = false;
  boolean_T guard61 = false;
  boolean_T guard62 = false;
  boolean_T guard63 = false;
  boolean_T guard64 = false;
  boolean_T guard65 = false;
  boolean_T guard66 = false;
  boolean_T guard67 = false;
  if (rtu_BattTemp >= rtu_BCMR_BattPara_A[15]) {
    localDW->is_c3_BCMR_DChrgTiRem = BCMR_DChrgTiRem_IN_Init;
    localB->ParaStep = 15U;
  } else {
    if (rtu_BattTemp < rtu_BCMR_BattPara_A[14] - rtu_BCMR_HysRng_C) {
      if (rtu_BattTemp < rtu_BCMR_BattPara_A[13] - rtu_BCMR_HysRng_C) {
        if (rtu_BattTemp < rtu_BCMR_BattPara_A[12] - rtu_BCMR_HysRng_C) {
          guard1 = false;
          guard2 = false;
          guard3 = false;
          guard4 = false;
          guard5 = false;
          guard6 = false;
          guard7 = false;
          guard8 = false;
          guard9 = false;
          guard10 = false;
          guard11 = false;
          guard12 = false;
          guard13 = false;
          guard14 = false;
          guard15 = false;
          guard16 = false;
          guard17 = false;
          guard18 = false;
          guard19 = false;
          guard20 = false;
          guard21 = false;
          guard22 = false;
          guard23 = false;
          guard24 = false;
          guard25 = false;
          guard26 = false;
          guard27 = false;
          guard28 = false;
          guard29 = false;
          guard30 = false;
          guard31 = false;
          guard32 = false;
          guard33 = false;
          guard34 = false;
          guard35 = false;
          guard36 = false;
          guard37 = false;
          guard38 = false;
          guard39 = false;
          guard40 = false;
          guard41 = false;
          guard42 = false;
          guard43 = false;
          guard44 = false;
          guard45 = false;
          guard46 = false;
          guard47 = false;
          guard48 = false;
          guard49 = false;
          guard50 = false;
          guard51 = false;
          guard52 = false;
          guard53 = false;
          guard54 = false;
          guard55 = false;
          guard56 = false;
          guard57 = false;
          guard58 = false;
          guard59 = false;
          guard60 = false;
          guard61 = false;
          guard62 = false;
          guard63 = false;
          guard64 = false;
          guard65 = false;
          guard66 = false;
          guard67 = false;
          if (rtu_BattTemp < rtu_BCMR_BattPara_A[11] - rtu_BCMR_HysRng_C) {
            if (rtu_BattTemp < rtu_BCMR_BattPara_A[10] - rtu_BCMR_HysRng_C) {
              if (rtu_BattTemp < rtu_BCMR_BattPara_A[9] - rtu_BCMR_HysRng_C) {
                if (rtu_BattTemp < rtu_BCMR_BattPara_A[8] - rtu_BCMR_HysRng_C) {
                  if (rtu_BattTemp < rtu_BCMR_BattPara_A[7] - rtu_BCMR_HysRng_C)
                  {
                    if (rtu_BattTemp < rtu_BCMR_BattPara_A[6] -
                        rtu_BCMR_HysRng_C) {
                      if (rtu_BattTemp < rtu_BCMR_BattPara_A[5] -
                          rtu_BCMR_HysRng_C) {
                        if (rtu_BattTemp < rtu_BCMR_BattPara_A[4] -
                            rtu_BCMR_HysRng_C) {
                          if (rtu_BattTemp < rtu_BCMR_BattPara_A[3] -
                              rtu_BCMR_HysRng_C) {
                            if (rtu_BattTemp < rtu_BCMR_BattPara_A[2] -
                                rtu_BCMR_HysRng_C) {
                              if (rtu_BattTemp < rtu_BCMR_BattPara_A[1] -
                                  rtu_BCMR_HysRng_C) {
                                if (rtu_BattTemp < rtu_BCMR_BattPara_A[0]) {
                                  guard1 = true;
                                } else {
                                  guard32 = true;
                                }
                              } else {
                                guard38 = true;
                              }
                            } else {
                              guard43 = true;
                            }
                          } else {
                            guard48 = true;
                          }
                        } else {
                          guard52 = true;
                        }
                      } else {
                        guard56 = true;
                      }
                    } else {
                      guard59 = true;
                    }
                  } else {
                    guard62 = true;
                  }
                } else {
                  guard64 = true;
                }
              } else {
                guard66 = true;
              }
            } else {
              guard67 = true;
            }
          } else if (rtu_BattTemp < rtu_BCMR_BattPara_A[11] - rtu_BCMR_HysRng_C)
          {
            guard67 = true;
          } else {
            localDW->is_c3_BCMR_DChrgTiRem = BCMR_DChrgTiRem_IN_ParaStep13;
            localB->ParaStep = rtu_BCMR_ParaStep_A[11];
          }

          if (guard67) {
            if (rtu_BattTemp < rtu_BCMR_BattPara_A[10] - rtu_BCMR_HysRng_C) {
              guard66 = true;
            } else if (rtu_BattTemp < rtu_BCMR_BattPara_A[10] -
                       rtu_BCMR_HysRng_C) {
              guard65 = true;
            } else {
              localDW->is_c3_BCMR_DChrgTiRem = BCMR_DChrgTiRem_IN_ParaStep12;
              localB->ParaStep = rtu_BCMR_ParaStep_A[10];
            }
          }

          if (guard66) {
            if (rtu_BattTemp < rtu_BCMR_BattPara_A[9] - rtu_BCMR_HysRng_C) {
              guard64 = true;
            } else {
              guard65 = true;
            }
          }

          if (guard65) {
            if (rtu_BattTemp < rtu_BCMR_BattPara_A[9] - rtu_BCMR_HysRng_C) {
              guard63 = true;
            } else if (rtu_BattTemp < rtu_BCMR_BattPara_A[9] - rtu_BCMR_HysRng_C)
            {
              guard61 = true;
            } else {
              localDW->is_c3_BCMR_DChrgTiRem = BCMR_DChrgTiRem_IN_ParaStep11;
              localB->ParaStep = rtu_BCMR_ParaStep_A[9];
            }
          }

          if (guard64) {
            if (rtu_BattTemp < rtu_BCMR_BattPara_A[8] - rtu_BCMR_HysRng_C) {
              guard62 = true;
            } else {
              guard63 = true;
            }
          }

          if (guard63) {
            if (rtu_BattTemp < rtu_BCMR_BattPara_A[8] - rtu_BCMR_HysRng_C) {
              guard60 = true;
            } else {
              guard61 = true;
            }
          }

          if (guard62) {
            if (rtu_BattTemp < rtu_BCMR_BattPara_A[7] - rtu_BCMR_HysRng_C) {
              guard59 = true;
            } else {
              guard60 = true;
            }
          }

          if (guard61) {
            if (rtu_BattTemp < rtu_BCMR_BattPara_A[8] - rtu_BCMR_HysRng_C) {
              guard58 = true;
            } else if (rtu_BattTemp < rtu_BCMR_BattPara_A[8] - rtu_BCMR_HysRng_C)
            {
              guard55 = true;
            } else {
              localDW->is_c3_BCMR_DChrgTiRem = BCMR_DChrgTiRem_IN_ParaStep10;
              localB->ParaStep = rtu_BCMR_ParaStep_A[8];
            }
          }

          if (guard60) {
            if (rtu_BattTemp < rtu_BCMR_BattPara_A[7] - rtu_BCMR_HysRng_C) {
              guard57 = true;
            } else {
              guard58 = true;
            }
          }

          if (guard59) {
            if (rtu_BattTemp < rtu_BCMR_BattPara_A[6] - rtu_BCMR_HysRng_C) {
              guard56 = true;
            } else {
              guard57 = true;
            }
          }

          if (guard58) {
            if (rtu_BattTemp < rtu_BCMR_BattPara_A[7] - rtu_BCMR_HysRng_C) {
              guard54 = true;
            } else {
              guard55 = true;
            }
          }

          if (guard57) {
            if (rtu_BattTemp < rtu_BCMR_BattPara_A[6] - rtu_BCMR_HysRng_C) {
              guard53 = true;
            } else {
              guard54 = true;
            }
          }

          if (guard56) {
            if (rtu_BattTemp < rtu_BCMR_BattPara_A[5] - rtu_BCMR_HysRng_C) {
              guard52 = true;
            } else {
              guard53 = true;
            }
          }

          if (guard55) {
            if (rtu_BattTemp < rtu_BCMR_BattPara_A[7] - rtu_BCMR_HysRng_C) {
              guard51 = true;
            } else if (rtu_BattTemp < rtu_BCMR_BattPara_A[7] - rtu_BCMR_HysRng_C)
            {
              guard47 = true;
            } else {
              localDW->is_c3_BCMR_DChrgTiRem = BCMR_DChrgTiRem_IN_ParaStep9;
              localB->ParaStep = rtu_BCMR_ParaStep_A[7];
            }
          }

          if (guard54) {
            if (rtu_BattTemp < rtu_BCMR_BattPara_A[6] - rtu_BCMR_HysRng_C) {
              guard50 = true;
            } else {
              guard51 = true;
            }
          }

          if (guard53) {
            if (rtu_BattTemp < rtu_BCMR_BattPara_A[5] - rtu_BCMR_HysRng_C) {
              guard49 = true;
            } else {
              guard50 = true;
            }
          }

          if (guard52) {
            if (rtu_BattTemp < rtu_BCMR_BattPara_A[4] - rtu_BCMR_HysRng_C) {
              guard48 = true;
            } else {
              guard49 = true;
            }
          }

          if (guard51) {
            if (rtu_BattTemp < rtu_BCMR_BattPara_A[6] - rtu_BCMR_HysRng_C) {
              guard46 = true;
            } else {
              guard47 = true;
            }
          }

          if (guard50) {
            if (rtu_BattTemp < rtu_BCMR_BattPara_A[5] - rtu_BCMR_HysRng_C) {
              guard45 = true;
            } else {
              guard46 = true;
            }
          }

          if (guard49) {
            if (rtu_BattTemp < rtu_BCMR_BattPara_A[4] - rtu_BCMR_HysRng_C) {
              guard44 = true;
            } else {
              guard45 = true;
            }
          }

          if (guard48) {
            if (rtu_BattTemp < rtu_BCMR_BattPara_A[3] - rtu_BCMR_HysRng_C) {
              guard43 = true;
            } else {
              guard44 = true;
            }
          }

          if (guard47) {
            if (rtu_BattTemp < rtu_BCMR_BattPara_A[6] - rtu_BCMR_HysRng_C) {
              guard42 = true;
            } else if (rtu_BattTemp < rtu_BCMR_BattPara_A[6] - rtu_BCMR_HysRng_C)
            {
              guard37 = true;
            } else {
              localDW->is_c3_BCMR_DChrgTiRem = BCMR_DChrgTiRem_IN_ParaStep8;
              localB->ParaStep = rtu_BCMR_ParaStep_A[6];
            }
          }

          if (guard46) {
            if (rtu_BattTemp < rtu_BCMR_BattPara_A[5] - rtu_BCMR_HysRng_C) {
              guard41 = true;
            } else {
              guard42 = true;
            }
          }

          if (guard45) {
            if (rtu_BattTemp < rtu_BCMR_BattPara_A[4] - rtu_BCMR_HysRng_C) {
              guard40 = true;
            } else {
              guard41 = true;
            }
          }

          if (guard44) {
            if (rtu_BattTemp < rtu_BCMR_BattPara_A[3] - rtu_BCMR_HysRng_C) {
              guard39 = true;
            } else {
              guard40 = true;
            }
          }

          if (guard43) {
            if (rtu_BattTemp < rtu_BCMR_BattPara_A[2] - rtu_BCMR_HysRng_C) {
              guard38 = true;
            } else {
              guard39 = true;
            }
          }

          if (guard42) {
            if (rtu_BattTemp < rtu_BCMR_BattPara_A[5] - rtu_BCMR_HysRng_C) {
              guard36 = true;
            } else {
              guard37 = true;
            }
          }

          if (guard41) {
            if (rtu_BattTemp < rtu_BCMR_BattPara_A[4] - rtu_BCMR_HysRng_C) {
              guard35 = true;
            } else {
              guard36 = true;
            }
          }

          if (guard40) {
            if (rtu_BattTemp < rtu_BCMR_BattPara_A[3] - rtu_BCMR_HysRng_C) {
              guard34 = true;
            } else {
              guard35 = true;
            }
          }

          if (guard39) {
            if (rtu_BattTemp < rtu_BCMR_BattPara_A[2] - rtu_BCMR_HysRng_C) {
              guard33 = true;
            } else {
              guard34 = true;
            }
          }

          if (guard38) {
            if (rtu_BattTemp < rtu_BCMR_BattPara_A[1] - rtu_BCMR_HysRng_C) {
              guard32 = true;
            } else {
              guard33 = true;
            }
          }

          if (guard37) {
            if (rtu_BattTemp < rtu_BCMR_BattPara_A[5] - rtu_BCMR_HysRng_C) {
              guard31 = true;
            } else if (rtu_BattTemp < rtu_BCMR_BattPara_A[5] - rtu_BCMR_HysRng_C)
            {
              guard26 = true;
            } else {
              localDW->is_c3_BCMR_DChrgTiRem = BCMR_DChrgTiRem_IN_ParaStep7;
              localB->ParaStep = rtu_BCMR_ParaStep_A[5];
            }
          }

          if (guard36) {
            if (rtu_BattTemp < rtu_BCMR_BattPara_A[4] - rtu_BCMR_HysRng_C) {
              guard30 = true;
            } else {
              guard31 = true;
            }
          }

          if (guard35) {
            if (rtu_BattTemp < rtu_BCMR_BattPara_A[3] - rtu_BCMR_HysRng_C) {
              guard29 = true;
            } else {
              guard30 = true;
            }
          }

          if (guard34) {
            if (rtu_BattTemp < rtu_BCMR_BattPara_A[2] - rtu_BCMR_HysRng_C) {
              guard28 = true;
            } else {
              guard29 = true;
            }
          }

          if (guard33) {
            if (rtu_BattTemp < rtu_BCMR_BattPara_A[1] - rtu_BCMR_HysRng_C) {
              guard27 = true;
            } else {
              guard28 = true;
            }
          }

          if (guard32) {
            if (rtu_BattTemp < rtu_BCMR_BattPara_A[0]) {
              guard1 = true;
            } else {
              guard27 = true;
            }
          }

          if (guard31) {
            if (rtu_BattTemp < rtu_BCMR_BattPara_A[4] - rtu_BCMR_HysRng_C) {
              guard25 = true;
            } else {
              guard26 = true;
            }
          }

          if (guard30) {
            if (rtu_BattTemp < rtu_BCMR_BattPara_A[3] - rtu_BCMR_HysRng_C) {
              guard24 = true;
            } else {
              guard25 = true;
            }
          }

          if (guard29) {
            if (rtu_BattTemp < rtu_BCMR_BattPara_A[2] - rtu_BCMR_HysRng_C) {
              guard23 = true;
            } else {
              guard24 = true;
            }
          }

          if (guard28) {
            if (rtu_BattTemp < rtu_BCMR_BattPara_A[1] - rtu_BCMR_HysRng_C) {
              guard22 = true;
            } else {
              guard23 = true;
            }
          }

          if (guard27) {
            if (rtu_BattTemp < rtu_BCMR_BattPara_A[0]) {
              guard1 = true;
            } else {
              guard22 = true;
            }
          }

          if (guard26) {
            if (rtu_BattTemp < rtu_BCMR_BattPara_A[4] - rtu_BCMR_HysRng_C) {
              guard21 = true;
            } else if (rtu_BattTemp < rtu_BCMR_BattPara_A[4] - rtu_BCMR_HysRng_C)
            {
              guard17 = true;
            } else {
              localDW->is_c3_BCMR_DChrgTiRem = BCMR_DChrgTiRem_IN_ParaStep6;
              localB->ParaStep = rtu_BCMR_ParaStep_A[4];
            }
          }

          if (guard25) {
            if (rtu_BattTemp < rtu_BCMR_BattPara_A[3] - rtu_BCMR_HysRng_C) {
              guard20 = true;
            } else {
              guard21 = true;
            }
          }

          if (guard24) {
            if (rtu_BattTemp < rtu_BCMR_BattPara_A[2] - rtu_BCMR_HysRng_C) {
              guard19 = true;
            } else {
              guard20 = true;
            }
          }

          if (guard23) {
            if (rtu_BattTemp < rtu_BCMR_BattPara_A[1] - rtu_BCMR_HysRng_C) {
              guard18 = true;
            } else {
              guard19 = true;
            }
          }

          if (guard22) {
            if (rtu_BattTemp < rtu_BCMR_BattPara_A[0]) {
              guard1 = true;
            } else {
              guard18 = true;
            }
          }

          if (guard21) {
            if (rtu_BattTemp < rtu_BCMR_BattPara_A[3] - rtu_BCMR_HysRng_C) {
              guard16 = true;
            } else {
              guard17 = true;
            }
          }

          if (guard20) {
            if (rtu_BattTemp < rtu_BCMR_BattPara_A[2] - rtu_BCMR_HysRng_C) {
              guard15 = true;
            } else {
              guard16 = true;
            }
          }

          if (guard19) {
            if (rtu_BattTemp < rtu_BCMR_BattPara_A[1] - rtu_BCMR_HysRng_C) {
              guard14 = true;
            } else {
              guard15 = true;
            }
          }

          if (guard18) {
            if (rtu_BattTemp < rtu_BCMR_BattPara_A[0]) {
              guard1 = true;
            } else {
              guard14 = true;
            }
          }

          if (guard17) {
            if (rtu_BattTemp < rtu_BCMR_BattPara_A[3] - rtu_BCMR_HysRng_C) {
              guard13 = true;
            } else if (rtu_BattTemp < rtu_BCMR_BattPara_A[3] - rtu_BCMR_HysRng_C)
            {
              guard10 = true;
            } else {
              localDW->is_c3_BCMR_DChrgTiRem = BCMR_DChrgTiRem_IN_ParaStep5;
              localB->ParaStep = rtu_BCMR_ParaStep_A[3];
            }
          }

          if (guard16) {
            if (rtu_BattTemp < rtu_BCMR_BattPara_A[2] - rtu_BCMR_HysRng_C) {
              guard12 = true;
            } else {
              guard13 = true;
            }
          }

          if (guard15) {
            if (rtu_BattTemp < rtu_BCMR_BattPara_A[1] - rtu_BCMR_HysRng_C) {
              guard11 = true;
            } else {
              guard12 = true;
            }
          }

          if (guard14) {
            if (rtu_BattTemp < rtu_BCMR_BattPara_A[0]) {
              guard1 = true;
            } else {
              guard11 = true;
            }
          }

          if (guard13) {
            if (rtu_BattTemp < rtu_BCMR_BattPara_A[2] - rtu_BCMR_HysRng_C) {
              guard9 = true;
            } else {
              guard10 = true;
            }
          }

          if (guard12) {
            if (rtu_BattTemp < rtu_BCMR_BattPara_A[1] - rtu_BCMR_HysRng_C) {
              guard8 = true;
            } else {
              guard9 = true;
            }
          }

          if (guard11) {
            if (rtu_BattTemp < rtu_BCMR_BattPara_A[0]) {
              guard1 = true;
            } else {
              guard8 = true;
            }
          }

          if (guard10) {
            if (rtu_BattTemp < rtu_BCMR_BattPara_A[2] - rtu_BCMR_HysRng_C) {
              guard7 = true;
            } else if (rtu_BattTemp < rtu_BCMR_BattPara_A[2] - rtu_BCMR_HysRng_C)
            {
              guard5 = true;
            } else {
              localDW->is_c3_BCMR_DChrgTiRem = BCMR_DChrgTiRem_IN_ParaStep4;
              localB->ParaStep = rtu_BCMR_ParaStep_A[2];
            }
          }

          if (guard9) {
            if (rtu_BattTemp < rtu_BCMR_BattPara_A[1] - rtu_BCMR_HysRng_C) {
              guard6 = true;
            } else {
              guard7 = true;
            }
          }

          if (guard8) {
            if (rtu_BattTemp < rtu_BCMR_BattPara_A[0]) {
              guard1 = true;
            } else {
              guard6 = true;
            }
          }

          if (guard7) {
            if (rtu_BattTemp < rtu_BCMR_BattPara_A[1] - rtu_BCMR_HysRng_C) {
              guard4 = true;
            } else {
              guard5 = true;
            }
          }

          if (guard6) {
            if (rtu_BattTemp < rtu_BCMR_BattPara_A[0]) {
              guard1 = true;
            } else {
              guard4 = true;
            }
          }

          if (guard5) {
            if (rtu_BattTemp < rtu_BCMR_BattPara_A[1] - rtu_BCMR_HysRng_C) {
              guard3 = true;
            } else if (rtu_BattTemp < rtu_BCMR_BattPara_A[1] - rtu_BCMR_HysRng_C)
            {
              guard2 = true;
            } else {
              localDW->is_c3_BCMR_DChrgTiRem = BCMR_DChrgTiRem_IN_ParaStep3;
              localB->ParaStep = rtu_BCMR_ParaStep_A[1];
            }
          }

          if (guard4) {
            if (rtu_BattTemp < rtu_BCMR_BattPara_A[0]) {
              guard1 = true;
            } else {
              guard3 = true;
            }
          }

          if (guard3) {
            if (rtu_BattTemp < rtu_BCMR_BattPara_A[0]) {
              guard1 = true;
            } else {
              guard2 = true;
            }
          }

          if (guard2) {
            if (rtu_BattTemp < rtu_BCMR_BattPara_A[0]) {
              guard1 = true;
            } else {
              localDW->is_c3_BCMR_DChrgTiRem = BCMR_DChrgTiRem_IN_ParaStep2;
              localB->ParaStep = rtu_BCMR_ParaStep_A[0];
            }
          }

          if (guard1) {
            localDW->is_c3_BCMR_DChrgTiRem = BCMR_DChrgTiRem_IN_ParaStep1;
            localB->ParaStep = rtu_BCMR_ParaStep_A[0];
          }
        } else {
          localDW->is_c3_BCMR_DChrgTiRem = BCMR_DChrgTiRem_IN_ParaStep14;
          localB->ParaStep = rtu_BCMR_ParaStep_A[12];
        }
      } else {
        localDW->is_c3_BCMR_DChrgTiRem = BCMR_DChrgTiRem_IN_ParaStep15;
        localB->ParaStep = rtu_BCMR_ParaStep_A[13];
      }
    }
  }
}

/* Function for Chart: '<S14>/ParaStep' */
static void enter_internal_c3_BCMR_DChrgTiR(real32_T rtu_BattTemp, const
  real32_T rtu_BCMR_BattPara_A[16], const uint8_T rtu_BCMR_ParaStep_A[16],
  real32_T rtu_BCMR_HysRng_C, B_ParaStep_BCMR_DChrgTiRem_T *localB,
  DW_ParaStep_BCMR_DChrgTiRem_T *localDW)
{
  boolean_T guard1 = false;
  boolean_T guard2 = false;
  boolean_T guard3 = false;
  boolean_T guard4 = false;
  boolean_T guard5 = false;
  boolean_T guard6 = false;
  boolean_T guard7 = false;
  boolean_T guard8 = false;
  boolean_T guard9 = false;
  boolean_T guard10 = false;
  boolean_T guard11 = false;
  boolean_T guard12 = false;
  boolean_T guard13 = false;
  boolean_T guard14 = false;
  boolean_T guard15 = false;
  boolean_T guard16 = false;
  boolean_T guard17 = false;
  boolean_T guard18 = false;
  boolean_T guard19 = false;
  boolean_T guard20 = false;
  boolean_T guard21 = false;
  boolean_T guard22 = false;
  boolean_T guard23 = false;
  boolean_T guard24 = false;
  boolean_T guard25 = false;
  boolean_T guard26 = false;
  boolean_T guard27 = false;
  boolean_T guard28 = false;
  boolean_T guard29 = false;
  boolean_T guard30 = false;
  boolean_T guard31 = false;
  boolean_T guard32 = false;
  boolean_T guard33 = false;
  boolean_T guard34 = false;
  boolean_T guard35 = false;
  boolean_T guard36 = false;
  boolean_T guard37 = false;
  boolean_T guard38 = false;
  boolean_T guard39 = false;
  boolean_T guard40 = false;
  boolean_T guard41 = false;
  boolean_T guard42 = false;
  boolean_T guard43 = false;
  boolean_T guard44 = false;
  boolean_T guard45 = false;
  boolean_T guard46 = false;
  boolean_T guard47 = false;
  boolean_T guard48 = false;
  boolean_T guard49 = false;
  boolean_T guard50 = false;
  boolean_T guard51 = false;
  boolean_T guard52 = false;
  boolean_T guard53 = false;
  boolean_T guard54 = false;
  boolean_T guard55 = false;
  boolean_T guard56 = false;
  boolean_T guard57 = false;
  boolean_T guard58 = false;
  boolean_T guard59 = false;
  boolean_T guard60 = false;
  boolean_T guard61 = false;
  boolean_T guard62 = false;
  boolean_T guard63 = false;
  boolean_T guard64 = false;
  boolean_T guard65 = false;
  boolean_T guard66 = false;
  boolean_T guard67 = false;
  boolean_T guard68 = false;
  boolean_T guard69 = false;
  boolean_T guard70 = false;
  boolean_T guard71 = false;
  boolean_T guard72 = false;
  boolean_T guard73 = false;
  boolean_T guard74 = false;
  boolean_T guard75 = false;
  boolean_T guard76 = false;
  boolean_T guard77 = false;
  boolean_T guard78 = false;
  if (rtu_BattTemp < rtu_BCMR_BattPara_A[12] - rtu_BCMR_HysRng_C) {
    guard1 = false;
    guard2 = false;
    guard3 = false;
    guard4 = false;
    guard5 = false;
    guard6 = false;
    guard7 = false;
    guard8 = false;
    guard9 = false;
    guard10 = false;
    guard11 = false;
    guard12 = false;
    guard13 = false;
    guard14 = false;
    guard15 = false;
    guard16 = false;
    guard17 = false;
    guard18 = false;
    guard19 = false;
    guard20 = false;
    guard21 = false;
    guard22 = false;
    guard23 = false;
    guard24 = false;
    guard25 = false;
    guard26 = false;
    guard27 = false;
    guard28 = false;
    guard29 = false;
    guard30 = false;
    guard31 = false;
    guard32 = false;
    guard33 = false;
    guard34 = false;
    guard35 = false;
    guard36 = false;
    guard37 = false;
    guard38 = false;
    guard39 = false;
    guard40 = false;
    guard41 = false;
    guard42 = false;
    guard43 = false;
    guard44 = false;
    guard45 = false;
    guard46 = false;
    guard47 = false;
    guard48 = false;
    guard49 = false;
    guard50 = false;
    guard51 = false;
    guard52 = false;
    guard53 = false;
    guard54 = false;
    guard55 = false;
    guard56 = false;
    guard57 = false;
    guard58 = false;
    guard59 = false;
    guard60 = false;
    guard61 = false;
    guard62 = false;
    guard63 = false;
    guard64 = false;
    guard65 = false;
    guard66 = false;
    guard67 = false;
    guard68 = false;
    guard69 = false;
    guard70 = false;
    guard71 = false;
    guard72 = false;
    guard73 = false;
    guard74 = false;
    guard75 = false;
    guard76 = false;
    guard77 = false;
    guard78 = false;
    if (rtu_BattTemp < rtu_BCMR_BattPara_A[11] - rtu_BCMR_HysRng_C) {
      if (rtu_BattTemp < rtu_BCMR_BattPara_A[10] - rtu_BCMR_HysRng_C) {
        if (rtu_BattTemp < rtu_BCMR_BattPara_A[9] - rtu_BCMR_HysRng_C) {
          if (rtu_BattTemp < rtu_BCMR_BattPara_A[8] - rtu_BCMR_HysRng_C) {
            if (rtu_BattTemp < rtu_BCMR_BattPara_A[7] - rtu_BCMR_HysRng_C) {
              if (rtu_BattTemp < rtu_BCMR_BattPara_A[6] - rtu_BCMR_HysRng_C) {
                if (rtu_BattTemp < rtu_BCMR_BattPara_A[5] - rtu_BCMR_HysRng_C) {
                  if (rtu_BattTemp < rtu_BCMR_BattPara_A[4] - rtu_BCMR_HysRng_C)
                  {
                    if (rtu_BattTemp < rtu_BCMR_BattPara_A[3] -
                        rtu_BCMR_HysRng_C) {
                      if (rtu_BattTemp < rtu_BCMR_BattPara_A[2] -
                          rtu_BCMR_HysRng_C) {
                        if (rtu_BattTemp < rtu_BCMR_BattPara_A[1] -
                            rtu_BCMR_HysRng_C) {
                          if (rtu_BattTemp < rtu_BCMR_BattPara_A[0]) {
                            guard1 = true;
                          } else {
                            guard38 = true;
                          }
                        } else {
                          guard44 = true;
                        }
                      } else {
                        guard50 = true;
                      }
                    } else {
                      guard55 = true;
                    }
                  } else {
                    guard60 = true;
                  }
                } else {
                  guard64 = true;
                }
              } else {
                guard68 = true;
              }
            } else {
              guard71 = true;
            }
          } else {
            guard74 = true;
          }
        } else {
          guard76 = true;
        }
      } else {
        guard78 = true;
      }
    } else if (rtu_BattTemp < rtu_BCMR_BattPara_A[11] - rtu_BCMR_HysRng_C) {
      guard78 = true;
    } else if (rtu_BattTemp < rtu_BCMR_BattPara_A[11] - rtu_BCMR_HysRng_C) {
      guard77 = true;
    } else {
      localDW->is_c3_BCMR_DChrgTiRem = BCMR_DChrgTiRem_IN_ParaStep13;
      localB->ParaStep = rtu_BCMR_ParaStep_A[11];
    }

    if (guard78) {
      if (rtu_BattTemp < rtu_BCMR_BattPara_A[10] - rtu_BCMR_HysRng_C) {
        guard76 = true;
      } else {
        guard77 = true;
      }
    }

    if (guard77) {
      if (rtu_BattTemp < rtu_BCMR_BattPara_A[10] - rtu_BCMR_HysRng_C) {
        guard75 = true;
      } else if (rtu_BattTemp < rtu_BCMR_BattPara_A[10] - rtu_BCMR_HysRng_C) {
        guard73 = true;
      } else {
        localDW->is_c3_BCMR_DChrgTiRem = BCMR_DChrgTiRem_IN_ParaStep12;
        localB->ParaStep = rtu_BCMR_ParaStep_A[10];
      }
    }

    if (guard76) {
      if (rtu_BattTemp < rtu_BCMR_BattPara_A[9] - rtu_BCMR_HysRng_C) {
        guard74 = true;
      } else {
        guard75 = true;
      }
    }

    if (guard75) {
      if (rtu_BattTemp < rtu_BCMR_BattPara_A[9] - rtu_BCMR_HysRng_C) {
        guard72 = true;
      } else {
        guard73 = true;
      }
    }

    if (guard74) {
      if (rtu_BattTemp < rtu_BCMR_BattPara_A[8] - rtu_BCMR_HysRng_C) {
        guard71 = true;
      } else {
        guard72 = true;
      }
    }

    if (guard73) {
      if (rtu_BattTemp < rtu_BCMR_BattPara_A[9] - rtu_BCMR_HysRng_C) {
        guard70 = true;
      } else if (rtu_BattTemp < rtu_BCMR_BattPara_A[9] - rtu_BCMR_HysRng_C) {
        guard67 = true;
      } else {
        localDW->is_c3_BCMR_DChrgTiRem = BCMR_DChrgTiRem_IN_ParaStep11;
        localB->ParaStep = rtu_BCMR_ParaStep_A[9];
      }
    }

    if (guard72) {
      if (rtu_BattTemp < rtu_BCMR_BattPara_A[8] - rtu_BCMR_HysRng_C) {
        guard69 = true;
      } else {
        guard70 = true;
      }
    }

    if (guard71) {
      if (rtu_BattTemp < rtu_BCMR_BattPara_A[7] - rtu_BCMR_HysRng_C) {
        guard68 = true;
      } else {
        guard69 = true;
      }
    }

    if (guard70) {
      if (rtu_BattTemp < rtu_BCMR_BattPara_A[8] - rtu_BCMR_HysRng_C) {
        guard66 = true;
      } else {
        guard67 = true;
      }
    }

    if (guard69) {
      if (rtu_BattTemp < rtu_BCMR_BattPara_A[7] - rtu_BCMR_HysRng_C) {
        guard65 = true;
      } else {
        guard66 = true;
      }
    }

    if (guard68) {
      if (rtu_BattTemp < rtu_BCMR_BattPara_A[6] - rtu_BCMR_HysRng_C) {
        guard64 = true;
      } else {
        guard65 = true;
      }
    }

    if (guard67) {
      if (rtu_BattTemp < rtu_BCMR_BattPara_A[8] - rtu_BCMR_HysRng_C) {
        guard63 = true;
      } else if (rtu_BattTemp < rtu_BCMR_BattPara_A[8] - rtu_BCMR_HysRng_C) {
        guard59 = true;
      } else {
        localDW->is_c3_BCMR_DChrgTiRem = BCMR_DChrgTiRem_IN_ParaStep10;
        localB->ParaStep = rtu_BCMR_ParaStep_A[8];
      }
    }

    if (guard66) {
      if (rtu_BattTemp < rtu_BCMR_BattPara_A[7] - rtu_BCMR_HysRng_C) {
        guard62 = true;
      } else {
        guard63 = true;
      }
    }

    if (guard65) {
      if (rtu_BattTemp < rtu_BCMR_BattPara_A[6] - rtu_BCMR_HysRng_C) {
        guard61 = true;
      } else {
        guard62 = true;
      }
    }

    if (guard64) {
      if (rtu_BattTemp < rtu_BCMR_BattPara_A[5] - rtu_BCMR_HysRng_C) {
        guard60 = true;
      } else {
        guard61 = true;
      }
    }

    if (guard63) {
      if (rtu_BattTemp < rtu_BCMR_BattPara_A[7] - rtu_BCMR_HysRng_C) {
        guard58 = true;
      } else {
        guard59 = true;
      }
    }

    if (guard62) {
      if (rtu_BattTemp < rtu_BCMR_BattPara_A[6] - rtu_BCMR_HysRng_C) {
        guard57 = true;
      } else {
        guard58 = true;
      }
    }

    if (guard61) {
      if (rtu_BattTemp < rtu_BCMR_BattPara_A[5] - rtu_BCMR_HysRng_C) {
        guard56 = true;
      } else {
        guard57 = true;
      }
    }

    if (guard60) {
      if (rtu_BattTemp < rtu_BCMR_BattPara_A[4] - rtu_BCMR_HysRng_C) {
        guard55 = true;
      } else {
        guard56 = true;
      }
    }

    if (guard59) {
      if (rtu_BattTemp < rtu_BCMR_BattPara_A[7] - rtu_BCMR_HysRng_C) {
        guard54 = true;
      } else if (rtu_BattTemp < rtu_BCMR_BattPara_A[7] - rtu_BCMR_HysRng_C) {
        guard49 = true;
      } else {
        localDW->is_c3_BCMR_DChrgTiRem = BCMR_DChrgTiRem_IN_ParaStep9;
        localB->ParaStep = rtu_BCMR_ParaStep_A[7];
      }
    }

    if (guard58) {
      if (rtu_BattTemp < rtu_BCMR_BattPara_A[6] - rtu_BCMR_HysRng_C) {
        guard53 = true;
      } else {
        guard54 = true;
      }
    }

    if (guard57) {
      if (rtu_BattTemp < rtu_BCMR_BattPara_A[5] - rtu_BCMR_HysRng_C) {
        guard52 = true;
      } else {
        guard53 = true;
      }
    }

    if (guard56) {
      if (rtu_BattTemp < rtu_BCMR_BattPara_A[4] - rtu_BCMR_HysRng_C) {
        guard51 = true;
      } else {
        guard52 = true;
      }
    }

    if (guard55) {
      if (rtu_BattTemp < rtu_BCMR_BattPara_A[3] - rtu_BCMR_HysRng_C) {
        guard50 = true;
      } else {
        guard51 = true;
      }
    }

    if (guard54) {
      if (rtu_BattTemp < rtu_BCMR_BattPara_A[6] - rtu_BCMR_HysRng_C) {
        guard48 = true;
      } else {
        guard49 = true;
      }
    }

    if (guard53) {
      if (rtu_BattTemp < rtu_BCMR_BattPara_A[5] - rtu_BCMR_HysRng_C) {
        guard47 = true;
      } else {
        guard48 = true;
      }
    }

    if (guard52) {
      if (rtu_BattTemp < rtu_BCMR_BattPara_A[4] - rtu_BCMR_HysRng_C) {
        guard46 = true;
      } else {
        guard47 = true;
      }
    }

    if (guard51) {
      if (rtu_BattTemp < rtu_BCMR_BattPara_A[3] - rtu_BCMR_HysRng_C) {
        guard45 = true;
      } else {
        guard46 = true;
      }
    }

    if (guard50) {
      if (rtu_BattTemp < rtu_BCMR_BattPara_A[2] - rtu_BCMR_HysRng_C) {
        guard44 = true;
      } else {
        guard45 = true;
      }
    }

    if (guard49) {
      if (rtu_BattTemp < rtu_BCMR_BattPara_A[6] - rtu_BCMR_HysRng_C) {
        guard43 = true;
      } else if (rtu_BattTemp < rtu_BCMR_BattPara_A[6] - rtu_BCMR_HysRng_C) {
        guard37 = true;
      } else {
        localDW->is_c3_BCMR_DChrgTiRem = BCMR_DChrgTiRem_IN_ParaStep8;
        localB->ParaStep = rtu_BCMR_ParaStep_A[6];
      }
    }

    if (guard48) {
      if (rtu_BattTemp < rtu_BCMR_BattPara_A[5] - rtu_BCMR_HysRng_C) {
        guard42 = true;
      } else {
        guard43 = true;
      }
    }

    if (guard47) {
      if (rtu_BattTemp < rtu_BCMR_BattPara_A[4] - rtu_BCMR_HysRng_C) {
        guard41 = true;
      } else {
        guard42 = true;
      }
    }

    if (guard46) {
      if (rtu_BattTemp < rtu_BCMR_BattPara_A[3] - rtu_BCMR_HysRng_C) {
        guard40 = true;
      } else {
        guard41 = true;
      }
    }

    if (guard45) {
      if (rtu_BattTemp < rtu_BCMR_BattPara_A[2] - rtu_BCMR_HysRng_C) {
        guard39 = true;
      } else {
        guard40 = true;
      }
    }

    if (guard44) {
      if (rtu_BattTemp < rtu_BCMR_BattPara_A[1] - rtu_BCMR_HysRng_C) {
        guard38 = true;
      } else {
        guard39 = true;
      }
    }

    if (guard43) {
      if (rtu_BattTemp < rtu_BCMR_BattPara_A[5] - rtu_BCMR_HysRng_C) {
        guard36 = true;
      } else {
        guard37 = true;
      }
    }

    if (guard42) {
      if (rtu_BattTemp < rtu_BCMR_BattPara_A[4] - rtu_BCMR_HysRng_C) {
        guard35 = true;
      } else {
        guard36 = true;
      }
    }

    if (guard41) {
      if (rtu_BattTemp < rtu_BCMR_BattPara_A[3] - rtu_BCMR_HysRng_C) {
        guard34 = true;
      } else {
        guard35 = true;
      }
    }

    if (guard40) {
      if (rtu_BattTemp < rtu_BCMR_BattPara_A[2] - rtu_BCMR_HysRng_C) {
        guard33 = true;
      } else {
        guard34 = true;
      }
    }

    if (guard39) {
      if (rtu_BattTemp < rtu_BCMR_BattPara_A[1] - rtu_BCMR_HysRng_C) {
        guard32 = true;
      } else {
        guard33 = true;
      }
    }

    if (guard38) {
      if (rtu_BattTemp < rtu_BCMR_BattPara_A[0]) {
        guard1 = true;
      } else {
        guard32 = true;
      }
    }

    if (guard37) {
      if (rtu_BattTemp < rtu_BCMR_BattPara_A[5] - rtu_BCMR_HysRng_C) {
        guard31 = true;
      } else if (rtu_BattTemp < rtu_BCMR_BattPara_A[5] - rtu_BCMR_HysRng_C) {
        guard26 = true;
      } else {
        localDW->is_c3_BCMR_DChrgTiRem = BCMR_DChrgTiRem_IN_ParaStep7;
        localB->ParaStep = rtu_BCMR_ParaStep_A[5];
      }
    }

    if (guard36) {
      if (rtu_BattTemp < rtu_BCMR_BattPara_A[4] - rtu_BCMR_HysRng_C) {
        guard30 = true;
      } else {
        guard31 = true;
      }
    }

    if (guard35) {
      if (rtu_BattTemp < rtu_BCMR_BattPara_A[3] - rtu_BCMR_HysRng_C) {
        guard29 = true;
      } else {
        guard30 = true;
      }
    }

    if (guard34) {
      if (rtu_BattTemp < rtu_BCMR_BattPara_A[2] - rtu_BCMR_HysRng_C) {
        guard28 = true;
      } else {
        guard29 = true;
      }
    }

    if (guard33) {
      if (rtu_BattTemp < rtu_BCMR_BattPara_A[1] - rtu_BCMR_HysRng_C) {
        guard27 = true;
      } else {
        guard28 = true;
      }
    }

    if (guard32) {
      if (rtu_BattTemp < rtu_BCMR_BattPara_A[0]) {
        guard1 = true;
      } else {
        guard27 = true;
      }
    }

    if (guard31) {
      if (rtu_BattTemp < rtu_BCMR_BattPara_A[4] - rtu_BCMR_HysRng_C) {
        guard25 = true;
      } else {
        guard26 = true;
      }
    }

    if (guard30) {
      if (rtu_BattTemp < rtu_BCMR_BattPara_A[3] - rtu_BCMR_HysRng_C) {
        guard24 = true;
      } else {
        guard25 = true;
      }
    }

    if (guard29) {
      if (rtu_BattTemp < rtu_BCMR_BattPara_A[2] - rtu_BCMR_HysRng_C) {
        guard23 = true;
      } else {
        guard24 = true;
      }
    }

    if (guard28) {
      if (rtu_BattTemp < rtu_BCMR_BattPara_A[1] - rtu_BCMR_HysRng_C) {
        guard22 = true;
      } else {
        guard23 = true;
      }
    }

    if (guard27) {
      if (rtu_BattTemp < rtu_BCMR_BattPara_A[0]) {
        guard1 = true;
      } else {
        guard22 = true;
      }
    }

    if (guard26) {
      if (rtu_BattTemp < rtu_BCMR_BattPara_A[4] - rtu_BCMR_HysRng_C) {
        guard21 = true;
      } else if (rtu_BattTemp < rtu_BCMR_BattPara_A[4] - rtu_BCMR_HysRng_C) {
        guard17 = true;
      } else {
        localDW->is_c3_BCMR_DChrgTiRem = BCMR_DChrgTiRem_IN_ParaStep6;
        localB->ParaStep = rtu_BCMR_ParaStep_A[4];
      }
    }

    if (guard25) {
      if (rtu_BattTemp < rtu_BCMR_BattPara_A[3] - rtu_BCMR_HysRng_C) {
        guard20 = true;
      } else {
        guard21 = true;
      }
    }

    if (guard24) {
      if (rtu_BattTemp < rtu_BCMR_BattPara_A[2] - rtu_BCMR_HysRng_C) {
        guard19 = true;
      } else {
        guard20 = true;
      }
    }

    if (guard23) {
      if (rtu_BattTemp < rtu_BCMR_BattPara_A[1] - rtu_BCMR_HysRng_C) {
        guard18 = true;
      } else {
        guard19 = true;
      }
    }

    if (guard22) {
      if (rtu_BattTemp < rtu_BCMR_BattPara_A[0]) {
        guard1 = true;
      } else {
        guard18 = true;
      }
    }

    if (guard21) {
      if (rtu_BattTemp < rtu_BCMR_BattPara_A[3] - rtu_BCMR_HysRng_C) {
        guard16 = true;
      } else {
        guard17 = true;
      }
    }

    if (guard20) {
      if (rtu_BattTemp < rtu_BCMR_BattPara_A[2] - rtu_BCMR_HysRng_C) {
        guard15 = true;
      } else {
        guard16 = true;
      }
    }

    if (guard19) {
      if (rtu_BattTemp < rtu_BCMR_BattPara_A[1] - rtu_BCMR_HysRng_C) {
        guard14 = true;
      } else {
        guard15 = true;
      }
    }

    if (guard18) {
      if (rtu_BattTemp < rtu_BCMR_BattPara_A[0]) {
        guard1 = true;
      } else {
        guard14 = true;
      }
    }

    if (guard17) {
      if (rtu_BattTemp < rtu_BCMR_BattPara_A[3] - rtu_BCMR_HysRng_C) {
        guard13 = true;
      } else if (rtu_BattTemp < rtu_BCMR_BattPara_A[3] - rtu_BCMR_HysRng_C) {
        guard10 = true;
      } else {
        localDW->is_c3_BCMR_DChrgTiRem = BCMR_DChrgTiRem_IN_ParaStep5;
        localB->ParaStep = rtu_BCMR_ParaStep_A[3];
      }
    }

    if (guard16) {
      if (rtu_BattTemp < rtu_BCMR_BattPara_A[2] - rtu_BCMR_HysRng_C) {
        guard12 = true;
      } else {
        guard13 = true;
      }
    }

    if (guard15) {
      if (rtu_BattTemp < rtu_BCMR_BattPara_A[1] - rtu_BCMR_HysRng_C) {
        guard11 = true;
      } else {
        guard12 = true;
      }
    }

    if (guard14) {
      if (rtu_BattTemp < rtu_BCMR_BattPara_A[0]) {
        guard1 = true;
      } else {
        guard11 = true;
      }
    }

    if (guard13) {
      if (rtu_BattTemp < rtu_BCMR_BattPara_A[2] - rtu_BCMR_HysRng_C) {
        guard9 = true;
      } else {
        guard10 = true;
      }
    }

    if (guard12) {
      if (rtu_BattTemp < rtu_BCMR_BattPara_A[1] - rtu_BCMR_HysRng_C) {
        guard8 = true;
      } else {
        guard9 = true;
      }
    }

    if (guard11) {
      if (rtu_BattTemp < rtu_BCMR_BattPara_A[0]) {
        guard1 = true;
      } else {
        guard8 = true;
      }
    }

    if (guard10) {
      if (rtu_BattTemp < rtu_BCMR_BattPara_A[2] - rtu_BCMR_HysRng_C) {
        guard7 = true;
      } else if (rtu_BattTemp < rtu_BCMR_BattPara_A[2] - rtu_BCMR_HysRng_C) {
        guard5 = true;
      } else {
        localDW->is_c3_BCMR_DChrgTiRem = BCMR_DChrgTiRem_IN_ParaStep4;
        localB->ParaStep = rtu_BCMR_ParaStep_A[2];
      }
    }

    if (guard9) {
      if (rtu_BattTemp < rtu_BCMR_BattPara_A[1] - rtu_BCMR_HysRng_C) {
        guard6 = true;
      } else {
        guard7 = true;
      }
    }

    if (guard8) {
      if (rtu_BattTemp < rtu_BCMR_BattPara_A[0]) {
        guard1 = true;
      } else {
        guard6 = true;
      }
    }

    if (guard7) {
      if (rtu_BattTemp < rtu_BCMR_BattPara_A[1] - rtu_BCMR_HysRng_C) {
        guard4 = true;
      } else {
        guard5 = true;
      }
    }

    if (guard6) {
      if (rtu_BattTemp < rtu_BCMR_BattPara_A[0]) {
        guard1 = true;
      } else {
        guard4 = true;
      }
    }

    if (guard5) {
      if (rtu_BattTemp < rtu_BCMR_BattPara_A[1] - rtu_BCMR_HysRng_C) {
        guard3 = true;
      } else if (rtu_BattTemp < rtu_BCMR_BattPara_A[1] - rtu_BCMR_HysRng_C) {
        guard2 = true;
      } else {
        localDW->is_c3_BCMR_DChrgTiRem = BCMR_DChrgTiRem_IN_ParaStep3;
        localB->ParaStep = rtu_BCMR_ParaStep_A[1];
      }
    }

    if (guard4) {
      if (rtu_BattTemp < rtu_BCMR_BattPara_A[0]) {
        guard1 = true;
      } else {
        guard3 = true;
      }
    }

    if (guard3) {
      if (rtu_BattTemp < rtu_BCMR_BattPara_A[0]) {
        guard1 = true;
      } else {
        guard2 = true;
      }
    }

    if (guard2) {
      if (rtu_BattTemp < rtu_BCMR_BattPara_A[0]) {
        guard1 = true;
      } else {
        localDW->is_c3_BCMR_DChrgTiRem = BCMR_DChrgTiRem_IN_ParaStep2;
        localB->ParaStep = rtu_BCMR_ParaStep_A[0];
      }
    }

    if (guard1) {
      localDW->is_c3_BCMR_DChrgTiRem = BCMR_DChrgTiRem_IN_ParaStep1;
      localB->ParaStep = rtu_BCMR_ParaStep_A[0];
    }
  } else {
    localDW->is_c3_BCMR_DChrgTiRem = BCMR_DChrgTiRem_IN_Init;
    localB->ParaStep = 15U;
  }
}

/* System reset for atomic system: '<S14>/ParaStep' */
void BCMR_DChrgTiRem_ParaStep_Reset(B_ParaStep_BCMR_DChrgTiRem_T *localB,
  DW_ParaStep_BCMR_DChrgTiRem_T *localDW)
{
  localDW->is_active_c3_BCMR_DChrgTiRem = 0U;
  localDW->is_c3_BCMR_DChrgTiRem = BCMR_DChrgTi_IN_NO_ACTIVE_CHILD;
  localB->ParaStep = 0U;
}

/* Output and update for atomic system: '<S14>/ParaStep' */
void BCMR_DChrgTiRem_ParaStep(real32_T rtu_BattTemp, const real32_T
  rtu_BCMR_BattPara_A[16], const uint8_T rtu_BCMR_ParaStep_A[16], real32_T
  rtu_BCMR_HysRng_C, B_ParaStep_BCMR_DChrgTiRem_T *localB,
  DW_ParaStep_BCMR_DChrgTiRem_T *localDW)
{
  boolean_T guard1 = false;
  boolean_T guard2 = false;
  boolean_T guard3 = false;
  boolean_T guard4 = false;
  boolean_T guard5 = false;
  boolean_T guard6 = false;
  boolean_T guard7 = false;
  boolean_T guard8 = false;
  boolean_T guard9 = false;
  boolean_T guard10 = false;
  boolean_T guard11 = false;
  boolean_T guard12 = false;
  boolean_T guard13 = false;
  boolean_T guard14 = false;
  boolean_T guard15 = false;
  boolean_T guard16 = false;
  boolean_T guard17 = false;
  boolean_T guard18 = false;
  boolean_T guard19 = false;
  boolean_T guard20 = false;
  boolean_T guard21 = false;
  boolean_T guard22 = false;
  boolean_T guard23 = false;
  boolean_T guard24 = false;
  if (localDW->is_active_c3_BCMR_DChrgTiRem == 0U) {
    localDW->is_active_c3_BCMR_DChrgTiRem = 1U;
    enter_internal_c3_BCMR_DChrgTiR(rtu_BattTemp, rtu_BCMR_BattPara_A,
      rtu_BCMR_ParaStep_A, rtu_BCMR_HysRng_C, localB, localDW);
  } else {
    guard1 = false;
    guard2 = false;
    guard3 = false;
    guard4 = false;
    guard5 = false;
    guard6 = false;
    guard7 = false;
    guard8 = false;
    guard9 = false;
    guard10 = false;
    guard11 = false;
    guard12 = false;
    guard13 = false;
    guard14 = false;
    guard15 = false;
    guard16 = false;
    guard17 = false;
    guard18 = false;
    guard19 = false;
    guard20 = false;
    guard21 = false;
    guard22 = false;
    guard23 = false;
    guard24 = false;
    switch (localDW->is_c3_BCMR_DChrgTiRem) {
     case BCMR_DChrgTiRem_IN_Init:
      BCMR_DChrgTiRem_Init(rtu_BattTemp, rtu_BCMR_BattPara_A,
                           rtu_BCMR_ParaStep_A, localB, localDW);
      break;

     case BCMR_DChrgTiRem_IN_ParaStep1:
      if (rtu_BattTemp > rtu_BCMR_BattPara_A[0]) {
        localDW->is_c3_BCMR_DChrgTiRem = BCMR_DChrgTiRem_IN_ParaStep2;
        localB->ParaStep = rtu_BCMR_ParaStep_A[0];
      }
      break;

     case BCMR_DChrgTiRem_IN_ParaStep10:
      BCMR_DChrgTiRem_ParaStep10(rtu_BattTemp, rtu_BCMR_BattPara_A,
        rtu_BCMR_ParaStep_A, rtu_BCMR_HysRng_C, localB, localDW);
      break;

     case BCMR_DChrgTiRem_IN_ParaStep11:
      BCMR_DChrgTiRem_ParaStep11(rtu_BattTemp, rtu_BCMR_BattPara_A,
        rtu_BCMR_ParaStep_A, rtu_BCMR_HysRng_C, localB, localDW);
      break;

     case BCMR_DChrgTiRem_IN_ParaStep12:
      BCMR_DChrgTiRem_ParaStep12(rtu_BattTemp, rtu_BCMR_BattPara_A,
        rtu_BCMR_ParaStep_A, rtu_BCMR_HysRng_C, localB, localDW);
      break;

     case BCMR_DChrgTiRem_IN_ParaStep13:
      BCMR_DChrgTiRem_ParaStep13(rtu_BattTemp, rtu_BCMR_BattPara_A,
        rtu_BCMR_ParaStep_A, rtu_BCMR_HysRng_C, localB, localDW);
      break;

     case BCMR_DChrgTiRem_IN_ParaStep14:
      BCMR_DChrgTiRem_ParaStep14(rtu_BattTemp, rtu_BCMR_BattPara_A,
        rtu_BCMR_ParaStep_A, rtu_BCMR_HysRng_C, localB, localDW);
      break;

     case BCMR_DChrgTiRem_IN_ParaStep15:
      BCMR_DChrgTiRem_ParaStep15(rtu_BattTemp, rtu_BCMR_BattPara_A,
        rtu_BCMR_ParaStep_A, rtu_BCMR_HysRng_C, localB, localDW);
      break;

     case BCMR_DChrgTiRem_IN_ParaStep16:
      BCMR_DChrgTiRem_ParaStep16(rtu_BattTemp, rtu_BCMR_BattPara_A,
        rtu_BCMR_ParaStep_A, rtu_BCMR_HysRng_C, localB, localDW);
      break;

     case BCMR_DChrgTiRem_IN_ParaStep2:
      if (rtu_BattTemp > rtu_BCMR_BattPara_A[1]) {
        localDW->is_c3_BCMR_DChrgTiRem = BCMR_DChrgTiRem_IN_ParaStep3;
        localB->ParaStep = rtu_BCMR_ParaStep_A[1];
      } else {
        if (rtu_BattTemp < rtu_BCMR_BattPara_A[0]) {
          localDW->is_c3_BCMR_DChrgTiRem = BCMR_DChrgTiRem_IN_ParaStep1;
          localB->ParaStep = rtu_BCMR_ParaStep_A[0];
        }
      }
      break;

     case BCMR_DChrgTiRem_IN_ParaStep3:
      if (rtu_BattTemp > rtu_BCMR_BattPara_A[2]) {
        localDW->is_c3_BCMR_DChrgTiRem = BCMR_DChrgTiRem_IN_ParaStep4;
        localB->ParaStep = rtu_BCMR_ParaStep_A[2];
      } else {
        if (rtu_BattTemp < rtu_BCMR_BattPara_A[1] - rtu_BCMR_HysRng_C) {
          if (rtu_BattTemp < rtu_BCMR_BattPara_A[0]) {
            localDW->is_c3_BCMR_DChrgTiRem = BCMR_DChrgTiRem_IN_ParaStep1;
            localB->ParaStep = rtu_BCMR_ParaStep_A[0];
          } else {
            localDW->is_c3_BCMR_DChrgTiRem = BCMR_DChrgTiRem_IN_ParaStep2;
            localB->ParaStep = rtu_BCMR_ParaStep_A[0];
          }
        }
      }
      break;

     case BCMR_DChrgTiRem_IN_ParaStep4:
      if (rtu_BattTemp > rtu_BCMR_BattPara_A[3]) {
        localDW->is_c3_BCMR_DChrgTiRem = BCMR_DChrgTiRem_IN_ParaStep5;
        localB->ParaStep = rtu_BCMR_ParaStep_A[3];
      } else {
        if (rtu_BattTemp < rtu_BCMR_BattPara_A[2] - rtu_BCMR_HysRng_C) {
          if (rtu_BattTemp < rtu_BCMR_BattPara_A[1] - rtu_BCMR_HysRng_C) {
            if (rtu_BattTemp < rtu_BCMR_BattPara_A[0]) {
              localDW->is_c3_BCMR_DChrgTiRem = BCMR_DChrgTiRem_IN_ParaStep1;
              localB->ParaStep = rtu_BCMR_ParaStep_A[0];
            } else {
              localDW->is_c3_BCMR_DChrgTiRem = BCMR_DChrgTiRem_IN_ParaStep2;
              localB->ParaStep = rtu_BCMR_ParaStep_A[0];
            }
          } else {
            localDW->is_c3_BCMR_DChrgTiRem = BCMR_DChrgTiRem_IN_ParaStep3;
            localB->ParaStep = rtu_BCMR_ParaStep_A[1];
          }
        }
      }
      break;

     case BCMR_DChrgTiRem_IN_ParaStep5:
      if (rtu_BattTemp > rtu_BCMR_BattPara_A[4]) {
        localDW->is_c3_BCMR_DChrgTiRem = BCMR_DChrgTiRem_IN_ParaStep6;
        localB->ParaStep = rtu_BCMR_ParaStep_A[4];
      } else {
        if (rtu_BattTemp < rtu_BCMR_BattPara_A[3] - rtu_BCMR_HysRng_C) {
          if (rtu_BattTemp < rtu_BCMR_BattPara_A[2] - rtu_BCMR_HysRng_C) {
            if (rtu_BattTemp < rtu_BCMR_BattPara_A[1] - rtu_BCMR_HysRng_C) {
              if (rtu_BattTemp < rtu_BCMR_BattPara_A[0]) {
                guard1 = true;
              } else {
                guard5 = true;
              }
            } else if (rtu_BattTemp < rtu_BCMR_BattPara_A[1] - rtu_BCMR_HysRng_C)
            {
              guard5 = true;
            } else {
              localDW->is_c3_BCMR_DChrgTiRem = BCMR_DChrgTiRem_IN_ParaStep3;
              localB->ParaStep = rtu_BCMR_ParaStep_A[1];
            }
          } else {
            localDW->is_c3_BCMR_DChrgTiRem = BCMR_DChrgTiRem_IN_ParaStep4;
            localB->ParaStep = rtu_BCMR_ParaStep_A[2];
          }
        }
      }
      break;

     case BCMR_DChrgTiRem_IN_ParaStep6:
      if (rtu_BattTemp >= rtu_BCMR_BattPara_A[5]) {
        localDW->is_c3_BCMR_DChrgTiRem = BCMR_DChrgTiRem_IN_ParaStep7;
        localB->ParaStep = rtu_BCMR_ParaStep_A[5];
      } else {
        if (rtu_BattTemp < rtu_BCMR_BattPara_A[4] - rtu_BCMR_HysRng_C) {
          if (rtu_BattTemp < rtu_BCMR_BattPara_A[3] - rtu_BCMR_HysRng_C) {
            if (rtu_BattTemp < rtu_BCMR_BattPara_A[2] - rtu_BCMR_HysRng_C) {
              if (rtu_BattTemp < rtu_BCMR_BattPara_A[1] - rtu_BCMR_HysRng_C) {
                if (rtu_BattTemp < rtu_BCMR_BattPara_A[0]) {
                  guard2 = true;
                } else {
                  guard9 = true;
                }
              } else {
                guard12 = true;
              }
            } else if (rtu_BattTemp < rtu_BCMR_BattPara_A[2] - rtu_BCMR_HysRng_C)
            {
              guard12 = true;
            } else {
              localDW->is_c3_BCMR_DChrgTiRem = BCMR_DChrgTiRem_IN_ParaStep4;
              localB->ParaStep = rtu_BCMR_ParaStep_A[2];
            }
          } else {
            localDW->is_c3_BCMR_DChrgTiRem = BCMR_DChrgTiRem_IN_ParaStep5;
            localB->ParaStep = rtu_BCMR_ParaStep_A[3];
          }
        }
      }
      break;

     case BCMR_DChrgTiRem_IN_ParaStep7:
      if (rtu_BattTemp >= rtu_BCMR_BattPara_A[6]) {
        localDW->is_c3_BCMR_DChrgTiRem = BCMR_DChrgTiRem_IN_ParaStep8;
        localB->ParaStep = rtu_BCMR_ParaStep_A[6];
      } else {
        if (rtu_BattTemp < rtu_BCMR_BattPara_A[5] - rtu_BCMR_HysRng_C) {
          if (rtu_BattTemp < rtu_BCMR_BattPara_A[4] - rtu_BCMR_HysRng_C) {
            if (rtu_BattTemp < rtu_BCMR_BattPara_A[3] - rtu_BCMR_HysRng_C) {
              if (rtu_BattTemp < rtu_BCMR_BattPara_A[2] - rtu_BCMR_HysRng_C) {
                if (rtu_BattTemp < rtu_BCMR_BattPara_A[1] - rtu_BCMR_HysRng_C) {
                  if (rtu_BattTemp < rtu_BCMR_BattPara_A[0]) {
                    guard3 = true;
                  } else {
                    guard13 = true;
                  }
                } else {
                  guard17 = true;
                }
              } else {
                guard20 = true;
              }
            } else if (rtu_BattTemp < rtu_BCMR_BattPara_A[3] - rtu_BCMR_HysRng_C)
            {
              guard20 = true;
            } else {
              localDW->is_c3_BCMR_DChrgTiRem = BCMR_DChrgTiRem_IN_ParaStep5;
              localB->ParaStep = rtu_BCMR_ParaStep_A[3];
            }
          } else {
            localDW->is_c3_BCMR_DChrgTiRem = BCMR_DChrgTiRem_IN_ParaStep6;
            localB->ParaStep = rtu_BCMR_ParaStep_A[4];
          }
        }
      }
      break;

     case BCMR_DChrgTiRem_IN_ParaStep8:
      if (rtu_BattTemp >= rtu_BCMR_BattPara_A[7]) {
        localDW->is_c3_BCMR_DChrgTiRem = BCMR_DChrgTiRem_IN_ParaStep9;
        localB->ParaStep = rtu_BCMR_ParaStep_A[7];
      } else {
        if (rtu_BattTemp < rtu_BCMR_BattPara_A[6] - rtu_BCMR_HysRng_C) {
          if (rtu_BattTemp < rtu_BCMR_BattPara_A[5] - rtu_BCMR_HysRng_C) {
            if (rtu_BattTemp < rtu_BCMR_BattPara_A[4] - rtu_BCMR_HysRng_C) {
              if (rtu_BattTemp < rtu_BCMR_BattPara_A[3] - rtu_BCMR_HysRng_C) {
                if (rtu_BattTemp < rtu_BCMR_BattPara_A[2] - rtu_BCMR_HysRng_C) {
                  if (rtu_BattTemp < rtu_BCMR_BattPara_A[1] - rtu_BCMR_HysRng_C)
                  {
                    if (rtu_BattTemp < rtu_BCMR_BattPara_A[0]) {
                      guard4 = true;
                    } else {
                      guard18 = true;
                    }
                  } else {
                    guard21 = true;
                  }
                } else {
                  guard23 = true;
                }
              } else {
                guard24 = true;
              }
            } else if (rtu_BattTemp < rtu_BCMR_BattPara_A[4] - rtu_BCMR_HysRng_C)
            {
              guard24 = true;
            } else {
              localDW->is_c3_BCMR_DChrgTiRem = BCMR_DChrgTiRem_IN_ParaStep6;
              localB->ParaStep = rtu_BCMR_ParaStep_A[4];
            }
          } else {
            localDW->is_c3_BCMR_DChrgTiRem = BCMR_DChrgTiRem_IN_ParaStep7;
            localB->ParaStep = rtu_BCMR_ParaStep_A[5];
          }
        }
      }
      break;

     default:
      BCMR_DChrgTiRem_ParaStep9(rtu_BattTemp, rtu_BCMR_BattPara_A,
        rtu_BCMR_ParaStep_A, rtu_BCMR_HysRng_C, localB, localDW);
      break;
    }

    if (guard24) {
      if (rtu_BattTemp < rtu_BCMR_BattPara_A[3] - rtu_BCMR_HysRng_C) {
        guard23 = true;
      } else if (rtu_BattTemp < rtu_BCMR_BattPara_A[3] - rtu_BCMR_HysRng_C) {
        guard22 = true;
      } else {
        localDW->is_c3_BCMR_DChrgTiRem = BCMR_DChrgTiRem_IN_ParaStep5;
        localB->ParaStep = rtu_BCMR_ParaStep_A[3];
      }
    }

    if (guard23) {
      if (rtu_BattTemp < rtu_BCMR_BattPara_A[2] - rtu_BCMR_HysRng_C) {
        guard21 = true;
      } else {
        guard22 = true;
      }
    }

    if (guard22) {
      if (rtu_BattTemp < rtu_BCMR_BattPara_A[2] - rtu_BCMR_HysRng_C) {
        guard19 = true;
      } else if (rtu_BattTemp < rtu_BCMR_BattPara_A[2] - rtu_BCMR_HysRng_C) {
        guard16 = true;
      } else {
        localDW->is_c3_BCMR_DChrgTiRem = BCMR_DChrgTiRem_IN_ParaStep4;
        localB->ParaStep = rtu_BCMR_ParaStep_A[2];
      }
    }

    if (guard21) {
      if (rtu_BattTemp < rtu_BCMR_BattPara_A[1] - rtu_BCMR_HysRng_C) {
        guard18 = true;
      } else {
        guard19 = true;
      }
    }

    if (guard20) {
      if (rtu_BattTemp < rtu_BCMR_BattPara_A[2] - rtu_BCMR_HysRng_C) {
        guard17 = true;
      } else if (rtu_BattTemp < rtu_BCMR_BattPara_A[2] - rtu_BCMR_HysRng_C) {
        guard14 = true;
      } else {
        localDW->is_c3_BCMR_DChrgTiRem = BCMR_DChrgTiRem_IN_ParaStep4;
        localB->ParaStep = rtu_BCMR_ParaStep_A[2];
      }
    }

    if (guard19) {
      if (rtu_BattTemp < rtu_BCMR_BattPara_A[1] - rtu_BCMR_HysRng_C) {
        guard15 = true;
      } else {
        guard16 = true;
      }
    }

    if (guard18) {
      if (rtu_BattTemp < rtu_BCMR_BattPara_A[0]) {
        guard4 = true;
      } else {
        guard15 = true;
      }
    }

    if (guard17) {
      if (rtu_BattTemp < rtu_BCMR_BattPara_A[1] - rtu_BCMR_HysRng_C) {
        guard13 = true;
      } else {
        guard14 = true;
      }
    }

    if (guard16) {
      if (rtu_BattTemp < rtu_BCMR_BattPara_A[1] - rtu_BCMR_HysRng_C) {
        guard11 = true;
      } else if (rtu_BattTemp < rtu_BCMR_BattPara_A[1] - rtu_BCMR_HysRng_C) {
        guard8 = true;
      } else {
        localDW->is_c3_BCMR_DChrgTiRem = BCMR_DChrgTiRem_IN_ParaStep3;
        localB->ParaStep = rtu_BCMR_ParaStep_A[1];
      }
    }

    if (guard15) {
      if (rtu_BattTemp < rtu_BCMR_BattPara_A[0]) {
        guard4 = true;
      } else {
        guard11 = true;
      }
    }

    if (guard14) {
      if (rtu_BattTemp < rtu_BCMR_BattPara_A[1] - rtu_BCMR_HysRng_C) {
        guard10 = true;
      } else if (rtu_BattTemp < rtu_BCMR_BattPara_A[1] - rtu_BCMR_HysRng_C) {
        guard7 = true;
      } else {
        localDW->is_c3_BCMR_DChrgTiRem = BCMR_DChrgTiRem_IN_ParaStep3;
        localB->ParaStep = rtu_BCMR_ParaStep_A[1];
      }
    }

    if (guard13) {
      if (rtu_BattTemp < rtu_BCMR_BattPara_A[0]) {
        guard3 = true;
      } else {
        guard10 = true;
      }
    }

    if (guard12) {
      if (rtu_BattTemp < rtu_BCMR_BattPara_A[1] - rtu_BCMR_HysRng_C) {
        guard9 = true;
      } else if (rtu_BattTemp < rtu_BCMR_BattPara_A[1] - rtu_BCMR_HysRng_C) {
        guard6 = true;
      } else {
        localDW->is_c3_BCMR_DChrgTiRem = BCMR_DChrgTiRem_IN_ParaStep3;
        localB->ParaStep = rtu_BCMR_ParaStep_A[1];
      }
    }

    if (guard11) {
      if (rtu_BattTemp < rtu_BCMR_BattPara_A[0]) {
        guard4 = true;
      } else {
        guard8 = true;
      }
    }

    if (guard10) {
      if (rtu_BattTemp < rtu_BCMR_BattPara_A[0]) {
        guard3 = true;
      } else {
        guard7 = true;
      }
    }

    if (guard9) {
      if (rtu_BattTemp < rtu_BCMR_BattPara_A[0]) {
        guard2 = true;
      } else {
        guard6 = true;
      }
    }

    if (guard8) {
      if (rtu_BattTemp < rtu_BCMR_BattPara_A[0]) {
        guard4 = true;
      } else {
        localDW->is_c3_BCMR_DChrgTiRem = BCMR_DChrgTiRem_IN_ParaStep2;
        localB->ParaStep = rtu_BCMR_ParaStep_A[0];
      }
    }

    if (guard7) {
      if (rtu_BattTemp < rtu_BCMR_BattPara_A[0]) {
        guard3 = true;
      } else {
        localDW->is_c3_BCMR_DChrgTiRem = BCMR_DChrgTiRem_IN_ParaStep2;
        localB->ParaStep = rtu_BCMR_ParaStep_A[0];
      }
    }

    if (guard6) {
      if (rtu_BattTemp < rtu_BCMR_BattPara_A[0]) {
        guard2 = true;
      } else {
        localDW->is_c3_BCMR_DChrgTiRem = BCMR_DChrgTiRem_IN_ParaStep2;
        localB->ParaStep = rtu_BCMR_ParaStep_A[0];
      }
    }

    if (guard5) {
      if (rtu_BattTemp < rtu_BCMR_BattPara_A[0]) {
        guard1 = true;
      } else {
        localDW->is_c3_BCMR_DChrgTiRem = BCMR_DChrgTiRem_IN_ParaStep2;
        localB->ParaStep = rtu_BCMR_ParaStep_A[0];
      }
    }

    if (guard4) {
      localDW->is_c3_BCMR_DChrgTiRem = BCMR_DChrgTiRem_IN_ParaStep1;
      localB->ParaStep = rtu_BCMR_ParaStep_A[0];
    }

    if (guard3) {
      localDW->is_c3_BCMR_DChrgTiRem = BCMR_DChrgTiRem_IN_ParaStep1;
      localB->ParaStep = rtu_BCMR_ParaStep_A[0];
    }

    if (guard2) {
      localDW->is_c3_BCMR_DChrgTiRem = BCMR_DChrgTiRem_IN_ParaStep1;
      localB->ParaStep = rtu_BCMR_ParaStep_A[0];
    }

    if (guard1) {
      localDW->is_c3_BCMR_DChrgTiRem = BCMR_DChrgTiRem_IN_ParaStep1;
      localB->ParaStep = rtu_BCMR_ParaStep_A[0];
    }
  }
}

/* Function for Chart: '<S15>/ParaStep2' */
static void BCMR_DChrgTiRem_ParaStep9_p(real32_T rtu_BattTemp, const real32_T
  rtu_BCMR_BattPara_A[16], const uint8_T rtu_BCMR_ParaStep_A[16], real32_T
  rtu_BCMR_HysRng_C, B_ParaStep2_BCMR_DChrgTiRem_T *localB,
  DW_ParaStep2_BCMR_DChrgTiRem_T *localDW)
{
  boolean_T guard1 = false;
  boolean_T guard2 = false;
  boolean_T guard3 = false;
  boolean_T guard4 = false;
  boolean_T guard5 = false;
  boolean_T guard6 = false;
  boolean_T guard7 = false;
  boolean_T guard8 = false;
  boolean_T guard9 = false;
  boolean_T guard10 = false;
  boolean_T guard11 = false;
  boolean_T guard12 = false;
  boolean_T guard13 = false;
  boolean_T guard14 = false;
  boolean_T guard15 = false;
  boolean_T guard16 = false;
  if (rtu_BattTemp >= rtu_BCMR_BattPara_A[8]) {
    localDW->is_c2_BCMR_DChrgTiRem = BCMR_DChrgTiRem_IN_ParaStep10_g;
    localB->ParaStep = rtu_BCMR_ParaStep_A[9];
  } else {
    if (rtu_BattTemp < rtu_BCMR_BattPara_A[7] - rtu_BCMR_HysRng_C) {
      if (rtu_BattTemp < rtu_BCMR_BattPara_A[6] - rtu_BCMR_HysRng_C) {
        guard1 = false;
        guard2 = false;
        guard3 = false;
        guard4 = false;
        guard5 = false;
        guard6 = false;
        guard7 = false;
        guard8 = false;
        guard9 = false;
        guard10 = false;
        guard11 = false;
        guard12 = false;
        guard13 = false;
        guard14 = false;
        guard15 = false;
        guard16 = false;
        if (rtu_BattTemp < rtu_BCMR_BattPara_A[5] - rtu_BCMR_HysRng_C) {
          if (rtu_BattTemp < rtu_BCMR_BattPara_A[4] - rtu_BCMR_HysRng_C) {
            if (rtu_BattTemp < rtu_BCMR_BattPara_A[3] - rtu_BCMR_HysRng_C) {
              if (rtu_BattTemp < rtu_BCMR_BattPara_A[2] - rtu_BCMR_HysRng_C) {
                if (rtu_BattTemp < rtu_BCMR_BattPara_A[1] - rtu_BCMR_HysRng_C) {
                  if (rtu_BattTemp < rtu_BCMR_BattPara_A[0]) {
                    guard1 = true;
                  } else {
                    guard8 = true;
                  }
                } else {
                  guard11 = true;
                }
              } else {
                guard13 = true;
              }
            } else {
              guard15 = true;
            }
          } else {
            guard16 = true;
          }
        } else if (rtu_BattTemp < rtu_BCMR_BattPara_A[5] - rtu_BCMR_HysRng_C) {
          guard16 = true;
        } else {
          localDW->is_c2_BCMR_DChrgTiRem = BCMR_DChrgTiRem_IN_ParaStep7_a;
          localB->ParaStep = rtu_BCMR_ParaStep_A[6];
        }

        if (guard16) {
          if (rtu_BattTemp < rtu_BCMR_BattPara_A[4] - rtu_BCMR_HysRng_C) {
            guard15 = true;
          } else if (rtu_BattTemp < rtu_BCMR_BattPara_A[4] - rtu_BCMR_HysRng_C)
          {
            guard14 = true;
          } else {
            localDW->is_c2_BCMR_DChrgTiRem = BCMR_DChrgTiRem_IN_ParaStep6_o;
            localB->ParaStep = rtu_BCMR_ParaStep_A[5];
          }
        }

        if (guard15) {
          if (rtu_BattTemp < rtu_BCMR_BattPara_A[3] - rtu_BCMR_HysRng_C) {
            guard13 = true;
          } else {
            guard14 = true;
          }
        }

        if (guard14) {
          if (rtu_BattTemp < rtu_BCMR_BattPara_A[3] - rtu_BCMR_HysRng_C) {
            guard12 = true;
          } else if (rtu_BattTemp < rtu_BCMR_BattPara_A[3] - rtu_BCMR_HysRng_C)
          {
            guard10 = true;
          } else {
            localDW->is_c2_BCMR_DChrgTiRem = BCMR_DChrgTiRem_IN_ParaStep5_f;
            localB->ParaStep = rtu_BCMR_ParaStep_A[4];
          }
        }

        if (guard13) {
          if (rtu_BattTemp < rtu_BCMR_BattPara_A[2] - rtu_BCMR_HysRng_C) {
            guard11 = true;
          } else {
            guard12 = true;
          }
        }

        if (guard12) {
          if (rtu_BattTemp < rtu_BCMR_BattPara_A[2] - rtu_BCMR_HysRng_C) {
            guard9 = true;
          } else {
            guard10 = true;
          }
        }

        if (guard11) {
          if (rtu_BattTemp < rtu_BCMR_BattPara_A[1] - rtu_BCMR_HysRng_C) {
            guard8 = true;
          } else {
            guard9 = true;
          }
        }

        if (guard10) {
          if (rtu_BattTemp < rtu_BCMR_BattPara_A[2] - rtu_BCMR_HysRng_C) {
            guard7 = true;
          } else if (rtu_BattTemp < rtu_BCMR_BattPara_A[2] - rtu_BCMR_HysRng_C)
          {
            guard5 = true;
          } else {
            localDW->is_c2_BCMR_DChrgTiRem = BCMR_DChrgTiRem_IN_ParaStep4_k;
            localB->ParaStep = rtu_BCMR_ParaStep_A[3];
          }
        }

        if (guard9) {
          if (rtu_BattTemp < rtu_BCMR_BattPara_A[1] - rtu_BCMR_HysRng_C) {
            guard6 = true;
          } else {
            guard7 = true;
          }
        }

        if (guard8) {
          if (rtu_BattTemp < rtu_BCMR_BattPara_A[0]) {
            guard1 = true;
          } else {
            guard6 = true;
          }
        }

        if (guard7) {
          if (rtu_BattTemp < rtu_BCMR_BattPara_A[1] - rtu_BCMR_HysRng_C) {
            guard4 = true;
          } else {
            guard5 = true;
          }
        }

        if (guard6) {
          if (rtu_BattTemp < rtu_BCMR_BattPara_A[0]) {
            guard1 = true;
          } else {
            guard4 = true;
          }
        }

        if (guard5) {
          if (rtu_BattTemp < rtu_BCMR_BattPara_A[1] - rtu_BCMR_HysRng_C) {
            guard3 = true;
          } else if (rtu_BattTemp < rtu_BCMR_BattPara_A[1] - rtu_BCMR_HysRng_C)
          {
            guard2 = true;
          } else {
            localDW->is_c2_BCMR_DChrgTiRem = BCMR_DChrgTiRem_IN_ParaStep3_e;
            localB->ParaStep = rtu_BCMR_ParaStep_A[2];
          }
        }

        if (guard4) {
          if (rtu_BattTemp < rtu_BCMR_BattPara_A[0]) {
            guard1 = true;
          } else {
            guard3 = true;
          }
        }

        if (guard3) {
          if (rtu_BattTemp < rtu_BCMR_BattPara_A[0]) {
            guard1 = true;
          } else {
            guard2 = true;
          }
        }

        if (guard2) {
          if (rtu_BattTemp < rtu_BCMR_BattPara_A[0]) {
            guard1 = true;
          } else {
            localDW->is_c2_BCMR_DChrgTiRem = BCMR_DChrgTiRem_IN_ParaStep2_k;
            localB->ParaStep = rtu_BCMR_ParaStep_A[1];
          }
        }

        if (guard1) {
          localDW->is_c2_BCMR_DChrgTiRem = BCMR_DChrgTiRem_IN_ParaStep1_f;
          localB->ParaStep = rtu_BCMR_ParaStep_A[0];
        }
      } else {
        localDW->is_c2_BCMR_DChrgTiRem = BCMR_DChrgTiRem_IN_ParaStep8_b;
        localB->ParaStep = rtu_BCMR_ParaStep_A[7];
      }
    }
  }
}

/* Function for Chart: '<S15>/ParaStep2' */
static void BCMR_DChrgTiRem_Init_m(real32_T rtu_BattTemp, const real32_T
  rtu_BCMR_BattPara_A[16], const uint8_T rtu_BCMR_ParaStep_A[16],
  B_ParaStep2_BCMR_DChrgTiRem_T *localB, DW_ParaStep2_BCMR_DChrgTiRem_T *localDW)
{
  if (rtu_BattTemp < rtu_BCMR_BattPara_A[0]) {
    localDW->is_c2_BCMR_DChrgTiRem = BCMR_DChrgTiRem_IN_ParaStep1_f;
    localB->ParaStep = rtu_BCMR_ParaStep_A[0];
  } else {
    if (rtu_BattTemp >= rtu_BCMR_BattPara_A[0]) {
      if (rtu_BattTemp >= rtu_BCMR_BattPara_A[1]) {
        if (rtu_BattTemp >= rtu_BCMR_BattPara_A[2]) {
          if (rtu_BattTemp >= rtu_BCMR_BattPara_A[3]) {
            if (rtu_BattTemp >= rtu_BCMR_BattPara_A[4]) {
              if (rtu_BattTemp >= rtu_BCMR_BattPara_A[5]) {
                if (rtu_BattTemp >= rtu_BCMR_BattPara_A[6]) {
                  if (rtu_BattTemp >= rtu_BCMR_BattPara_A[7]) {
                    if (rtu_BattTemp >= rtu_BCMR_BattPara_A[8]) {
                      if (rtu_BattTemp >= rtu_BCMR_BattPara_A[9]) {
                        if (rtu_BattTemp >= rtu_BCMR_BattPara_A[10]) {
                          if (rtu_BattTemp >= rtu_BCMR_BattPara_A[11]) {
                            if (rtu_BattTemp >= rtu_BCMR_BattPara_A[12]) {
                              if (rtu_BattTemp >= rtu_BCMR_BattPara_A[13]) {
                                if (rtu_BattTemp >= rtu_BCMR_BattPara_A[14]) {
                                  localDW->is_c2_BCMR_DChrgTiRem =
                                    BCMR_DChrgTiRem_IN_ParaStep16_p;
                                  localB->ParaStep = rtu_BCMR_ParaStep_A[15];
                                } else {
                                  localDW->is_c2_BCMR_DChrgTiRem =
                                    BCMR_DChrgTiRem_IN_ParaStep15_a;
                                  localB->ParaStep = rtu_BCMR_ParaStep_A[14];
                                }
                              } else {
                                localDW->is_c2_BCMR_DChrgTiRem =
                                  BCMR_DChrgTiRem_IN_ParaStep14_d;
                                localB->ParaStep = rtu_BCMR_ParaStep_A[13];
                              }
                            } else {
                              localDW->is_c2_BCMR_DChrgTiRem =
                                BCMR_DChrgTiRem_IN_ParaStep13_b;
                              localB->ParaStep = rtu_BCMR_ParaStep_A[12];
                            }
                          } else {
                            localDW->is_c2_BCMR_DChrgTiRem =
                              BCMR_DChrgTiRem_IN_ParaStep12_d;
                            localB->ParaStep = rtu_BCMR_ParaStep_A[11];
                          }
                        } else {
                          localDW->is_c2_BCMR_DChrgTiRem =
                            BCMR_DChrgTiRem_IN_ParaStep11_h;
                          localB->ParaStep = rtu_BCMR_ParaStep_A[10];
                        }
                      } else {
                        localDW->is_c2_BCMR_DChrgTiRem =
                          BCMR_DChrgTiRem_IN_ParaStep10_g;
                        localB->ParaStep = rtu_BCMR_ParaStep_A[9];
                      }
                    } else {
                      localDW->is_c2_BCMR_DChrgTiRem =
                        BCMR_DChrgTiRem_IN_ParaStep9_l;
                      localB->ParaStep = rtu_BCMR_ParaStep_A[8];
                    }
                  } else {
                    localDW->is_c2_BCMR_DChrgTiRem =
                      BCMR_DChrgTiRem_IN_ParaStep8_b;
                    localB->ParaStep = rtu_BCMR_ParaStep_A[7];
                  }
                } else {
                  localDW->is_c2_BCMR_DChrgTiRem =
                    BCMR_DChrgTiRem_IN_ParaStep7_a;
                  localB->ParaStep = rtu_BCMR_ParaStep_A[6];
                }
              } else {
                localDW->is_c2_BCMR_DChrgTiRem = BCMR_DChrgTiRem_IN_ParaStep6_o;
                localB->ParaStep = rtu_BCMR_ParaStep_A[5];
              }
            } else {
              localDW->is_c2_BCMR_DChrgTiRem = BCMR_DChrgTiRem_IN_ParaStep5_f;
              localB->ParaStep = rtu_BCMR_ParaStep_A[4];
            }
          } else {
            localDW->is_c2_BCMR_DChrgTiRem = BCMR_DChrgTiRem_IN_ParaStep4_k;
            localB->ParaStep = rtu_BCMR_ParaStep_A[3];
          }
        } else {
          localDW->is_c2_BCMR_DChrgTiRem = BCMR_DChrgTiRem_IN_ParaStep3_e;
          localB->ParaStep = rtu_BCMR_ParaStep_A[2];
        }
      } else {
        localDW->is_c2_BCMR_DChrgTiRem = BCMR_DChrgTiRem_IN_ParaStep2_k;
        localB->ParaStep = rtu_BCMR_ParaStep_A[1];
      }
    }
  }
}

/* Function for Chart: '<S15>/ParaStep2' */
static void BCMR_DChrgTiRem_ParaStep10_k(real32_T rtu_BattTemp, const real32_T
  rtu_BCMR_BattPara_A[16], const uint8_T rtu_BCMR_ParaStep_A[16], real32_T
  rtu_BCMR_HysRng_C, B_ParaStep2_BCMR_DChrgTiRem_T *localB,
  DW_ParaStep2_BCMR_DChrgTiRem_T *localDW)
{
  boolean_T guard1 = false;
  boolean_T guard2 = false;
  boolean_T guard3 = false;
  boolean_T guard4 = false;
  boolean_T guard5 = false;
  boolean_T guard6 = false;
  boolean_T guard7 = false;
  boolean_T guard8 = false;
  boolean_T guard9 = false;
  boolean_T guard10 = false;
  boolean_T guard11 = false;
  boolean_T guard12 = false;
  boolean_T guard13 = false;
  boolean_T guard14 = false;
  boolean_T guard15 = false;
  boolean_T guard16 = false;
  boolean_T guard17 = false;
  boolean_T guard18 = false;
  boolean_T guard19 = false;
  boolean_T guard20 = false;
  boolean_T guard21 = false;
  boolean_T guard22 = false;
  if (rtu_BattTemp >= rtu_BCMR_BattPara_A[9]) {
    localDW->is_c2_BCMR_DChrgTiRem = BCMR_DChrgTiRem_IN_ParaStep11_h;
    localB->ParaStep = rtu_BCMR_ParaStep_A[10];
  } else {
    if (rtu_BattTemp < rtu_BCMR_BattPara_A[8] - rtu_BCMR_HysRng_C) {
      if (rtu_BattTemp < rtu_BCMR_BattPara_A[7] - rtu_BCMR_HysRng_C) {
        guard1 = false;
        guard2 = false;
        guard3 = false;
        guard4 = false;
        guard5 = false;
        guard6 = false;
        guard7 = false;
        guard8 = false;
        guard9 = false;
        guard10 = false;
        guard11 = false;
        guard12 = false;
        guard13 = false;
        guard14 = false;
        guard15 = false;
        guard16 = false;
        guard17 = false;
        guard18 = false;
        guard19 = false;
        guard20 = false;
        guard21 = false;
        guard22 = false;
        if (rtu_BattTemp < rtu_BCMR_BattPara_A[6] - rtu_BCMR_HysRng_C) {
          if (rtu_BattTemp < rtu_BCMR_BattPara_A[5] - rtu_BCMR_HysRng_C) {
            if (rtu_BattTemp < rtu_BCMR_BattPara_A[4] - rtu_BCMR_HysRng_C) {
              if (rtu_BattTemp < rtu_BCMR_BattPara_A[3] - rtu_BCMR_HysRng_C) {
                if (rtu_BattTemp < rtu_BCMR_BattPara_A[2] - rtu_BCMR_HysRng_C) {
                  if (rtu_BattTemp < rtu_BCMR_BattPara_A[1] - rtu_BCMR_HysRng_C)
                  {
                    if (rtu_BattTemp < rtu_BCMR_BattPara_A[0]) {
                      guard1 = true;
                    } else {
                      guard11 = true;
                    }
                  } else {
                    guard14 = true;
                  }
                } else {
                  guard17 = true;
                }
              } else {
                guard19 = true;
              }
            } else {
              guard21 = true;
            }
          } else {
            guard22 = true;
          }
        } else if (rtu_BattTemp < rtu_BCMR_BattPara_A[6] - rtu_BCMR_HysRng_C) {
          guard22 = true;
        } else {
          localDW->is_c2_BCMR_DChrgTiRem = BCMR_DChrgTiRem_IN_ParaStep8_b;
          localB->ParaStep = rtu_BCMR_ParaStep_A[7];
        }

        if (guard22) {
          if (rtu_BattTemp < rtu_BCMR_BattPara_A[5] - rtu_BCMR_HysRng_C) {
            guard21 = true;
          } else if (rtu_BattTemp < rtu_BCMR_BattPara_A[5] - rtu_BCMR_HysRng_C)
          {
            guard20 = true;
          } else {
            localDW->is_c2_BCMR_DChrgTiRem = BCMR_DChrgTiRem_IN_ParaStep7_a;
            localB->ParaStep = rtu_BCMR_ParaStep_A[6];
          }
        }

        if (guard21) {
          if (rtu_BattTemp < rtu_BCMR_BattPara_A[4] - rtu_BCMR_HysRng_C) {
            guard19 = true;
          } else {
            guard20 = true;
          }
        }

        if (guard20) {
          if (rtu_BattTemp < rtu_BCMR_BattPara_A[4] - rtu_BCMR_HysRng_C) {
            guard18 = true;
          } else if (rtu_BattTemp < rtu_BCMR_BattPara_A[4] - rtu_BCMR_HysRng_C)
          {
            guard16 = true;
          } else {
            localDW->is_c2_BCMR_DChrgTiRem = BCMR_DChrgTiRem_IN_ParaStep6_o;
            localB->ParaStep = rtu_BCMR_ParaStep_A[5];
          }
        }

        if (guard19) {
          if (rtu_BattTemp < rtu_BCMR_BattPara_A[3] - rtu_BCMR_HysRng_C) {
            guard17 = true;
          } else {
            guard18 = true;
          }
        }

        if (guard18) {
          if (rtu_BattTemp < rtu_BCMR_BattPara_A[3] - rtu_BCMR_HysRng_C) {
            guard15 = true;
          } else {
            guard16 = true;
          }
        }

        if (guard17) {
          if (rtu_BattTemp < rtu_BCMR_BattPara_A[2] - rtu_BCMR_HysRng_C) {
            guard14 = true;
          } else {
            guard15 = true;
          }
        }

        if (guard16) {
          if (rtu_BattTemp < rtu_BCMR_BattPara_A[3] - rtu_BCMR_HysRng_C) {
            guard13 = true;
          } else if (rtu_BattTemp < rtu_BCMR_BattPara_A[3] - rtu_BCMR_HysRng_C)
          {
            guard10 = true;
          } else {
            localDW->is_c2_BCMR_DChrgTiRem = BCMR_DChrgTiRem_IN_ParaStep5_f;
            localB->ParaStep = rtu_BCMR_ParaStep_A[4];
          }
        }

        if (guard15) {
          if (rtu_BattTemp < rtu_BCMR_BattPara_A[2] - rtu_BCMR_HysRng_C) {
            guard12 = true;
          } else {
            guard13 = true;
          }
        }

        if (guard14) {
          if (rtu_BattTemp < rtu_BCMR_BattPara_A[1] - rtu_BCMR_HysRng_C) {
            guard11 = true;
          } else {
            guard12 = true;
          }
        }

        if (guard13) {
          if (rtu_BattTemp < rtu_BCMR_BattPara_A[2] - rtu_BCMR_HysRng_C) {
            guard9 = true;
          } else {
            guard10 = true;
          }
        }

        if (guard12) {
          if (rtu_BattTemp < rtu_BCMR_BattPara_A[1] - rtu_BCMR_HysRng_C) {
            guard8 = true;
          } else {
            guard9 = true;
          }
        }

        if (guard11) {
          if (rtu_BattTemp < rtu_BCMR_BattPara_A[0]) {
            guard1 = true;
          } else {
            guard8 = true;
          }
        }

        if (guard10) {
          if (rtu_BattTemp < rtu_BCMR_BattPara_A[2] - rtu_BCMR_HysRng_C) {
            guard7 = true;
          } else if (rtu_BattTemp < rtu_BCMR_BattPara_A[2] - rtu_BCMR_HysRng_C)
          {
            guard5 = true;
          } else {
            localDW->is_c2_BCMR_DChrgTiRem = BCMR_DChrgTiRem_IN_ParaStep4_k;
            localB->ParaStep = rtu_BCMR_ParaStep_A[3];
          }
        }

        if (guard9) {
          if (rtu_BattTemp < rtu_BCMR_BattPara_A[1] - rtu_BCMR_HysRng_C) {
            guard6 = true;
          } else {
            guard7 = true;
          }
        }

        if (guard8) {
          if (rtu_BattTemp < rtu_BCMR_BattPara_A[0]) {
            guard1 = true;
          } else {
            guard6 = true;
          }
        }

        if (guard7) {
          if (rtu_BattTemp < rtu_BCMR_BattPara_A[1] - rtu_BCMR_HysRng_C) {
            guard4 = true;
          } else {
            guard5 = true;
          }
        }

        if (guard6) {
          if (rtu_BattTemp < rtu_BCMR_BattPara_A[0]) {
            guard1 = true;
          } else {
            guard4 = true;
          }
        }

        if (guard5) {
          if (rtu_BattTemp < rtu_BCMR_BattPara_A[1] - rtu_BCMR_HysRng_C) {
            guard3 = true;
          } else if (rtu_BattTemp < rtu_BCMR_BattPara_A[1] - rtu_BCMR_HysRng_C)
          {
            guard2 = true;
          } else {
            localDW->is_c2_BCMR_DChrgTiRem = BCMR_DChrgTiRem_IN_ParaStep3_e;
            localB->ParaStep = rtu_BCMR_ParaStep_A[2];
          }
        }

        if (guard4) {
          if (rtu_BattTemp < rtu_BCMR_BattPara_A[0]) {
            guard1 = true;
          } else {
            guard3 = true;
          }
        }

        if (guard3) {
          if (rtu_BattTemp < rtu_BCMR_BattPara_A[0]) {
            guard1 = true;
          } else {
            guard2 = true;
          }
        }

        if (guard2) {
          if (rtu_BattTemp < rtu_BCMR_BattPara_A[0]) {
            guard1 = true;
          } else {
            localDW->is_c2_BCMR_DChrgTiRem = BCMR_DChrgTiRem_IN_ParaStep2_k;
            localB->ParaStep = rtu_BCMR_ParaStep_A[1];
          }
        }

        if (guard1) {
          localDW->is_c2_BCMR_DChrgTiRem = BCMR_DChrgTiRem_IN_ParaStep1_f;
          localB->ParaStep = rtu_BCMR_ParaStep_A[0];
        }
      } else {
        localDW->is_c2_BCMR_DChrgTiRem = BCMR_DChrgTiRem_IN_ParaStep9_l;
        localB->ParaStep = rtu_BCMR_ParaStep_A[8];
      }
    }
  }
}

/* Function for Chart: '<S15>/ParaStep2' */
static void BCMR_DChrgTiRem_ParaStep11_n(real32_T rtu_BattTemp, const real32_T
  rtu_BCMR_BattPara_A[16], const uint8_T rtu_BCMR_ParaStep_A[16], real32_T
  rtu_BCMR_HysRng_C, B_ParaStep2_BCMR_DChrgTiRem_T *localB,
  DW_ParaStep2_BCMR_DChrgTiRem_T *localDW)
{
  boolean_T guard1 = false;
  boolean_T guard2 = false;
  boolean_T guard3 = false;
  boolean_T guard4 = false;
  boolean_T guard5 = false;
  boolean_T guard6 = false;
  boolean_T guard7 = false;
  boolean_T guard8 = false;
  boolean_T guard9 = false;
  boolean_T guard10 = false;
  boolean_T guard11 = false;
  boolean_T guard12 = false;
  boolean_T guard13 = false;
  boolean_T guard14 = false;
  boolean_T guard15 = false;
  boolean_T guard16 = false;
  boolean_T guard17 = false;
  boolean_T guard18 = false;
  boolean_T guard19 = false;
  boolean_T guard20 = false;
  boolean_T guard21 = false;
  boolean_T guard22 = false;
  boolean_T guard23 = false;
  boolean_T guard24 = false;
  boolean_T guard25 = false;
  boolean_T guard26 = false;
  boolean_T guard27 = false;
  boolean_T guard28 = false;
  boolean_T guard29 = false;
  if (rtu_BattTemp >= rtu_BCMR_BattPara_A[10]) {
    localDW->is_c2_BCMR_DChrgTiRem = BCMR_DChrgTiRem_IN_ParaStep12_d;
    localB->ParaStep = rtu_BCMR_ParaStep_A[11];
  } else {
    if (rtu_BattTemp < rtu_BCMR_BattPara_A[9] - rtu_BCMR_HysRng_C) {
      if (rtu_BattTemp < rtu_BCMR_BattPara_A[8] - rtu_BCMR_HysRng_C) {
        guard1 = false;
        guard2 = false;
        guard3 = false;
        guard4 = false;
        guard5 = false;
        guard6 = false;
        guard7 = false;
        guard8 = false;
        guard9 = false;
        guard10 = false;
        guard11 = false;
        guard12 = false;
        guard13 = false;
        guard14 = false;
        guard15 = false;
        guard16 = false;
        guard17 = false;
        guard18 = false;
        guard19 = false;
        guard20 = false;
        guard21 = false;
        guard22 = false;
        guard23 = false;
        guard24 = false;
        guard25 = false;
        guard26 = false;
        guard27 = false;
        guard28 = false;
        guard29 = false;
        if (rtu_BattTemp < rtu_BCMR_BattPara_A[7] - rtu_BCMR_HysRng_C) {
          if (rtu_BattTemp < rtu_BCMR_BattPara_A[6] - rtu_BCMR_HysRng_C) {
            if (rtu_BattTemp < rtu_BCMR_BattPara_A[5] - rtu_BCMR_HysRng_C) {
              if (rtu_BattTemp < rtu_BCMR_BattPara_A[4] - rtu_BCMR_HysRng_C) {
                if (rtu_BattTemp < rtu_BCMR_BattPara_A[3] - rtu_BCMR_HysRng_C) {
                  if (rtu_BattTemp < rtu_BCMR_BattPara_A[2] - rtu_BCMR_HysRng_C)
                  {
                    if (rtu_BattTemp < rtu_BCMR_BattPara_A[1] -
                        rtu_BCMR_HysRng_C) {
                      if (rtu_BattTemp < rtu_BCMR_BattPara_A[0]) {
                        guard1 = true;
                      } else {
                        guard14 = true;
                      }
                    } else {
                      guard18 = true;
                    }
                  } else {
                    guard21 = true;
                  }
                } else {
                  guard24 = true;
                }
              } else {
                guard26 = true;
              }
            } else {
              guard28 = true;
            }
          } else {
            guard29 = true;
          }
        } else if (rtu_BattTemp < rtu_BCMR_BattPara_A[7] - rtu_BCMR_HysRng_C) {
          guard29 = true;
        } else {
          localDW->is_c2_BCMR_DChrgTiRem = BCMR_DChrgTiRem_IN_ParaStep9_l;
          localB->ParaStep = rtu_BCMR_ParaStep_A[8];
        }

        if (guard29) {
          if (rtu_BattTemp < rtu_BCMR_BattPara_A[6] - rtu_BCMR_HysRng_C) {
            guard28 = true;
          } else if (rtu_BattTemp < rtu_BCMR_BattPara_A[6] - rtu_BCMR_HysRng_C)
          {
            guard27 = true;
          } else {
            localDW->is_c2_BCMR_DChrgTiRem = BCMR_DChrgTiRem_IN_ParaStep8_b;
            localB->ParaStep = rtu_BCMR_ParaStep_A[7];
          }
        }

        if (guard28) {
          if (rtu_BattTemp < rtu_BCMR_BattPara_A[5] - rtu_BCMR_HysRng_C) {
            guard26 = true;
          } else {
            guard27 = true;
          }
        }

        if (guard27) {
          if (rtu_BattTemp < rtu_BCMR_BattPara_A[5] - rtu_BCMR_HysRng_C) {
            guard25 = true;
          } else if (rtu_BattTemp < rtu_BCMR_BattPara_A[5] - rtu_BCMR_HysRng_C)
          {
            guard23 = true;
          } else {
            localDW->is_c2_BCMR_DChrgTiRem = BCMR_DChrgTiRem_IN_ParaStep7_a;
            localB->ParaStep = rtu_BCMR_ParaStep_A[6];
          }
        }

        if (guard26) {
          if (rtu_BattTemp < rtu_BCMR_BattPara_A[4] - rtu_BCMR_HysRng_C) {
            guard24 = true;
          } else {
            guard25 = true;
          }
        }

        if (guard25) {
          if (rtu_BattTemp < rtu_BCMR_BattPara_A[4] - rtu_BCMR_HysRng_C) {
            guard22 = true;
          } else {
            guard23 = true;
          }
        }

        if (guard24) {
          if (rtu_BattTemp < rtu_BCMR_BattPara_A[3] - rtu_BCMR_HysRng_C) {
            guard21 = true;
          } else {
            guard22 = true;
          }
        }

        if (guard23) {
          if (rtu_BattTemp < rtu_BCMR_BattPara_A[4] - rtu_BCMR_HysRng_C) {
            guard20 = true;
          } else if (rtu_BattTemp < rtu_BCMR_BattPara_A[4] - rtu_BCMR_HysRng_C)
          {
            guard17 = true;
          } else {
            localDW->is_c2_BCMR_DChrgTiRem = BCMR_DChrgTiRem_IN_ParaStep6_o;
            localB->ParaStep = rtu_BCMR_ParaStep_A[5];
          }
        }

        if (guard22) {
          if (rtu_BattTemp < rtu_BCMR_BattPara_A[3] - rtu_BCMR_HysRng_C) {
            guard19 = true;
          } else {
            guard20 = true;
          }
        }

        if (guard21) {
          if (rtu_BattTemp < rtu_BCMR_BattPara_A[2] - rtu_BCMR_HysRng_C) {
            guard18 = true;
          } else {
            guard19 = true;
          }
        }

        if (guard20) {
          if (rtu_BattTemp < rtu_BCMR_BattPara_A[3] - rtu_BCMR_HysRng_C) {
            guard16 = true;
          } else {
            guard17 = true;
          }
        }

        if (guard19) {
          if (rtu_BattTemp < rtu_BCMR_BattPara_A[2] - rtu_BCMR_HysRng_C) {
            guard15 = true;
          } else {
            guard16 = true;
          }
        }

        if (guard18) {
          if (rtu_BattTemp < rtu_BCMR_BattPara_A[1] - rtu_BCMR_HysRng_C) {
            guard14 = true;
          } else {
            guard15 = true;
          }
        }

        if (guard17) {
          if (rtu_BattTemp < rtu_BCMR_BattPara_A[3] - rtu_BCMR_HysRng_C) {
            guard13 = true;
          } else if (rtu_BattTemp < rtu_BCMR_BattPara_A[3] - rtu_BCMR_HysRng_C)
          {
            guard10 = true;
          } else {
            localDW->is_c2_BCMR_DChrgTiRem = BCMR_DChrgTiRem_IN_ParaStep5_f;
            localB->ParaStep = rtu_BCMR_ParaStep_A[4];
          }
        }

        if (guard16) {
          if (rtu_BattTemp < rtu_BCMR_BattPara_A[2] - rtu_BCMR_HysRng_C) {
            guard12 = true;
          } else {
            guard13 = true;
          }
        }

        if (guard15) {
          if (rtu_BattTemp < rtu_BCMR_BattPara_A[1] - rtu_BCMR_HysRng_C) {
            guard11 = true;
          } else {
            guard12 = true;
          }
        }

        if (guard14) {
          if (rtu_BattTemp < rtu_BCMR_BattPara_A[0]) {
            guard1 = true;
          } else {
            guard11 = true;
          }
        }

        if (guard13) {
          if (rtu_BattTemp < rtu_BCMR_BattPara_A[2] - rtu_BCMR_HysRng_C) {
            guard9 = true;
          } else {
            guard10 = true;
          }
        }

        if (guard12) {
          if (rtu_BattTemp < rtu_BCMR_BattPara_A[1] - rtu_BCMR_HysRng_C) {
            guard8 = true;
          } else {
            guard9 = true;
          }
        }

        if (guard11) {
          if (rtu_BattTemp < rtu_BCMR_BattPara_A[0]) {
            guard1 = true;
          } else {
            guard8 = true;
          }
        }

        if (guard10) {
          if (rtu_BattTemp < rtu_BCMR_BattPara_A[2] - rtu_BCMR_HysRng_C) {
            guard7 = true;
          } else if (rtu_BattTemp < rtu_BCMR_BattPara_A[2] - rtu_BCMR_HysRng_C)
          {
            guard5 = true;
          } else {
            localDW->is_c2_BCMR_DChrgTiRem = BCMR_DChrgTiRem_IN_ParaStep4_k;
            localB->ParaStep = rtu_BCMR_ParaStep_A[3];
          }
        }

        if (guard9) {
          if (rtu_BattTemp < rtu_BCMR_BattPara_A[1] - rtu_BCMR_HysRng_C) {
            guard6 = true;
          } else {
            guard7 = true;
          }
        }

        if (guard8) {
          if (rtu_BattTemp < rtu_BCMR_BattPara_A[0]) {
            guard1 = true;
          } else {
            guard6 = true;
          }
        }

        if (guard7) {
          if (rtu_BattTemp < rtu_BCMR_BattPara_A[1] - rtu_BCMR_HysRng_C) {
            guard4 = true;
          } else {
            guard5 = true;
          }
        }

        if (guard6) {
          if (rtu_BattTemp < rtu_BCMR_BattPara_A[0]) {
            guard1 = true;
          } else {
            guard4 = true;
          }
        }

        if (guard5) {
          if (rtu_BattTemp < rtu_BCMR_BattPara_A[1] - rtu_BCMR_HysRng_C) {
            guard3 = true;
          } else if (rtu_BattTemp < rtu_BCMR_BattPara_A[1] - rtu_BCMR_HysRng_C)
          {
            guard2 = true;
          } else {
            localDW->is_c2_BCMR_DChrgTiRem = BCMR_DChrgTiRem_IN_ParaStep3_e;
            localB->ParaStep = rtu_BCMR_ParaStep_A[2];
          }
        }

        if (guard4) {
          if (rtu_BattTemp < rtu_BCMR_BattPara_A[0]) {
            guard1 = true;
          } else {
            guard3 = true;
          }
        }

        if (guard3) {
          if (rtu_BattTemp < rtu_BCMR_BattPara_A[0]) {
            guard1 = true;
          } else {
            guard2 = true;
          }
        }

        if (guard2) {
          if (rtu_BattTemp < rtu_BCMR_BattPara_A[0]) {
            guard1 = true;
          } else {
            localDW->is_c2_BCMR_DChrgTiRem = BCMR_DChrgTiRem_IN_ParaStep2_k;
            localB->ParaStep = rtu_BCMR_ParaStep_A[1];
          }
        }

        if (guard1) {
          localDW->is_c2_BCMR_DChrgTiRem = BCMR_DChrgTiRem_IN_ParaStep1_f;
          localB->ParaStep = rtu_BCMR_ParaStep_A[0];
        }
      } else {
        localDW->is_c2_BCMR_DChrgTiRem = BCMR_DChrgTiRem_IN_ParaStep10_g;
        localB->ParaStep = rtu_BCMR_ParaStep_A[9];
      }
    }
  }
}

/* Function for Chart: '<S15>/ParaStep2' */
static void BCMR_DChrgTiRem_ParaStep12_l(real32_T rtu_BattTemp, const real32_T
  rtu_BCMR_BattPara_A[16], const uint8_T rtu_BCMR_ParaStep_A[16], real32_T
  rtu_BCMR_HysRng_C, B_ParaStep2_BCMR_DChrgTiRem_T *localB,
  DW_ParaStep2_BCMR_DChrgTiRem_T *localDW)
{
  boolean_T guard1 = false;
  boolean_T guard2 = false;
  boolean_T guard3 = false;
  boolean_T guard4 = false;
  boolean_T guard5 = false;
  boolean_T guard6 = false;
  boolean_T guard7 = false;
  boolean_T guard8 = false;
  boolean_T guard9 = false;
  boolean_T guard10 = false;
  boolean_T guard11 = false;
  boolean_T guard12 = false;
  boolean_T guard13 = false;
  boolean_T guard14 = false;
  boolean_T guard15 = false;
  boolean_T guard16 = false;
  boolean_T guard17 = false;
  boolean_T guard18 = false;
  boolean_T guard19 = false;
  boolean_T guard20 = false;
  boolean_T guard21 = false;
  boolean_T guard22 = false;
  boolean_T guard23 = false;
  boolean_T guard24 = false;
  boolean_T guard25 = false;
  boolean_T guard26 = false;
  boolean_T guard27 = false;
  boolean_T guard28 = false;
  boolean_T guard29 = false;
  boolean_T guard30 = false;
  boolean_T guard31 = false;
  boolean_T guard32 = false;
  boolean_T guard33 = false;
  boolean_T guard34 = false;
  boolean_T guard35 = false;
  boolean_T guard36 = false;
  boolean_T guard37 = false;
  if (rtu_BattTemp >= rtu_BCMR_BattPara_A[11]) {
    localDW->is_c2_BCMR_DChrgTiRem = BCMR_DChrgTiRem_IN_ParaStep13_b;
    localB->ParaStep = rtu_BCMR_ParaStep_A[12];
  } else {
    if (rtu_BattTemp < rtu_BCMR_BattPara_A[10] - rtu_BCMR_HysRng_C) {
      if (rtu_BattTemp < rtu_BCMR_BattPara_A[9] - rtu_BCMR_HysRng_C) {
        guard1 = false;
        guard2 = false;
        guard3 = false;
        guard4 = false;
        guard5 = false;
        guard6 = false;
        guard7 = false;
        guard8 = false;
        guard9 = false;
        guard10 = false;
        guard11 = false;
        guard12 = false;
        guard13 = false;
        guard14 = false;
        guard15 = false;
        guard16 = false;
        guard17 = false;
        guard18 = false;
        guard19 = false;
        guard20 = false;
        guard21 = false;
        guard22 = false;
        guard23 = false;
        guard24 = false;
        guard25 = false;
        guard26 = false;
        guard27 = false;
        guard28 = false;
        guard29 = false;
        guard30 = false;
        guard31 = false;
        guard32 = false;
        guard33 = false;
        guard34 = false;
        guard35 = false;
        guard36 = false;
        guard37 = false;
        if (rtu_BattTemp < rtu_BCMR_BattPara_A[8] - rtu_BCMR_HysRng_C) {
          if (rtu_BattTemp < rtu_BCMR_BattPara_A[7] - rtu_BCMR_HysRng_C) {
            if (rtu_BattTemp < rtu_BCMR_BattPara_A[6] - rtu_BCMR_HysRng_C) {
              if (rtu_BattTemp < rtu_BCMR_BattPara_A[5] - rtu_BCMR_HysRng_C) {
                if (rtu_BattTemp < rtu_BCMR_BattPara_A[4] - rtu_BCMR_HysRng_C) {
                  if (rtu_BattTemp < rtu_BCMR_BattPara_A[3] - rtu_BCMR_HysRng_C)
                  {
                    if (rtu_BattTemp < rtu_BCMR_BattPara_A[2] -
                        rtu_BCMR_HysRng_C) {
                      if (rtu_BattTemp < rtu_BCMR_BattPara_A[1] -
                          rtu_BCMR_HysRng_C) {
                        if (rtu_BattTemp < rtu_BCMR_BattPara_A[0]) {
                          guard1 = true;
                        } else {
                          guard18 = true;
                        }
                      } else {
                        guard22 = true;
                      }
                    } else {
                      guard26 = true;
                    }
                  } else {
                    guard29 = true;
                  }
                } else {
                  guard32 = true;
                }
              } else {
                guard34 = true;
              }
            } else {
              guard36 = true;
            }
          } else {
            guard37 = true;
          }
        } else if (rtu_BattTemp < rtu_BCMR_BattPara_A[8] - rtu_BCMR_HysRng_C) {
          guard37 = true;
        } else {
          localDW->is_c2_BCMR_DChrgTiRem = BCMR_DChrgTiRem_IN_ParaStep10_g;
          localB->ParaStep = rtu_BCMR_ParaStep_A[9];
        }

        if (guard37) {
          if (rtu_BattTemp < rtu_BCMR_BattPara_A[7] - rtu_BCMR_HysRng_C) {
            guard36 = true;
          } else if (rtu_BattTemp < rtu_BCMR_BattPara_A[7] - rtu_BCMR_HysRng_C)
          {
            guard35 = true;
          } else {
            localDW->is_c2_BCMR_DChrgTiRem = BCMR_DChrgTiRem_IN_ParaStep9_l;
            localB->ParaStep = rtu_BCMR_ParaStep_A[8];
          }
        }

        if (guard36) {
          if (rtu_BattTemp < rtu_BCMR_BattPara_A[6] - rtu_BCMR_HysRng_C) {
            guard34 = true;
          } else {
            guard35 = true;
          }
        }

        if (guard35) {
          if (rtu_BattTemp < rtu_BCMR_BattPara_A[6] - rtu_BCMR_HysRng_C) {
            guard33 = true;
          } else if (rtu_BattTemp < rtu_BCMR_BattPara_A[6] - rtu_BCMR_HysRng_C)
          {
            guard31 = true;
          } else {
            localDW->is_c2_BCMR_DChrgTiRem = BCMR_DChrgTiRem_IN_ParaStep8_b;
            localB->ParaStep = rtu_BCMR_ParaStep_A[7];
          }
        }

        if (guard34) {
          if (rtu_BattTemp < rtu_BCMR_BattPara_A[5] - rtu_BCMR_HysRng_C) {
            guard32 = true;
          } else {
            guard33 = true;
          }
        }

        if (guard33) {
          if (rtu_BattTemp < rtu_BCMR_BattPara_A[5] - rtu_BCMR_HysRng_C) {
            guard30 = true;
          } else {
            guard31 = true;
          }
        }

        if (guard32) {
          if (rtu_BattTemp < rtu_BCMR_BattPara_A[4] - rtu_BCMR_HysRng_C) {
            guard29 = true;
          } else {
            guard30 = true;
          }
        }

        if (guard31) {
          if (rtu_BattTemp < rtu_BCMR_BattPara_A[5] - rtu_BCMR_HysRng_C) {
            guard28 = true;
          } else if (rtu_BattTemp < rtu_BCMR_BattPara_A[5] - rtu_BCMR_HysRng_C)
          {
            guard25 = true;
          } else {
            localDW->is_c2_BCMR_DChrgTiRem = BCMR_DChrgTiRem_IN_ParaStep7_a;
            localB->ParaStep = rtu_BCMR_ParaStep_A[6];
          }
        }

        if (guard30) {
          if (rtu_BattTemp < rtu_BCMR_BattPara_A[4] - rtu_BCMR_HysRng_C) {
            guard27 = true;
          } else {
            guard28 = true;
          }
        }

        if (guard29) {
          if (rtu_BattTemp < rtu_BCMR_BattPara_A[3] - rtu_BCMR_HysRng_C) {
            guard26 = true;
          } else {
            guard27 = true;
          }
        }

        if (guard28) {
          if (rtu_BattTemp < rtu_BCMR_BattPara_A[4] - rtu_BCMR_HysRng_C) {
            guard24 = true;
          } else {
            guard25 = true;
          }
        }

        if (guard27) {
          if (rtu_BattTemp < rtu_BCMR_BattPara_A[3] - rtu_BCMR_HysRng_C) {
            guard23 = true;
          } else {
            guard24 = true;
          }
        }

        if (guard26) {
          if (rtu_BattTemp < rtu_BCMR_BattPara_A[2] - rtu_BCMR_HysRng_C) {
            guard22 = true;
          } else {
            guard23 = true;
          }
        }

        if (guard25) {
          if (rtu_BattTemp < rtu_BCMR_BattPara_A[4] - rtu_BCMR_HysRng_C) {
            guard21 = true;
          } else if (rtu_BattTemp < rtu_BCMR_BattPara_A[4] - rtu_BCMR_HysRng_C)
          {
            guard17 = true;
          } else {
            localDW->is_c2_BCMR_DChrgTiRem = BCMR_DChrgTiRem_IN_ParaStep6_o;
            localB->ParaStep = rtu_BCMR_ParaStep_A[5];
          }
        }

        if (guard24) {
          if (rtu_BattTemp < rtu_BCMR_BattPara_A[3] - rtu_BCMR_HysRng_C) {
            guard20 = true;
          } else {
            guard21 = true;
          }
        }

        if (guard23) {
          if (rtu_BattTemp < rtu_BCMR_BattPara_A[2] - rtu_BCMR_HysRng_C) {
            guard19 = true;
          } else {
            guard20 = true;
          }
        }

        if (guard22) {
          if (rtu_BattTemp < rtu_BCMR_BattPara_A[1] - rtu_BCMR_HysRng_C) {
            guard18 = true;
          } else {
            guard19 = true;
          }
        }

        if (guard21) {
          if (rtu_BattTemp < rtu_BCMR_BattPara_A[3] - rtu_BCMR_HysRng_C) {
            guard16 = true;
          } else {
            guard17 = true;
          }
        }

        if (guard20) {
          if (rtu_BattTemp < rtu_BCMR_BattPara_A[2] - rtu_BCMR_HysRng_C) {
            guard15 = true;
          } else {
            guard16 = true;
          }
        }

        if (guard19) {
          if (rtu_BattTemp < rtu_BCMR_BattPara_A[1] - rtu_BCMR_HysRng_C) {
            guard14 = true;
          } else {
            guard15 = true;
          }
        }

        if (guard18) {
          if (rtu_BattTemp < rtu_BCMR_BattPara_A[0]) {
            guard1 = true;
          } else {
            guard14 = true;
          }
        }

        if (guard17) {
          if (rtu_BattTemp < rtu_BCMR_BattPara_A[3] - rtu_BCMR_HysRng_C) {
            guard13 = true;
          } else if (rtu_BattTemp < rtu_BCMR_BattPara_A[3] - rtu_BCMR_HysRng_C)
          {
            guard10 = true;
          } else {
            localDW->is_c2_BCMR_DChrgTiRem = BCMR_DChrgTiRem_IN_ParaStep5_f;
            localB->ParaStep = rtu_BCMR_ParaStep_A[4];
          }
        }

        if (guard16) {
          if (rtu_BattTemp < rtu_BCMR_BattPara_A[2] - rtu_BCMR_HysRng_C) {
            guard12 = true;
          } else {
            guard13 = true;
          }
        }

        if (guard15) {
          if (rtu_BattTemp < rtu_BCMR_BattPara_A[1] - rtu_BCMR_HysRng_C) {
            guard11 = true;
          } else {
            guard12 = true;
          }
        }

        if (guard14) {
          if (rtu_BattTemp < rtu_BCMR_BattPara_A[0]) {
            guard1 = true;
          } else {
            guard11 = true;
          }
        }

        if (guard13) {
          if (rtu_BattTemp < rtu_BCMR_BattPara_A[2] - rtu_BCMR_HysRng_C) {
            guard9 = true;
          } else {
            guard10 = true;
          }
        }

        if (guard12) {
          if (rtu_BattTemp < rtu_BCMR_BattPara_A[1] - rtu_BCMR_HysRng_C) {
            guard8 = true;
          } else {
            guard9 = true;
          }
        }

        if (guard11) {
          if (rtu_BattTemp < rtu_BCMR_BattPara_A[0]) {
            guard1 = true;
          } else {
            guard8 = true;
          }
        }

        if (guard10) {
          if (rtu_BattTemp < rtu_BCMR_BattPara_A[2] - rtu_BCMR_HysRng_C) {
            guard7 = true;
          } else if (rtu_BattTemp < rtu_BCMR_BattPara_A[2] - rtu_BCMR_HysRng_C)
          {
            guard5 = true;
          } else {
            localDW->is_c2_BCMR_DChrgTiRem = BCMR_DChrgTiRem_IN_ParaStep4_k;
            localB->ParaStep = rtu_BCMR_ParaStep_A[3];
          }
        }

        if (guard9) {
          if (rtu_BattTemp < rtu_BCMR_BattPara_A[1] - rtu_BCMR_HysRng_C) {
            guard6 = true;
          } else {
            guard7 = true;
          }
        }

        if (guard8) {
          if (rtu_BattTemp < rtu_BCMR_BattPara_A[0]) {
            guard1 = true;
          } else {
            guard6 = true;
          }
        }

        if (guard7) {
          if (rtu_BattTemp < rtu_BCMR_BattPara_A[1] - rtu_BCMR_HysRng_C) {
            guard4 = true;
          } else {
            guard5 = true;
          }
        }

        if (guard6) {
          if (rtu_BattTemp < rtu_BCMR_BattPara_A[0]) {
            guard1 = true;
          } else {
            guard4 = true;
          }
        }

        if (guard5) {
          if (rtu_BattTemp < rtu_BCMR_BattPara_A[1] - rtu_BCMR_HysRng_C) {
            guard3 = true;
          } else if (rtu_BattTemp < rtu_BCMR_BattPara_A[1] - rtu_BCMR_HysRng_C)
          {
            guard2 = true;
          } else {
            localDW->is_c2_BCMR_DChrgTiRem = BCMR_DChrgTiRem_IN_ParaStep3_e;
            localB->ParaStep = rtu_BCMR_ParaStep_A[2];
          }
        }

        if (guard4) {
          if (rtu_BattTemp < rtu_BCMR_BattPara_A[0]) {
            guard1 = true;
          } else {
            guard3 = true;
          }
        }

        if (guard3) {
          if (rtu_BattTemp < rtu_BCMR_BattPara_A[0]) {
            guard1 = true;
          } else {
            guard2 = true;
          }
        }

        if (guard2) {
          if (rtu_BattTemp < rtu_BCMR_BattPara_A[0]) {
            guard1 = true;
          } else {
            localDW->is_c2_BCMR_DChrgTiRem = BCMR_DChrgTiRem_IN_ParaStep2_k;
            localB->ParaStep = rtu_BCMR_ParaStep_A[1];
          }
        }

        if (guard1) {
          localDW->is_c2_BCMR_DChrgTiRem = BCMR_DChrgTiRem_IN_ParaStep1_f;
          localB->ParaStep = rtu_BCMR_ParaStep_A[0];
        }
      } else {
        localDW->is_c2_BCMR_DChrgTiRem = BCMR_DChrgTiRem_IN_ParaStep11_h;
        localB->ParaStep = rtu_BCMR_ParaStep_A[10];
      }
    }
  }
}

/* Function for Chart: '<S15>/ParaStep2' */
static void BCMR_DChrgTiRem_ParaStep13_b(real32_T rtu_BattTemp, const real32_T
  rtu_BCMR_BattPara_A[16], const uint8_T rtu_BCMR_ParaStep_A[16], real32_T
  rtu_BCMR_HysRng_C, B_ParaStep2_BCMR_DChrgTiRem_T *localB,
  DW_ParaStep2_BCMR_DChrgTiRem_T *localDW)
{
  boolean_T guard1 = false;
  boolean_T guard2 = false;
  boolean_T guard3 = false;
  boolean_T guard4 = false;
  boolean_T guard5 = false;
  boolean_T guard6 = false;
  boolean_T guard7 = false;
  boolean_T guard8 = false;
  boolean_T guard9 = false;
  boolean_T guard10 = false;
  boolean_T guard11 = false;
  boolean_T guard12 = false;
  boolean_T guard13 = false;
  boolean_T guard14 = false;
  boolean_T guard15 = false;
  boolean_T guard16 = false;
  boolean_T guard17 = false;
  boolean_T guard18 = false;
  boolean_T guard19 = false;
  boolean_T guard20 = false;
  boolean_T guard21 = false;
  boolean_T guard22 = false;
  boolean_T guard23 = false;
  boolean_T guard24 = false;
  boolean_T guard25 = false;
  boolean_T guard26 = false;
  boolean_T guard27 = false;
  boolean_T guard28 = false;
  boolean_T guard29 = false;
  boolean_T guard30 = false;
  boolean_T guard31 = false;
  boolean_T guard32 = false;
  boolean_T guard33 = false;
  boolean_T guard34 = false;
  boolean_T guard35 = false;
  boolean_T guard36 = false;
  boolean_T guard37 = false;
  boolean_T guard38 = false;
  boolean_T guard39 = false;
  boolean_T guard40 = false;
  boolean_T guard41 = false;
  boolean_T guard42 = false;
  boolean_T guard43 = false;
  boolean_T guard44 = false;
  boolean_T guard45 = false;
  boolean_T guard46 = false;
  if (rtu_BattTemp < rtu_BCMR_BattPara_A[11] - rtu_BCMR_HysRng_C) {
    if (rtu_BattTemp < rtu_BCMR_BattPara_A[10] - rtu_BCMR_HysRng_C) {
      guard1 = false;
      guard2 = false;
      guard3 = false;
      guard4 = false;
      guard5 = false;
      guard6 = false;
      guard7 = false;
      guard8 = false;
      guard9 = false;
      guard10 = false;
      guard11 = false;
      guard12 = false;
      guard13 = false;
      guard14 = false;
      guard15 = false;
      guard16 = false;
      guard17 = false;
      guard18 = false;
      guard19 = false;
      guard20 = false;
      guard21 = false;
      guard22 = false;
      guard23 = false;
      guard24 = false;
      guard25 = false;
      guard26 = false;
      guard27 = false;
      guard28 = false;
      guard29 = false;
      guard30 = false;
      guard31 = false;
      guard32 = false;
      guard33 = false;
      guard34 = false;
      guard35 = false;
      guard36 = false;
      guard37 = false;
      guard38 = false;
      guard39 = false;
      guard40 = false;
      guard41 = false;
      guard42 = false;
      guard43 = false;
      guard44 = false;
      guard45 = false;
      guard46 = false;
      if (rtu_BattTemp < rtu_BCMR_BattPara_A[9] - rtu_BCMR_HysRng_C) {
        if (rtu_BattTemp < rtu_BCMR_BattPara_A[8] - rtu_BCMR_HysRng_C) {
          if (rtu_BattTemp < rtu_BCMR_BattPara_A[7] - rtu_BCMR_HysRng_C) {
            if (rtu_BattTemp < rtu_BCMR_BattPara_A[6] - rtu_BCMR_HysRng_C) {
              if (rtu_BattTemp < rtu_BCMR_BattPara_A[5] - rtu_BCMR_HysRng_C) {
                if (rtu_BattTemp < rtu_BCMR_BattPara_A[4] - rtu_BCMR_HysRng_C) {
                  if (rtu_BattTemp < rtu_BCMR_BattPara_A[3] - rtu_BCMR_HysRng_C)
                  {
                    if (rtu_BattTemp < rtu_BCMR_BattPara_A[2] -
                        rtu_BCMR_HysRng_C) {
                      if (rtu_BattTemp < rtu_BCMR_BattPara_A[1] -
                          rtu_BCMR_HysRng_C) {
                        if (rtu_BattTemp < rtu_BCMR_BattPara_A[0]) {
                          guard1 = true;
                        } else {
                          guard22 = true;
                        }
                      } else {
                        guard27 = true;
                      }
                    } else {
                      guard31 = true;
                    }
                  } else {
                    guard35 = true;
                  }
                } else {
                  guard38 = true;
                }
              } else {
                guard41 = true;
              }
            } else {
              guard43 = true;
            }
          } else {
            guard45 = true;
          }
        } else {
          guard46 = true;
        }
      } else if (rtu_BattTemp < rtu_BCMR_BattPara_A[9] - rtu_BCMR_HysRng_C) {
        guard46 = true;
      } else {
        localDW->is_c2_BCMR_DChrgTiRem = BCMR_DChrgTiRem_IN_ParaStep11_h;
        localB->ParaStep = rtu_BCMR_ParaStep_A[10];
      }

      if (guard46) {
        if (rtu_BattTemp < rtu_BCMR_BattPara_A[8] - rtu_BCMR_HysRng_C) {
          guard45 = true;
        } else if (rtu_BattTemp < rtu_BCMR_BattPara_A[8] - rtu_BCMR_HysRng_C) {
          guard44 = true;
        } else {
          localDW->is_c2_BCMR_DChrgTiRem = BCMR_DChrgTiRem_IN_ParaStep10_g;
          localB->ParaStep = rtu_BCMR_ParaStep_A[9];
        }
      }

      if (guard45) {
        if (rtu_BattTemp < rtu_BCMR_BattPara_A[7] - rtu_BCMR_HysRng_C) {
          guard43 = true;
        } else {
          guard44 = true;
        }
      }

      if (guard44) {
        if (rtu_BattTemp < rtu_BCMR_BattPara_A[7] - rtu_BCMR_HysRng_C) {
          guard42 = true;
        } else if (rtu_BattTemp < rtu_BCMR_BattPara_A[7] - rtu_BCMR_HysRng_C) {
          guard40 = true;
        } else {
          localDW->is_c2_BCMR_DChrgTiRem = BCMR_DChrgTiRem_IN_ParaStep9_l;
          localB->ParaStep = rtu_BCMR_ParaStep_A[8];
        }
      }

      if (guard43) {
        if (rtu_BattTemp < rtu_BCMR_BattPara_A[6] - rtu_BCMR_HysRng_C) {
          guard41 = true;
        } else {
          guard42 = true;
        }
      }

      if (guard42) {
        if (rtu_BattTemp < rtu_BCMR_BattPara_A[6] - rtu_BCMR_HysRng_C) {
          guard39 = true;
        } else {
          guard40 = true;
        }
      }

      if (guard41) {
        if (rtu_BattTemp < rtu_BCMR_BattPara_A[5] - rtu_BCMR_HysRng_C) {
          guard38 = true;
        } else {
          guard39 = true;
        }
      }

      if (guard40) {
        if (rtu_BattTemp < rtu_BCMR_BattPara_A[6] - rtu_BCMR_HysRng_C) {
          guard37 = true;
        } else if (rtu_BattTemp < rtu_BCMR_BattPara_A[6] - rtu_BCMR_HysRng_C) {
          guard34 = true;
        } else {
          localDW->is_c2_BCMR_DChrgTiRem = BCMR_DChrgTiRem_IN_ParaStep8_b;
          localB->ParaStep = rtu_BCMR_ParaStep_A[7];
        }
      }

      if (guard39) {
        if (rtu_BattTemp < rtu_BCMR_BattPara_A[5] - rtu_BCMR_HysRng_C) {
          guard36 = true;
        } else {
          guard37 = true;
        }
      }

      if (guard38) {
        if (rtu_BattTemp < rtu_BCMR_BattPara_A[4] - rtu_BCMR_HysRng_C) {
          guard35 = true;
        } else {
          guard36 = true;
        }
      }

      if (guard37) {
        if (rtu_BattTemp < rtu_BCMR_BattPara_A[5] - rtu_BCMR_HysRng_C) {
          guard33 = true;
        } else {
          guard34 = true;
        }
      }

      if (guard36) {
        if (rtu_BattTemp < rtu_BCMR_BattPara_A[4] - rtu_BCMR_HysRng_C) {
          guard32 = true;
        } else {
          guard33 = true;
        }
      }

      if (guard35) {
        if (rtu_BattTemp < rtu_BCMR_BattPara_A[3] - rtu_BCMR_HysRng_C) {
          guard31 = true;
        } else {
          guard32 = true;
        }
      }

      if (guard34) {
        if (rtu_BattTemp < rtu_BCMR_BattPara_A[5] - rtu_BCMR_HysRng_C) {
          guard30 = true;
        } else if (rtu_BattTemp < rtu_BCMR_BattPara_A[5] - rtu_BCMR_HysRng_C) {
          guard26 = true;
        } else {
          localDW->is_c2_BCMR_DChrgTiRem = BCMR_DChrgTiRem_IN_ParaStep7_a;
          localB->ParaStep = rtu_BCMR_ParaStep_A[6];
        }
      }

      if (guard33) {
        if (rtu_BattTemp < rtu_BCMR_BattPara_A[4] - rtu_BCMR_HysRng_C) {
          guard29 = true;
        } else {
          guard30 = true;
        }
      }

      if (guard32) {
        if (rtu_BattTemp < rtu_BCMR_BattPara_A[3] - rtu_BCMR_HysRng_C) {
          guard28 = true;
        } else {
          guard29 = true;
        }
      }

      if (guard31) {
        if (rtu_BattTemp < rtu_BCMR_BattPara_A[2] - rtu_BCMR_HysRng_C) {
          guard27 = true;
        } else {
          guard28 = true;
        }
      }

      if (guard30) {
        if (rtu_BattTemp < rtu_BCMR_BattPara_A[4] - rtu_BCMR_HysRng_C) {
          guard25 = true;
        } else {
          guard26 = true;
        }
      }

      if (guard29) {
        if (rtu_BattTemp < rtu_BCMR_BattPara_A[3] - rtu_BCMR_HysRng_C) {
          guard24 = true;
        } else {
          guard25 = true;
        }
      }

      if (guard28) {
        if (rtu_BattTemp < rtu_BCMR_BattPara_A[2] - rtu_BCMR_HysRng_C) {
          guard23 = true;
        } else {
          guard24 = true;
        }
      }

      if (guard27) {
        if (rtu_BattTemp < rtu_BCMR_BattPara_A[1] - rtu_BCMR_HysRng_C) {
          guard22 = true;
        } else {
          guard23 = true;
        }
      }

      if (guard26) {
        if (rtu_BattTemp < rtu_BCMR_BattPara_A[4] - rtu_BCMR_HysRng_C) {
          guard21 = true;
        } else if (rtu_BattTemp < rtu_BCMR_BattPara_A[4] - rtu_BCMR_HysRng_C) {
          guard17 = true;
        } else {
          localDW->is_c2_BCMR_DChrgTiRem = BCMR_DChrgTiRem_IN_ParaStep6_o;
          localB->ParaStep = rtu_BCMR_ParaStep_A[5];
        }
      }

      if (guard25) {
        if (rtu_BattTemp < rtu_BCMR_BattPara_A[3] - rtu_BCMR_HysRng_C) {
          guard20 = true;
        } else {
          guard21 = true;
        }
      }

      if (guard24) {
        if (rtu_BattTemp < rtu_BCMR_BattPara_A[2] - rtu_BCMR_HysRng_C) {
          guard19 = true;
        } else {
          guard20 = true;
        }
      }

      if (guard23) {
        if (rtu_BattTemp < rtu_BCMR_BattPara_A[1] - rtu_BCMR_HysRng_C) {
          guard18 = true;
        } else {
          guard19 = true;
        }
      }

      if (guard22) {
        if (rtu_BattTemp < rtu_BCMR_BattPara_A[0]) {
          guard1 = true;
        } else {
          guard18 = true;
        }
      }

      if (guard21) {
        if (rtu_BattTemp < rtu_BCMR_BattPara_A[3] - rtu_BCMR_HysRng_C) {
          guard16 = true;
        } else {
          guard17 = true;
        }
      }

      if (guard20) {
        if (rtu_BattTemp < rtu_BCMR_BattPara_A[2] - rtu_BCMR_HysRng_C) {
          guard15 = true;
        } else {
          guard16 = true;
        }
      }

      if (guard19) {
        if (rtu_BattTemp < rtu_BCMR_BattPara_A[1] - rtu_BCMR_HysRng_C) {
          guard14 = true;
        } else {
          guard15 = true;
        }
      }

      if (guard18) {
        if (rtu_BattTemp < rtu_BCMR_BattPara_A[0]) {
          guard1 = true;
        } else {
          guard14 = true;
        }
      }

      if (guard17) {
        if (rtu_BattTemp < rtu_BCMR_BattPara_A[3] - rtu_BCMR_HysRng_C) {
          guard13 = true;
        } else if (rtu_BattTemp < rtu_BCMR_BattPara_A[3] - rtu_BCMR_HysRng_C) {
          guard10 = true;
        } else {
          localDW->is_c2_BCMR_DChrgTiRem = BCMR_DChrgTiRem_IN_ParaStep5_f;
          localB->ParaStep = rtu_BCMR_ParaStep_A[4];
        }
      }

      if (guard16) {
        if (rtu_BattTemp < rtu_BCMR_BattPara_A[2] - rtu_BCMR_HysRng_C) {
          guard12 = true;
        } else {
          guard13 = true;
        }
      }

      if (guard15) {
        if (rtu_BattTemp < rtu_BCMR_BattPara_A[1] - rtu_BCMR_HysRng_C) {
          guard11 = true;
        } else {
          guard12 = true;
        }
      }

      if (guard14) {
        if (rtu_BattTemp < rtu_BCMR_BattPara_A[0]) {
          guard1 = true;
        } else {
          guard11 = true;
        }
      }

      if (guard13) {
        if (rtu_BattTemp < rtu_BCMR_BattPara_A[2] - rtu_BCMR_HysRng_C) {
          guard9 = true;
        } else {
          guard10 = true;
        }
      }

      if (guard12) {
        if (rtu_BattTemp < rtu_BCMR_BattPara_A[1] - rtu_BCMR_HysRng_C) {
          guard8 = true;
        } else {
          guard9 = true;
        }
      }

      if (guard11) {
        if (rtu_BattTemp < rtu_BCMR_BattPara_A[0]) {
          guard1 = true;
        } else {
          guard8 = true;
        }
      }

      if (guard10) {
        if (rtu_BattTemp < rtu_BCMR_BattPara_A[2] - rtu_BCMR_HysRng_C) {
          guard7 = true;
        } else if (rtu_BattTemp < rtu_BCMR_BattPara_A[2] - rtu_BCMR_HysRng_C) {
          guard5 = true;
        } else {
          localDW->is_c2_BCMR_DChrgTiRem = BCMR_DChrgTiRem_IN_ParaStep4_k;
          localB->ParaStep = rtu_BCMR_ParaStep_A[3];
        }
      }

      if (guard9) {
        if (rtu_BattTemp < rtu_BCMR_BattPara_A[1] - rtu_BCMR_HysRng_C) {
          guard6 = true;
        } else {
          guard7 = true;
        }
      }

      if (guard8) {
        if (rtu_BattTemp < rtu_BCMR_BattPara_A[0]) {
          guard1 = true;
        } else {
          guard6 = true;
        }
      }

      if (guard7) {
        if (rtu_BattTemp < rtu_BCMR_BattPara_A[1] - rtu_BCMR_HysRng_C) {
          guard4 = true;
        } else {
          guard5 = true;
        }
      }

      if (guard6) {
        if (rtu_BattTemp < rtu_BCMR_BattPara_A[0]) {
          guard1 = true;
        } else {
          guard4 = true;
        }
      }

      if (guard5) {
        if (rtu_BattTemp < rtu_BCMR_BattPara_A[1] - rtu_BCMR_HysRng_C) {
          guard3 = true;
        } else if (rtu_BattTemp < rtu_BCMR_BattPara_A[1] - rtu_BCMR_HysRng_C) {
          guard2 = true;
        } else {
          localDW->is_c2_BCMR_DChrgTiRem = BCMR_DChrgTiRem_IN_ParaStep3_e;
          localB->ParaStep = rtu_BCMR_ParaStep_A[2];
        }
      }

      if (guard4) {
        if (rtu_BattTemp < rtu_BCMR_BattPara_A[0]) {
          guard1 = true;
        } else {
          guard3 = true;
        }
      }

      if (guard3) {
        if (rtu_BattTemp < rtu_BCMR_BattPara_A[0]) {
          guard1 = true;
        } else {
          guard2 = true;
        }
      }

      if (guard2) {
        if (rtu_BattTemp < rtu_BCMR_BattPara_A[0]) {
          guard1 = true;
        } else {
          localDW->is_c2_BCMR_DChrgTiRem = BCMR_DChrgTiRem_IN_ParaStep2_k;
          localB->ParaStep = rtu_BCMR_ParaStep_A[1];
        }
      }

      if (guard1) {
        localDW->is_c2_BCMR_DChrgTiRem = BCMR_DChrgTiRem_IN_ParaStep1_f;
        localB->ParaStep = rtu_BCMR_ParaStep_A[0];
      }
    } else {
      localDW->is_c2_BCMR_DChrgTiRem = BCMR_DChrgTiRem_IN_ParaStep12_d;
      localB->ParaStep = rtu_BCMR_ParaStep_A[11];
    }
  } else {
    if (rtu_BattTemp >= rtu_BCMR_BattPara_A[12]) {
      localDW->is_c2_BCMR_DChrgTiRem = BCMR_DChrgTiRem_IN_ParaStep14_d;
      localB->ParaStep = rtu_BCMR_ParaStep_A[13];
    }
  }
}

/* Function for Chart: '<S15>/ParaStep2' */
static void BCMR_DChrgTiRem_ParaStep14_j(real32_T rtu_BattTemp, const real32_T
  rtu_BCMR_BattPara_A[16], const uint8_T rtu_BCMR_ParaStep_A[16], real32_T
  rtu_BCMR_HysRng_C, B_ParaStep2_BCMR_DChrgTiRem_T *localB,
  DW_ParaStep2_BCMR_DChrgTiRem_T *localDW)
{
  boolean_T guard1 = false;
  boolean_T guard2 = false;
  boolean_T guard3 = false;
  boolean_T guard4 = false;
  boolean_T guard5 = false;
  boolean_T guard6 = false;
  boolean_T guard7 = false;
  boolean_T guard8 = false;
  boolean_T guard9 = false;
  boolean_T guard10 = false;
  boolean_T guard11 = false;
  boolean_T guard12 = false;
  boolean_T guard13 = false;
  boolean_T guard14 = false;
  boolean_T guard15 = false;
  boolean_T guard16 = false;
  boolean_T guard17 = false;
  boolean_T guard18 = false;
  boolean_T guard19 = false;
  boolean_T guard20 = false;
  boolean_T guard21 = false;
  boolean_T guard22 = false;
  boolean_T guard23 = false;
  boolean_T guard24 = false;
  boolean_T guard25 = false;
  boolean_T guard26 = false;
  boolean_T guard27 = false;
  boolean_T guard28 = false;
  boolean_T guard29 = false;
  boolean_T guard30 = false;
  boolean_T guard31 = false;
  boolean_T guard32 = false;
  boolean_T guard33 = false;
  boolean_T guard34 = false;
  boolean_T guard35 = false;
  boolean_T guard36 = false;
  boolean_T guard37 = false;
  boolean_T guard38 = false;
  boolean_T guard39 = false;
  boolean_T guard40 = false;
  boolean_T guard41 = false;
  boolean_T guard42 = false;
  boolean_T guard43 = false;
  boolean_T guard44 = false;
  boolean_T guard45 = false;
  boolean_T guard46 = false;
  boolean_T guard47 = false;
  boolean_T guard48 = false;
  boolean_T guard49 = false;
  boolean_T guard50 = false;
  boolean_T guard51 = false;
  boolean_T guard52 = false;
  boolean_T guard53 = false;
  boolean_T guard54 = false;
  boolean_T guard55 = false;
  boolean_T guard56 = false;
  if (rtu_BattTemp < rtu_BCMR_BattPara_A[12] - rtu_BCMR_HysRng_C) {
    if (rtu_BattTemp < rtu_BCMR_BattPara_A[11] - rtu_BCMR_HysRng_C) {
      guard1 = false;
      guard2 = false;
      guard3 = false;
      guard4 = false;
      guard5 = false;
      guard6 = false;
      guard7 = false;
      guard8 = false;
      guard9 = false;
      guard10 = false;
      guard11 = false;
      guard12 = false;
      guard13 = false;
      guard14 = false;
      guard15 = false;
      guard16 = false;
      guard17 = false;
      guard18 = false;
      guard19 = false;
      guard20 = false;
      guard21 = false;
      guard22 = false;
      guard23 = false;
      guard24 = false;
      guard25 = false;
      guard26 = false;
      guard27 = false;
      guard28 = false;
      guard29 = false;
      guard30 = false;
      guard31 = false;
      guard32 = false;
      guard33 = false;
      guard34 = false;
      guard35 = false;
      guard36 = false;
      guard37 = false;
      guard38 = false;
      guard39 = false;
      guard40 = false;
      guard41 = false;
      guard42 = false;
      guard43 = false;
      guard44 = false;
      guard45 = false;
      guard46 = false;
      guard47 = false;
      guard48 = false;
      guard49 = false;
      guard50 = false;
      guard51 = false;
      guard52 = false;
      guard53 = false;
      guard54 = false;
      guard55 = false;
      guard56 = false;
      if (rtu_BattTemp < rtu_BCMR_BattPara_A[10] - rtu_BCMR_HysRng_C) {
        if (rtu_BattTemp < rtu_BCMR_BattPara_A[9] - rtu_BCMR_HysRng_C) {
          if (rtu_BattTemp < rtu_BCMR_BattPara_A[8] - rtu_BCMR_HysRng_C) {
            if (rtu_BattTemp < rtu_BCMR_BattPara_A[7] - rtu_BCMR_HysRng_C) {
              if (rtu_BattTemp < rtu_BCMR_BattPara_A[6] - rtu_BCMR_HysRng_C) {
                if (rtu_BattTemp < rtu_BCMR_BattPara_A[5] - rtu_BCMR_HysRng_C) {
                  if (rtu_BattTemp < rtu_BCMR_BattPara_A[4] - rtu_BCMR_HysRng_C)
                  {
                    if (rtu_BattTemp < rtu_BCMR_BattPara_A[3] -
                        rtu_BCMR_HysRng_C) {
                      if (rtu_BattTemp < rtu_BCMR_BattPara_A[2] -
                          rtu_BCMR_HysRng_C) {
                        if (rtu_BattTemp < rtu_BCMR_BattPara_A[1] -
                            rtu_BCMR_HysRng_C) {
                          if (rtu_BattTemp < rtu_BCMR_BattPara_A[0]) {
                            guard1 = true;
                          } else {
                            guard27 = true;
                          }
                        } else {
                          guard32 = true;
                        }
                      } else {
                        guard37 = true;
                      }
                    } else {
                      guard41 = true;
                    }
                  } else {
                    guard45 = true;
                  }
                } else {
                  guard48 = true;
                }
              } else {
                guard51 = true;
              }
            } else {
              guard53 = true;
            }
          } else {
            guard55 = true;
          }
        } else {
          guard56 = true;
        }
      } else if (rtu_BattTemp < rtu_BCMR_BattPara_A[10] - rtu_BCMR_HysRng_C) {
        guard56 = true;
      } else {
        localDW->is_c2_BCMR_DChrgTiRem = BCMR_DChrgTiRem_IN_ParaStep12_d;
        localB->ParaStep = rtu_BCMR_ParaStep_A[11];
      }

      if (guard56) {
        if (rtu_BattTemp < rtu_BCMR_BattPara_A[9] - rtu_BCMR_HysRng_C) {
          guard55 = true;
        } else if (rtu_BattTemp < rtu_BCMR_BattPara_A[9] - rtu_BCMR_HysRng_C) {
          guard54 = true;
        } else {
          localDW->is_c2_BCMR_DChrgTiRem = BCMR_DChrgTiRem_IN_ParaStep11_h;
          localB->ParaStep = rtu_BCMR_ParaStep_A[10];
        }
      }

      if (guard55) {
        if (rtu_BattTemp < rtu_BCMR_BattPara_A[8] - rtu_BCMR_HysRng_C) {
          guard53 = true;
        } else {
          guard54 = true;
        }
      }

      if (guard54) {
        if (rtu_BattTemp < rtu_BCMR_BattPara_A[8] - rtu_BCMR_HysRng_C) {
          guard52 = true;
        } else if (rtu_BattTemp < rtu_BCMR_BattPara_A[8] - rtu_BCMR_HysRng_C) {
          guard50 = true;
        } else {
          localDW->is_c2_BCMR_DChrgTiRem = BCMR_DChrgTiRem_IN_ParaStep10_g;
          localB->ParaStep = rtu_BCMR_ParaStep_A[9];
        }
      }

      if (guard53) {
        if (rtu_BattTemp < rtu_BCMR_BattPara_A[7] - rtu_BCMR_HysRng_C) {
          guard51 = true;
        } else {
          guard52 = true;
        }
      }

      if (guard52) {
        if (rtu_BattTemp < rtu_BCMR_BattPara_A[7] - rtu_BCMR_HysRng_C) {
          guard49 = true;
        } else {
          guard50 = true;
        }
      }

      if (guard51) {
        if (rtu_BattTemp < rtu_BCMR_BattPara_A[6] - rtu_BCMR_HysRng_C) {
          guard48 = true;
        } else {
          guard49 = true;
        }
      }

      if (guard50) {
        if (rtu_BattTemp < rtu_BCMR_BattPara_A[7] - rtu_BCMR_HysRng_C) {
          guard47 = true;
        } else if (rtu_BattTemp < rtu_BCMR_BattPara_A[7] - rtu_BCMR_HysRng_C) {
          guard44 = true;
        } else {
          localDW->is_c2_BCMR_DChrgTiRem = BCMR_DChrgTiRem_IN_ParaStep9_l;
          localB->ParaStep = rtu_BCMR_ParaStep_A[8];
        }
      }

      if (guard49) {
        if (rtu_BattTemp < rtu_BCMR_BattPara_A[6] - rtu_BCMR_HysRng_C) {
          guard46 = true;
        } else {
          guard47 = true;
        }
      }

      if (guard48) {
        if (rtu_BattTemp < rtu_BCMR_BattPara_A[5] - rtu_BCMR_HysRng_C) {
          guard45 = true;
        } else {
          guard46 = true;
        }
      }

      if (guard47) {
        if (rtu_BattTemp < rtu_BCMR_BattPara_A[6] - rtu_BCMR_HysRng_C) {
          guard43 = true;
        } else {
          guard44 = true;
        }
      }

      if (guard46) {
        if (rtu_BattTemp < rtu_BCMR_BattPara_A[5] - rtu_BCMR_HysRng_C) {
          guard42 = true;
        } else {
          guard43 = true;
        }
      }

      if (guard45) {
        if (rtu_BattTemp < rtu_BCMR_BattPara_A[4] - rtu_BCMR_HysRng_C) {
          guard41 = true;
        } else {
          guard42 = true;
        }
      }

      if (guard44) {
        if (rtu_BattTemp < rtu_BCMR_BattPara_A[6] - rtu_BCMR_HysRng_C) {
          guard40 = true;
        } else if (rtu_BattTemp < rtu_BCMR_BattPara_A[6] - rtu_BCMR_HysRng_C) {
          guard36 = true;
        } else {
          localDW->is_c2_BCMR_DChrgTiRem = BCMR_DChrgTiRem_IN_ParaStep8_b;
          localB->ParaStep = rtu_BCMR_ParaStep_A[7];
        }
      }

      if (guard43) {
        if (rtu_BattTemp < rtu_BCMR_BattPara_A[5] - rtu_BCMR_HysRng_C) {
          guard39 = true;
        } else {
          guard40 = true;
        }
      }

      if (guard42) {
        if (rtu_BattTemp < rtu_BCMR_BattPara_A[4] - rtu_BCMR_HysRng_C) {
          guard38 = true;
        } else {
          guard39 = true;
        }
      }

      if (guard41) {
        if (rtu_BattTemp < rtu_BCMR_BattPara_A[3] - rtu_BCMR_HysRng_C) {
          guard37 = true;
        } else {
          guard38 = true;
        }
      }

      if (guard40) {
        if (rtu_BattTemp < rtu_BCMR_BattPara_A[5] - rtu_BCMR_HysRng_C) {
          guard35 = true;
        } else {
          guard36 = true;
        }
      }

      if (guard39) {
        if (rtu_BattTemp < rtu_BCMR_BattPara_A[4] - rtu_BCMR_HysRng_C) {
          guard34 = true;
        } else {
          guard35 = true;
        }
      }

      if (guard38) {
        if (rtu_BattTemp < rtu_BCMR_BattPara_A[3] - rtu_BCMR_HysRng_C) {
          guard33 = true;
        } else {
          guard34 = true;
        }
      }

      if (guard37) {
        if (rtu_BattTemp < rtu_BCMR_BattPara_A[2] - rtu_BCMR_HysRng_C) {
          guard32 = true;
        } else {
          guard33 = true;
        }
      }

      if (guard36) {
        if (rtu_BattTemp < rtu_BCMR_BattPara_A[5] - rtu_BCMR_HysRng_C) {
          guard31 = true;
        } else if (rtu_BattTemp < rtu_BCMR_BattPara_A[5] - rtu_BCMR_HysRng_C) {
          guard26 = true;
        } else {
          localDW->is_c2_BCMR_DChrgTiRem = BCMR_DChrgTiRem_IN_ParaStep7_a;
          localB->ParaStep = rtu_BCMR_ParaStep_A[6];
        }
      }

      if (guard35) {
        if (rtu_BattTemp < rtu_BCMR_BattPara_A[4] - rtu_BCMR_HysRng_C) {
          guard30 = true;
        } else {
          guard31 = true;
        }
      }

      if (guard34) {
        if (rtu_BattTemp < rtu_BCMR_BattPara_A[3] - rtu_BCMR_HysRng_C) {
          guard29 = true;
        } else {
          guard30 = true;
        }
      }

      if (guard33) {
        if (rtu_BattTemp < rtu_BCMR_BattPara_A[2] - rtu_BCMR_HysRng_C) {
          guard28 = true;
        } else {
          guard29 = true;
        }
      }

      if (guard32) {
        if (rtu_BattTemp < rtu_BCMR_BattPara_A[1] - rtu_BCMR_HysRng_C) {
          guard27 = true;
        } else {
          guard28 = true;
        }
      }

      if (guard31) {
        if (rtu_BattTemp < rtu_BCMR_BattPara_A[4] - rtu_BCMR_HysRng_C) {
          guard25 = true;
        } else {
          guard26 = true;
        }
      }

      if (guard30) {
        if (rtu_BattTemp < rtu_BCMR_BattPara_A[3] - rtu_BCMR_HysRng_C) {
          guard24 = true;
        } else {
          guard25 = true;
        }
      }

      if (guard29) {
        if (rtu_BattTemp < rtu_BCMR_BattPara_A[2] - rtu_BCMR_HysRng_C) {
          guard23 = true;
        } else {
          guard24 = true;
        }
      }

      if (guard28) {
        if (rtu_BattTemp < rtu_BCMR_BattPara_A[1] - rtu_BCMR_HysRng_C) {
          guard22 = true;
        } else {
          guard23 = true;
        }
      }

      if (guard27) {
        if (rtu_BattTemp < rtu_BCMR_BattPara_A[0]) {
          guard1 = true;
        } else {
          guard22 = true;
        }
      }

      if (guard26) {
        if (rtu_BattTemp < rtu_BCMR_BattPara_A[4] - rtu_BCMR_HysRng_C) {
          guard21 = true;
        } else if (rtu_BattTemp < rtu_BCMR_BattPara_A[4] - rtu_BCMR_HysRng_C) {
          guard17 = true;
        } else {
          localDW->is_c2_BCMR_DChrgTiRem = BCMR_DChrgTiRem_IN_ParaStep6_o;
          localB->ParaStep = rtu_BCMR_ParaStep_A[5];
        }
      }

      if (guard25) {
        if (rtu_BattTemp < rtu_BCMR_BattPara_A[3] - rtu_BCMR_HysRng_C) {
          guard20 = true;
        } else {
          guard21 = true;
        }
      }

      if (guard24) {
        if (rtu_BattTemp < rtu_BCMR_BattPara_A[2] - rtu_BCMR_HysRng_C) {
          guard19 = true;
        } else {
          guard20 = true;
        }
      }

      if (guard23) {
        if (rtu_BattTemp < rtu_BCMR_BattPara_A[1] - rtu_BCMR_HysRng_C) {
          guard18 = true;
        } else {
          guard19 = true;
        }
      }

      if (guard22) {
        if (rtu_BattTemp < rtu_BCMR_BattPara_A[0]) {
          guard1 = true;
        } else {
          guard18 = true;
        }
      }

      if (guard21) {
        if (rtu_BattTemp < rtu_BCMR_BattPara_A[3] - rtu_BCMR_HysRng_C) {
          guard16 = true;
        } else {
          guard17 = true;
        }
      }

      if (guard20) {
        if (rtu_BattTemp < rtu_BCMR_BattPara_A[2] - rtu_BCMR_HysRng_C) {
          guard15 = true;
        } else {
          guard16 = true;
        }
      }

      if (guard19) {
        if (rtu_BattTemp < rtu_BCMR_BattPara_A[1] - rtu_BCMR_HysRng_C) {
          guard14 = true;
        } else {
          guard15 = true;
        }
      }

      if (guard18) {
        if (rtu_BattTemp < rtu_BCMR_BattPara_A[0]) {
          guard1 = true;
        } else {
          guard14 = true;
        }
      }

      if (guard17) {
        if (rtu_BattTemp < rtu_BCMR_BattPara_A[3] - rtu_BCMR_HysRng_C) {
          guard13 = true;
        } else if (rtu_BattTemp < rtu_BCMR_BattPara_A[3] - rtu_BCMR_HysRng_C) {
          guard10 = true;
        } else {
          localDW->is_c2_BCMR_DChrgTiRem = BCMR_DChrgTiRem_IN_ParaStep5_f;
          localB->ParaStep = rtu_BCMR_ParaStep_A[4];
        }
      }

      if (guard16) {
        if (rtu_BattTemp < rtu_BCMR_BattPara_A[2] - rtu_BCMR_HysRng_C) {
          guard12 = true;
        } else {
          guard13 = true;
        }
      }

      if (guard15) {
        if (rtu_BattTemp < rtu_BCMR_BattPara_A[1] - rtu_BCMR_HysRng_C) {
          guard11 = true;
        } else {
          guard12 = true;
        }
      }

      if (guard14) {
        if (rtu_BattTemp < rtu_BCMR_BattPara_A[0]) {
          guard1 = true;
        } else {
          guard11 = true;
        }
      }

      if (guard13) {
        if (rtu_BattTemp < rtu_BCMR_BattPara_A[2] - rtu_BCMR_HysRng_C) {
          guard9 = true;
        } else {
          guard10 = true;
        }
      }

      if (guard12) {
        if (rtu_BattTemp < rtu_BCMR_BattPara_A[1] - rtu_BCMR_HysRng_C) {
          guard8 = true;
        } else {
          guard9 = true;
        }
      }

      if (guard11) {
        if (rtu_BattTemp < rtu_BCMR_BattPara_A[0]) {
          guard1 = true;
        } else {
          guard8 = true;
        }
      }

      if (guard10) {
        if (rtu_BattTemp < rtu_BCMR_BattPara_A[2] - rtu_BCMR_HysRng_C) {
          guard7 = true;
        } else if (rtu_BattTemp < rtu_BCMR_BattPara_A[2] - rtu_BCMR_HysRng_C) {
          guard5 = true;
        } else {
          localDW->is_c2_BCMR_DChrgTiRem = BCMR_DChrgTiRem_IN_ParaStep4_k;
          localB->ParaStep = rtu_BCMR_ParaStep_A[3];
        }
      }

      if (guard9) {
        if (rtu_BattTemp < rtu_BCMR_BattPara_A[1] - rtu_BCMR_HysRng_C) {
          guard6 = true;
        } else {
          guard7 = true;
        }
      }

      if (guard8) {
        if (rtu_BattTemp < rtu_BCMR_BattPara_A[0]) {
          guard1 = true;
        } else {
          guard6 = true;
        }
      }

      if (guard7) {
        if (rtu_BattTemp < rtu_BCMR_BattPara_A[1] - rtu_BCMR_HysRng_C) {
          guard4 = true;
        } else {
          guard5 = true;
        }
      }

      if (guard6) {
        if (rtu_BattTemp < rtu_BCMR_BattPara_A[0]) {
          guard1 = true;
        } else {
          guard4 = true;
        }
      }

      if (guard5) {
        if (rtu_BattTemp < rtu_BCMR_BattPara_A[1] - rtu_BCMR_HysRng_C) {
          guard3 = true;
        } else if (rtu_BattTemp < rtu_BCMR_BattPara_A[1] - rtu_BCMR_HysRng_C) {
          guard2 = true;
        } else {
          localDW->is_c2_BCMR_DChrgTiRem = BCMR_DChrgTiRem_IN_ParaStep3_e;
          localB->ParaStep = rtu_BCMR_ParaStep_A[2];
        }
      }

      if (guard4) {
        if (rtu_BattTemp < rtu_BCMR_BattPara_A[0]) {
          guard1 = true;
        } else {
          guard3 = true;
        }
      }

      if (guard3) {
        if (rtu_BattTemp < rtu_BCMR_BattPara_A[0]) {
          guard1 = true;
        } else {
          guard2 = true;
        }
      }

      if (guard2) {
        if (rtu_BattTemp < rtu_BCMR_BattPara_A[0]) {
          guard1 = true;
        } else {
          localDW->is_c2_BCMR_DChrgTiRem = BCMR_DChrgTiRem_IN_ParaStep2_k;
          localB->ParaStep = rtu_BCMR_ParaStep_A[1];
        }
      }

      if (guard1) {
        localDW->is_c2_BCMR_DChrgTiRem = BCMR_DChrgTiRem_IN_ParaStep1_f;
        localB->ParaStep = rtu_BCMR_ParaStep_A[0];
      }
    } else {
      localDW->is_c2_BCMR_DChrgTiRem = BCMR_DChrgTiRem_IN_ParaStep13_b;
      localB->ParaStep = rtu_BCMR_ParaStep_A[12];
    }
  } else {
    if (rtu_BattTemp >= rtu_BCMR_BattPara_A[13]) {
      localDW->is_c2_BCMR_DChrgTiRem = BCMR_DChrgTiRem_IN_ParaStep15_a;
      localB->ParaStep = rtu_BCMR_ParaStep_A[14];
    }
  }
}

/* Function for Chart: '<S15>/ParaStep2' */
static void BCMR_DChrgTiRem_ParaStep15_k(real32_T rtu_BattTemp, const real32_T
  rtu_BCMR_BattPara_A[16], const uint8_T rtu_BCMR_ParaStep_A[16], real32_T
  rtu_BCMR_HysRng_C, B_ParaStep2_BCMR_DChrgTiRem_T *localB,
  DW_ParaStep2_BCMR_DChrgTiRem_T *localDW)
{
  boolean_T guard1 = false;
  boolean_T guard2 = false;
  boolean_T guard3 = false;
  boolean_T guard4 = false;
  boolean_T guard5 = false;
  boolean_T guard6 = false;
  boolean_T guard7 = false;
  boolean_T guard8 = false;
  boolean_T guard9 = false;
  boolean_T guard10 = false;
  boolean_T guard11 = false;
  boolean_T guard12 = false;
  boolean_T guard13 = false;
  boolean_T guard14 = false;
  boolean_T guard15 = false;
  boolean_T guard16 = false;
  boolean_T guard17 = false;
  boolean_T guard18 = false;
  boolean_T guard19 = false;
  boolean_T guard20 = false;
  boolean_T guard21 = false;
  boolean_T guard22 = false;
  boolean_T guard23 = false;
  boolean_T guard24 = false;
  boolean_T guard25 = false;
  boolean_T guard26 = false;
  boolean_T guard27 = false;
  boolean_T guard28 = false;
  boolean_T guard29 = false;
  boolean_T guard30 = false;
  boolean_T guard31 = false;
  boolean_T guard32 = false;
  boolean_T guard33 = false;
  boolean_T guard34 = false;
  boolean_T guard35 = false;
  boolean_T guard36 = false;
  boolean_T guard37 = false;
  boolean_T guard38 = false;
  boolean_T guard39 = false;
  boolean_T guard40 = false;
  boolean_T guard41 = false;
  boolean_T guard42 = false;
  boolean_T guard43 = false;
  boolean_T guard44 = false;
  boolean_T guard45 = false;
  boolean_T guard46 = false;
  boolean_T guard47 = false;
  boolean_T guard48 = false;
  boolean_T guard49 = false;
  boolean_T guard50 = false;
  boolean_T guard51 = false;
  boolean_T guard52 = false;
  boolean_T guard53 = false;
  boolean_T guard54 = false;
  boolean_T guard55 = false;
  boolean_T guard56 = false;
  boolean_T guard57 = false;
  boolean_T guard58 = false;
  boolean_T guard59 = false;
  boolean_T guard60 = false;
  boolean_T guard61 = false;
  boolean_T guard62 = false;
  boolean_T guard63 = false;
  boolean_T guard64 = false;
  boolean_T guard65 = false;
  boolean_T guard66 = false;
  boolean_T guard67 = false;
  if (rtu_BattTemp < rtu_BCMR_BattPara_A[13] - rtu_BCMR_HysRng_C) {
    if (rtu_BattTemp < rtu_BCMR_BattPara_A[12] - rtu_BCMR_HysRng_C) {
      guard1 = false;
      guard2 = false;
      guard3 = false;
      guard4 = false;
      guard5 = false;
      guard6 = false;
      guard7 = false;
      guard8 = false;
      guard9 = false;
      guard10 = false;
      guard11 = false;
      guard12 = false;
      guard13 = false;
      guard14 = false;
      guard15 = false;
      guard16 = false;
      guard17 = false;
      guard18 = false;
      guard19 = false;
      guard20 = false;
      guard21 = false;
      guard22 = false;
      guard23 = false;
      guard24 = false;
      guard25 = false;
      guard26 = false;
      guard27 = false;
      guard28 = false;
      guard29 = false;
      guard30 = false;
      guard31 = false;
      guard32 = false;
      guard33 = false;
      guard34 = false;
      guard35 = false;
      guard36 = false;
      guard37 = false;
      guard38 = false;
      guard39 = false;
      guard40 = false;
      guard41 = false;
      guard42 = false;
      guard43 = false;
      guard44 = false;
      guard45 = false;
      guard46 = false;
      guard47 = false;
      guard48 = false;
      guard49 = false;
      guard50 = false;
      guard51 = false;
      guard52 = false;
      guard53 = false;
      guard54 = false;
      guard55 = false;
      guard56 = false;
      guard57 = false;
      guard58 = false;
      guard59 = false;
      guard60 = false;
      guard61 = false;
      guard62 = false;
      guard63 = false;
      guard64 = false;
      guard65 = false;
      guard66 = false;
      guard67 = false;
      if (rtu_BattTemp < rtu_BCMR_BattPara_A[11] - rtu_BCMR_HysRng_C) {
        if (rtu_BattTemp < rtu_BCMR_BattPara_A[10] - rtu_BCMR_HysRng_C) {
          if (rtu_BattTemp < rtu_BCMR_BattPara_A[9] - rtu_BCMR_HysRng_C) {
            if (rtu_BattTemp < rtu_BCMR_BattPara_A[8] - rtu_BCMR_HysRng_C) {
              if (rtu_BattTemp < rtu_BCMR_BattPara_A[7] - rtu_BCMR_HysRng_C) {
                if (rtu_BattTemp < rtu_BCMR_BattPara_A[6] - rtu_BCMR_HysRng_C) {
                  if (rtu_BattTemp < rtu_BCMR_BattPara_A[5] - rtu_BCMR_HysRng_C)
                  {
                    if (rtu_BattTemp < rtu_BCMR_BattPara_A[4] -
                        rtu_BCMR_HysRng_C) {
                      if (rtu_BattTemp < rtu_BCMR_BattPara_A[3] -
                          rtu_BCMR_HysRng_C) {
                        if (rtu_BattTemp < rtu_BCMR_BattPara_A[2] -
                            rtu_BCMR_HysRng_C) {
                          if (rtu_BattTemp < rtu_BCMR_BattPara_A[1] -
                              rtu_BCMR_HysRng_C) {
                            if (rtu_BattTemp < rtu_BCMR_BattPara_A[0]) {
                              guard1 = true;
                            } else {
                              guard32 = true;
                            }
                          } else {
                            guard38 = true;
                          }
                        } else {
                          guard43 = true;
                        }
                      } else {
                        guard48 = true;
                      }
                    } else {
                      guard52 = true;
                    }
                  } else {
                    guard56 = true;
                  }
                } else {
                  guard59 = true;
                }
              } else {
                guard62 = true;
              }
            } else {
              guard64 = true;
            }
          } else {
            guard66 = true;
          }
        } else {
          guard67 = true;
        }
      } else if (rtu_BattTemp < rtu_BCMR_BattPara_A[11] - rtu_BCMR_HysRng_C) {
        guard67 = true;
      } else {
        localDW->is_c2_BCMR_DChrgTiRem = BCMR_DChrgTiRem_IN_ParaStep13_b;
        localB->ParaStep = rtu_BCMR_ParaStep_A[12];
      }

      if (guard67) {
        if (rtu_BattTemp < rtu_BCMR_BattPara_A[10] - rtu_BCMR_HysRng_C) {
          guard66 = true;
        } else if (rtu_BattTemp < rtu_BCMR_BattPara_A[10] - rtu_BCMR_HysRng_C) {
          guard65 = true;
        } else {
          localDW->is_c2_BCMR_DChrgTiRem = BCMR_DChrgTiRem_IN_ParaStep12_d;
          localB->ParaStep = rtu_BCMR_ParaStep_A[11];
        }
      }

      if (guard66) {
        if (rtu_BattTemp < rtu_BCMR_BattPara_A[9] - rtu_BCMR_HysRng_C) {
          guard64 = true;
        } else {
          guard65 = true;
        }
      }

      if (guard65) {
        if (rtu_BattTemp < rtu_BCMR_BattPara_A[9] - rtu_BCMR_HysRng_C) {
          guard63 = true;
        } else if (rtu_BattTemp < rtu_BCMR_BattPara_A[9] - rtu_BCMR_HysRng_C) {
          guard61 = true;
        } else {
          localDW->is_c2_BCMR_DChrgTiRem = BCMR_DChrgTiRem_IN_ParaStep11_h;
          localB->ParaStep = rtu_BCMR_ParaStep_A[10];
        }
      }

      if (guard64) {
        if (rtu_BattTemp < rtu_BCMR_BattPara_A[8] - rtu_BCMR_HysRng_C) {
          guard62 = true;
        } else {
          guard63 = true;
        }
      }

      if (guard63) {
        if (rtu_BattTemp < rtu_BCMR_BattPara_A[8] - rtu_BCMR_HysRng_C) {
          guard60 = true;
        } else {
          guard61 = true;
        }
      }

      if (guard62) {
        if (rtu_BattTemp < rtu_BCMR_BattPara_A[7] - rtu_BCMR_HysRng_C) {
          guard59 = true;
        } else {
          guard60 = true;
        }
      }

      if (guard61) {
        if (rtu_BattTemp < rtu_BCMR_BattPara_A[8] - rtu_BCMR_HysRng_C) {
          guard58 = true;
        } else if (rtu_BattTemp < rtu_BCMR_BattPara_A[8] - rtu_BCMR_HysRng_C) {
          guard55 = true;
        } else {
          localDW->is_c2_BCMR_DChrgTiRem = BCMR_DChrgTiRem_IN_ParaStep10_g;
          localB->ParaStep = rtu_BCMR_ParaStep_A[9];
        }
      }

      if (guard60) {
        if (rtu_BattTemp < rtu_BCMR_BattPara_A[7] - rtu_BCMR_HysRng_C) {
          guard57 = true;
        } else {
          guard58 = true;
        }
      }

      if (guard59) {
        if (rtu_BattTemp < rtu_BCMR_BattPara_A[6] - rtu_BCMR_HysRng_C) {
          guard56 = true;
        } else {
          guard57 = true;
        }
      }

      if (guard58) {
        if (rtu_BattTemp < rtu_BCMR_BattPara_A[7] - rtu_BCMR_HysRng_C) {
          guard54 = true;
        } else {
          guard55 = true;
        }
      }

      if (guard57) {
        if (rtu_BattTemp < rtu_BCMR_BattPara_A[6] - rtu_BCMR_HysRng_C) {
          guard53 = true;
        } else {
          guard54 = true;
        }
      }

      if (guard56) {
        if (rtu_BattTemp < rtu_BCMR_BattPara_A[5] - rtu_BCMR_HysRng_C) {
          guard52 = true;
        } else {
          guard53 = true;
        }
      }

      if (guard55) {
        if (rtu_BattTemp < rtu_BCMR_BattPara_A[7] - rtu_BCMR_HysRng_C) {
          guard51 = true;
        } else if (rtu_BattTemp < rtu_BCMR_BattPara_A[7] - rtu_BCMR_HysRng_C) {
          guard47 = true;
        } else {
          localDW->is_c2_BCMR_DChrgTiRem = BCMR_DChrgTiRem_IN_ParaStep9_l;
          localB->ParaStep = rtu_BCMR_ParaStep_A[8];
        }
      }

      if (guard54) {
        if (rtu_BattTemp < rtu_BCMR_BattPara_A[6] - rtu_BCMR_HysRng_C) {
          guard50 = true;
        } else {
          guard51 = true;
        }
      }

      if (guard53) {
        if (rtu_BattTemp < rtu_BCMR_BattPara_A[5] - rtu_BCMR_HysRng_C) {
          guard49 = true;
        } else {
          guard50 = true;
        }
      }

      if (guard52) {
        if (rtu_BattTemp < rtu_BCMR_BattPara_A[4] - rtu_BCMR_HysRng_C) {
          guard48 = true;
        } else {
          guard49 = true;
        }
      }

      if (guard51) {
        if (rtu_BattTemp < rtu_BCMR_BattPara_A[6] - rtu_BCMR_HysRng_C) {
          guard46 = true;
        } else {
          guard47 = true;
        }
      }

      if (guard50) {
        if (rtu_BattTemp < rtu_BCMR_BattPara_A[5] - rtu_BCMR_HysRng_C) {
          guard45 = true;
        } else {
          guard46 = true;
        }
      }

      if (guard49) {
        if (rtu_BattTemp < rtu_BCMR_BattPara_A[4] - rtu_BCMR_HysRng_C) {
          guard44 = true;
        } else {
          guard45 = true;
        }
      }

      if (guard48) {
        if (rtu_BattTemp < rtu_BCMR_BattPara_A[3] - rtu_BCMR_HysRng_C) {
          guard43 = true;
        } else {
          guard44 = true;
        }
      }

      if (guard47) {
        if (rtu_BattTemp < rtu_BCMR_BattPara_A[6] - rtu_BCMR_HysRng_C) {
          guard42 = true;
        } else if (rtu_BattTemp < rtu_BCMR_BattPara_A[6] - rtu_BCMR_HysRng_C) {
          guard37 = true;
        } else {
          localDW->is_c2_BCMR_DChrgTiRem = BCMR_DChrgTiRem_IN_ParaStep8_b;
          localB->ParaStep = rtu_BCMR_ParaStep_A[7];
        }
      }

      if (guard46) {
        if (rtu_BattTemp < rtu_BCMR_BattPara_A[5] - rtu_BCMR_HysRng_C) {
          guard41 = true;
        } else {
          guard42 = true;
        }
      }

      if (guard45) {
        if (rtu_BattTemp < rtu_BCMR_BattPara_A[4] - rtu_BCMR_HysRng_C) {
          guard40 = true;
        } else {
          guard41 = true;
        }
      }

      if (guard44) {
        if (rtu_BattTemp < rtu_BCMR_BattPara_A[3] - rtu_BCMR_HysRng_C) {
          guard39 = true;
        } else {
          guard40 = true;
        }
      }

      if (guard43) {
        if (rtu_BattTemp < rtu_BCMR_BattPara_A[2] - rtu_BCMR_HysRng_C) {
          guard38 = true;
        } else {
          guard39 = true;
        }
      }

      if (guard42) {
        if (rtu_BattTemp < rtu_BCMR_BattPara_A[5] - rtu_BCMR_HysRng_C) {
          guard36 = true;
        } else {
          guard37 = true;
        }
      }

      if (guard41) {
        if (rtu_BattTemp < rtu_BCMR_BattPara_A[4] - rtu_BCMR_HysRng_C) {
          guard35 = true;
        } else {
          guard36 = true;
        }
      }

      if (guard40) {
        if (rtu_BattTemp < rtu_BCMR_BattPara_A[3] - rtu_BCMR_HysRng_C) {
          guard34 = true;
        } else {
          guard35 = true;
        }
      }

      if (guard39) {
        if (rtu_BattTemp < rtu_BCMR_BattPara_A[2] - rtu_BCMR_HysRng_C) {
          guard33 = true;
        } else {
          guard34 = true;
        }
      }

      if (guard38) {
        if (rtu_BattTemp < rtu_BCMR_BattPara_A[1] - rtu_BCMR_HysRng_C) {
          guard32 = true;
        } else {
          guard33 = true;
        }
      }

      if (guard37) {
        if (rtu_BattTemp < rtu_BCMR_BattPara_A[5] - rtu_BCMR_HysRng_C) {
          guard31 = true;
        } else if (rtu_BattTemp < rtu_BCMR_BattPara_A[5] - rtu_BCMR_HysRng_C) {
          guard26 = true;
        } else {
          localDW->is_c2_BCMR_DChrgTiRem = BCMR_DChrgTiRem_IN_ParaStep7_a;
          localB->ParaStep = rtu_BCMR_ParaStep_A[6];
        }
      }

      if (guard36) {
        if (rtu_BattTemp < rtu_BCMR_BattPara_A[4] - rtu_BCMR_HysRng_C) {
          guard30 = true;
        } else {
          guard31 = true;
        }
      }

      if (guard35) {
        if (rtu_BattTemp < rtu_BCMR_BattPara_A[3] - rtu_BCMR_HysRng_C) {
          guard29 = true;
        } else {
          guard30 = true;
        }
      }

      if (guard34) {
        if (rtu_BattTemp < rtu_BCMR_BattPara_A[2] - rtu_BCMR_HysRng_C) {
          guard28 = true;
        } else {
          guard29 = true;
        }
      }

      if (guard33) {
        if (rtu_BattTemp < rtu_BCMR_BattPara_A[1] - rtu_BCMR_HysRng_C) {
          guard27 = true;
        } else {
          guard28 = true;
        }
      }

      if (guard32) {
        if (rtu_BattTemp < rtu_BCMR_BattPara_A[0]) {
          guard1 = true;
        } else {
          guard27 = true;
        }
      }

      if (guard31) {
        if (rtu_BattTemp < rtu_BCMR_BattPara_A[4] - rtu_BCMR_HysRng_C) {
          guard25 = true;
        } else {
          guard26 = true;
        }
      }

      if (guard30) {
        if (rtu_BattTemp < rtu_BCMR_BattPara_A[3] - rtu_BCMR_HysRng_C) {
          guard24 = true;
        } else {
          guard25 = true;
        }
      }

      if (guard29) {
        if (rtu_BattTemp < rtu_BCMR_BattPara_A[2] - rtu_BCMR_HysRng_C) {
          guard23 = true;
        } else {
          guard24 = true;
        }
      }

      if (guard28) {
        if (rtu_BattTemp < rtu_BCMR_BattPara_A[1] - rtu_BCMR_HysRng_C) {
          guard22 = true;
        } else {
          guard23 = true;
        }
      }

      if (guard27) {
        if (rtu_BattTemp < rtu_BCMR_BattPara_A[0]) {
          guard1 = true;
        } else {
          guard22 = true;
        }
      }

      if (guard26) {
        if (rtu_BattTemp < rtu_BCMR_BattPara_A[4] - rtu_BCMR_HysRng_C) {
          guard21 = true;
        } else if (rtu_BattTemp < rtu_BCMR_BattPara_A[4] - rtu_BCMR_HysRng_C) {
          guard17 = true;
        } else {
          localDW->is_c2_BCMR_DChrgTiRem = BCMR_DChrgTiRem_IN_ParaStep6_o;
          localB->ParaStep = rtu_BCMR_ParaStep_A[5];
        }
      }

      if (guard25) {
        if (rtu_BattTemp < rtu_BCMR_BattPara_A[3] - rtu_BCMR_HysRng_C) {
          guard20 = true;
        } else {
          guard21 = true;
        }
      }

      if (guard24) {
        if (rtu_BattTemp < rtu_BCMR_BattPara_A[2] - rtu_BCMR_HysRng_C) {
          guard19 = true;
        } else {
          guard20 = true;
        }
      }

      if (guard23) {
        if (rtu_BattTemp < rtu_BCMR_BattPara_A[1] - rtu_BCMR_HysRng_C) {
          guard18 = true;
        } else {
          guard19 = true;
        }
      }

      if (guard22) {
        if (rtu_BattTemp < rtu_BCMR_BattPara_A[0]) {
          guard1 = true;
        } else {
          guard18 = true;
        }
      }

      if (guard21) {
        if (rtu_BattTemp < rtu_BCMR_BattPara_A[3] - rtu_BCMR_HysRng_C) {
          guard16 = true;
        } else {
          guard17 = true;
        }
      }

      if (guard20) {
        if (rtu_BattTemp < rtu_BCMR_BattPara_A[2] - rtu_BCMR_HysRng_C) {
          guard15 = true;
        } else {
          guard16 = true;
        }
      }

      if (guard19) {
        if (rtu_BattTemp < rtu_BCMR_BattPara_A[1] - rtu_BCMR_HysRng_C) {
          guard14 = true;
        } else {
          guard15 = true;
        }
      }

      if (guard18) {
        if (rtu_BattTemp < rtu_BCMR_BattPara_A[0]) {
          guard1 = true;
        } else {
          guard14 = true;
        }
      }

      if (guard17) {
        if (rtu_BattTemp < rtu_BCMR_BattPara_A[3] - rtu_BCMR_HysRng_C) {
          guard13 = true;
        } else if (rtu_BattTemp < rtu_BCMR_BattPara_A[3] - rtu_BCMR_HysRng_C) {
          guard10 = true;
        } else {
          localDW->is_c2_BCMR_DChrgTiRem = BCMR_DChrgTiRem_IN_ParaStep5_f;
          localB->ParaStep = rtu_BCMR_ParaStep_A[4];
        }
      }

      if (guard16) {
        if (rtu_BattTemp < rtu_BCMR_BattPara_A[2] - rtu_BCMR_HysRng_C) {
          guard12 = true;
        } else {
          guard13 = true;
        }
      }

      if (guard15) {
        if (rtu_BattTemp < rtu_BCMR_BattPara_A[1] - rtu_BCMR_HysRng_C) {
          guard11 = true;
        } else {
          guard12 = true;
        }
      }

      if (guard14) {
        if (rtu_BattTemp < rtu_BCMR_BattPara_A[0]) {
          guard1 = true;
        } else {
          guard11 = true;
        }
      }

      if (guard13) {
        if (rtu_BattTemp < rtu_BCMR_BattPara_A[2] - rtu_BCMR_HysRng_C) {
          guard9 = true;
        } else {
          guard10 = true;
        }
      }

      if (guard12) {
        if (rtu_BattTemp < rtu_BCMR_BattPara_A[1] - rtu_BCMR_HysRng_C) {
          guard8 = true;
        } else {
          guard9 = true;
        }
      }

      if (guard11) {
        if (rtu_BattTemp < rtu_BCMR_BattPara_A[0]) {
          guard1 = true;
        } else {
          guard8 = true;
        }
      }

      if (guard10) {
        if (rtu_BattTemp < rtu_BCMR_BattPara_A[2] - rtu_BCMR_HysRng_C) {
          guard7 = true;
        } else if (rtu_BattTemp < rtu_BCMR_BattPara_A[2] - rtu_BCMR_HysRng_C) {
          guard5 = true;
        } else {
          localDW->is_c2_BCMR_DChrgTiRem = BCMR_DChrgTiRem_IN_ParaStep4_k;
          localB->ParaStep = rtu_BCMR_ParaStep_A[3];
        }
      }

      if (guard9) {
        if (rtu_BattTemp < rtu_BCMR_BattPara_A[1] - rtu_BCMR_HysRng_C) {
          guard6 = true;
        } else {
          guard7 = true;
        }
      }

      if (guard8) {
        if (rtu_BattTemp < rtu_BCMR_BattPara_A[0]) {
          guard1 = true;
        } else {
          guard6 = true;
        }
      }

      if (guard7) {
        if (rtu_BattTemp < rtu_BCMR_BattPara_A[1] - rtu_BCMR_HysRng_C) {
          guard4 = true;
        } else {
          guard5 = true;
        }
      }

      if (guard6) {
        if (rtu_BattTemp < rtu_BCMR_BattPara_A[0]) {
          guard1 = true;
        } else {
          guard4 = true;
        }
      }

      if (guard5) {
        if (rtu_BattTemp < rtu_BCMR_BattPara_A[1] - rtu_BCMR_HysRng_C) {
          guard3 = true;
        } else if (rtu_BattTemp < rtu_BCMR_BattPara_A[1] - rtu_BCMR_HysRng_C) {
          guard2 = true;
        } else {
          localDW->is_c2_BCMR_DChrgTiRem = BCMR_DChrgTiRem_IN_ParaStep3_e;
          localB->ParaStep = rtu_BCMR_ParaStep_A[2];
        }
      }

      if (guard4) {
        if (rtu_BattTemp < rtu_BCMR_BattPara_A[0]) {
          guard1 = true;
        } else {
          guard3 = true;
        }
      }

      if (guard3) {
        if (rtu_BattTemp < rtu_BCMR_BattPara_A[0]) {
          guard1 = true;
        } else {
          guard2 = true;
        }
      }

      if (guard2) {
        if (rtu_BattTemp < rtu_BCMR_BattPara_A[0]) {
          guard1 = true;
        } else {
          localDW->is_c2_BCMR_DChrgTiRem = BCMR_DChrgTiRem_IN_ParaStep2_k;
          localB->ParaStep = rtu_BCMR_ParaStep_A[1];
        }
      }

      if (guard1) {
        localDW->is_c2_BCMR_DChrgTiRem = BCMR_DChrgTiRem_IN_ParaStep1_f;
        localB->ParaStep = rtu_BCMR_ParaStep_A[0];
      }
    } else {
      localDW->is_c2_BCMR_DChrgTiRem = BCMR_DChrgTiRem_IN_ParaStep14_d;
      localB->ParaStep = rtu_BCMR_ParaStep_A[13];
    }
  } else {
    if (rtu_BattTemp >= rtu_BCMR_BattPara_A[14]) {
      localDW->is_c2_BCMR_DChrgTiRem = BCMR_DChrgTiRem_IN_ParaStep16_p;
      localB->ParaStep = rtu_BCMR_ParaStep_A[15];
    }
  }
}

/* Function for Chart: '<S15>/ParaStep2' */
static void BCMR_DChrgTiRem_ParaStep16_a(real32_T rtu_BattTemp, const real32_T
  rtu_BCMR_BattPara_A[16], const uint8_T rtu_BCMR_ParaStep_A[16], real32_T
  rtu_BCMR_HysRng_C, B_ParaStep2_BCMR_DChrgTiRem_T *localB,
  DW_ParaStep2_BCMR_DChrgTiRem_T *localDW)
{
  boolean_T guard1 = false;
  boolean_T guard2 = false;
  boolean_T guard3 = false;
  boolean_T guard4 = false;
  boolean_T guard5 = false;
  boolean_T guard6 = false;
  boolean_T guard7 = false;
  boolean_T guard8 = false;
  boolean_T guard9 = false;
  boolean_T guard10 = false;
  boolean_T guard11 = false;
  boolean_T guard12 = false;
  boolean_T guard13 = false;
  boolean_T guard14 = false;
  boolean_T guard15 = false;
  boolean_T guard16 = false;
  boolean_T guard17 = false;
  boolean_T guard18 = false;
  boolean_T guard19 = false;
  boolean_T guard20 = false;
  boolean_T guard21 = false;
  boolean_T guard22 = false;
  boolean_T guard23 = false;
  boolean_T guard24 = false;
  boolean_T guard25 = false;
  boolean_T guard26 = false;
  boolean_T guard27 = false;
  boolean_T guard28 = false;
  boolean_T guard29 = false;
  boolean_T guard30 = false;
  boolean_T guard31 = false;
  boolean_T guard32 = false;
  boolean_T guard33 = false;
  boolean_T guard34 = false;
  boolean_T guard35 = false;
  boolean_T guard36 = false;
  boolean_T guard37 = false;
  boolean_T guard38 = false;
  boolean_T guard39 = false;
  boolean_T guard40 = false;
  boolean_T guard41 = false;
  boolean_T guard42 = false;
  boolean_T guard43 = false;
  boolean_T guard44 = false;
  boolean_T guard45 = false;
  boolean_T guard46 = false;
  boolean_T guard47 = false;
  boolean_T guard48 = false;
  boolean_T guard49 = false;
  boolean_T guard50 = false;
  boolean_T guard51 = false;
  boolean_T guard52 = false;
  boolean_T guard53 = false;
  boolean_T guard54 = false;
  boolean_T guard55 = false;
  boolean_T guard56 = false;
  boolean_T guard57 = false;
  boolean_T guard58 = false;
  boolean_T guard59 = false;
  boolean_T guard60 = false;
  boolean_T guard61 = false;
  boolean_T guard62 = false;
  boolean_T guard63 = false;
  boolean_T guard64 = false;
  boolean_T guard65 = false;
  boolean_T guard66 = false;
  boolean_T guard67 = false;
  boolean_T guard68 = false;
  boolean_T guard69 = false;
  boolean_T guard70 = false;
  boolean_T guard71 = false;
  boolean_T guard72 = false;
  boolean_T guard73 = false;
  boolean_T guard74 = false;
  boolean_T guard75 = false;
  boolean_T guard76 = false;
  boolean_T guard77 = false;
  boolean_T guard78 = false;
  boolean_T guard79 = false;
  if (rtu_BattTemp < rtu_BCMR_BattPara_A[14] - rtu_BCMR_HysRng_C) {
    if (rtu_BattTemp < rtu_BCMR_BattPara_A[13] - rtu_BCMR_HysRng_C) {
      guard1 = false;
      guard2 = false;
      guard3 = false;
      guard4 = false;
      guard5 = false;
      guard6 = false;
      guard7 = false;
      guard8 = false;
      guard9 = false;
      guard10 = false;
      guard11 = false;
      guard12 = false;
      guard13 = false;
      guard14 = false;
      guard15 = false;
      guard16 = false;
      guard17 = false;
      guard18 = false;
      guard19 = false;
      guard20 = false;
      guard21 = false;
      guard22 = false;
      guard23 = false;
      guard24 = false;
      guard25 = false;
      guard26 = false;
      guard27 = false;
      guard28 = false;
      guard29 = false;
      guard30 = false;
      guard31 = false;
      guard32 = false;
      guard33 = false;
      guard34 = false;
      guard35 = false;
      guard36 = false;
      guard37 = false;
      guard38 = false;
      guard39 = false;
      guard40 = false;
      guard41 = false;
      guard42 = false;
      guard43 = false;
      guard44 = false;
      guard45 = false;
      guard46 = false;
      guard47 = false;
      guard48 = false;
      guard49 = false;
      guard50 = false;
      guard51 = false;
      guard52 = false;
      guard53 = false;
      guard54 = false;
      guard55 = false;
      guard56 = false;
      guard57 = false;
      guard58 = false;
      guard59 = false;
      guard60 = false;
      guard61 = false;
      guard62 = false;
      guard63 = false;
      guard64 = false;
      guard65 = false;
      guard66 = false;
      guard67 = false;
      guard68 = false;
      guard69 = false;
      guard70 = false;
      guard71 = false;
      guard72 = false;
      guard73 = false;
      guard74 = false;
      guard75 = false;
      guard76 = false;
      guard77 = false;
      guard78 = false;
      guard79 = false;
      if (rtu_BattTemp < rtu_BCMR_BattPara_A[12] - rtu_BCMR_HysRng_C) {
        if (rtu_BattTemp < rtu_BCMR_BattPara_A[11] - rtu_BCMR_HysRng_C) {
          if (rtu_BattTemp < rtu_BCMR_BattPara_A[10] - rtu_BCMR_HysRng_C) {
            if (rtu_BattTemp < rtu_BCMR_BattPara_A[9] - rtu_BCMR_HysRng_C) {
              if (rtu_BattTemp < rtu_BCMR_BattPara_A[8] - rtu_BCMR_HysRng_C) {
                if (rtu_BattTemp < rtu_BCMR_BattPara_A[7] - rtu_BCMR_HysRng_C) {
                  if (rtu_BattTemp < rtu_BCMR_BattPara_A[6] - rtu_BCMR_HysRng_C)
                  {
                    if (rtu_BattTemp < rtu_BCMR_BattPara_A[5] -
                        rtu_BCMR_HysRng_C) {
                      if (rtu_BattTemp < rtu_BCMR_BattPara_A[4] -
                          rtu_BCMR_HysRng_C) {
                        if (rtu_BattTemp < rtu_BCMR_BattPara_A[3] -
                            rtu_BCMR_HysRng_C) {
                          if (rtu_BattTemp < rtu_BCMR_BattPara_A[2] -
                              rtu_BCMR_HysRng_C) {
                            if (rtu_BattTemp < rtu_BCMR_BattPara_A[1] -
                                rtu_BCMR_HysRng_C) {
                              if (rtu_BattTemp < rtu_BCMR_BattPara_A[0]) {
                                guard1 = true;
                              } else {
                                guard38 = true;
                              }
                            } else {
                              guard44 = true;
                            }
                          } else {
                            guard50 = true;
                          }
                        } else {
                          guard55 = true;
                        }
                      } else {
                        guard60 = true;
                      }
                    } else {
                      guard64 = true;
                    }
                  } else {
                    guard68 = true;
                  }
                } else {
                  guard71 = true;
                }
              } else {
                guard74 = true;
              }
            } else {
              guard76 = true;
            }
          } else {
            guard78 = true;
          }
        } else {
          guard79 = true;
        }
      } else if (rtu_BattTemp < rtu_BCMR_BattPara_A[12] - rtu_BCMR_HysRng_C) {
        guard79 = true;
      } else {
        localDW->is_c2_BCMR_DChrgTiRem = BCMR_DChrgTiRem_IN_ParaStep14_d;
        localB->ParaStep = rtu_BCMR_ParaStep_A[13];
      }

      if (guard79) {
        if (rtu_BattTemp < rtu_BCMR_BattPara_A[11] - rtu_BCMR_HysRng_C) {
          guard78 = true;
        } else if (rtu_BattTemp < rtu_BCMR_BattPara_A[11] - rtu_BCMR_HysRng_C) {
          guard77 = true;
        } else {
          localDW->is_c2_BCMR_DChrgTiRem = BCMR_DChrgTiRem_IN_ParaStep13_b;
          localB->ParaStep = rtu_BCMR_ParaStep_A[12];
        }
      }

      if (guard78) {
        if (rtu_BattTemp < rtu_BCMR_BattPara_A[10] - rtu_BCMR_HysRng_C) {
          guard76 = true;
        } else {
          guard77 = true;
        }
      }

      if (guard77) {
        if (rtu_BattTemp < rtu_BCMR_BattPara_A[10] - rtu_BCMR_HysRng_C) {
          guard75 = true;
        } else if (rtu_BattTemp < rtu_BCMR_BattPara_A[10] - rtu_BCMR_HysRng_C) {
          guard73 = true;
        } else {
          localDW->is_c2_BCMR_DChrgTiRem = BCMR_DChrgTiRem_IN_ParaStep12_d;
          localB->ParaStep = rtu_BCMR_ParaStep_A[11];
        }
      }

      if (guard76) {
        if (rtu_BattTemp < rtu_BCMR_BattPara_A[9] - rtu_BCMR_HysRng_C) {
          guard74 = true;
        } else {
          guard75 = true;
        }
      }

      if (guard75) {
        if (rtu_BattTemp < rtu_BCMR_BattPara_A[9] - rtu_BCMR_HysRng_C) {
          guard72 = true;
        } else {
          guard73 = true;
        }
      }

      if (guard74) {
        if (rtu_BattTemp < rtu_BCMR_BattPara_A[8] - rtu_BCMR_HysRng_C) {
          guard71 = true;
        } else {
          guard72 = true;
        }
      }

      if (guard73) {
        if (rtu_BattTemp < rtu_BCMR_BattPara_A[9] - rtu_BCMR_HysRng_C) {
          guard70 = true;
        } else if (rtu_BattTemp < rtu_BCMR_BattPara_A[9] - rtu_BCMR_HysRng_C) {
          guard67 = true;
        } else {
          localDW->is_c2_BCMR_DChrgTiRem = BCMR_DChrgTiRem_IN_ParaStep11_h;
          localB->ParaStep = rtu_BCMR_ParaStep_A[10];
        }
      }

      if (guard72) {
        if (rtu_BattTemp < rtu_BCMR_BattPara_A[8] - rtu_BCMR_HysRng_C) {
          guard69 = true;
        } else {
          guard70 = true;
        }
      }

      if (guard71) {
        if (rtu_BattTemp < rtu_BCMR_BattPara_A[7] - rtu_BCMR_HysRng_C) {
          guard68 = true;
        } else {
          guard69 = true;
        }
      }

      if (guard70) {
        if (rtu_BattTemp < rtu_BCMR_BattPara_A[8] - rtu_BCMR_HysRng_C) {
          guard66 = true;
        } else {
          guard67 = true;
        }
      }

      if (guard69) {
        if (rtu_BattTemp < rtu_BCMR_BattPara_A[7] - rtu_BCMR_HysRng_C) {
          guard65 = true;
        } else {
          guard66 = true;
        }
      }

      if (guard68) {
        if (rtu_BattTemp < rtu_BCMR_BattPara_A[6] - rtu_BCMR_HysRng_C) {
          guard64 = true;
        } else {
          guard65 = true;
        }
      }

      if (guard67) {
        if (rtu_BattTemp < rtu_BCMR_BattPara_A[8] - rtu_BCMR_HysRng_C) {
          guard63 = true;
        } else if (rtu_BattTemp < rtu_BCMR_BattPara_A[8] - rtu_BCMR_HysRng_C) {
          guard59 = true;
        } else {
          localDW->is_c2_BCMR_DChrgTiRem = BCMR_DChrgTiRem_IN_ParaStep10_g;
          localB->ParaStep = rtu_BCMR_ParaStep_A[9];
        }
      }

      if (guard66) {
        if (rtu_BattTemp < rtu_BCMR_BattPara_A[7] - rtu_BCMR_HysRng_C) {
          guard62 = true;
        } else {
          guard63 = true;
        }
      }

      if (guard65) {
        if (rtu_BattTemp < rtu_BCMR_BattPara_A[6] - rtu_BCMR_HysRng_C) {
          guard61 = true;
        } else {
          guard62 = true;
        }
      }

      if (guard64) {
        if (rtu_BattTemp < rtu_BCMR_BattPara_A[5] - rtu_BCMR_HysRng_C) {
          guard60 = true;
        } else {
          guard61 = true;
        }
      }

      if (guard63) {
        if (rtu_BattTemp < rtu_BCMR_BattPara_A[7] - rtu_BCMR_HysRng_C) {
          guard58 = true;
        } else {
          guard59 = true;
        }
      }

      if (guard62) {
        if (rtu_BattTemp < rtu_BCMR_BattPara_A[6] - rtu_BCMR_HysRng_C) {
          guard57 = true;
        } else {
          guard58 = true;
        }
      }

      if (guard61) {
        if (rtu_BattTemp < rtu_BCMR_BattPara_A[5] - rtu_BCMR_HysRng_C) {
          guard56 = true;
        } else {
          guard57 = true;
        }
      }

      if (guard60) {
        if (rtu_BattTemp < rtu_BCMR_BattPara_A[4] - rtu_BCMR_HysRng_C) {
          guard55 = true;
        } else {
          guard56 = true;
        }
      }

      if (guard59) {
        if (rtu_BattTemp < rtu_BCMR_BattPara_A[7] - rtu_BCMR_HysRng_C) {
          guard54 = true;
        } else if (rtu_BattTemp < rtu_BCMR_BattPara_A[7] - rtu_BCMR_HysRng_C) {
          guard49 = true;
        } else {
          localDW->is_c2_BCMR_DChrgTiRem = BCMR_DChrgTiRem_IN_ParaStep9_l;
          localB->ParaStep = rtu_BCMR_ParaStep_A[8];
        }
      }

      if (guard58) {
        if (rtu_BattTemp < rtu_BCMR_BattPara_A[6] - rtu_BCMR_HysRng_C) {
          guard53 = true;
        } else {
          guard54 = true;
        }
      }

      if (guard57) {
        if (rtu_BattTemp < rtu_BCMR_BattPara_A[5] - rtu_BCMR_HysRng_C) {
          guard52 = true;
        } else {
          guard53 = true;
        }
      }

      if (guard56) {
        if (rtu_BattTemp < rtu_BCMR_BattPara_A[4] - rtu_BCMR_HysRng_C) {
          guard51 = true;
        } else {
          guard52 = true;
        }
      }

      if (guard55) {
        if (rtu_BattTemp < rtu_BCMR_BattPara_A[3] - rtu_BCMR_HysRng_C) {
          guard50 = true;
        } else {
          guard51 = true;
        }
      }

      if (guard54) {
        if (rtu_BattTemp < rtu_BCMR_BattPara_A[6] - rtu_BCMR_HysRng_C) {
          guard48 = true;
        } else {
          guard49 = true;
        }
      }

      if (guard53) {
        if (rtu_BattTemp < rtu_BCMR_BattPara_A[5] - rtu_BCMR_HysRng_C) {
          guard47 = true;
        } else {
          guard48 = true;
        }
      }

      if (guard52) {
        if (rtu_BattTemp < rtu_BCMR_BattPara_A[4] - rtu_BCMR_HysRng_C) {
          guard46 = true;
        } else {
          guard47 = true;
        }
      }

      if (guard51) {
        if (rtu_BattTemp < rtu_BCMR_BattPara_A[3] - rtu_BCMR_HysRng_C) {
          guard45 = true;
        } else {
          guard46 = true;
        }
      }

      if (guard50) {
        if (rtu_BattTemp < rtu_BCMR_BattPara_A[2] - rtu_BCMR_HysRng_C) {
          guard44 = true;
        } else {
          guard45 = true;
        }
      }

      if (guard49) {
        if (rtu_BattTemp < rtu_BCMR_BattPara_A[6] - rtu_BCMR_HysRng_C) {
          guard43 = true;
        } else if (rtu_BattTemp < rtu_BCMR_BattPara_A[6] - rtu_BCMR_HysRng_C) {
          guard37 = true;
        } else {
          localDW->is_c2_BCMR_DChrgTiRem = BCMR_DChrgTiRem_IN_ParaStep8_b;
          localB->ParaStep = rtu_BCMR_ParaStep_A[7];
        }
      }

      if (guard48) {
        if (rtu_BattTemp < rtu_BCMR_BattPara_A[5] - rtu_BCMR_HysRng_C) {
          guard42 = true;
        } else {
          guard43 = true;
        }
      }

      if (guard47) {
        if (rtu_BattTemp < rtu_BCMR_BattPara_A[4] - rtu_BCMR_HysRng_C) {
          guard41 = true;
        } else {
          guard42 = true;
        }
      }

      if (guard46) {
        if (rtu_BattTemp < rtu_BCMR_BattPara_A[3] - rtu_BCMR_HysRng_C) {
          guard40 = true;
        } else {
          guard41 = true;
        }
      }

      if (guard45) {
        if (rtu_BattTemp < rtu_BCMR_BattPara_A[2] - rtu_BCMR_HysRng_C) {
          guard39 = true;
        } else {
          guard40 = true;
        }
      }

      if (guard44) {
        if (rtu_BattTemp < rtu_BCMR_BattPara_A[1] - rtu_BCMR_HysRng_C) {
          guard38 = true;
        } else {
          guard39 = true;
        }
      }

      if (guard43) {
        if (rtu_BattTemp < rtu_BCMR_BattPara_A[5] - rtu_BCMR_HysRng_C) {
          guard36 = true;
        } else {
          guard37 = true;
        }
      }

      if (guard42) {
        if (rtu_BattTemp < rtu_BCMR_BattPara_A[4] - rtu_BCMR_HysRng_C) {
          guard35 = true;
        } else {
          guard36 = true;
        }
      }

      if (guard41) {
        if (rtu_BattTemp < rtu_BCMR_BattPara_A[3] - rtu_BCMR_HysRng_C) {
          guard34 = true;
        } else {
          guard35 = true;
        }
      }

      if (guard40) {
        if (rtu_BattTemp < rtu_BCMR_BattPara_A[2] - rtu_BCMR_HysRng_C) {
          guard33 = true;
        } else {
          guard34 = true;
        }
      }

      if (guard39) {
        if (rtu_BattTemp < rtu_BCMR_BattPara_A[1] - rtu_BCMR_HysRng_C) {
          guard32 = true;
        } else {
          guard33 = true;
        }
      }

      if (guard38) {
        if (rtu_BattTemp < rtu_BCMR_BattPara_A[0]) {
          guard1 = true;
        } else {
          guard32 = true;
        }
      }

      if (guard37) {
        if (rtu_BattTemp < rtu_BCMR_BattPara_A[5] - rtu_BCMR_HysRng_C) {
          guard31 = true;
        } else if (rtu_BattTemp < rtu_BCMR_BattPara_A[5] - rtu_BCMR_HysRng_C) {
          guard26 = true;
        } else {
          localDW->is_c2_BCMR_DChrgTiRem = BCMR_DChrgTiRem_IN_ParaStep7_a;
          localB->ParaStep = rtu_BCMR_ParaStep_A[6];
        }
      }

      if (guard36) {
        if (rtu_BattTemp < rtu_BCMR_BattPara_A[4] - rtu_BCMR_HysRng_C) {
          guard30 = true;
        } else {
          guard31 = true;
        }
      }

      if (guard35) {
        if (rtu_BattTemp < rtu_BCMR_BattPara_A[3] - rtu_BCMR_HysRng_C) {
          guard29 = true;
        } else {
          guard30 = true;
        }
      }

      if (guard34) {
        if (rtu_BattTemp < rtu_BCMR_BattPara_A[2] - rtu_BCMR_HysRng_C) {
          guard28 = true;
        } else {
          guard29 = true;
        }
      }

      if (guard33) {
        if (rtu_BattTemp < rtu_BCMR_BattPara_A[1] - rtu_BCMR_HysRng_C) {
          guard27 = true;
        } else {
          guard28 = true;
        }
      }

      if (guard32) {
        if (rtu_BattTemp < rtu_BCMR_BattPara_A[0]) {
          guard1 = true;
        } else {
          guard27 = true;
        }
      }

      if (guard31) {
        if (rtu_BattTemp < rtu_BCMR_BattPara_A[4] - rtu_BCMR_HysRng_C) {
          guard25 = true;
        } else {
          guard26 = true;
        }
      }

      if (guard30) {
        if (rtu_BattTemp < rtu_BCMR_BattPara_A[3] - rtu_BCMR_HysRng_C) {
          guard24 = true;
        } else {
          guard25 = true;
        }
      }

      if (guard29) {
        if (rtu_BattTemp < rtu_BCMR_BattPara_A[2] - rtu_BCMR_HysRng_C) {
          guard23 = true;
        } else {
          guard24 = true;
        }
      }

      if (guard28) {
        if (rtu_BattTemp < rtu_BCMR_BattPara_A[1] - rtu_BCMR_HysRng_C) {
          guard22 = true;
        } else {
          guard23 = true;
        }
      }

      if (guard27) {
        if (rtu_BattTemp < rtu_BCMR_BattPara_A[0]) {
          guard1 = true;
        } else {
          guard22 = true;
        }
      }

      if (guard26) {
        if (rtu_BattTemp < rtu_BCMR_BattPara_A[4] - rtu_BCMR_HysRng_C) {
          guard21 = true;
        } else if (rtu_BattTemp < rtu_BCMR_BattPara_A[4] - rtu_BCMR_HysRng_C) {
          guard17 = true;
        } else {
          localDW->is_c2_BCMR_DChrgTiRem = BCMR_DChrgTiRem_IN_ParaStep6_o;
          localB->ParaStep = rtu_BCMR_ParaStep_A[5];
        }
      }

      if (guard25) {
        if (rtu_BattTemp < rtu_BCMR_BattPara_A[3] - rtu_BCMR_HysRng_C) {
          guard20 = true;
        } else {
          guard21 = true;
        }
      }

      if (guard24) {
        if (rtu_BattTemp < rtu_BCMR_BattPara_A[2] - rtu_BCMR_HysRng_C) {
          guard19 = true;
        } else {
          guard20 = true;
        }
      }

      if (guard23) {
        if (rtu_BattTemp < rtu_BCMR_BattPara_A[1] - rtu_BCMR_HysRng_C) {
          guard18 = true;
        } else {
          guard19 = true;
        }
      }

      if (guard22) {
        if (rtu_BattTemp < rtu_BCMR_BattPara_A[0]) {
          guard1 = true;
        } else {
          guard18 = true;
        }
      }

      if (guard21) {
        if (rtu_BattTemp < rtu_BCMR_BattPara_A[3] - rtu_BCMR_HysRng_C) {
          guard16 = true;
        } else {
          guard17 = true;
        }
      }

      if (guard20) {
        if (rtu_BattTemp < rtu_BCMR_BattPara_A[2] - rtu_BCMR_HysRng_C) {
          guard15 = true;
        } else {
          guard16 = true;
        }
      }

      if (guard19) {
        if (rtu_BattTemp < rtu_BCMR_BattPara_A[1] - rtu_BCMR_HysRng_C) {
          guard14 = true;
        } else {
          guard15 = true;
        }
      }

      if (guard18) {
        if (rtu_BattTemp < rtu_BCMR_BattPara_A[0]) {
          guard1 = true;
        } else {
          guard14 = true;
        }
      }

      if (guard17) {
        if (rtu_BattTemp < rtu_BCMR_BattPara_A[3] - rtu_BCMR_HysRng_C) {
          guard13 = true;
        } else if (rtu_BattTemp < rtu_BCMR_BattPara_A[3] - rtu_BCMR_HysRng_C) {
          guard10 = true;
        } else {
          localDW->is_c2_BCMR_DChrgTiRem = BCMR_DChrgTiRem_IN_ParaStep5_f;
          localB->ParaStep = rtu_BCMR_ParaStep_A[4];
        }
      }

      if (guard16) {
        if (rtu_BattTemp < rtu_BCMR_BattPara_A[2] - rtu_BCMR_HysRng_C) {
          guard12 = true;
        } else {
          guard13 = true;
        }
      }

      if (guard15) {
        if (rtu_BattTemp < rtu_BCMR_BattPara_A[1] - rtu_BCMR_HysRng_C) {
          guard11 = true;
        } else {
          guard12 = true;
        }
      }

      if (guard14) {
        if (rtu_BattTemp < rtu_BCMR_BattPara_A[0]) {
          guard1 = true;
        } else {
          guard11 = true;
        }
      }

      if (guard13) {
        if (rtu_BattTemp < rtu_BCMR_BattPara_A[2] - rtu_BCMR_HysRng_C) {
          guard9 = true;
        } else {
          guard10 = true;
        }
      }

      if (guard12) {
        if (rtu_BattTemp < rtu_BCMR_BattPara_A[1] - rtu_BCMR_HysRng_C) {
          guard8 = true;
        } else {
          guard9 = true;
        }
      }

      if (guard11) {
        if (rtu_BattTemp < rtu_BCMR_BattPara_A[0]) {
          guard1 = true;
        } else {
          guard8 = true;
        }
      }

      if (guard10) {
        if (rtu_BattTemp < rtu_BCMR_BattPara_A[2] - rtu_BCMR_HysRng_C) {
          guard7 = true;
        } else if (rtu_BattTemp < rtu_BCMR_BattPara_A[2] - rtu_BCMR_HysRng_C) {
          guard5 = true;
        } else {
          localDW->is_c2_BCMR_DChrgTiRem = BCMR_DChrgTiRem_IN_ParaStep4_k;
          localB->ParaStep = rtu_BCMR_ParaStep_A[3];
        }
      }

      if (guard9) {
        if (rtu_BattTemp < rtu_BCMR_BattPara_A[1] - rtu_BCMR_HysRng_C) {
          guard6 = true;
        } else {
          guard7 = true;
        }
      }

      if (guard8) {
        if (rtu_BattTemp < rtu_BCMR_BattPara_A[0]) {
          guard1 = true;
        } else {
          guard6 = true;
        }
      }

      if (guard7) {
        if (rtu_BattTemp < rtu_BCMR_BattPara_A[1] - rtu_BCMR_HysRng_C) {
          guard4 = true;
        } else {
          guard5 = true;
        }
      }

      if (guard6) {
        if (rtu_BattTemp < rtu_BCMR_BattPara_A[0]) {
          guard1 = true;
        } else {
          guard4 = true;
        }
      }

      if (guard5) {
        if (rtu_BattTemp < rtu_BCMR_BattPara_A[1] - rtu_BCMR_HysRng_C) {
          guard3 = true;
        } else if (rtu_BattTemp < rtu_BCMR_BattPara_A[1] - rtu_BCMR_HysRng_C) {
          guard2 = true;
        } else {
          localDW->is_c2_BCMR_DChrgTiRem = BCMR_DChrgTiRem_IN_ParaStep3_e;
          localB->ParaStep = rtu_BCMR_ParaStep_A[2];
        }
      }

      if (guard4) {
        if (rtu_BattTemp < rtu_BCMR_BattPara_A[0]) {
          guard1 = true;
        } else {
          guard3 = true;
        }
      }

      if (guard3) {
        if (rtu_BattTemp < rtu_BCMR_BattPara_A[0]) {
          guard1 = true;
        } else {
          guard2 = true;
        }
      }

      if (guard2) {
        if (rtu_BattTemp < rtu_BCMR_BattPara_A[0]) {
          guard1 = true;
        } else {
          localDW->is_c2_BCMR_DChrgTiRem = BCMR_DChrgTiRem_IN_ParaStep2_k;
          localB->ParaStep = rtu_BCMR_ParaStep_A[1];
        }
      }

      if (guard1) {
        localDW->is_c2_BCMR_DChrgTiRem = BCMR_DChrgTiRem_IN_ParaStep1_f;
        localB->ParaStep = rtu_BCMR_ParaStep_A[0];
      }
    } else {
      localDW->is_c2_BCMR_DChrgTiRem = BCMR_DChrgTiRem_IN_ParaStep15_a;
      localB->ParaStep = rtu_BCMR_ParaStep_A[14];
    }
  } else {
    if (rtu_BattTemp >= rtu_BCMR_BattPara_A[15]) {
      localDW->is_c2_BCMR_DChrgTiRem = BCMR_DChrgTiRem_IN_Init_l;
      localB->ParaStep = 0U;
    }
  }
}

/* System reset for atomic system: '<S15>/ParaStep2' */
void BCMR_DChrgTiRem_ParaStep2_Reset(B_ParaStep2_BCMR_DChrgTiRem_T *localB,
  DW_ParaStep2_BCMR_DChrgTiRem_T *localDW)
{
  localDW->is_active_c2_BCMR_DChrgTiRem = 0U;
  localDW->is_c2_BCMR_DChrgTiRem = BCMR_DChrg_IN_NO_ACTIVE_CHILD_l;
  localB->ParaStep = 0U;
}

/* Output and update for atomic system: '<S15>/ParaStep2' */
void BCMR_DChrgTiRem_ParaStep2(real32_T rtu_BattTemp, const real32_T
  rtu_BCMR_BattPara_A[16], const uint8_T rtu_BCMR_ParaStep_A[16], real32_T
  rtu_BCMR_HysRng_C, B_ParaStep2_BCMR_DChrgTiRem_T *localB,
  DW_ParaStep2_BCMR_DChrgTiRem_T *localDW)
{
  boolean_T guard1 = false;
  boolean_T guard2 = false;
  boolean_T guard3 = false;
  boolean_T guard4 = false;
  boolean_T guard5 = false;
  boolean_T guard6 = false;
  boolean_T guard7 = false;
  boolean_T guard8 = false;
  boolean_T guard9 = false;
  boolean_T guard10 = false;
  boolean_T guard11 = false;
  boolean_T guard12 = false;
  boolean_T guard13 = false;
  boolean_T guard14 = false;
  boolean_T guard15 = false;
  boolean_T guard16 = false;
  boolean_T guard17 = false;
  boolean_T guard18 = false;
  boolean_T guard19 = false;
  boolean_T guard20 = false;
  boolean_T guard21 = false;
  boolean_T guard22 = false;
  boolean_T guard23 = false;
  boolean_T guard24 = false;
  if (localDW->is_active_c2_BCMR_DChrgTiRem == 0U) {
    localDW->is_active_c2_BCMR_DChrgTiRem = 1U;
    localDW->is_c2_BCMR_DChrgTiRem = BCMR_DChrgTiRem_IN_Init_l;
    localB->ParaStep = 0U;
  } else {
    guard1 = false;
    guard2 = false;
    guard3 = false;
    guard4 = false;
    guard5 = false;
    guard6 = false;
    guard7 = false;
    guard8 = false;
    guard9 = false;
    guard10 = false;
    guard11 = false;
    guard12 = false;
    guard13 = false;
    guard14 = false;
    guard15 = false;
    guard16 = false;
    guard17 = false;
    guard18 = false;
    guard19 = false;
    guard20 = false;
    guard21 = false;
    guard22 = false;
    guard23 = false;
    guard24 = false;
    switch (localDW->is_c2_BCMR_DChrgTiRem) {
     case BCMR_DChrgTiRem_IN_Init_l:
      BCMR_DChrgTiRem_Init_m(rtu_BattTemp, rtu_BCMR_BattPara_A,
        rtu_BCMR_ParaStep_A, localB, localDW);
      break;

     case BCMR_DChrgTiRem_IN_ParaStep1_f:
      if (rtu_BattTemp >= rtu_BCMR_BattPara_A[0]) {
        localDW->is_c2_BCMR_DChrgTiRem = BCMR_DChrgTiRem_IN_ParaStep2_k;
        localB->ParaStep = rtu_BCMR_ParaStep_A[1];
      }
      break;

     case BCMR_DChrgTiRem_IN_ParaStep10_g:
      BCMR_DChrgTiRem_ParaStep10_k(rtu_BattTemp, rtu_BCMR_BattPara_A,
        rtu_BCMR_ParaStep_A, rtu_BCMR_HysRng_C, localB, localDW);
      break;

     case BCMR_DChrgTiRem_IN_ParaStep11_h:
      BCMR_DChrgTiRem_ParaStep11_n(rtu_BattTemp, rtu_BCMR_BattPara_A,
        rtu_BCMR_ParaStep_A, rtu_BCMR_HysRng_C, localB, localDW);
      break;

     case BCMR_DChrgTiRem_IN_ParaStep12_d:
      BCMR_DChrgTiRem_ParaStep12_l(rtu_BattTemp, rtu_BCMR_BattPara_A,
        rtu_BCMR_ParaStep_A, rtu_BCMR_HysRng_C, localB, localDW);
      break;

     case BCMR_DChrgTiRem_IN_ParaStep13_b:
      BCMR_DChrgTiRem_ParaStep13_b(rtu_BattTemp, rtu_BCMR_BattPara_A,
        rtu_BCMR_ParaStep_A, rtu_BCMR_HysRng_C, localB, localDW);
      break;

     case BCMR_DChrgTiRem_IN_ParaStep14_d:
      BCMR_DChrgTiRem_ParaStep14_j(rtu_BattTemp, rtu_BCMR_BattPara_A,
        rtu_BCMR_ParaStep_A, rtu_BCMR_HysRng_C, localB, localDW);
      break;

     case BCMR_DChrgTiRem_IN_ParaStep15_a:
      BCMR_DChrgTiRem_ParaStep15_k(rtu_BattTemp, rtu_BCMR_BattPara_A,
        rtu_BCMR_ParaStep_A, rtu_BCMR_HysRng_C, localB, localDW);
      break;

     case BCMR_DChrgTiRem_IN_ParaStep16_p:
      BCMR_DChrgTiRem_ParaStep16_a(rtu_BattTemp, rtu_BCMR_BattPara_A,
        rtu_BCMR_ParaStep_A, rtu_BCMR_HysRng_C, localB, localDW);
      break;

     case BCMR_DChrgTiRem_IN_ParaStep2_k:
      if (rtu_BattTemp >= rtu_BCMR_BattPara_A[1]) {
        localDW->is_c2_BCMR_DChrgTiRem = BCMR_DChrgTiRem_IN_ParaStep3_e;
        localB->ParaStep = rtu_BCMR_ParaStep_A[2];
      } else {
        if (rtu_BattTemp < rtu_BCMR_BattPara_A[0]) {
          localDW->is_c2_BCMR_DChrgTiRem = BCMR_DChrgTiRem_IN_ParaStep1_f;
          localB->ParaStep = rtu_BCMR_ParaStep_A[0];
        }
      }
      break;

     case BCMR_DChrgTiRem_IN_ParaStep3_e:
      if (rtu_BattTemp >= rtu_BCMR_BattPara_A[2]) {
        localDW->is_c2_BCMR_DChrgTiRem = BCMR_DChrgTiRem_IN_ParaStep4_k;
        localB->ParaStep = rtu_BCMR_ParaStep_A[3];
      } else {
        if (rtu_BattTemp < rtu_BCMR_BattPara_A[1] - rtu_BCMR_HysRng_C) {
          if (rtu_BattTemp < rtu_BCMR_BattPara_A[0]) {
            localDW->is_c2_BCMR_DChrgTiRem = BCMR_DChrgTiRem_IN_ParaStep1_f;
            localB->ParaStep = rtu_BCMR_ParaStep_A[0];
          } else {
            localDW->is_c2_BCMR_DChrgTiRem = BCMR_DChrgTiRem_IN_ParaStep2_k;
            localB->ParaStep = rtu_BCMR_ParaStep_A[1];
          }
        }
      }
      break;

     case BCMR_DChrgTiRem_IN_ParaStep4_k:
      if (rtu_BattTemp >= rtu_BCMR_BattPara_A[3]) {
        localDW->is_c2_BCMR_DChrgTiRem = BCMR_DChrgTiRem_IN_ParaStep5_f;
        localB->ParaStep = rtu_BCMR_ParaStep_A[4];
      } else {
        if (rtu_BattTemp < rtu_BCMR_BattPara_A[2] - rtu_BCMR_HysRng_C) {
          if (rtu_BattTemp < rtu_BCMR_BattPara_A[1] - rtu_BCMR_HysRng_C) {
            if (rtu_BattTemp < rtu_BCMR_BattPara_A[0]) {
              localDW->is_c2_BCMR_DChrgTiRem = BCMR_DChrgTiRem_IN_ParaStep1_f;
              localB->ParaStep = rtu_BCMR_ParaStep_A[0];
            } else {
              localDW->is_c2_BCMR_DChrgTiRem = BCMR_DChrgTiRem_IN_ParaStep2_k;
              localB->ParaStep = rtu_BCMR_ParaStep_A[1];
            }
          } else {
            localDW->is_c2_BCMR_DChrgTiRem = BCMR_DChrgTiRem_IN_ParaStep3_e;
            localB->ParaStep = rtu_BCMR_ParaStep_A[2];
          }
        }
      }
      break;

     case BCMR_DChrgTiRem_IN_ParaStep5_f:
      if (rtu_BattTemp >= rtu_BCMR_BattPara_A[4]) {
        localDW->is_c2_BCMR_DChrgTiRem = BCMR_DChrgTiRem_IN_ParaStep6_o;
        localB->ParaStep = rtu_BCMR_ParaStep_A[5];
      } else {
        if (rtu_BattTemp < rtu_BCMR_BattPara_A[3] - rtu_BCMR_HysRng_C) {
          if (rtu_BattTemp < rtu_BCMR_BattPara_A[2] - rtu_BCMR_HysRng_C) {
            if (rtu_BattTemp < rtu_BCMR_BattPara_A[1] - rtu_BCMR_HysRng_C) {
              if (rtu_BattTemp < rtu_BCMR_BattPara_A[0]) {
                guard1 = true;
              } else {
                guard5 = true;
              }
            } else if (rtu_BattTemp < rtu_BCMR_BattPara_A[1] - rtu_BCMR_HysRng_C)
            {
              guard5 = true;
            } else {
              localDW->is_c2_BCMR_DChrgTiRem = BCMR_DChrgTiRem_IN_ParaStep3_e;
              localB->ParaStep = rtu_BCMR_ParaStep_A[2];
            }
          } else {
            localDW->is_c2_BCMR_DChrgTiRem = BCMR_DChrgTiRem_IN_ParaStep4_k;
            localB->ParaStep = rtu_BCMR_ParaStep_A[3];
          }
        }
      }
      break;

     case BCMR_DChrgTiRem_IN_ParaStep6_o:
      if (rtu_BattTemp >= rtu_BCMR_BattPara_A[5]) {
        localDW->is_c2_BCMR_DChrgTiRem = BCMR_DChrgTiRem_IN_ParaStep7_a;
        localB->ParaStep = rtu_BCMR_ParaStep_A[6];
      } else {
        if (rtu_BattTemp < rtu_BCMR_BattPara_A[4] - rtu_BCMR_HysRng_C) {
          if (rtu_BattTemp < rtu_BCMR_BattPara_A[3] - rtu_BCMR_HysRng_C) {
            if (rtu_BattTemp < rtu_BCMR_BattPara_A[2] - rtu_BCMR_HysRng_C) {
              if (rtu_BattTemp < rtu_BCMR_BattPara_A[1] - rtu_BCMR_HysRng_C) {
                if (rtu_BattTemp < rtu_BCMR_BattPara_A[0]) {
                  guard2 = true;
                } else {
                  guard9 = true;
                }
              } else {
                guard12 = true;
              }
            } else if (rtu_BattTemp < rtu_BCMR_BattPara_A[2] - rtu_BCMR_HysRng_C)
            {
              guard12 = true;
            } else {
              localDW->is_c2_BCMR_DChrgTiRem = BCMR_DChrgTiRem_IN_ParaStep4_k;
              localB->ParaStep = rtu_BCMR_ParaStep_A[3];
            }
          } else {
            localDW->is_c2_BCMR_DChrgTiRem = BCMR_DChrgTiRem_IN_ParaStep5_f;
            localB->ParaStep = rtu_BCMR_ParaStep_A[4];
          }
        }
      }
      break;

     case BCMR_DChrgTiRem_IN_ParaStep7_a:
      if (rtu_BattTemp >= rtu_BCMR_BattPara_A[6]) {
        localDW->is_c2_BCMR_DChrgTiRem = BCMR_DChrgTiRem_IN_ParaStep8_b;
        localB->ParaStep = rtu_BCMR_ParaStep_A[7];
      } else {
        if (rtu_BattTemp < rtu_BCMR_BattPara_A[5] - rtu_BCMR_HysRng_C) {
          if (rtu_BattTemp < rtu_BCMR_BattPara_A[4] - rtu_BCMR_HysRng_C) {
            if (rtu_BattTemp < rtu_BCMR_BattPara_A[3] - rtu_BCMR_HysRng_C) {
              if (rtu_BattTemp < rtu_BCMR_BattPara_A[2] - rtu_BCMR_HysRng_C) {
                if (rtu_BattTemp < rtu_BCMR_BattPara_A[1] - rtu_BCMR_HysRng_C) {
                  if (rtu_BattTemp < rtu_BCMR_BattPara_A[0]) {
                    guard3 = true;
                  } else {
                    guard13 = true;
                  }
                } else {
                  guard17 = true;
                }
              } else {
                guard20 = true;
              }
            } else if (rtu_BattTemp < rtu_BCMR_BattPara_A[3] - rtu_BCMR_HysRng_C)
            {
              guard20 = true;
            } else {
              localDW->is_c2_BCMR_DChrgTiRem = BCMR_DChrgTiRem_IN_ParaStep5_f;
              localB->ParaStep = rtu_BCMR_ParaStep_A[4];
            }
          } else {
            localDW->is_c2_BCMR_DChrgTiRem = BCMR_DChrgTiRem_IN_ParaStep6_o;
            localB->ParaStep = rtu_BCMR_ParaStep_A[5];
          }
        }
      }
      break;

     case BCMR_DChrgTiRem_IN_ParaStep8_b:
      if (rtu_BattTemp >= rtu_BCMR_BattPara_A[7]) {
        localDW->is_c2_BCMR_DChrgTiRem = BCMR_DChrgTiRem_IN_ParaStep9_l;
        localB->ParaStep = rtu_BCMR_ParaStep_A[8];
      } else {
        if (rtu_BattTemp < rtu_BCMR_BattPara_A[6] - rtu_BCMR_HysRng_C) {
          if (rtu_BattTemp < rtu_BCMR_BattPara_A[5] - rtu_BCMR_HysRng_C) {
            if (rtu_BattTemp < rtu_BCMR_BattPara_A[4] - rtu_BCMR_HysRng_C) {
              if (rtu_BattTemp < rtu_BCMR_BattPara_A[3] - rtu_BCMR_HysRng_C) {
                if (rtu_BattTemp < rtu_BCMR_BattPara_A[2] - rtu_BCMR_HysRng_C) {
                  if (rtu_BattTemp < rtu_BCMR_BattPara_A[1] - rtu_BCMR_HysRng_C)
                  {
                    if (rtu_BattTemp < rtu_BCMR_BattPara_A[0]) {
                      guard4 = true;
                    } else {
                      guard18 = true;
                    }
                  } else {
                    guard21 = true;
                  }
                } else {
                  guard23 = true;
                }
              } else {
                guard24 = true;
              }
            } else if (rtu_BattTemp < rtu_BCMR_BattPara_A[4] - rtu_BCMR_HysRng_C)
            {
              guard24 = true;
            } else {
              localDW->is_c2_BCMR_DChrgTiRem = BCMR_DChrgTiRem_IN_ParaStep6_o;
              localB->ParaStep = rtu_BCMR_ParaStep_A[5];
            }
          } else {
            localDW->is_c2_BCMR_DChrgTiRem = BCMR_DChrgTiRem_IN_ParaStep7_a;
            localB->ParaStep = rtu_BCMR_ParaStep_A[6];
          }
        }
      }
      break;

     default:
      BCMR_DChrgTiRem_ParaStep9_p(rtu_BattTemp, rtu_BCMR_BattPara_A,
        rtu_BCMR_ParaStep_A, rtu_BCMR_HysRng_C, localB, localDW);
      break;
    }

    if (guard24) {
      if (rtu_BattTemp < rtu_BCMR_BattPara_A[3] - rtu_BCMR_HysRng_C) {
        guard23 = true;
      } else if (rtu_BattTemp < rtu_BCMR_BattPara_A[3] - rtu_BCMR_HysRng_C) {
        guard22 = true;
      } else {
        localDW->is_c2_BCMR_DChrgTiRem = BCMR_DChrgTiRem_IN_ParaStep5_f;
        localB->ParaStep = rtu_BCMR_ParaStep_A[4];
      }
    }

    if (guard23) {
      if (rtu_BattTemp < rtu_BCMR_BattPara_A[2] - rtu_BCMR_HysRng_C) {
        guard21 = true;
      } else {
        guard22 = true;
      }
    }

    if (guard22) {
      if (rtu_BattTemp < rtu_BCMR_BattPara_A[2] - rtu_BCMR_HysRng_C) {
        guard19 = true;
      } else if (rtu_BattTemp < rtu_BCMR_BattPara_A[2] - rtu_BCMR_HysRng_C) {
        guard16 = true;
      } else {
        localDW->is_c2_BCMR_DChrgTiRem = BCMR_DChrgTiRem_IN_ParaStep4_k;
        localB->ParaStep = rtu_BCMR_ParaStep_A[3];
      }
    }

    if (guard21) {
      if (rtu_BattTemp < rtu_BCMR_BattPara_A[1] - rtu_BCMR_HysRng_C) {
        guard18 = true;
      } else {
        guard19 = true;
      }
    }

    if (guard20) {
      if (rtu_BattTemp < rtu_BCMR_BattPara_A[2] - rtu_BCMR_HysRng_C) {
        guard17 = true;
      } else if (rtu_BattTemp < rtu_BCMR_BattPara_A[2] - rtu_BCMR_HysRng_C) {
        guard14 = true;
      } else {
        localDW->is_c2_BCMR_DChrgTiRem = BCMR_DChrgTiRem_IN_ParaStep4_k;
        localB->ParaStep = rtu_BCMR_ParaStep_A[3];
      }
    }

    if (guard19) {
      if (rtu_BattTemp < rtu_BCMR_BattPara_A[1] - rtu_BCMR_HysRng_C) {
        guard15 = true;
      } else {
        guard16 = true;
      }
    }

    if (guard18) {
      if (rtu_BattTemp < rtu_BCMR_BattPara_A[0]) {
        guard4 = true;
      } else {
        guard15 = true;
      }
    }

    if (guard17) {
      if (rtu_BattTemp < rtu_BCMR_BattPara_A[1] - rtu_BCMR_HysRng_C) {
        guard13 = true;
      } else {
        guard14 = true;
      }
    }

    if (guard16) {
      if (rtu_BattTemp < rtu_BCMR_BattPara_A[1] - rtu_BCMR_HysRng_C) {
        guard11 = true;
      } else if (rtu_BattTemp < rtu_BCMR_BattPara_A[1] - rtu_BCMR_HysRng_C) {
        guard8 = true;
      } else {
        localDW->is_c2_BCMR_DChrgTiRem = BCMR_DChrgTiRem_IN_ParaStep3_e;
        localB->ParaStep = rtu_BCMR_ParaStep_A[2];
      }
    }

    if (guard15) {
      if (rtu_BattTemp < rtu_BCMR_BattPara_A[0]) {
        guard4 = true;
      } else {
        guard11 = true;
      }
    }

    if (guard14) {
      if (rtu_BattTemp < rtu_BCMR_BattPara_A[1] - rtu_BCMR_HysRng_C) {
        guard10 = true;
      } else if (rtu_BattTemp < rtu_BCMR_BattPara_A[1] - rtu_BCMR_HysRng_C) {
        guard7 = true;
      } else {
        localDW->is_c2_BCMR_DChrgTiRem = BCMR_DChrgTiRem_IN_ParaStep3_e;
        localB->ParaStep = rtu_BCMR_ParaStep_A[2];
      }
    }

    if (guard13) {
      if (rtu_BattTemp < rtu_BCMR_BattPara_A[0]) {
        guard3 = true;
      } else {
        guard10 = true;
      }
    }

    if (guard12) {
      if (rtu_BattTemp < rtu_BCMR_BattPara_A[1] - rtu_BCMR_HysRng_C) {
        guard9 = true;
      } else if (rtu_BattTemp < rtu_BCMR_BattPara_A[1] - rtu_BCMR_HysRng_C) {
        guard6 = true;
      } else {
        localDW->is_c2_BCMR_DChrgTiRem = BCMR_DChrgTiRem_IN_ParaStep3_e;
        localB->ParaStep = rtu_BCMR_ParaStep_A[2];
      }
    }

    if (guard11) {
      if (rtu_BattTemp < rtu_BCMR_BattPara_A[0]) {
        guard4 = true;
      } else {
        guard8 = true;
      }
    }

    if (guard10) {
      if (rtu_BattTemp < rtu_BCMR_BattPara_A[0]) {
        guard3 = true;
      } else {
        guard7 = true;
      }
    }

    if (guard9) {
      if (rtu_BattTemp < rtu_BCMR_BattPara_A[0]) {
        guard2 = true;
      } else {
        guard6 = true;
      }
    }

    if (guard8) {
      if (rtu_BattTemp < rtu_BCMR_BattPara_A[0]) {
        guard4 = true;
      } else {
        localDW->is_c2_BCMR_DChrgTiRem = BCMR_DChrgTiRem_IN_ParaStep2_k;
        localB->ParaStep = rtu_BCMR_ParaStep_A[1];
      }
    }

    if (guard7) {
      if (rtu_BattTemp < rtu_BCMR_BattPara_A[0]) {
        guard3 = true;
      } else {
        localDW->is_c2_BCMR_DChrgTiRem = BCMR_DChrgTiRem_IN_ParaStep2_k;
        localB->ParaStep = rtu_BCMR_ParaStep_A[1];
      }
    }

    if (guard6) {
      if (rtu_BattTemp < rtu_BCMR_BattPara_A[0]) {
        guard2 = true;
      } else {
        localDW->is_c2_BCMR_DChrgTiRem = BCMR_DChrgTiRem_IN_ParaStep2_k;
        localB->ParaStep = rtu_BCMR_ParaStep_A[1];
      }
    }

    if (guard5) {
      if (rtu_BattTemp < rtu_BCMR_BattPara_A[0]) {
        guard1 = true;
      } else {
        localDW->is_c2_BCMR_DChrgTiRem = BCMR_DChrgTiRem_IN_ParaStep2_k;
        localB->ParaStep = rtu_BCMR_ParaStep_A[1];
      }
    }

    if (guard4) {
      localDW->is_c2_BCMR_DChrgTiRem = BCMR_DChrgTiRem_IN_ParaStep1_f;
      localB->ParaStep = rtu_BCMR_ParaStep_A[0];
    }

    if (guard3) {
      localDW->is_c2_BCMR_DChrgTiRem = BCMR_DChrgTiRem_IN_ParaStep1_f;
      localB->ParaStep = rtu_BCMR_ParaStep_A[0];
    }

    if (guard2) {
      localDW->is_c2_BCMR_DChrgTiRem = BCMR_DChrgTiRem_IN_ParaStep1_f;
      localB->ParaStep = rtu_BCMR_ParaStep_A[0];
    }

    if (guard1) {
      localDW->is_c2_BCMR_DChrgTiRem = BCMR_DChrgTiRem_IN_ParaStep1_f;
      localB->ParaStep = rtu_BCMR_ParaStep_A[0];
    }
  }
}

/* Model step function */
void BCMR_DChrgTiRem_step(void)
{
  uint8_T b_index;
  uint32_T bpIdx;
  uint32_T bpIndices[2];
  real32_T fractions[2];
  real32_T rtb_Switch4_m;
  real32_T rtb_Switch1_i;
  real32_T rtb_Switch5_l;
  real32_T rtb_Product;
  real32_T rtb_Divide2[272];
  int32_T i;
  real32_T rtb_Switch4_a_idx_0;
  real32_T rtb_Switch4_a_idx_1;
  boolean_T rtb_Compare_mz_idx_0;
  boolean_T rtb_Compare_mz_idx_1;
  real32_T rtb_Product_h4_idx_0;
  real32_T rtb_LogicalOperator_0;
  if (((BCMR_stDChrgDebugOut != 9) && (BCMR_stDChrgDebugOut >= 3) &&
       (BCMR_stDChrgDebugOut < 12)) || BCMR_bDChrgCurrReqEna) {
    if (!BCMR_DChrgTiRem_DW.DcRemTime_MODE) {
      BCMR_DChrgTiRem_DW.UnitDelay1_DSTATE_j = true;
      BCMR_DChrgTiRem_DW.Delay1_DSTATE_d[0] = 0.0F;
      BCMR_DChrgTiRem_DW.Delay1_DSTATE_d[1] = 0.0F;
      BCMR_DChrgTiRem_ParaStep_Reset(&BCMR_DChrgTiRem_B.sf_ParaStep,
        &BCMR_DChrgTiRem_DW.sf_ParaStep);
      BCMR_DChrgTiRem_DW.Delay_DSTATE_cx[0] = 0.0F;
      BCMR_DChrgTiRem_DW.Delay_DSTATE_cx[1] = 0.0F;
      BCMR_DChrgTiRem_ParaStep2_Reset(&BCMR_DChrgTiRem_B.sf_ParaStep2,
        &BCMR_DChrgTiRem_DW.sf_ParaStep2);
      BCMR_DChrgTiRem_DW.temporalCounter_i1 = 0U;
      BCMR_DChrgTiRem_DW.is_end = BCMR_DChrg_IN_NO_ACTIVE_CHILD_j;
      BCMR_DChrgTiRem_DW.is_active_c1_BCMR_DChrgTiRem = 0U;
      BCMR_DChrgTiRem_DW.is_c1_BCMR_DChrgTiRem = BCMR_DChrg_IN_NO_ACTIVE_CHILD_j;
      BCMR_DChrgTiRem_DW.Rx = 0U;
      BCMR_DChrgTiRem_DW.Time = 0U;
      BCMR_DChrgTiRem_DW.PackCurNow = 0.0F;
      BCMR_RemTimeState = 0U;
      BCMR_iCurDChrgOldVal = 0.0F;
      BCMR_cntCounterNum = 0U;
      BCMR_rSocStepLong = 0.0F;
      BCMR_tiUnitTimeSub = 0.0F;
      BCMR_rSocStepDiff = 0.0F;
      BCMR_tiUnitTimeTot = 0.0F;
      BCMR_cntCountNum = 0U;
      BCMR_tiDChrgRemRvs = 0.0F;
      BCMR_DChrgTiRem_DW.DcRemTime_MODE = true;
    }

    BCMR_DChrgTiRem_ParaStep(BSER_rSoc, ((const real32_T *)&(BCMR_rSOC_Y[0])),
      ((const uint8_T *)&(BCMR_pctBattSocStep_C[0])), BCMR_pctBattSocHysRng_C,
      &BCMR_DChrgTiRem_B.sf_ParaStep, &BCMR_DChrgTiRem_DW.sf_ParaStep);
    BCMR_rColNum = BCMR_DChrgTiRem_B.sf_ParaStep.ParaStep;
    rtb_Compare_mz_idx_0 = ((real32_T)fabs(BSPR_tCellTempMin -
      BCMR_DChrgTiRem_DW.Delay1_DSTATE_d[0]) >= BCMR_tBattTempMaxFilRem_C);
    rtb_Compare_mz_idx_1 = ((real32_T)fabs(BSPR_tCellTempMax -
      BCMR_DChrgTiRem_DW.Delay1_DSTATE_d[1]) >= BCMR_tBattTempMaxFilRem_C);
    if (rtb_Compare_mz_idx_0) {
      rtb_Switch4_m = BCMR_tiDChrgTiRemBase_C;
    } else {
      rtb_Switch4_m = 0.0F;
    }

    if (BCMR_tiBattTempMaxTiRemDly_C <= BCMR_DChrgTiRem_DW.Delay_DSTATE_cx[0]) {
      rtb_Switch1_i = BCMR_tiBattTempMaxTiRemDly_C;
    } else {
      rtb_Switch1_i = BCMR_DChrgTiRem_DW.Delay_DSTATE_cx[0];
    }

    rtb_Switch4_m = (rtb_Switch4_m + rtb_Switch1_i) * (real32_T)
      rtb_Compare_mz_idx_0;
    BCMR_DChrgTiRem_DW.Delay_DSTATE_cx[0] = rtb_Switch4_m;
    rtb_Product_h4_idx_0 = rtb_Switch4_m;
    if (rtb_Compare_mz_idx_1) {
      rtb_Switch4_m = BCMR_tiDChrgTiRemBase_C;
    } else {
      rtb_Switch4_m = 0.0F;
    }

    if (BCMR_tiBattTempMaxTiRemDly_C <= BCMR_DChrgTiRem_DW.Delay_DSTATE_cx[1]) {
      rtb_Switch1_i = BCMR_tiBattTempMaxTiRemDly_C;
    } else {
      rtb_Switch1_i = BCMR_DChrgTiRem_DW.Delay_DSTATE_cx[1];
    }

    rtb_Switch4_m = (rtb_Switch4_m + rtb_Switch1_i) * (real32_T)
      rtb_Compare_mz_idx_1;
    BCMR_DChrgTiRem_DW.Delay_DSTATE_cx[1] = rtb_Switch4_m;
    if (BCMR_DChrgTiRem_DW.UnitDelay1_DSTATE_j) {
      rtb_Switch4_a_idx_0 = BSPR_tCellTempMin;
      rtb_Switch4_a_idx_1 = BSPR_tCellTempMax;
    } else {
      if (rtb_Product_h4_idx_0 > BCMR_tiBattTempMaxTiRemDly_C) {
        rtb_Switch4_a_idx_0 = BSPR_tCellTempMin;
      } else {
        rtb_Switch4_a_idx_0 = BCMR_DChrgTiRem_DW.Delay1_DSTATE_d[0];
      }

      if (rtb_Switch4_m > BCMR_tiBattTempMaxTiRemDly_C) {
        rtb_Switch4_a_idx_1 = BSPR_tCellTempMax;
      } else {
        rtb_Switch4_a_idx_1 = BCMR_DChrgTiRem_DW.Delay1_DSTATE_d[1];
      }
    }

    rtb_Switch1_i = (real32_T)fmod((real32_T)ceil(rtb_Switch4_a_idx_0 / 5.0F),
      256.0F);
    rtb_Product = (real32_T)fmod((real32_T)ceil(rtb_Switch4_a_idx_1 / 5.0F),
      256.0F);
    bpIdx = plook_u32ff_binca(BSER_rSoc, ((const real32_T *)&(BCMR_rSOC_Y[0])),
      15U, &rtb_Switch4_m);
    fractions[1U] = rtb_Switch4_m;
    bpIndices[1U] = bpIdx;
    bpIdx = plook_u32ff_binca((real32_T)(rtb_Switch1_i < 0.0F ? (int32_T)
      (uint8_T)-(int8_T)(uint8_T)-rtb_Switch1_i : (int32_T)(uint8_T)
      rtb_Switch1_i) * 5.0F, ((const real32_T *)&(BCMR_tDcChrgCellTempTiRem_A[0])),
      16U, &rtb_Switch4_m);
    fractions[0U] = rtb_Switch4_m;
    bpIndices[0U] = bpIdx;
    rtb_Switch4_m = intrp2d_fu32fla_pw(bpIndices, fractions, ((const real32_T *)
      &(BCMR_tiDcChrgCurrTime_MAP[0])), 17U, rtCP_TheoryTimeMap_maxIndex);
    rtb_Product_h4_idx_0 = rtb_Switch4_m;
    bpIdx = plook_u32ff_binca((real32_T)(rtb_Product < 0.0F ? (int32_T)(uint8_T)
      -(int8_T)(uint8_T)-rtb_Product : (int32_T)(uint8_T)rtb_Product) * 5.0F, ((
      const real32_T *)&(BCMR_tDcChrgCellTempTiRem_A[0])), 16U, &rtb_Switch4_m);
    fractions[0U] = rtb_Switch4_m;
    bpIndices[0U] = bpIdx;
    rtb_Switch4_m = intrp2d_fu32fla_pw(bpIndices, fractions, ((const real32_T *)
      &(BCMR_tiDcChrgCurrTime_MAP[0])), 17U, rtCP_TheoryTimeMap_maxIndex);
    if (rtb_Product_h4_idx_0 > rtb_Switch4_m) {
      rtb_Switch1_i = rtb_Switch4_a_idx_0;
    } else {
      rtb_Switch1_i = rtb_Switch4_a_idx_1;
    }

    BCMR_DChrgTiRem_ParaStep2(rtb_Switch1_i, ((const real32_T *)
      &(BCMR_tCellTempTiRem_A[0])), ((const uint8_T *)
      &(BCMR_tCellTempStepTiRem_A[0])), BCMR_tCellTempHysRngTiRem_C,
      &BCMR_DChrgTiRem_B.sf_ParaStep2, &BCMR_DChrgTiRem_DW.sf_ParaStep2);
    BCMR_rRowNum = BCMR_DChrgTiRem_B.sf_ParaStep2.ParaStep;
    if (rtb_Product_h4_idx_0 >= rtb_Switch4_m) {
      BCMR_tiDChrgRemTbl = rtb_Product_h4_idx_0;
    } else {
      BCMR_tiDChrgRemTbl = rtb_Switch4_m;
    }

    for (i = 0; i < 272; i++) {
      rtb_Divide2[i] = BCMR_iDcChrgRemCur_MAP[i] * BCMR_cDcChrgBattCap_C;
    }

    if (BCMR_DChrgTiRem_DW.temporalCounter_i1 < 255U) {
      BCMR_DChrgTiRem_DW.temporalCounter_i1++;
    }

    if (BCMR_DChrgTiRem_DW.is_active_c1_BCMR_DChrgTiRem == 0U) {
      BCMR_DChrgTiRem_DW.is_active_c1_BCMR_DChrgTiRem = 1U;
      BCMR_DChrgTiRem_DW.is_c1_BCMR_DChrgTiRem = BCMR_DChrgTiRem_IN_Default;
      BCMR_tiDChrgRemRvs = 0.0F;
      BCMR_DChrgTiRem_DW.Time = 0U;
      BCMR_DChrgTiRem_DW.Rx = 0U;
      BCMR_RemTimeState = 1U;
      BCMR_iCurDChrgOldVal = 0.0F;
    } else {
      switch (BCMR_DChrgTiRem_DW.is_c1_BCMR_DChrgTiRem) {
       case BCMR_DChrgTiRem_IN_CurHold:
        if ((real32_T)fabs(BCMR_iCurDChrgOldVal - BSPR_iBattCurr) >
            BCMR_iDChrgCurrRemTimeAdj_C) {
          BCMR_iCurDChrgOldVal = BSPR_iBattCurr;
          BCMR_DChrgTiRem_DW.is_c1_BCMR_DChrgTiRem = BCMR_DChrgTiRem_IN_DChrg;
          BCMR_RemTimeState = 5U;
        } else {
          BCMR_DChrgTiRem_DW.is_c1_BCMR_DChrgTiRem = BCMR_DChrgTiRem_IN_DChrg;
          BCMR_RemTimeState = 5U;
        }
        break;

       case BCMR_DChrgTiRem_IN_CurOpt:
        if (BCMR_cntCounterNum > BCMR_cntCurRateDebs_C) {
          BCMR_DChrgTiRem_DW.is_c1_BCMR_DChrgTiRem = BCMR_DChrgTiRem_IN_CurHold;
          BCMR_RemTimeState = 4U;
        } else if ((real32_T)fabs(BCMR_DChrgTiRem_DW.PackCurNow - BSPR_iBattCurr)
                   < BCMR_iDChrgCurrStbDbnc_C) {
          i = BCMR_cntCounterNum + 1;
          if (i > 65535) {
            i = 65535;
          }

          BCMR_cntCounterNum = (uint16_T)i;
          BCMR_DChrgTiRem_DW.is_c1_BCMR_DChrgTiRem = BCMR_DChrgTiRem_IN_CurOpt;
          BCMR_RemTimeState = 3U;
        } else {
          BCMR_DChrgTiRem_DW.is_c1_BCMR_DChrgTiRem = BCMR_DChrgTiRem_IN_Init_l1;
          BCMR_DChrgTiRem_DW.temporalCounter_i1 = 0U;
          BCMR_RemTimeState = 2U;
          BCMR_DChrgTiRem_DW.Time = 0U;
          BCMR_DChrgTiRem_DW.PackCurNow = BSPR_iBattCurr;
          BCMR_cntCountNum = 0U;
        }
        break;

       case BCMR_DChrgTiRem_IN_DChrg:
        BCMR_DChrgTiRem_DW.is_c1_BCMR_DChrgTiRem = BCMR_DChrgTiRem_IN_TimeAdd;
        BCMR_DChrgTiRem_DW.Rx = BCMR_rRowNum;
        for (b_index = BCMR_rColNum; b_index < 14; b_index++) {
          if ((rtb_Divide2[17 * b_index + BCMR_DChrgTiRem_DW.Rx] - (real32_T)
               fabs(BCMR_iCurDChrgOldVal) >= BCMR_iDChrgCurrRemTimeAdj_C) &&
              (BCMR_DChrgTiRem_DW.Rx > 0) && (BCMR_iCurDChrgOldVal != 0.0F)) {
            rtb_Switch1_i = (real32_T)fabs((real32_T)fabs(rtb_Divide2[17 *
              b_index + BCMR_DChrgTiRem_DW.Rx] - (real32_T)fabs
              (BCMR_iCurDChrgOldVal)) / BCMR_iCurDChrgOldVal *
              BCMR_tiDcChrgCurrUnitTime_MAP[17 * b_index + BCMR_DChrgTiRem_DW.Rx])
              + (real32_T)BCMR_DChrgTiRem_DW.Time;
            if (rtb_Switch1_i < 65536.0F) {
              BCMR_DChrgTiRem_DW.Time = (uint16_T)rtb_Switch1_i;
            } else {
              BCMR_DChrgTiRem_DW.Time = MAX_uint16_T;
            }
          }
        }
        break;

       case BCMR_DChrgTiRem_IN_Default:
        if (BCMR_cntCountNum >= BCMR_cntDChrgCurCnt_C) {
          BCMR_DChrgTiRem_DW.is_c1_BCMR_DChrgTiRem = BCMR_DChrgTiRem_IN_Init_l1;
          BCMR_DChrgTiRem_DW.temporalCounter_i1 = 0U;
          BCMR_RemTimeState = 2U;
          BCMR_DChrgTiRem_DW.Time = 0U;
          BCMR_DChrgTiRem_DW.PackCurNow = BSPR_iBattCurr;
          BCMR_cntCountNum = 0U;
        } else if (BSPR_iBattCurr < BCMR_iDcCurOptDebs_C) {
          i = BCMR_cntCountNum + 1;
          if (i > 65535) {
            i = 65535;
          }

          BCMR_cntCountNum = (uint16_T)i;
          BCMR_DChrgTiRem_DW.is_c1_BCMR_DChrgTiRem = BCMR_DChrgTiRem_IN_Default;
          BCMR_tiDChrgRemRvs = 0.0F;
          BCMR_DChrgTiRem_DW.Time = 0U;
          BCMR_DChrgTiRem_DW.Rx = 0U;
          BCMR_RemTimeState = 1U;
          BCMR_iCurDChrgOldVal = 0.0F;
        } else {
          BCMR_cntCountNum = 0U;
          BCMR_DChrgTiRem_DW.is_c1_BCMR_DChrgTiRem = BCMR_DChrgTiRem_IN_Default;
          BCMR_tiDChrgRemRvs = 0.0F;
          BCMR_DChrgTiRem_DW.Time = 0U;
          BCMR_DChrgTiRem_DW.Rx = 0U;
          BCMR_RemTimeState = 1U;
          BCMR_iCurDChrgOldVal = 0.0F;
        }
        break;

       case BCMR_DChrgTiRem_IN_Init_l1:
        if ((BSPR_iBattCurr < 0.0F) && (BCMR_DChrgTiRem_DW.temporalCounter_i1 >=
             200U)) {
          BCMR_cntCounterNum = 0U;
          BCMR_DChrgTiRem_DW.is_c1_BCMR_DChrgTiRem = BCMR_DChrgTiRem_IN_CurOpt;
          BCMR_RemTimeState = 3U;
        } else {
          if (BSPR_iBattCurr >= 0.0F) {
            BCMR_cntCountNum = 0U;
            BCMR_DChrgTiRem_DW.is_c1_BCMR_DChrgTiRem =
              BCMR_DChrgTiRem_IN_Default;
            BCMR_tiDChrgRemRvs = 0.0F;
            BCMR_DChrgTiRem_DW.Time = 0U;
            BCMR_DChrgTiRem_DW.Rx = 0U;
            BCMR_RemTimeState = 1U;
            BCMR_iCurDChrgOldVal = 0.0F;
          }
        }
        break;

       case BCMR_DChrgTiRem_IN_TimeAdd:
        if ((rtb_Divide2[17 * BCMR_rColNum + BCMR_rRowNum] - (real32_T)fabs
             (BCMR_iCurDChrgOldVal) >= BCMR_iDChrgCurrRemTimeAdj_C) &&
            (BCMR_DChrgTiRem_DW.Rx > 0)) {
          BCMR_DChrgTiRem_DW.is_c1_BCMR_DChrgTiRem = BCMR_DChrgTiRem_IN_end;
          BCMR_DChrgTiRem_DW.is_end = BCMR_DChrgTiRem_IN_TimeLinear;
          BCMR_rSocStepLong = BCMR_rSOC_Y[(int32_T)((real32_T)BCMR_rColNum + 0.05F)]
            - BCMR_rSOC_Y[BCMR_rColNum];
          BCMR_rSocStepDiff = (real32_T)fabs(BSER_rSoc -
            BCMR_rSOC_Y[BCMR_rColNum]);
          BCMR_tiUnitTimeTot = (real32_T)fabs((real32_T)fabs(rtb_Divide2[17 *
            BCMR_rColNum + BCMR_rRowNum] - (real32_T)fabs(BCMR_iCurDChrgOldVal))
            / BCMR_iCurDChrgOldVal * BCMR_tiDcChrgCurrUnitTime_MAP[17 *
            BCMR_rColNum + BCMR_rRowNum]);
          BCMR_tiUnitTimeSub = BCMR_rSocStepDiff / BCMR_rSocStepLong *
            BCMR_tiUnitTimeTot;
          BCMR_RemTimeState = 8U;
        } else {
          BCMR_DChrgTiRem_DW.is_c1_BCMR_DChrgTiRem = BCMR_DChrgTiRem_IN_end;
          BCMR_DChrgTiRem_DW.is_end = BCMR_DChrgTiRem_IN_endA;
          BCMR_tiDChrgRemRvs = (real32_T)BCMR_DChrgTiRem_DW.Time;
          BCMR_RemTimeState = 7U;
        }
        break;

       default:
        switch (BCMR_DChrgTiRem_DW.is_end) {
         case BCMR_DChrgTiRem_IN_TimeLinear:
          if (BCMR_DChrgTiRem_DW.Time > BCMR_tiUnitTimeSub) {
            BCMR_DChrgTiRem_DW.is_end = BCMR_DChrgTiRem_IN_endB;
            BCMR_tiDChrgRemRvs = (real32_T)BCMR_DChrgTiRem_DW.Time -
              BCMR_tiUnitTimeSub;
            BCMR_RemTimeState = 9U;
          } else {
            BCMR_DChrgTiRem_DW.is_end = BCMR_DChrgTiRem_IN_endC;
            BCMR_tiDChrgRemRvs = 0.0F;

            /* Time -  UnitTimeSub; */
            BCMR_RemTimeState = 10U;
          }
          break;

         case BCMR_DChrgTiRem_IN_endA:
          BCMR_DChrgTiRem_DW.is_end = BCMR_DChrg_IN_NO_ACTIVE_CHILD_j;
          BCMR_DChrgTiRem_DW.is_c1_BCMR_DChrgTiRem = BCMR_DChrgTiRem_IN_Init_l1;
          BCMR_DChrgTiRem_DW.temporalCounter_i1 = 0U;
          BCMR_RemTimeState = 2U;
          BCMR_DChrgTiRem_DW.Time = 0U;
          BCMR_DChrgTiRem_DW.PackCurNow = BSPR_iBattCurr;
          BCMR_cntCountNum = 0U;
          break;

         case BCMR_DChrgTiRem_IN_endB:
          BCMR_DChrgTiRem_DW.is_end = BCMR_DChrg_IN_NO_ACTIVE_CHILD_j;
          BCMR_DChrgTiRem_DW.is_c1_BCMR_DChrgTiRem = BCMR_DChrgTiRem_IN_Init_l1;
          BCMR_DChrgTiRem_DW.temporalCounter_i1 = 0U;
          BCMR_RemTimeState = 2U;
          BCMR_DChrgTiRem_DW.Time = 0U;
          BCMR_DChrgTiRem_DW.PackCurNow = BSPR_iBattCurr;
          BCMR_cntCountNum = 0U;
          break;

         default:
          BCMR_DChrgTiRem_DW.is_end = BCMR_DChrg_IN_NO_ACTIVE_CHILD_j;
          BCMR_DChrgTiRem_DW.is_c1_BCMR_DChrgTiRem = BCMR_DChrgTiRem_IN_Init_l1;
          BCMR_DChrgTiRem_DW.temporalCounter_i1 = 0U;
          BCMR_RemTimeState = 2U;
          BCMR_DChrgTiRem_DW.Time = 0U;
          BCMR_DChrgTiRem_DW.PackCurNow = BSPR_iBattCurr;
          BCMR_cntCountNum = 0U;
          break;
        }
        break;
      }
    }

    BCMR_DChrgTiRem_DW.UnitDelay1_DSTATE_j = false;
    BCMR_DChrgTiRem_DW.Delay1_DSTATE_d[0] = rtb_Switch4_a_idx_0;
    BCMR_DChrgTiRem_DW.Delay1_DSTATE_d[1] = rtb_Switch4_a_idx_1;
    BCMR_tiDChrgTiRemCalc = BCMR_tiDChrgRemRvs + BCMR_tiDChrgRemTbl;
    if (((BCMR_stDChrgDebugOut != 24) && (BCMR_stDChrgDebugOut >= 12) &&
         (BCMR_stDChrgDebugOut < 34)) || BCMR_bDChrgCurrOutputEna) {
      if (!BCMR_DChrgTiRem_DW.RemChgTimeCalc_MODE) {
        BCMR_DChrgTiRem_DW.UnitDelay_DSTATE = 0.0F;
        BCMR_DChrgTiRem_DW.Delay2_DSTATE = 0.0F;
        BCMR_DChrgTiRem_DW.UnitDelay1_DSTATE_l = true;
        BCMR_DChrgTiRem_DW.Delay1_DSTATE = 0.0F;
        BCMR_DChrgTiRem_DW.UnitDelay2_DSTATE = 0.0F;
        BCMR_DChrgTiRem_DW.UnitDelay1_DSTATE = 0.0F;
        BCMR_DChrgTiRem_DW.Delay2_DSTATE_l = 0.0F;
        BCMR_DChrgTiRem_DW.Delay1_DSTATE_p = false;
        BCMR_DChrgTiRem_DW.Delay_DSTATE_c = 0.0F;
        BCMR_DChrgTiRem_DW.UnitDelay3_DSTATE = 0.0F;
        BCMR_DChrgTiRem_DW.Delay2_DSTATE_n = 0.0F;
        BCMR_DChrgTiRem_DW.UnitDelay_DSTATE_e = 0.0F;
        BCMR_DChrgTiRem_DW.Delay_DSTATE = 1.0F;
        BCMR_DChrgTiRem_DW.Delay_DSTATE_ec = 0.0F;
        BCMR_DChrgTiRem_DW.Delay_DSTATE_f = 0.0F;
        BCMR_DChrgTiRem_DW.Delay_DSTATE_et = 0.0F;
        BCMR_DChrgTiRem_DW.UnitDelay_DSTATE_n = 0.0F;
        BCMR_DChrgTiRem_DW.Delay_DSTATE_e = 1.0F;
        BCMR_DChrgTiRem_DW.RemChgTimeCalc_MODE = true;
      }

      rtb_Switch4_m = (real32_T)fabs(BSPR_iBattCurr);
      rtb_Switch4_a_idx_1 = (real32_T)fabs(COMR_iDcChrgMaxCurrOutputPmtdCml);
      if (BCMR_DChrgTiRem_DW.Delay_DSTATE > 0.0F) {
        rtb_Switch1_i = BSPR_uCellVoltMax;
      } else {
        rtb_Switch1_i = (BSPR_uCellVoltMax -
                         BCMR_DChrgTiRem_DW.UnitDelay_DSTATE_e) *
          BCMR_facCellVolt_C + BCMR_DChrgTiRem_DW.UnitDelay_DSTATE_e;
      }

      BCMR_DChrgTiRem_DW.UnitDelay_DSTATE_e = rtb_Switch1_i;
      BCMR_DChrgTiRem_DW.Delay_DSTATE = 0.0F;
      if (BCMR_DChrgTiRem_DW.UnitDelay_DSTATE >= rtb_Switch1_i) {
        rtb_Product_h4_idx_0 = BCMR_DChrgTiRem_DW.UnitDelay_DSTATE;
      } else {
        rtb_Product_h4_idx_0 = rtb_Switch1_i;
      }

      rtb_Compare_mz_idx_0 = ((rtb_Switch4_m <= BCMR_iDChrgRemCurrLowFil_C) &&
        (rtb_Switch1_i >= BCMR_uCellVoltMaxTiSw_C));
      if (rtb_Compare_mz_idx_0) {
        rtb_LogicalOperator_0 = BCMR_tiDChrgCellVoltMaxBase_C;
      } else {
        rtb_LogicalOperator_0 = 0.0F;
      }

      if (BCMR_tiDChrgCellVoltMaxDly_C <= BCMR_DChrgTiRem_DW.Delay_DSTATE_ec) {
        rtb_Switch1_i = BCMR_tiDChrgCellVoltMaxDly_C;
      } else {
        rtb_Switch1_i = BCMR_DChrgTiRem_DW.Delay_DSTATE_ec;
      }

      rtb_Product = (rtb_LogicalOperator_0 + rtb_Switch1_i) * (real32_T)
        rtb_Compare_mz_idx_0;
      BCMR_DChrgTiRem_DW.Delay_DSTATE_ec = rtb_Product;
      if (!(0.01F + BCMR_DChrgTiRem_DW.Delay2_DSTATE >=
            BCMR_tiDChrgTiRemIniDly_C)) {
        if (rtb_Switch4_a_idx_1 >= 10.0F) {
          rtb_Switch4_m = rtb_Switch4_a_idx_1 - BCMR_iDcChrgMaxCurrOff_C;
        } else {
          rtb_Switch4_m = BCMR_iDcChrgRemIni_C;
        }
      }

      rtb_Switch5_l = (real32_T)fabs(rtb_Switch4_m -
        BCMR_DChrgTiRem_DW.Delay1_DSTATE);
      rtb_Compare_mz_idx_0 = (rtb_Switch5_l >= BCMR_iDChrgRemCurrFil_C);
      if (rtb_Compare_mz_idx_0) {
        rtb_LogicalOperator_0 = BCMR_tiDChrgRemCurrBase_C;
      } else {
        rtb_LogicalOperator_0 = 0.0F;
      }

      if (BCMR_tiDChrgRemCurrFilDly_C <= BCMR_DChrgTiRem_DW.Delay_DSTATE_f) {
        rtb_Switch1_i = BCMR_tiDChrgRemCurrFilDly_C;
      } else {
        rtb_Switch1_i = BCMR_DChrgTiRem_DW.Delay_DSTATE_f;
      }

      rtb_Switch4_a_idx_0 = (rtb_LogicalOperator_0 + rtb_Switch1_i) * (real32_T)
        rtb_Compare_mz_idx_0;
      BCMR_DChrgTiRem_DW.Delay_DSTATE_f = rtb_Switch4_a_idx_0;
      rtb_Compare_mz_idx_0 = (rtb_Switch5_l >= BCMR_iDChrgCurrFil_C);
      if (rtb_Compare_mz_idx_0) {
        rtb_LogicalOperator_0 = BCMR_tiDChrgRemCurrBase_C;
      } else {
        rtb_LogicalOperator_0 = 0.0F;
      }

      if (BCMR_tiDChrgCurrFilDly_C <= BCMR_DChrgTiRem_DW.Delay_DSTATE_et) {
        rtb_Switch1_i = BCMR_tiDChrgCurrFilDly_C;
      } else {
        rtb_Switch1_i = BCMR_DChrgTiRem_DW.Delay_DSTATE_et;
      }

      rtb_Switch5_l = (rtb_LogicalOperator_0 + rtb_Switch1_i) * (real32_T)
        rtb_Compare_mz_idx_0;
      BCMR_DChrgTiRem_DW.Delay_DSTATE_et = rtb_Switch5_l;
      if ((!BCMR_DChrgTiRem_DW.UnitDelay1_DSTATE_l) && (!((rtb_Switch4_a_idx_0 >
             BCMR_tiDChrgRemCurrFilDly_C) || (rtb_Switch5_l >
             BCMR_tiDChrgCurrFilDly_C)))) {
        rtb_Switch4_m = BCMR_DChrgTiRem_DW.Delay1_DSTATE;
      }

      if (rtb_Product > BCMR_tiDChrgCellVoltMaxDly_C) {
        rtb_Switch4_a_idx_0 = look1_iflf_binlcapw(rtb_Product_h4_idx_0, ((const
          real32_T *)&(BCMR_uCellVoltMaxTiRem_A[0])), ((const real32_T *)
          &(BCMR_tiDcChrgCurrTimeEnd_MAP[0])), 4U);
      } else {
        if (rtb_Switch4_a_idx_1 <= BCMR_iCMLMax_C) {
          rtb_Switch4_a_idx_1 = (97.0F - BSER_rSoc) * BCMR_cDcChrgBattCap_C;
          if (rtb_Switch4_a_idx_1 == 0.0F) {
            rtb_Switch4_a_idx_1 = 0.0F;
          } else if (rtb_Switch4_m == 0.0F) {
            rtb_Switch4_a_idx_1 = 600.0F;
          } else {
            rtb_Switch4_a_idx_1 /= rtb_Switch4_m;
          }

          rtb_Switch4_a_idx_1 *= 0.6F;
          if (rtb_Switch4_a_idx_1 > BCMR_TimCalMax_C) {
            rtb_Switch4_a_idx_1 = BCMR_TimCalMax_C;
          } else {
            if (rtb_Switch4_a_idx_1 < 0.0F) {
              rtb_Switch4_a_idx_1 = 0.0F;
            }
          }
        } else {
          rtb_Switch4_a_idx_1 = 0.0F;
        }

        if (BCMR_TimCalMax_C <= BCMR_tiDChrgTiRemCalc) {
          rtb_Switch1_i = BCMR_TimCalMax_C;
        } else {
          rtb_Switch1_i = BCMR_tiDChrgTiRemCalc;
        }

        if (rtb_Switch1_i >= rtb_Switch4_a_idx_1) {
          rtb_Switch4_a_idx_1 = rtb_Switch1_i;
        }

        if (rtb_Switch4_a_idx_1 >= BCMR_tiDChrgRemMinOff_C) {
          rtb_Switch4_a_idx_0 = rtb_Switch4_a_idx_1;
        } else {
          rtb_Switch4_a_idx_0 = BCMR_tiDChrgRemMinOff_C;
        }
      }

      rtb_Compare_mz_idx_0 = (0.01F + BCMR_DChrgTiRem_DW.Delay2_DSTATE_l >=
        BCMR_tiDChrgTiRemIniDly_C);
      rtb_Compare_mz_idx_1 = (rtb_Compare_mz_idx_0 &&
        (!BCMR_DChrgTiRem_DW.Delay1_DSTATE_p));
      if (rtb_Compare_mz_idx_1) {
        rtb_Switch1_i = 0.01F;
      } else {
        rtb_Switch1_i = 0.0F;
      }

      if (!rtb_Compare_mz_idx_1) {
        rtb_Switch4_a_idx_1 = 0.0F;
      } else {
        rtb_Switch4_a_idx_1 = BCMR_DChrgTiRem_DW.Delay_DSTATE_c;
      }

      rtb_Product = rtb_Switch1_i + rtb_Switch4_a_idx_1;
      rtb_Compare_mz_idx_1 = (rtb_Product > 60.0F);
      if (rtb_Compare_mz_idx_0) {
        if (rtb_Compare_mz_idx_1) {
          rtb_Switch4_a_idx_0 -= BCMR_DChrgTiRem_DW.UnitDelay2_DSTATE;
          rtb_Switch5_l = (real32_T)fabs(rtb_Switch4_a_idx_0);
          if (rtb_Switch5_l <= BCMR_tiDChrgRem3Off_C) {
            rtb_Switch4_a_idx_0 = BCMR_DChrgTiRem_DW.UnitDelay1_DSTATE - 1.0F;
          } else if (rtb_Switch5_l <= BCMR_tiDChrgRem10Off_C) {
            rtb_Switch4_a_idx_0 = rtb_Switch4_a_idx_0 * BCMR_facRemChgTiLoOff_C
              + BCMR_DChrgTiRem_DW.UnitDelay2_DSTATE;
          } else {
            rtb_Switch4_a_idx_0 = rtb_Switch4_a_idx_0 * BCMR_facRemChgTiHiOff_C
              + BCMR_DChrgTiRem_DW.UnitDelay2_DSTATE;
          }
        } else {
          rtb_Switch4_a_idx_0 = BCMR_DChrgTiRem_DW.UnitDelay2_DSTATE;
        }
      }

      if (0.01F + BCMR_DChrgTiRem_DW.Delay2_DSTATE_n >=
          BCMR_tiDChrgTiRemIniDly_C) {
        if (rtb_Switch4_a_idx_0 - BCMR_DChrgTiRem_DW.UnitDelay3_DSTATE <
            BCMR_tiDChrgRem0Off_C) {
          rtb_Switch1_i = rtb_Switch4_a_idx_0;
        } else {
          rtb_Switch1_i = BCMR_DChrgTiRem_DW.UnitDelay3_DSTATE;
        }
      } else {
        rtb_Switch1_i = rtb_Switch4_a_idx_0;
      }

      if (BCMR_DChrgTiRem_DW.Delay_DSTATE_e > 0.0F) {
        rtb_Switch4_a_idx_1 = rtb_Switch1_i;
      } else {
        rtb_Switch4_a_idx_1 = (rtb_Switch1_i -
          BCMR_DChrgTiRem_DW.UnitDelay_DSTATE_n) * BCMR_facRemChgTiFil_C +
          BCMR_DChrgTiRem_DW.UnitDelay_DSTATE_n;
      }

      BCMR_DChrgTiRem_DW.UnitDelay_DSTATE_n = rtb_Switch4_a_idx_1;
      BCMR_DChrgTiRem_DW.Delay_DSTATE_e = 0.0F;
      if (BCMR_flgDChrgFulChk) {
        BCMR_DChrgTiRem_B.Switch2 = 0.0F;
      } else if (1.0F >= rtb_Switch4_a_idx_1) {
        BCMR_DChrgTiRem_B.Switch2 = 1.0F;
      } else {
        BCMR_DChrgTiRem_B.Switch2 = rtb_Switch4_a_idx_1;
      }

      BCMR_DChrgTiRem_DW.UnitDelay_DSTATE = rtb_Product_h4_idx_0;
      BCMR_DChrgTiRem_DW.Delay2_DSTATE += 0.01F;
      BCMR_DChrgTiRem_DW.UnitDelay1_DSTATE_l = false;
      BCMR_DChrgTiRem_DW.Delay1_DSTATE = rtb_Switch4_m;
      BCMR_DChrgTiRem_DW.UnitDelay2_DSTATE = rtb_Switch4_a_idx_0;
      BCMR_DChrgTiRem_DW.UnitDelay1_DSTATE = rtb_Switch4_a_idx_0;
      BCMR_DChrgTiRem_DW.Delay2_DSTATE_l += 0.01F;
      BCMR_DChrgTiRem_DW.Delay1_DSTATE_p = rtb_Compare_mz_idx_1;
      BCMR_DChrgTiRem_DW.Delay_DSTATE_c = rtb_Product;
      BCMR_DChrgTiRem_DW.UnitDelay3_DSTATE = rtb_Switch1_i;
      BCMR_DChrgTiRem_DW.Delay2_DSTATE_n += 0.01F;
    } else {
      if (BCMR_DChrgTiRem_DW.RemChgTimeCalc_MODE) {
        BCMR_DChrgTiRem_B.Switch2 = 0.0F;
        BCMR_DChrgTiRem_DW.RemChgTimeCalc_MODE = false;
      }
    }

    BCMR_tiRemDChrgTime = BCMR_DChrgTiRem_B.Switch2;
  } else {
    if (BCMR_DChrgTiRem_DW.DcRemTime_MODE) {
      if (BCMR_DChrgTiRem_DW.RemChgTimeCalc_MODE) {
        BCMR_DChrgTiRem_B.Switch2 = 0.0F;
        BCMR_DChrgTiRem_DW.RemChgTimeCalc_MODE = false;
      }

      BCMR_tiRemDChrgTime = 2047.0F;
      BCMR_DChrgTiRem_DW.DcRemTime_MODE = false;
    }
  }
}

/* Model initialize function */
void BCMR_DChrgTiRem_initialize(void)
{
  /* Registration code */

  /* block I/O */

  /* custom signals */
  BCMR_tiRemDChrgTime = 2047.0F;
  BCMR_DChrgTiRem_DW.UnitDelay1_DSTATE_j = true;
  BCMR_DChrgTiRem_DW.UnitDelay1_DSTATE_l = true;
  BCMR_DChrgTiRem_DW.Delay_DSTATE = 1.0F;
  BCMR_DChrgTiRem_DW.Delay_DSTATE_e = 1.0F;
  BCMR_tiRemDChrgTime = 2047.0F;
}

/*
 * File trailer for generated code.
 *
 * [EOF]
 */
