; ModuleID = 'test'

%B_ElecEnergyVA_REVS_VM_T.0 = type { double, double, double, double, double, double }
%XDot_ElecEnergyVA_REVS_VM_T.1 = type { double, double, double }
%P_ElecEnergyVA_REVS_VM_T.2 = type { double, double, double, double }
%X_ElecEnergyVA_REVS_VM_T.3 = type { double, double, double }
%B_MechEnergyNmradps_REVS_VM_T.4 = type { double, double, double, double, double, double }
%XDot_MechEnergyNmradps_REVS_VM_T.5 = type { double, double, double }
%P_MechEnergyNmradps_REVS_VM_T.6 = type { double, double, double, double }
%X_MechEnergyNmradps_REVS_VM_T.7 = type { double, double, double }
%B_MechEnergyNmps_REVS_VM_T.8 = type { double, double, double, double, double, double }
%XDot_MechEnergyNmps_REVS_VM_T.9 = type { double, double, double }
%P_MechEnergyNmps_REVS_VM_T.10 = type { double, double, double, double }
%X_MechEnergyNmps_REVS_VM_T.11 = type { double, double, double }
%B_REVS_VM_T.12 = type { double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, [2 x double], double, double, [2 x double], double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, [10 x double], double, double, double, double, [10 x double], [10 x double], [10 x double], double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, [10 x double], double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, [10 x double], [10 x double], double, double, double, double, [10 x double], double, [90 x double], [9 x double], [9 x double], [9 x double], [90 x double], [10 x double], double, [10 x double], double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, [9 x double], [9 x double], double, [9 x double], [9 x double], [9 x double], [9 x double], double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, [9 x double], double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, [10 x double], double, double, [10 x double], [10 x double], double, double, double, [10 x double], double, [10 x double], double, [10 x double], [10 x double], double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, [10 x double], [10 x double], double, double, [10 x double], [10 x double], double, double, double, [10 x double], [10 x double], double, double, [10 x double], double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, [10 x double], double, double, double, double, double, double, double, double, [10 x double], double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, [10 x double], double, double, double, [10 x double], double, double, double, double, double, double, double, double, double, double, double, double, double, [10 x double], double, [10 x double], [10 x double], double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, [10 x double], double, [10 x double], [10 x double], double, double, double, [10 x double], double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, [9 x double], double, [9 x double], double, double, double, double, double, double, double, double, double, double, double, double, double, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, [9 x i8], [9 x i8], [9 x i8], i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, [9 x i8], [9 x i8], [9 x i8], i8, i8, i8, i8, [3 x i8], %B_MechEnergyNmps_REVS_VM_T.8, %B_MechEnergyNmps_REVS_VM_T.8, %B_MechEnergyNmps_REVS_VM_T.8, %B_MechEnergyNmps_REVS_VM_T.8, %B_MechEnergyNmps_REVS_VM_T.8, %B_MechEnergyNmps_REVS_VM_T.8, %B_MechEnergyNmps_REVS_VM_T.8, %B_MechEnergyNmradps_REVS_VM_T.4, %B_MechEnergyNmradps_REVS_VM_T.4, %B_MechEnergyNmradps_REVS_VM_T.4, %B_MechEnergyNmradps_REVS_VM_T.4, %B_MechEnergyNmradps_REVS_VM_T.4, %B_MechEnergyNmradps_REVS_VM_T.4, %B_MechEnergyNmradps_REVS_VM_T.4, %B_MechEnergyNmradps_REVS_VM_T.4, %B_MechEnergyNmradps_REVS_VM_T.4, %B_MechEnergyNmradps_REVS_VM_T.4, %B_MechEnergyNmradps_REVS_VM_T.4, %B_MechEnergyNmradps_REVS_VM_T.4, %B_MechEnergyNmradps_REVS_VM_T.4, %B_MechEnergyNmradps_REVS_VM_T.4, %B_MechEnergyNmradps_REVS_VM_T.4, %B_ElecEnergyVA_REVS_VM_T.0, %B_ElecEnergyVA_REVS_VM_T.0, %B_MechEnergyNmradps_REVS_VM_T.4, %B_ElecEnergyVA_REVS_VM_T.0, %B_MechEnergyNmradps_REVS_VM_T.4, %B_ElecEnergyVA_REVS_VM_T.0, %B_MechEnergyNmradps_REVS_VM_T.4, %B_ElecEnergyVA_REVS_VM_T.0, %B_MechEnergyNmradps_REVS_VM_T.4, %B_ElecEnergyVA_REVS_VM_T.0, %B_MechEnergyNmradps_REVS_VM_T.4, %B_ElecEnergyVA_REVS_VM_T.0, %B_MechEnergyNmradps_REVS_VM_T.4, %B_ElecEnergyVA_REVS_VM_T.0 }
%DW_REVS_VM_T.16 = type { double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, [6 x double], [6 x double], double, double, double, double, double, double, double, double, double, double, double, [4 x double], double, double, [3 x double], [4 x double], double, double, double, double, [10 x double], double, double, double, [10 x double], double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, [10 x double], double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, i8*, i8*, i8*, i8*, i8*, i8*, [6 x i8*], [9 x i8*], i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, [2 x i32], i32, i32, [2 x i32], i32, [2 x i32], [2 x i32], i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, [4 x i32], [3 x i32], i32, i32, [4 x i32], i32, [18 x i32], [9 x i32], [2 x i32], [2 x i32], [2 x i32], i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, [5 x i8], %DW_MechEnergyNmps_REVS_VM_T.13, %DW_MechEnergyNmps_REVS_VM_T.13, %DW_MechEnergyNmps_REVS_VM_T.13, %DW_MechEnergyNmps_REVS_VM_T.13, %DW_MechEnergyNmps_REVS_VM_T.13, %DW_MechEnergyNmps_REVS_VM_T.13, %DW_MechEnergyNmps_REVS_VM_T.13, %DW_MechEnergyNmradps_REVS_VM_T.14, %DW_MechEnergyNmradps_REVS_VM_T.14, %DW_MechEnergyNmradps_REVS_VM_T.14, %DW_MechEnergyNmradps_REVS_VM_T.14, %DW_MechEnergyNmradps_REVS_VM_T.14, %DW_MechEnergyNmradps_REVS_VM_T.14, %DW_MechEnergyNmradps_REVS_VM_T.14, %DW_MechEnergyNmradps_REVS_VM_T.14, %DW_MechEnergyNmradps_REVS_VM_T.14, %DW_MechEnergyNmradps_REVS_VM_T.14, %DW_MechEnergyNmradps_REVS_VM_T.14, %DW_MechEnergyNmradps_REVS_VM_T.14, %DW_MechEnergyNmradps_REVS_VM_T.14, %DW_MechEnergyNmradps_REVS_VM_T.14, %DW_MechEnergyNmradps_REVS_VM_T.14, %DW_ElecEnergyVA_REVS_VM_T.15, %DW_ElecEnergyVA_REVS_VM_T.15, %DW_MechEnergyNmradps_REVS_VM_T.14, %DW_ElecEnergyVA_REVS_VM_T.15, %DW_MechEnergyNmradps_REVS_VM_T.14, %DW_ElecEnergyVA_REVS_VM_T.15, %DW_MechEnergyNmradps_REVS_VM_T.14, %DW_ElecEnergyVA_REVS_VM_T.15, %DW_MechEnergyNmradps_REVS_VM_T.14, %DW_ElecEnergyVA_REVS_VM_T.15, %DW_MechEnergyNmradps_REVS_VM_T.14, %DW_ElecEnergyVA_REVS_VM_T.15, %DW_MechEnergyNmradps_REVS_VM_T.14, %DW_ElecEnergyVA_REVS_VM_T.15 }
%DW_MechEnergyNmps_REVS_VM_T.13 = type { i32, [4 x i8] }
%DW_MechEnergyNmradps_REVS_VM_T.14 = type { i32, [4 x i8] }
%DW_ElecEnergyVA_REVS_VM_T.15 = type { i32, [4 x i8] }
%P_REVS_VM_T.17 = type { %struct_4BY0z9nhCNONU1SXwp3vyC, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, [9 x double], [9 x double], [9 x double], [9 x double], [9 x double], [9 x double], [9 x double], [9 x double], [9 x double], [9 x double], [9 x double], [9 x double], [9 x double], [9 x double], [9 x double], [9 x double], [9 x double], [9 x double], [9 x double], [9 x double], double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, [3 x double], [3 x double], double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, [3 x double], [3 x double], double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, [11 x double], double, double, [11 x double], [11 x double], double, [11 x double], double, double, [11 x double], [11 x double], double, double, double, double, double, [9 x double], double, double, double, [9 x double], double, double, double, double, double, double, [20 x double], double, double, double, double, [2 x double], double, double, [40 x double], [20 x double], [2 x double], double, [19 x double], double, double, [19 x double], [19 x double], double, [19 x double], double, double, [19 x double], [19 x double], double, [19 x double], double, double, double, [2 x double], double, double, [38 x double], [19 x double], [2 x double], double, double, double, [9 x double], [9 x double], double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, [8 x double], double, double, double, double, [2 x double], double, double, [16 x double], [8 x double], [2 x double], double, double, double, double, [8 x double], double, double, double, [2 x double], double, double, [16 x double], [8 x double], [2 x double], double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, [19 x double], double, double, [19 x double], [19 x double], double, double, [19 x double], double, double, [19 x double], [19 x double], double, double, [19 x double], double, double, [19 x double], [19 x double], double, double, [19 x double], double, double, [19 x double], [19 x double], double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, [5 x double], double, double, [5 x double], [5 x double], double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, [16 x double], [16 x double], double, [10 x double], double, double, double, double, double, double, [9 x double], double, double, double, [9 x double], double, double, double, double, double, double, [9 x double], double, double, double, [9 x double], double, double, double, double, double, double, double, double, [9 x double], double, double, double, [9 x double], double, double, double, double, double, double, [9 x double], double, double, double, [9 x double], double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, [9 x double], double, [9 x double], double, double, [9 x double], [9 x double], double, double, double, double, double, double, double, [4 x double], [4 x double], double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, [6 x double], [6 x double], double, [2 x double], double, double, [2 x double], [2 x double], double, double, double, double, double, double, double, double, double, double, [7 x double], [7 x double], double, [9 x double], [9 x double], double, double, double, double, double, double, double, double, double, double, [15 x double], [15 x double], [9 x double], [9 x double], double, double, double, [9 x double], double, double, double, double, [7 x double], double, double, double, [2 x double], double, double, double, [2 x double], double, double, [252 x double], [9 x double], [7 x double], [2 x double], [2 x double], double, double, double, [3 x double], double, double, double, [11 x double], double, double, double, double, [3 x double], double, double, [99 x double], [3 x double], [11 x double], [3 x double], double, double, double, double, double, double, double, double, [74 x double], [74 x double], [74 x double], [74 x double], double, double, double, [9 x double], double, double, double, [11 x double], double, double, double, [3 x double], double, double, double, [3 x double], double, double, [891 x double], [9 x double], [11 x double], [3 x double], [3 x double], [9 x double], [9 x double], double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, [2 x double], double, double, [2 x double], [2 x double], double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, [9 x double], double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, [9 x double], double, double, [9 x double], double, double, double, double, double, double, double, [672 x double], [32 x double], [21 x double], [15 x double], [15 x double], double, double, double, double, double, double, [9 x double], [9 x double], double, [9 x double], [9 x double], double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, [9 x double], double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, [672 x double], [32 x double], [21 x double], [672 x double], [32 x double], [21 x double], double, double, double, double, [30 x double], [2 x double], [15 x double], double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, [3 x double], [3 x double], double, double, double, double, [2 x double], [2 x double], double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, [15 x double], [15 x double], double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, [9 x double], [9 x double], double, double, double, double, double, double, [15 x double], [15 x double], double, double, double, double, [9 x double], [9 x double], double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, [2 x double], [2 x double], [2 x double], double, double, double, double, double, double, double, double, [29 x double], [29 x double], double, double, double, double, double, double, [12 x double], [12 x double], double, double, double, double, [4 x double], [4 x double], double, double, double, double, [13328 x double], [13328 x double], double, double, [13328 x double], [13328 x double], double, double, double, double, double, double, double, double, double, double, double, [9 x double], [9 x double], double, double, double, double, double, double, double, double, double, double, double, [13328 x double], [13328 x double], double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, [8 x double], [8 x double], double, double, double, [2 x double], double, double, [2 x double], [2 x double], double, double, double, double, double, [2 x double], double, double, [2 x double], [2 x double], double, double, double, double, [3 x double], [3 x double], double, double, double, double, double, double, double, double, double, double, double, double, double, double, [2 x double], double, double, [2 x double], [2 x double], double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, [2 x i32], [2 x i32], [2 x i32], [2 x i32], i32, i32, i32, i32, [2 x i32], [2 x i32], [2 x i32], [2 x i32], [2 x i32], [2 x i32], [2 x i32], [2 x i32], [2 x i32], [2 x i32], [2 x i32], [2 x i32], i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, [2 x i32], i32, i32, [4 x i32], [4 x i32], [4 x i32], [4 x i32], [4 x i32], [4 x i32], [4 x i32], [3 x i32], [3 x i32], [3 x i32], [3 x i32], [3 x i32], [3 x i32], [4 x i32], [4 x i32], [4 x i32], [4 x i32], [4 x i32], [4 x i32], [4 x i32], i32, i32, [2 x i32], [2 x i32], [2 x i32], [2 x i32], i32, i32, i32, i32, i32, i32, i32, i16, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, [8 x i8], i8, i8, [8 x i8], i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, [8 x i8], i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, [7 x i8], %P_MechEnergyNmps_REVS_VM_T.10, %P_MechEnergyNmps_REVS_VM_T.10, %P_MechEnergyNmps_REVS_VM_T.10, %P_MechEnergyNmps_REVS_VM_T.10, %P_MechEnergyNmps_REVS_VM_T.10, %P_MechEnergyNmps_REVS_VM_T.10, %P_MechEnergyNmps_REVS_VM_T.10, %P_MechEnergyNmradps_REVS_VM_T.6, %P_MechEnergyNmradps_REVS_VM_T.6, %P_MechEnergyNmradps_REVS_VM_T.6, %P_MechEnergyNmradps_REVS_VM_T.6, %P_MechEnergyNmradps_REVS_VM_T.6, %P_MechEnergyNmradps_REVS_VM_T.6, %P_MechEnergyNmradps_REVS_VM_T.6, %P_MechEnergyNmradps_REVS_VM_T.6, %P_MechEnergyNmradps_REVS_VM_T.6, %P_MechEnergyNmradps_REVS_VM_T.6, %P_MechEnergyNmradps_REVS_VM_T.6, %P_MechEnergyNmradps_REVS_VM_T.6, %P_MechEnergyNmradps_REVS_VM_T.6, %P_MechEnergyNmradps_REVS_VM_T.6, %P_MechEnergyNmradps_REVS_VM_T.6, %P_ElecEnergyVA_REVS_VM_T.2, %P_ElecEnergyVA_REVS_VM_T.2, %P_MechEnergyNmradps_REVS_VM_T.6, %P_ElecEnergyVA_REVS_VM_T.2, %P_MechEnergyNmradps_REVS_VM_T.6, %P_ElecEnergyVA_REVS_VM_T.2, %P_MechEnergyNmradps_REVS_VM_T.6, %P_ElecEnergyVA_REVS_VM_T.2, %P_MechEnergyNmradps_REVS_VM_T.6, %P_ElecEnergyVA_REVS_VM_T.2, %P_MechEnergyNmradps_REVS_VM_T.6, %P_ElecEnergyVA_REVS_VM_T.2, %P_MechEnergyNmradps_REVS_VM_T.6, %P_ElecEnergyVA_REVS_VM_T.2 }
%struct_4BY0z9nhCNONU1SXwp3vyC = type { i32, [4 x i8], double, i8, i8, [6 x i8], [9 x double], [9 x double], [9 x double], [9 x double], [9 x double], [9 x double], [9 x double], i8, [7 x i8], [9 x double], [9 x double], [9 x double], [9 x double], [9 x double], [9 x double], double, double, [9 x double], [15 x double], [15 x double], [9 x double], [21 x double], [32 x double], [672 x double] }
%X_REVS_VM_T.18 = type { double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, [10 x double], double, double, double, double, double, [10 x double], double, double, double, double, double, double, double, [90 x double], [9 x double], double, [10 x double], double, [10 x double], double, [10 x double], double, double, double, [10 x double], double, [10 x double], double, [10 x double], double, double, double, double, double, double, double, double, [10 x double], double, double, [10 x double], double, double, [10 x double], double, [10 x double], double, [10 x double], double, [10 x double], double, double, double, %X_MechEnergyNmps_REVS_VM_T.11, double, %X_MechEnergyNmps_REVS_VM_T.11, double, %X_MechEnergyNmps_REVS_VM_T.11, double, %X_MechEnergyNmps_REVS_VM_T.11, double, %X_MechEnergyNmps_REVS_VM_T.11, double, %X_MechEnergyNmps_REVS_VM_T.11, double, %X_MechEnergyNmps_REVS_VM_T.11, %X_MechEnergyNmradps_REVS_VM_T.7, %X_MechEnergyNmradps_REVS_VM_T.7, %X_MechEnergyNmradps_REVS_VM_T.7, %X_MechEnergyNmradps_REVS_VM_T.7, %X_MechEnergyNmradps_REVS_VM_T.7, %X_MechEnergyNmradps_REVS_VM_T.7, %X_MechEnergyNmradps_REVS_VM_T.7, %X_MechEnergyNmradps_REVS_VM_T.7, %X_MechEnergyNmradps_REVS_VM_T.7, %X_MechEnergyNmradps_REVS_VM_T.7, %X_MechEnergyNmradps_REVS_VM_T.7, %X_MechEnergyNmradps_REVS_VM_T.7, %X_MechEnergyNmradps_REVS_VM_T.7, %X_MechEnergyNmradps_REVS_VM_T.7, %X_MechEnergyNmradps_REVS_VM_T.7, %X_ElecEnergyVA_REVS_VM_T.3, %X_ElecEnergyVA_REVS_VM_T.3, %X_MechEnergyNmradps_REVS_VM_T.7, %X_ElecEnergyVA_REVS_VM_T.3, %X_MechEnergyNmradps_REVS_VM_T.7, %X_ElecEnergyVA_REVS_VM_T.3, %X_MechEnergyNmradps_REVS_VM_T.7, %X_ElecEnergyVA_REVS_VM_T.3, %X_MechEnergyNmradps_REVS_VM_T.7, %X_ElecEnergyVA_REVS_VM_T.3, %X_MechEnergyNmradps_REVS_VM_T.7, %X_ElecEnergyVA_REVS_VM_T.3, %X_MechEnergyNmradps_REVS_VM_T.7, %X_ElecEnergyVA_REVS_VM_T.3 }
%XDot_REVS_VM_T.19 = type { double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, [10 x double], double, double, double, double, double, [10 x double], double, double, double, double, double, double, double, [90 x double], [9 x double], double, [10 x double], double, [10 x double], double, [10 x double], double, double, double, [10 x double], double, [10 x double], double, [10 x double], double, double, double, double, double, double, double, double, [10 x double], double, double, [10 x double], double, double, [10 x double], double, [10 x double], double, [10 x double], double, [10 x double], double, double, double, %XDot_MechEnergyNmps_REVS_VM_T.9, double, %XDot_MechEnergyNmps_REVS_VM_T.9, double, %XDot_MechEnergyNmps_REVS_VM_T.9, double, %XDot_MechEnergyNmps_REVS_VM_T.9, double, %XDot_MechEnergyNmps_REVS_VM_T.9, double, %XDot_MechEnergyNmps_REVS_VM_T.9, double, %XDot_MechEnergyNmps_REVS_VM_T.9, %XDot_MechEnergyNmradps_REVS_VM_T.5, %XDot_MechEnergyNmradps_REVS_VM_T.5, %XDot_MechEnergyNmradps_REVS_VM_T.5, %XDot_MechEnergyNmradps_REVS_VM_T.5, %XDot_MechEnergyNmradps_REVS_VM_T.5, %XDot_MechEnergyNmradps_REVS_VM_T.5, %XDot_MechEnergyNmradps_REVS_VM_T.5, %XDot_MechEnergyNmradps_REVS_VM_T.5, %XDot_MechEnergyNmradps_REVS_VM_T.5, %XDot_MechEnergyNmradps_REVS_VM_T.5, %XDot_MechEnergyNmradps_REVS_VM_T.5, %XDot_MechEnergyNmradps_REVS_VM_T.5, %XDot_MechEnergyNmradps_REVS_VM_T.5, %XDot_MechEnergyNmradps_REVS_VM_T.5, %XDot_MechEnergyNmradps_REVS_VM_T.5, %XDot_ElecEnergyVA_REVS_VM_T.1, %XDot_ElecEnergyVA_REVS_VM_T.1, %XDot_MechEnergyNmradps_REVS_VM_T.5, %XDot_ElecEnergyVA_REVS_VM_T.1, %XDot_MechEnergyNmradps_REVS_VM_T.5, %XDot_ElecEnergyVA_REVS_VM_T.1, %XDot_MechEnergyNmradps_REVS_VM_T.5, %XDot_ElecEnergyVA_REVS_VM_T.1, %XDot_MechEnergyNmradps_REVS_VM_T.5, %XDot_ElecEnergyVA_REVS_VM_T.1, %XDot_MechEnergyNmradps_REVS_VM_T.5, %XDot_ElecEnergyVA_REVS_VM_T.1, %XDot_MechEnergyNmradps_REVS_VM_T.5, %XDot_ElecEnergyVA_REVS_VM_T.1 }
%PrevZCX_REVS_VM_T.20 = type { i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8 }

define void @REVS_VM_ElecEnergyVA_ForcingFunction(i8* %"%<tSimStruct>", %B_ElecEnergyVA_REVS_VM_T.0* %localB, %XDot_ElecEnergyVA_REVS_VM_T.1* %localXdot) {
REVS_VM_ElecEnergyVA_ForcingFunction_entry:
  %localB_ = alloca %B_ElecEnergyVA_REVS_VM_T.0*
  store %B_ElecEnergyVA_REVS_VM_T.0* %localB, %B_ElecEnergyVA_REVS_VM_T.0** %localB_, align 1
  %localXdot_ = alloca %XDot_ElecEnergyVA_REVS_VM_T.1*
  store %XDot_ElecEnergyVA_REVS_VM_T.1* %localXdot, %XDot_ElecEnergyVA_REVS_VM_T.1** %localXdot_, align 1
  %0 = getelementptr inbounds %B_ElecEnergyVA_REVS_VM_T.0* %localB, i32 0, i32 4
  %localB__Neg = load double* %0, align 1
  %1 = getelementptr inbounds %XDot_ElecEnergyVA_REVS_VM_T.1* %localXdot, i32 0, i32 0
  store double %localB__Neg, double* %1, align 1
  %2 = getelementptr inbounds %B_ElecEnergyVA_REVS_VM_T.0* %localB, i32 0, i32 3
  %localB__calc_Power_kW = load double* %2, align 1
  %3 = getelementptr inbounds %XDot_ElecEnergyVA_REVS_VM_T.1* %localXdot, i32 0, i32 1
  store double %localB__calc_Power_kW, double* %3, align 1
  %4 = getelementptr inbounds %B_ElecEnergyVA_REVS_VM_T.0* %localB, i32 0, i32 5
  %localB__Pos = load double* %4, align 1
  %5 = getelementptr inbounds %XDot_ElecEnergyVA_REVS_VM_T.1* %localXdot, i32 0, i32 2
  store double %localB__Pos, double* %5, align 1
  ret void
}

define void @REVS_VM_ElecEnergyVA_Deriv(i8* %"%<tSimStruct>", %B_ElecEnergyVA_REVS_VM_T.0* %localB, %XDot_ElecEnergyVA_REVS_VM_T.1* %localXdot) {
REVS_VM_ElecEnergyVA_Deriv_entry:
  %localB_ = alloca %B_ElecEnergyVA_REVS_VM_T.0*
  store %B_ElecEnergyVA_REVS_VM_T.0* %localB, %B_ElecEnergyVA_REVS_VM_T.0** %localB_, align 1
  %localXdot_ = alloca %XDot_ElecEnergyVA_REVS_VM_T.1*
  store %XDot_ElecEnergyVA_REVS_VM_T.1* %localXdot, %XDot_ElecEnergyVA_REVS_VM_T.1** %localXdot_, align 1
  %0 = getelementptr inbounds %B_ElecEnergyVA_REVS_VM_T.0* %localB, i32 0, i32 4
  %localB__Neg = load double* %0, align 1
  %1 = getelementptr inbounds %XDot_ElecEnergyVA_REVS_VM_T.1* %localXdot, i32 0, i32 0
  store double %localB__Neg, double* %1, align 1
  %2 = getelementptr inbounds %B_ElecEnergyVA_REVS_VM_T.0* %localB, i32 0, i32 3
  %localB__calc_Power_kW = load double* %2, align 1
  %3 = getelementptr inbounds %XDot_ElecEnergyVA_REVS_VM_T.1* %localXdot, i32 0, i32 1
  store double %localB__calc_Power_kW, double* %3, align 1
  %4 = getelementptr inbounds %B_ElecEnergyVA_REVS_VM_T.0* %localB, i32 0, i32 5
  %localB__Pos = load double* %4, align 1
  %5 = getelementptr inbounds %XDot_ElecEnergyVA_REVS_VM_T.1* %localXdot, i32 0, i32 2
  store double %localB__Pos, double* %5, align 1
  ret void
}

define void @REVS_VM_ElecEnergyVA(i8* %"%<tSimStruct>", double %rtu_volts_V, double %rtu_curr_A, %B_ElecEnergyVA_REVS_VM_T.0* %localB, %P_ElecEnergyVA_REVS_VM_T.2* %localP, %X_ElecEnergyVA_REVS_VM_T.3* %localX) {
REVS_VM_ElecEnergyVA_entry:
  %rtu_volts_V_ = alloca double
  store double %rtu_volts_V, double* %rtu_volts_V_, align 1
  %rtu_curr_A_ = alloca double
  store double %rtu_curr_A, double* %rtu_curr_A_, align 1
  %localB_ = alloca %B_ElecEnergyVA_REVS_VM_T.0*
  store %B_ElecEnergyVA_REVS_VM_T.0* %localB, %B_ElecEnergyVA_REVS_VM_T.0** %localB_, align 1
  %localX_ = alloca %X_ElecEnergyVA_REVS_VM_T.3*
  store %X_ElecEnergyVA_REVS_VM_T.3* %localX, %X_ElecEnergyVA_REVS_VM_T.3** %localX_, align 1
  %0 = getelementptr inbounds %P_ElecEnergyVA_REVS_VM_T.2* %localP, i32 0, i32 1
  %localP__Gain_Gain = load double* %0, align 1
  %1 = getelementptr inbounds %X_ElecEnergyVA_REVS_VM_T.3* %localX, i32 0, i32 0
  %localX__Integrator2_CSTATE_p = load double* %1, align 1
  %tmp0 = fmul double %localP__Gain_Gain, %localX__Integrator2_CSTATE_p
  %2 = getelementptr inbounds %B_ElecEnergyVA_REVS_VM_T.0* %localB, i32 0, i32 0
  store double %tmp0, double* %2, align 1
  %3 = getelementptr inbounds %X_ElecEnergyVA_REVS_VM_T.3* %localX, i32 0, i32 1
  %localX__Integrator_CSTATE_m = load double* %3, align 1
  %4 = getelementptr inbounds %B_ElecEnergyVA_REVS_VM_T.0* %localB, i32 0, i32 1
  store double %localX__Integrator_CSTATE_m, double* %4, align 1
  %5 = getelementptr inbounds %X_ElecEnergyVA_REVS_VM_T.3* %localX, i32 0, i32 2
  %localX__Integrator1_CSTATE_g = load double* %5, align 1
  %6 = getelementptr inbounds %B_ElecEnergyVA_REVS_VM_T.0* %localB, i32 0, i32 2
  store double %localX__Integrator1_CSTATE_g, double* %6, align 1
  %tmp1 = fmul double %rtu_volts_V, %rtu_curr_A
  %tmp2 = fdiv double %tmp1, 1.000000e+03
  %7 = getelementptr inbounds %B_ElecEnergyVA_REVS_VM_T.0* %localB, i32 0, i32 3
  store double %tmp2, double* %7, align 1
  %8 = fcmp ole double %tmp2, 0.000000e+00
  %9 = uitofp i1 %8 to double
  %tmp3 = fmul double %tmp2, %9
  %10 = getelementptr inbounds %B_ElecEnergyVA_REVS_VM_T.0* %localB, i32 0, i32 4
  store double %tmp3, double* %10, align 1
  %localB__calc_Power_kW16 = load double* %7, align 1
  %11 = fcmp oge double %localB__calc_Power_kW16, 0.000000e+00
  %12 = uitofp i1 %11 to double
  %tmp4 = fmul double %localB__calc_Power_kW16, %12
  %13 = getelementptr inbounds %B_ElecEnergyVA_REVS_VM_T.0* %localB, i32 0, i32 5
  store double %tmp4, double* %13, align 1
  ret void
}

define void @REVS_VM_ElecEnergyVA_Init(i8* %"%<tSimStruct>", %P_ElecEnergyVA_REVS_VM_T.2* %localP, %X_ElecEnergyVA_REVS_VM_T.3* %localX) {
REVS_VM_ElecEnergyVA_Init_entry:
  %localP_ = alloca %P_ElecEnergyVA_REVS_VM_T.2*
  store %P_ElecEnergyVA_REVS_VM_T.2* %localP, %P_ElecEnergyVA_REVS_VM_T.2** %localP_, align 1
  %localX_ = alloca %X_ElecEnergyVA_REVS_VM_T.3*
  store %X_ElecEnergyVA_REVS_VM_T.3* %localX, %X_ElecEnergyVA_REVS_VM_T.3** %localX_, align 1
  %0 = getelementptr inbounds %P_ElecEnergyVA_REVS_VM_T.2* %localP, i32 0, i32 0
  %localP__Integrator2_IC = load double* %0, align 1
  %1 = getelementptr inbounds %X_ElecEnergyVA_REVS_VM_T.3* %localX, i32 0, i32 0
  store double %localP__Integrator2_IC, double* %1, align 1
  %2 = getelementptr inbounds %P_ElecEnergyVA_REVS_VM_T.2* %localP, i32 0, i32 2
  %localP__Integrator_IC = load double* %2, align 1
  %3 = getelementptr inbounds %X_ElecEnergyVA_REVS_VM_T.3* %localX, i32 0, i32 1
  store double %localP__Integrator_IC, double* %3, align 1
  %4 = getelementptr inbounds %P_ElecEnergyVA_REVS_VM_T.2* %localP, i32 0, i32 3
  %localP__Integrator1_IC = load double* %4, align 1
  %5 = getelementptr inbounds %X_ElecEnergyVA_REVS_VM_T.3* %localX, i32 0, i32 2
  store double %localP__Integrator1_IC, double* %5, align 1
  ret void
}

define void @REVS_VM_MechEnergyNmradps_ForcingFunction(i8* %"%<tSimStruct>", %B_MechEnergyNmradps_REVS_VM_T.4* %localB, %XDot_MechEnergyNmradps_REVS_VM_T.5* %localXdot) {
REVS_VM_MechEnergyNmradps_ForcingFunction_entry:
  %localB_ = alloca %B_MechEnergyNmradps_REVS_VM_T.4*
  store %B_MechEnergyNmradps_REVS_VM_T.4* %localB, %B_MechEnergyNmradps_REVS_VM_T.4** %localB_, align 1
  %localXdot_ = alloca %XDot_MechEnergyNmradps_REVS_VM_T.5*
  store %XDot_MechEnergyNmradps_REVS_VM_T.5* %localXdot, %XDot_MechEnergyNmradps_REVS_VM_T.5** %localXdot_, align 1
  %0 = getelementptr inbounds %B_MechEnergyNmradps_REVS_VM_T.4* %localB, i32 0, i32 4
  %localB__Neg = load double* %0, align 1
  %1 = getelementptr inbounds %XDot_MechEnergyNmradps_REVS_VM_T.5* %localXdot, i32 0, i32 0
  store double %localB__Neg, double* %1, align 1
  %2 = getelementptr inbounds %B_MechEnergyNmradps_REVS_VM_T.4* %localB, i32 0, i32 3
  %localB__calc_Power_kW = load double* %2, align 1
  %3 = getelementptr inbounds %XDot_MechEnergyNmradps_REVS_VM_T.5* %localXdot, i32 0, i32 1
  store double %localB__calc_Power_kW, double* %3, align 1
  %4 = getelementptr inbounds %B_MechEnergyNmradps_REVS_VM_T.4* %localB, i32 0, i32 5
  %localB__Pos = load double* %4, align 1
  %5 = getelementptr inbounds %XDot_MechEnergyNmradps_REVS_VM_T.5* %localXdot, i32 0, i32 2
  store double %localB__Pos, double* %5, align 1
  ret void
}

define void @REVS_VM_MechEnergyNmradps_Deriv(i8* %"%<tSimStruct>", %B_MechEnergyNmradps_REVS_VM_T.4* %localB, %XDot_MechEnergyNmradps_REVS_VM_T.5* %localXdot) {
REVS_VM_MechEnergyNmradps_Deriv_entry:
  %localB_ = alloca %B_MechEnergyNmradps_REVS_VM_T.4*
  store %B_MechEnergyNmradps_REVS_VM_T.4* %localB, %B_MechEnergyNmradps_REVS_VM_T.4** %localB_, align 1
  %localXdot_ = alloca %XDot_MechEnergyNmradps_REVS_VM_T.5*
  store %XDot_MechEnergyNmradps_REVS_VM_T.5* %localXdot, %XDot_MechEnergyNmradps_REVS_VM_T.5** %localXdot_, align 1
  %0 = getelementptr inbounds %B_MechEnergyNmradps_REVS_VM_T.4* %localB, i32 0, i32 4
  %localB__Neg = load double* %0, align 1
  %1 = getelementptr inbounds %XDot_MechEnergyNmradps_REVS_VM_T.5* %localXdot, i32 0, i32 0
  store double %localB__Neg, double* %1, align 1
  %2 = getelementptr inbounds %B_MechEnergyNmradps_REVS_VM_T.4* %localB, i32 0, i32 3
  %localB__calc_Power_kW = load double* %2, align 1
  %3 = getelementptr inbounds %XDot_MechEnergyNmradps_REVS_VM_T.5* %localXdot, i32 0, i32 1
  store double %localB__calc_Power_kW, double* %3, align 1
  %4 = getelementptr inbounds %B_MechEnergyNmradps_REVS_VM_T.4* %localB, i32 0, i32 5
  %localB__Pos = load double* %4, align 1
  %5 = getelementptr inbounds %XDot_MechEnergyNmradps_REVS_VM_T.5* %localXdot, i32 0, i32 2
  store double %localB__Pos, double* %5, align 1
  ret void
}

define void @REVS_VM_MechEnergyNmradps(i8* %"%<tSimStruct>", double %rtu_trq_Nm, double %rtu_spd_radps, %B_MechEnergyNmradps_REVS_VM_T.4* %localB, %P_MechEnergyNmradps_REVS_VM_T.6* %localP, %X_MechEnergyNmradps_REVS_VM_T.7* %localX) {
REVS_VM_MechEnergyNmradps_entry:
  %rtu_trq_Nm_ = alloca double
  store double %rtu_trq_Nm, double* %rtu_trq_Nm_, align 1
  %rtu_spd_radps_ = alloca double
  store double %rtu_spd_radps, double* %rtu_spd_radps_, align 1
  %localB_ = alloca %B_MechEnergyNmradps_REVS_VM_T.4*
  store %B_MechEnergyNmradps_REVS_VM_T.4* %localB, %B_MechEnergyNmradps_REVS_VM_T.4** %localB_, align 1
  %localX_ = alloca %X_MechEnergyNmradps_REVS_VM_T.7*
  store %X_MechEnergyNmradps_REVS_VM_T.7* %localX, %X_MechEnergyNmradps_REVS_VM_T.7** %localX_, align 1
  %0 = getelementptr inbounds %P_MechEnergyNmradps_REVS_VM_T.6* %localP, i32 0, i32 1
  %localP__Gain_Gain = load double* %0, align 1
  %1 = getelementptr inbounds %X_MechEnergyNmradps_REVS_VM_T.7* %localX, i32 0, i32 0
  %localX__Integrator2_CSTATE_iv = load double* %1, align 1
  %tmp0 = fmul double %localP__Gain_Gain, %localX__Integrator2_CSTATE_iv
  %2 = getelementptr inbounds %B_MechEnergyNmradps_REVS_VM_T.4* %localB, i32 0, i32 0
  store double %tmp0, double* %2, align 1
  %3 = getelementptr inbounds %X_MechEnergyNmradps_REVS_VM_T.7* %localX, i32 0, i32 1
  %localX__Integrator_CSTATE_i5 = load double* %3, align 1
  %4 = getelementptr inbounds %B_MechEnergyNmradps_REVS_VM_T.4* %localB, i32 0, i32 1
  store double %localX__Integrator_CSTATE_i5, double* %4, align 1
  %5 = getelementptr inbounds %X_MechEnergyNmradps_REVS_VM_T.7* %localX, i32 0, i32 2
  %localX__Integrator1_CSTATE_ex = load double* %5, align 1
  %6 = getelementptr inbounds %B_MechEnergyNmradps_REVS_VM_T.4* %localB, i32 0, i32 2
  store double %localX__Integrator1_CSTATE_ex, double* %6, align 1
  %tmp1 = fmul double %rtu_trq_Nm, %rtu_spd_radps
  %tmp2 = fdiv double %tmp1, 1.000000e+03
  %7 = getelementptr inbounds %B_MechEnergyNmradps_REVS_VM_T.4* %localB, i32 0, i32 3
  store double %tmp2, double* %7, align 1
  %8 = fcmp ole double %tmp2, 0.000000e+00
  %9 = uitofp i1 %8 to double
  %tmp3 = fmul double %tmp2, %9
  %10 = getelementptr inbounds %B_MechEnergyNmradps_REVS_VM_T.4* %localB, i32 0, i32 4
  store double %tmp3, double* %10, align 1
  %localB__calc_Power_kW16 = load double* %7, align 1
  %11 = fcmp oge double %localB__calc_Power_kW16, 0.000000e+00
  %12 = uitofp i1 %11 to double
  %tmp4 = fmul double %localB__calc_Power_kW16, %12
  %13 = getelementptr inbounds %B_MechEnergyNmradps_REVS_VM_T.4* %localB, i32 0, i32 5
  store double %tmp4, double* %13, align 1
  ret void
}

define void @REVS_VM_MechEnergyNmradps_Init(i8* %"%<tSimStruct>", %P_MechEnergyNmradps_REVS_VM_T.6* %localP, %X_MechEnergyNmradps_REVS_VM_T.7* %localX) {
REVS_VM_MechEnergyNmradps_Init_entry:
  %localP_ = alloca %P_MechEnergyNmradps_REVS_VM_T.6*
  store %P_MechEnergyNmradps_REVS_VM_T.6* %localP, %P_MechEnergyNmradps_REVS_VM_T.6** %localP_, align 1
  %localX_ = alloca %X_MechEnergyNmradps_REVS_VM_T.7*
  store %X_MechEnergyNmradps_REVS_VM_T.7* %localX, %X_MechEnergyNmradps_REVS_VM_T.7** %localX_, align 1
  %0 = getelementptr inbounds %P_MechEnergyNmradps_REVS_VM_T.6* %localP, i32 0, i32 0
  %localP__Integrator2_IC = load double* %0, align 1
  %1 = getelementptr inbounds %X_MechEnergyNmradps_REVS_VM_T.7* %localX, i32 0, i32 0
  store double %localP__Integrator2_IC, double* %1, align 1
  %2 = getelementptr inbounds %P_MechEnergyNmradps_REVS_VM_T.6* %localP, i32 0, i32 2
  %localP__Integrator_IC = load double* %2, align 1
  %3 = getelementptr inbounds %X_MechEnergyNmradps_REVS_VM_T.7* %localX, i32 0, i32 1
  store double %localP__Integrator_IC, double* %3, align 1
  %4 = getelementptr inbounds %P_MechEnergyNmradps_REVS_VM_T.6* %localP, i32 0, i32 3
  %localP__Integrator1_IC = load double* %4, align 1
  %5 = getelementptr inbounds %X_MechEnergyNmradps_REVS_VM_T.7* %localX, i32 0, i32 2
  store double %localP__Integrator1_IC, double* %5, align 1
  ret void
}

define void @REVS_VM_MechEnergyNmps_ForcingFunction(i8* %"%<tSimStruct>", %B_MechEnergyNmps_REVS_VM_T.8* %localB, %XDot_MechEnergyNmps_REVS_VM_T.9* %localXdot) {
REVS_VM_MechEnergyNmps_ForcingFunction_entry:
  %localB_ = alloca %B_MechEnergyNmps_REVS_VM_T.8*
  store %B_MechEnergyNmps_REVS_VM_T.8* %localB, %B_MechEnergyNmps_REVS_VM_T.8** %localB_, align 1
  %localXdot_ = alloca %XDot_MechEnergyNmps_REVS_VM_T.9*
  store %XDot_MechEnergyNmps_REVS_VM_T.9* %localXdot, %XDot_MechEnergyNmps_REVS_VM_T.9** %localXdot_, align 1
  %0 = getelementptr inbounds %B_MechEnergyNmps_REVS_VM_T.8* %localB, i32 0, i32 4
  %localB__Neg = load double* %0, align 1
  %1 = getelementptr inbounds %XDot_MechEnergyNmps_REVS_VM_T.9* %localXdot, i32 0, i32 0
  store double %localB__Neg, double* %1, align 1
  %2 = getelementptr inbounds %B_MechEnergyNmps_REVS_VM_T.8* %localB, i32 0, i32 3
  %localB__calc_Power_kW = load double* %2, align 1
  %3 = getelementptr inbounds %XDot_MechEnergyNmps_REVS_VM_T.9* %localXdot, i32 0, i32 1
  store double %localB__calc_Power_kW, double* %3, align 1
  %4 = getelementptr inbounds %B_MechEnergyNmps_REVS_VM_T.8* %localB, i32 0, i32 5
  %localB__Pos = load double* %4, align 1
  %5 = getelementptr inbounds %XDot_MechEnergyNmps_REVS_VM_T.9* %localXdot, i32 0, i32 2
  store double %localB__Pos, double* %5, align 1
  ret void
}

define void @REVS_VM_MechEnergyNmps_Deriv(i8* %"%<tSimStruct>", %B_MechEnergyNmps_REVS_VM_T.8* %localB, %XDot_MechEnergyNmps_REVS_VM_T.9* %localXdot) {
REVS_VM_MechEnergyNmps_Deriv_entry:
  %localB_ = alloca %B_MechEnergyNmps_REVS_VM_T.8*
  store %B_MechEnergyNmps_REVS_VM_T.8* %localB, %B_MechEnergyNmps_REVS_VM_T.8** %localB_, align 1
  %localXdot_ = alloca %XDot_MechEnergyNmps_REVS_VM_T.9*
  store %XDot_MechEnergyNmps_REVS_VM_T.9* %localXdot, %XDot_MechEnergyNmps_REVS_VM_T.9** %localXdot_, align 1
  %0 = getelementptr inbounds %B_MechEnergyNmps_REVS_VM_T.8* %localB, i32 0, i32 4
  %localB__Neg = load double* %0, align 1
  %1 = getelementptr inbounds %XDot_MechEnergyNmps_REVS_VM_T.9* %localXdot, i32 0, i32 0
  store double %localB__Neg, double* %1, align 1
  %2 = getelementptr inbounds %B_MechEnergyNmps_REVS_VM_T.8* %localB, i32 0, i32 3
  %localB__calc_Power_kW = load double* %2, align 1
  %3 = getelementptr inbounds %XDot_MechEnergyNmps_REVS_VM_T.9* %localXdot, i32 0, i32 1
  store double %localB__calc_Power_kW, double* %3, align 1
  %4 = getelementptr inbounds %B_MechEnergyNmps_REVS_VM_T.8* %localB, i32 0, i32 5
  %localB__Pos = load double* %4, align 1
  %5 = getelementptr inbounds %XDot_MechEnergyNmps_REVS_VM_T.9* %localXdot, i32 0, i32 2
  store double %localB__Pos, double* %5, align 1
  ret void
}

define void @REVS_VM_MechEnergyNmps(i8* %"%<tSimStruct>", double %rtu_force_N, double %rtu_spd_mps, %B_MechEnergyNmps_REVS_VM_T.8* %localB, %P_MechEnergyNmps_REVS_VM_T.10* %localP, %X_MechEnergyNmps_REVS_VM_T.11* %localX) {
REVS_VM_MechEnergyNmps_entry:
  %rtu_force_N_ = alloca double
  store double %rtu_force_N, double* %rtu_force_N_, align 1
  %rtu_spd_mps_ = alloca double
  store double %rtu_spd_mps, double* %rtu_spd_mps_, align 1
  %localB_ = alloca %B_MechEnergyNmps_REVS_VM_T.8*
  store %B_MechEnergyNmps_REVS_VM_T.8* %localB, %B_MechEnergyNmps_REVS_VM_T.8** %localB_, align 1
  %localX_ = alloca %X_MechEnergyNmps_REVS_VM_T.11*
  store %X_MechEnergyNmps_REVS_VM_T.11* %localX, %X_MechEnergyNmps_REVS_VM_T.11** %localX_, align 1
  %0 = getelementptr inbounds %P_MechEnergyNmps_REVS_VM_T.10* %localP, i32 0, i32 1
  %localP__Gain_Gain = load double* %0, align 1
  %1 = getelementptr inbounds %X_MechEnergyNmps_REVS_VM_T.11* %localX, i32 0, i32 0
  %localX__Integrator2_CSTATE_is = load double* %1, align 1
  %tmp0 = fmul double %localP__Gain_Gain, %localX__Integrator2_CSTATE_is
  %2 = getelementptr inbounds %B_MechEnergyNmps_REVS_VM_T.8* %localB, i32 0, i32 0
  store double %tmp0, double* %2, align 1
  %3 = getelementptr inbounds %X_MechEnergyNmps_REVS_VM_T.11* %localX, i32 0, i32 1
  %localX__Integrator_CSTATE_i = load double* %3, align 1
  %4 = getelementptr inbounds %B_MechEnergyNmps_REVS_VM_T.8* %localB, i32 0, i32 1
  store double %localX__Integrator_CSTATE_i, double* %4, align 1
  %5 = getelementptr inbounds %X_MechEnergyNmps_REVS_VM_T.11* %localX, i32 0, i32 2
  %localX__Integrator1_CSTATE_kz = load double* %5, align 1
  %6 = getelementptr inbounds %B_MechEnergyNmps_REVS_VM_T.8* %localB, i32 0, i32 2
  store double %localX__Integrator1_CSTATE_kz, double* %6, align 1
  %tmp1 = fmul double %rtu_force_N, %rtu_spd_mps
  %tmp2 = fdiv double %tmp1, 1.000000e+03
  %7 = getelementptr inbounds %B_MechEnergyNmps_REVS_VM_T.8* %localB, i32 0, i32 3
  store double %tmp2, double* %7, align 1
  %8 = fcmp ole double %tmp2, 0.000000e+00
  %9 = uitofp i1 %8 to double
  %tmp3 = fmul double %tmp2, %9
  %10 = getelementptr inbounds %B_MechEnergyNmps_REVS_VM_T.8* %localB, i32 0, i32 4
  store double %tmp3, double* %10, align 1
  %localB__calc_Power_kW16 = load double* %7, align 1
  %11 = fcmp oge double %localB__calc_Power_kW16, 0.000000e+00
  %12 = uitofp i1 %11 to double
  %tmp4 = fmul double %localB__calc_Power_kW16, %12
  %13 = getelementptr inbounds %B_MechEnergyNmps_REVS_VM_T.8* %localB, i32 0, i32 5
  store double %tmp4, double* %13, align 1
  ret void
}

define void @REVS_VM_MechEnergyNmps_Init(i8* %"%<tSimStruct>", %P_MechEnergyNmps_REVS_VM_T.10* %localP, %X_MechEnergyNmps_REVS_VM_T.11* %localX) {
REVS_VM_MechEnergyNmps_Init_entry:
  %localP_ = alloca %P_MechEnergyNmps_REVS_VM_T.10*
  store %P_MechEnergyNmps_REVS_VM_T.10* %localP, %P_MechEnergyNmps_REVS_VM_T.10** %localP_, align 1
  %localX_ = alloca %X_MechEnergyNmps_REVS_VM_T.11*
  store %X_MechEnergyNmps_REVS_VM_T.11* %localX, %X_MechEnergyNmps_REVS_VM_T.11** %localX_, align 1
  %0 = getelementptr inbounds %P_MechEnergyNmps_REVS_VM_T.10* %localP, i32 0, i32 0
  %localP__Integrator2_IC = load double* %0, align 1
  %1 = getelementptr inbounds %X_MechEnergyNmps_REVS_VM_T.11* %localX, i32 0, i32 0
  store double %localP__Integrator2_IC, double* %1, align 1
  %2 = getelementptr inbounds %P_MechEnergyNmps_REVS_VM_T.10* %localP, i32 0, i32 2
  %localP__Integrator_IC = load double* %2, align 1
  %3 = getelementptr inbounds %X_MechEnergyNmps_REVS_VM_T.11* %localX, i32 0, i32 1
  store double %localP__Integrator_IC, double* %3, align 1
  %4 = getelementptr inbounds %P_MechEnergyNmps_REVS_VM_T.10* %localP, i32 0, i32 3
  %localP__Integrator1_IC = load double* %4, align 1
  %5 = getelementptr inbounds %X_MechEnergyNmps_REVS_VM_T.11* %localX, i32 0, i32 2
  store double %localP__Integrator1_IC, double* %5, align 1
  ret void
}

define void @REVS_VM_CGInitializeSizes(i8* %S_0) {
REVS_VM_CGInitializeSizes_entry:
  %S_0_ = alloca i8*
  store i8* %S_0, i8** %S_0_, align 1
  %tmp_ = alloca [4 x i32]
  call void @REVS_VM_Checksum([4 x i32]* %tmp_)
  %0 = getelementptr inbounds [4 x i32]* %tmp_, i32 0, i32 0
  %tmp__el = load i32* %0, align 1
  call void @vm_ssSetChecksumVal(i8* %S_0, i32 0, i32 %tmp__el)
  %1 = getelementptr inbounds [4 x i32]* %tmp_, i32 0, i32 1
  %tmp__el3 = load i32* %1, align 1
  call void @vm_ssSetChecksumVal(i8* %S_0, i32 1, i32 %tmp__el3)
  %2 = getelementptr inbounds [4 x i32]* %tmp_, i32 0, i32 2
  %tmp__el5 = load i32* %2, align 1
  call void @vm_ssSetChecksumVal(i8* %S_0, i32 2, i32 %tmp__el5)
  %3 = getelementptr inbounds [4 x i32]* %tmp_, i32 0, i32 3
  %tmp__el7 = load i32* %3, align 1
  call void @vm_ssSetChecksumVal(i8* %S_0, i32 3, i32 %tmp__el7)
  call void @vm_blockIOSizeCheck(i8* %S_0, i32 ptrtoint (%B_REVS_VM_T.12* getelementptr (%B_REVS_VM_T.12* null, i32 1) to i32))
  call void @vm_dworkSizeCheck(i8* %S_0, i32 ptrtoint (%DW_REVS_VM_T.16* getelementptr (%DW_REVS_VM_T.16* null, i32 1) to i32))
  ret void
}

define void @REVS_VM_Checksum([4 x i32]* %y) {
REVS_VM_Checksum_entry:
  %y_ = alloca [4 x i32]*
  store [4 x i32]* %y, [4 x i32]** %y_, align 1
  %0 = getelementptr inbounds [4 x i32]* %y, i32 0, i32 0
  store i32 389241858, i32* %0, align 1
  %1 = getelementptr inbounds [4 x i32]* %y, i32 0, i32 1
  store i32 -2142014456, i32* %1, align 1
  %2 = getelementptr inbounds [4 x i32]* %y, i32 0, i32 2
  store i32 1059443130, i32* %2, align 1
  %3 = getelementptr inbounds [4 x i32]* %y, i32 0, i32 3
  store i32 498571207, i32* %3, align 1
  ret void
}

declare void @vm_ssSetChecksumVal(i8*, i32, i32)

declare void @vm_blockIOSizeCheck(i8*, i32)

declare void @vm_dworkSizeCheck(i8*, i32)

define void @Enable(i8* %"%<tSimStruct>") {
Enable_entry:
  %"%<tSimStruct>_" = alloca i8*
  store i8* %"%<tSimStruct>", i8** %"%<tSimStruct>_", align 1
  %0 = call i8* @vm_ssGetModelRtp(i8* %"%<tSimStruct>")
  %1 = call i8* @vm__ssGetModelBlockIO(i8* %"%<tSimStruct>")
  call void @vm_ssCallAccelRunBlock(i8* %"%<tSimStruct>", i32 78, i32 0, i32 139)
  call void @vm_ssCallAccelRunBlock(i8* %"%<tSimStruct>", i32 77, i32 0, i32 139)
  ret void
}

declare i8* @vm_ssGetModelRtp(i8*)

declare i8* @vm__ssGetModelBlockIO(i8*)

declare void @vm_ssCallAccelRunBlock(i8*, i32, i32, i32)

define void @ForcingFunction(i8* %"%<tSimStruct>") {
ForcingFunction_entry:
  %"%<tSimStruct>_" = alloca i8*
  store i8* %"%<tSimStruct>", i8** %"%<tSimStruct>_", align 1
  %lsat_ = alloca i8
  %usat_ = alloca i8
  %_rtB_ = alloca %B_REVS_VM_T.12*
  %_rtP_ = alloca %P_REVS_VM_T.17*
  %_rtX_ = alloca %X_REVS_VM_T.18*
  %_rtXdot_ = alloca %XDot_REVS_VM_T.19*
  %_rtDW_ = alloca %DW_REVS_VM_T.16*
  %0 = call i8* @vm_ssGetRootDWork(i8* %"%<tSimStruct>")
  %1 = bitcast i8* %0 to %DW_REVS_VM_T.16*
  store %DW_REVS_VM_T.16* %1, %DW_REVS_VM_T.16** %_rtDW_, align 1
  %"%<tSimStruct>_194" = load i8** %"%<tSimStruct>_", align 1
  %2 = call i8* @vm_ssGetdX(i8* %"%<tSimStruct>_194")
  %3 = bitcast i8* %2 to %XDot_REVS_VM_T.19*
  store %XDot_REVS_VM_T.19* %3, %XDot_REVS_VM_T.19** %_rtXdot_, align 1
  %"%<tSimStruct>_195" = load i8** %"%<tSimStruct>_", align 1
  %4 = call i8* @vm_ssGetX(i8* %"%<tSimStruct>_195")
  %5 = bitcast i8* %4 to %X_REVS_VM_T.18*
  store %X_REVS_VM_T.18* %5, %X_REVS_VM_T.18** %_rtX_, align 1
  %"%<tSimStruct>_196" = load i8** %"%<tSimStruct>_", align 1
  %6 = call i8* @vm_ssGetModelRtp(i8* %"%<tSimStruct>_196")
  %7 = bitcast i8* %6 to %P_REVS_VM_T.17*
  store %P_REVS_VM_T.17* %7, %P_REVS_VM_T.17** %_rtP_, align 1
  %"%<tSimStruct>_197" = load i8** %"%<tSimStruct>_", align 1
  %8 = call i8* @vm__ssGetModelBlockIO(i8* %"%<tSimStruct>_197")
  %9 = bitcast i8* %8 to %B_REVS_VM_T.12*
  store %B_REVS_VM_T.12* %9, %B_REVS_VM_T.12** %_rtB_, align 1
  %_rtX_198 = load %X_REVS_VM_T.18** %_rtX_, align 1
  %10 = getelementptr inbounds %X_REVS_VM_T.18* %_rtX_198, i32 0, i32 0
  %_rtX__Integrator_CSTATE = load double* %10, align 1
  %_rtP_199 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %11 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_199, i32 0, i32 164
  %_rtP__Integrator_LowerSat = load double* %11, align 1
  %12 = fcmp ole double %_rtX__Integrator_CSTATE, %_rtP__Integrator_LowerSat
  %13 = zext i1 %12 to i8
  store i8 %13, i8* %lsat_, align 1
  %_rtX__Integrator_CSTATE201 = load double* %10, align 1
  %14 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_199, i32 0, i32 163
  %_rtP__Integrator_UpperSat = load double* %14, align 1
  %15 = fcmp oge double %_rtX__Integrator_CSTATE201, %_rtP__Integrator_UpperSat
  %16 = zext i1 %15 to i8
  store i8 %16, i8* %usat_, align 1
  %17 = and i8 %13, 1
  %18 = icmp eq i8 %17, 0
  %19 = xor i1 %15, true
  %20 = and i1 %18, %19
  %21 = icmp ne i8 %17, 0
  %22 = getelementptr inbounds %B_REVS_VM_T.12* %9, i32 0, i32 162
  %_rtB__NegativeGain1 = load double* %22, align 1
  %23 = fcmp ogt double %_rtB__NegativeGain1, 0.000000e+00
  %24 = and i1 %21, %23
  %25 = or i1 %20, %24
  %26 = and i8 %16, 1
  %27 = icmp ne i8 %26, 0
  %28 = fcmp olt double %_rtB__NegativeGain1, 0.000000e+00
  %29 = and i1 %27, %28
  %30 = or i1 %25, %29
  %_rtXdot_213 = load %XDot_REVS_VM_T.19** %_rtXdot_, align 1
  %31 = getelementptr inbounds %XDot_REVS_VM_T.19* %_rtXdot_213, i32 0, i32 0
  br i1 %30, label %true, label %false

true:                                             ; preds = %ForcingFunction_entry
  store double %_rtB__NegativeGain1, double* %31, align 1
  br label %merge

false:                                            ; preds = %ForcingFunction_entry
  store double 0.000000e+00, double* %31, align 1
  br label %merge

true1:                                            ; preds = %merge
  %"%<tSimStruct>_222" = load i8** %"%<tSimStruct>_", align 1
  %_rtB_223 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %32 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_223, i32 0, i32 898
  %_rtXdot_224 = load %XDot_REVS_VM_T.19** %_rtXdot_, align 1
  %33 = getelementptr inbounds %XDot_REVS_VM_T.19* %_rtXdot_224, i32 0, i32 113
  call void @REVS_VM_ElecEnergyVA_ForcingFunction(i8* %"%<tSimStruct>_222", %B_ElecEnergyVA_REVS_VM_T.0* %32, %XDot_ElecEnergyVA_REVS_VM_T.1* %33)
  br label %merge129

false2:                                           ; preds = %merge
  %_rtXdot_219 = load %XDot_REVS_VM_T.19** %_rtXdot_, align 1
  %34 = getelementptr inbounds %XDot_REVS_VM_T.19* %_rtXdot_219, i32 0, i32 113, i32 0
  store double 0.000000e+00, double* %34, align 1
  %_rtXdot_220 = load %XDot_REVS_VM_T.19** %_rtXdot_, align 1
  %35 = getelementptr inbounds %XDot_REVS_VM_T.19* %_rtXdot_220, i32 0, i32 113, i32 1
  store double 0.000000e+00, double* %35, align 1
  %_rtXdot_221 = load %XDot_REVS_VM_T.19** %_rtXdot_, align 1
  %36 = getelementptr inbounds %XDot_REVS_VM_T.19* %_rtXdot_221, i32 0, i32 113, i32 2
  store double 0.000000e+00, double* %36, align 1
  br label %merge129

true3:                                            ; preds = %merge129
  store double %_rtB__Product_f, double* %448, align 1
  br label %merge130

false4:                                           ; preds = %merge129
  store double 0.000000e+00, double* %448, align 1
  br label %merge130

true5:                                            ; preds = %merge130
  store double %_rtB__DataTypeConversion2, double* %476, align 1
  br label %merge131

false6:                                           ; preds = %merge130
  store double 0.000000e+00, double* %476, align 1
  br label %merge131

true7:                                            ; preds = %merge131
  store double %_rtB__Product2, double* %498, align 1
  br label %merge132

false8:                                           ; preds = %merge131
  store double 0.000000e+00, double* %498, align 1
  br label %merge132

true9:                                            ; preds = %merge132
  store double %_rtB__DataTypeConversion2_d, double* %520, align 1
  br label %merge133

false10:                                          ; preds = %merge132
  store double 0.000000e+00, double* %520, align 1
  br label %merge133

true11:                                           ; preds = %merge133
  store double %_rtB__Product6, double* %542, align 1
  br label %merge134

false12:                                          ; preds = %merge133
  store double 0.000000e+00, double* %542, align 1
  br label %merge134

true13:                                           ; preds = %merge134
  %"%<tSimStruct>_318" = load i8** %"%<tSimStruct>_", align 1
  %_rtB_319 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %37 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_319, i32 0, i32 897
  %_rtXdot_320 = load %XDot_REVS_VM_T.19** %_rtXdot_, align 1
  %38 = getelementptr inbounds %XDot_REVS_VM_T.19* %_rtXdot_320, i32 0, i32 112
  call void @REVS_VM_MechEnergyNmradps_ForcingFunction(i8* %"%<tSimStruct>_318", %B_MechEnergyNmradps_REVS_VM_T.4* %37, %XDot_MechEnergyNmradps_REVS_VM_T.5* %38)
  br label %merge135

false14:                                          ; preds = %merge134
  %_rtXdot_315 = load %XDot_REVS_VM_T.19** %_rtXdot_, align 1
  %39 = getelementptr inbounds %XDot_REVS_VM_T.19* %_rtXdot_315, i32 0, i32 112, i32 0
  store double 0.000000e+00, double* %39, align 1
  %_rtXdot_316 = load %XDot_REVS_VM_T.19** %_rtXdot_, align 1
  %40 = getelementptr inbounds %XDot_REVS_VM_T.19* %_rtXdot_316, i32 0, i32 112, i32 1
  store double 0.000000e+00, double* %40, align 1
  %_rtXdot_317 = load %XDot_REVS_VM_T.19** %_rtXdot_, align 1
  %41 = getelementptr inbounds %XDot_REVS_VM_T.19* %_rtXdot_317, i32 0, i32 112, i32 2
  store double 0.000000e+00, double* %41, align 1
  br label %merge135

true15:                                           ; preds = %merge135
  %"%<tSimStruct>_325" = load i8** %"%<tSimStruct>_", align 1
  %_rtB_326 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %42 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_326, i32 0, i32 896
  %_rtXdot_327 = load %XDot_REVS_VM_T.19** %_rtXdot_, align 1
  %43 = getelementptr inbounds %XDot_REVS_VM_T.19* %_rtXdot_327, i32 0, i32 111
  call void @REVS_VM_ElecEnergyVA_ForcingFunction(i8* %"%<tSimStruct>_325", %B_ElecEnergyVA_REVS_VM_T.0* %42, %XDot_ElecEnergyVA_REVS_VM_T.1* %43)
  br label %merge136

false16:                                          ; preds = %merge135
  %_rtXdot_322 = load %XDot_REVS_VM_T.19** %_rtXdot_, align 1
  %44 = getelementptr inbounds %XDot_REVS_VM_T.19* %_rtXdot_322, i32 0, i32 111, i32 0
  store double 0.000000e+00, double* %44, align 1
  %_rtXdot_323 = load %XDot_REVS_VM_T.19** %_rtXdot_, align 1
  %45 = getelementptr inbounds %XDot_REVS_VM_T.19* %_rtXdot_323, i32 0, i32 111, i32 1
  store double 0.000000e+00, double* %45, align 1
  %_rtXdot_324 = load %XDot_REVS_VM_T.19** %_rtXdot_, align 1
  %46 = getelementptr inbounds %XDot_REVS_VM_T.19* %_rtXdot_324, i32 0, i32 111, i32 2
  store double 0.000000e+00, double* %46, align 1
  br label %merge136

true17:                                           ; preds = %merge136
  %"%<tSimStruct>_332" = load i8** %"%<tSimStruct>_", align 1
  %_rtB_333 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %47 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_333, i32 0, i32 895
  %_rtXdot_334 = load %XDot_REVS_VM_T.19** %_rtXdot_, align 1
  %48 = getelementptr inbounds %XDot_REVS_VM_T.19* %_rtXdot_334, i32 0, i32 110
  call void @REVS_VM_MechEnergyNmradps_ForcingFunction(i8* %"%<tSimStruct>_332", %B_MechEnergyNmradps_REVS_VM_T.4* %47, %XDot_MechEnergyNmradps_REVS_VM_T.5* %48)
  br label %merge137

false18:                                          ; preds = %merge136
  %_rtXdot_329 = load %XDot_REVS_VM_T.19** %_rtXdot_, align 1
  %49 = getelementptr inbounds %XDot_REVS_VM_T.19* %_rtXdot_329, i32 0, i32 110, i32 0
  store double 0.000000e+00, double* %49, align 1
  %_rtXdot_330 = load %XDot_REVS_VM_T.19** %_rtXdot_, align 1
  %50 = getelementptr inbounds %XDot_REVS_VM_T.19* %_rtXdot_330, i32 0, i32 110, i32 1
  store double 0.000000e+00, double* %50, align 1
  %_rtXdot_331 = load %XDot_REVS_VM_T.19** %_rtXdot_, align 1
  %51 = getelementptr inbounds %XDot_REVS_VM_T.19* %_rtXdot_331, i32 0, i32 110, i32 2
  store double 0.000000e+00, double* %51, align 1
  br label %merge137

true19:                                           ; preds = %merge137
  %"%<tSimStruct>_339" = load i8** %"%<tSimStruct>_", align 1
  %_rtB_340 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %52 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_340, i32 0, i32 894
  %_rtXdot_341 = load %XDot_REVS_VM_T.19** %_rtXdot_, align 1
  %53 = getelementptr inbounds %XDot_REVS_VM_T.19* %_rtXdot_341, i32 0, i32 109
  call void @REVS_VM_ElecEnergyVA_ForcingFunction(i8* %"%<tSimStruct>_339", %B_ElecEnergyVA_REVS_VM_T.0* %52, %XDot_ElecEnergyVA_REVS_VM_T.1* %53)
  br label %merge138

false20:                                          ; preds = %merge137
  %_rtXdot_336 = load %XDot_REVS_VM_T.19** %_rtXdot_, align 1
  %54 = getelementptr inbounds %XDot_REVS_VM_T.19* %_rtXdot_336, i32 0, i32 109, i32 0
  store double 0.000000e+00, double* %54, align 1
  %_rtXdot_337 = load %XDot_REVS_VM_T.19** %_rtXdot_, align 1
  %55 = getelementptr inbounds %XDot_REVS_VM_T.19* %_rtXdot_337, i32 0, i32 109, i32 1
  store double 0.000000e+00, double* %55, align 1
  %_rtXdot_338 = load %XDot_REVS_VM_T.19** %_rtXdot_, align 1
  %56 = getelementptr inbounds %XDot_REVS_VM_T.19* %_rtXdot_338, i32 0, i32 109, i32 2
  store double 0.000000e+00, double* %56, align 1
  br label %merge138

true21:                                           ; preds = %merge138
  %"%<tSimStruct>_346" = load i8** %"%<tSimStruct>_", align 1
  %_rtB_347 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %57 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_347, i32 0, i32 893
  %_rtXdot_348 = load %XDot_REVS_VM_T.19** %_rtXdot_, align 1
  %58 = getelementptr inbounds %XDot_REVS_VM_T.19* %_rtXdot_348, i32 0, i32 108
  call void @REVS_VM_MechEnergyNmradps_ForcingFunction(i8* %"%<tSimStruct>_346", %B_MechEnergyNmradps_REVS_VM_T.4* %57, %XDot_MechEnergyNmradps_REVS_VM_T.5* %58)
  br label %merge139

false22:                                          ; preds = %merge138
  %_rtXdot_343 = load %XDot_REVS_VM_T.19** %_rtXdot_, align 1
  %59 = getelementptr inbounds %XDot_REVS_VM_T.19* %_rtXdot_343, i32 0, i32 108, i32 0
  store double 0.000000e+00, double* %59, align 1
  %_rtXdot_344 = load %XDot_REVS_VM_T.19** %_rtXdot_, align 1
  %60 = getelementptr inbounds %XDot_REVS_VM_T.19* %_rtXdot_344, i32 0, i32 108, i32 1
  store double 0.000000e+00, double* %60, align 1
  %_rtXdot_345 = load %XDot_REVS_VM_T.19** %_rtXdot_, align 1
  %61 = getelementptr inbounds %XDot_REVS_VM_T.19* %_rtXdot_345, i32 0, i32 108, i32 2
  store double 0.000000e+00, double* %61, align 1
  br label %merge139

true23:                                           ; preds = %merge139
  %"%<tSimStruct>_353" = load i8** %"%<tSimStruct>_", align 1
  %_rtB_354 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %62 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_354, i32 0, i32 892
  %_rtXdot_355 = load %XDot_REVS_VM_T.19** %_rtXdot_, align 1
  %63 = getelementptr inbounds %XDot_REVS_VM_T.19* %_rtXdot_355, i32 0, i32 107
  call void @REVS_VM_ElecEnergyVA_ForcingFunction(i8* %"%<tSimStruct>_353", %B_ElecEnergyVA_REVS_VM_T.0* %62, %XDot_ElecEnergyVA_REVS_VM_T.1* %63)
  br label %merge140

false24:                                          ; preds = %merge139
  %_rtXdot_350 = load %XDot_REVS_VM_T.19** %_rtXdot_, align 1
  %64 = getelementptr inbounds %XDot_REVS_VM_T.19* %_rtXdot_350, i32 0, i32 107, i32 0
  store double 0.000000e+00, double* %64, align 1
  %_rtXdot_351 = load %XDot_REVS_VM_T.19** %_rtXdot_, align 1
  %65 = getelementptr inbounds %XDot_REVS_VM_T.19* %_rtXdot_351, i32 0, i32 107, i32 1
  store double 0.000000e+00, double* %65, align 1
  %_rtXdot_352 = load %XDot_REVS_VM_T.19** %_rtXdot_, align 1
  %66 = getelementptr inbounds %XDot_REVS_VM_T.19* %_rtXdot_352, i32 0, i32 107, i32 2
  store double 0.000000e+00, double* %66, align 1
  br label %merge140

true25:                                           ; preds = %merge140
  %"%<tSimStruct>_360" = load i8** %"%<tSimStruct>_", align 1
  %_rtB_361 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %67 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_361, i32 0, i32 891
  %_rtXdot_362 = load %XDot_REVS_VM_T.19** %_rtXdot_, align 1
  %68 = getelementptr inbounds %XDot_REVS_VM_T.19* %_rtXdot_362, i32 0, i32 106
  call void @REVS_VM_MechEnergyNmradps_ForcingFunction(i8* %"%<tSimStruct>_360", %B_MechEnergyNmradps_REVS_VM_T.4* %67, %XDot_MechEnergyNmradps_REVS_VM_T.5* %68)
  br label %merge141

false26:                                          ; preds = %merge140
  %_rtXdot_357 = load %XDot_REVS_VM_T.19** %_rtXdot_, align 1
  %69 = getelementptr inbounds %XDot_REVS_VM_T.19* %_rtXdot_357, i32 0, i32 106, i32 0
  store double 0.000000e+00, double* %69, align 1
  %_rtXdot_358 = load %XDot_REVS_VM_T.19** %_rtXdot_, align 1
  %70 = getelementptr inbounds %XDot_REVS_VM_T.19* %_rtXdot_358, i32 0, i32 106, i32 1
  store double 0.000000e+00, double* %70, align 1
  %_rtXdot_359 = load %XDot_REVS_VM_T.19** %_rtXdot_, align 1
  %71 = getelementptr inbounds %XDot_REVS_VM_T.19* %_rtXdot_359, i32 0, i32 106, i32 2
  store double 0.000000e+00, double* %71, align 1
  br label %merge141

true27:                                           ; preds = %merge141
  %"%<tSimStruct>_367" = load i8** %"%<tSimStruct>_", align 1
  %_rtB_368 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %72 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_368, i32 0, i32 890
  %_rtXdot_369 = load %XDot_REVS_VM_T.19** %_rtXdot_, align 1
  %73 = getelementptr inbounds %XDot_REVS_VM_T.19* %_rtXdot_369, i32 0, i32 105
  call void @REVS_VM_ElecEnergyVA_ForcingFunction(i8* %"%<tSimStruct>_367", %B_ElecEnergyVA_REVS_VM_T.0* %72, %XDot_ElecEnergyVA_REVS_VM_T.1* %73)
  br label %merge142

false28:                                          ; preds = %merge141
  %_rtXdot_364 = load %XDot_REVS_VM_T.19** %_rtXdot_, align 1
  %74 = getelementptr inbounds %XDot_REVS_VM_T.19* %_rtXdot_364, i32 0, i32 105, i32 0
  store double 0.000000e+00, double* %74, align 1
  %_rtXdot_365 = load %XDot_REVS_VM_T.19** %_rtXdot_, align 1
  %75 = getelementptr inbounds %XDot_REVS_VM_T.19* %_rtXdot_365, i32 0, i32 105, i32 1
  store double 0.000000e+00, double* %75, align 1
  %_rtXdot_366 = load %XDot_REVS_VM_T.19** %_rtXdot_, align 1
  %76 = getelementptr inbounds %XDot_REVS_VM_T.19* %_rtXdot_366, i32 0, i32 105, i32 2
  store double 0.000000e+00, double* %76, align 1
  br label %merge142

true29:                                           ; preds = %merge142
  %"%<tSimStruct>_374" = load i8** %"%<tSimStruct>_", align 1
  %_rtB_375 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %77 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_375, i32 0, i32 889
  %_rtXdot_376 = load %XDot_REVS_VM_T.19** %_rtXdot_, align 1
  %78 = getelementptr inbounds %XDot_REVS_VM_T.19* %_rtXdot_376, i32 0, i32 104
  call void @REVS_VM_MechEnergyNmradps_ForcingFunction(i8* %"%<tSimStruct>_374", %B_MechEnergyNmradps_REVS_VM_T.4* %77, %XDot_MechEnergyNmradps_REVS_VM_T.5* %78)
  br label %merge143

false30:                                          ; preds = %merge142
  %_rtXdot_371 = load %XDot_REVS_VM_T.19** %_rtXdot_, align 1
  %79 = getelementptr inbounds %XDot_REVS_VM_T.19* %_rtXdot_371, i32 0, i32 104, i32 0
  store double 0.000000e+00, double* %79, align 1
  %_rtXdot_372 = load %XDot_REVS_VM_T.19** %_rtXdot_, align 1
  %80 = getelementptr inbounds %XDot_REVS_VM_T.19* %_rtXdot_372, i32 0, i32 104, i32 1
  store double 0.000000e+00, double* %80, align 1
  %_rtXdot_373 = load %XDot_REVS_VM_T.19** %_rtXdot_, align 1
  %81 = getelementptr inbounds %XDot_REVS_VM_T.19* %_rtXdot_373, i32 0, i32 104, i32 2
  store double 0.000000e+00, double* %81, align 1
  br label %merge143

true31:                                           ; preds = %merge143
  store double %_rtB__DataTypeConversion2_k, double* %591, align 1
  br label %merge144

false32:                                          ; preds = %merge143
  store double 0.000000e+00, double* %591, align 1
  br label %merge144

true33:                                           ; preds = %merge144
  store double %_rtB__DataTypeConversion2_j, double* %617, align 1
  br label %merge145

false34:                                          ; preds = %merge144
  store double 0.000000e+00, double* %617, align 1
  br label %merge145

true35:                                           ; preds = %merge145
  %82 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_417, i32 0, i32 1073
  %_rtDW__Subsystem_MODE_jd = load i8* %82, align 1
  %83 = and i8 %_rtDW__Subsystem_MODE_jd, 1
  %84 = icmp eq i8 %83, 0
  br i1 %84, label %false38, label %true37

false36:                                          ; preds = %merge145
  %_rtXdot_418 = load %XDot_REVS_VM_T.19** %_rtXdot_, align 1
  %85 = getelementptr inbounds %XDot_REVS_VM_T.19* %_rtXdot_418, i32 0, i32 103, i32 0
  store double 0.000000e+00, double* %85, align 1
  %_rtXdot_419 = load %XDot_REVS_VM_T.19** %_rtXdot_, align 1
  %86 = getelementptr inbounds %XDot_REVS_VM_T.19* %_rtXdot_419, i32 0, i32 103, i32 1
  store double 0.000000e+00, double* %86, align 1
  %_rtXdot_420 = load %XDot_REVS_VM_T.19** %_rtXdot_, align 1
  %87 = getelementptr inbounds %XDot_REVS_VM_T.19* %_rtXdot_420, i32 0, i32 103, i32 2
  store double 0.000000e+00, double* %87, align 1
  %_rtXdot_421 = load %XDot_REVS_VM_T.19** %_rtXdot_, align 1
  %88 = getelementptr inbounds %XDot_REVS_VM_T.19* %_rtXdot_421, i32 0, i32 102, i32 0
  store double 0.000000e+00, double* %88, align 1
  %_rtXdot_422 = load %XDot_REVS_VM_T.19** %_rtXdot_, align 1
  %89 = getelementptr inbounds %XDot_REVS_VM_T.19* %_rtXdot_422, i32 0, i32 102, i32 1
  store double 0.000000e+00, double* %89, align 1
  %_rtXdot_423 = load %XDot_REVS_VM_T.19** %_rtXdot_, align 1
  %90 = getelementptr inbounds %XDot_REVS_VM_T.19* %_rtXdot_423, i32 0, i32 102, i32 2
  store double 0.000000e+00, double* %90, align 1
  br label %merge148

true37:                                           ; preds = %true35
  %"%<tSimStruct>_428" = load i8** %"%<tSimStruct>_", align 1
  %_rtB_429 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %91 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_429, i32 0, i32 888
  %_rtXdot_430 = load %XDot_REVS_VM_T.19** %_rtXdot_, align 1
  %92 = getelementptr inbounds %XDot_REVS_VM_T.19* %_rtXdot_430, i32 0, i32 103
  call void @REVS_VM_ElecEnergyVA_ForcingFunction(i8* %"%<tSimStruct>_428", %B_ElecEnergyVA_REVS_VM_T.0* %91, %XDot_ElecEnergyVA_REVS_VM_T.1* %92)
  br label %merge146

false38:                                          ; preds = %true35
  %_rtXdot_425 = load %XDot_REVS_VM_T.19** %_rtXdot_, align 1
  %93 = getelementptr inbounds %XDot_REVS_VM_T.19* %_rtXdot_425, i32 0, i32 103, i32 0
  store double 0.000000e+00, double* %93, align 1
  %_rtXdot_426 = load %XDot_REVS_VM_T.19** %_rtXdot_, align 1
  %94 = getelementptr inbounds %XDot_REVS_VM_T.19* %_rtXdot_426, i32 0, i32 103, i32 1
  store double 0.000000e+00, double* %94, align 1
  %_rtXdot_427 = load %XDot_REVS_VM_T.19** %_rtXdot_, align 1
  %95 = getelementptr inbounds %XDot_REVS_VM_T.19* %_rtXdot_427, i32 0, i32 103, i32 2
  store double 0.000000e+00, double* %95, align 1
  br label %merge146

true39:                                           ; preds = %merge146
  %"%<tSimStruct>_435" = load i8** %"%<tSimStruct>_", align 1
  %_rtB_436 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %96 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_436, i32 0, i32 887
  %_rtXdot_437 = load %XDot_REVS_VM_T.19** %_rtXdot_, align 1
  %97 = getelementptr inbounds %XDot_REVS_VM_T.19* %_rtXdot_437, i32 0, i32 102
  call void @REVS_VM_MechEnergyNmradps_ForcingFunction(i8* %"%<tSimStruct>_435", %B_MechEnergyNmradps_REVS_VM_T.4* %96, %XDot_MechEnergyNmradps_REVS_VM_T.5* %97)
  br label %merge148

false40:                                          ; preds = %merge146
  %_rtXdot_432 = load %XDot_REVS_VM_T.19** %_rtXdot_, align 1
  %98 = getelementptr inbounds %XDot_REVS_VM_T.19* %_rtXdot_432, i32 0, i32 102, i32 0
  store double 0.000000e+00, double* %98, align 1
  %_rtXdot_433 = load %XDot_REVS_VM_T.19** %_rtXdot_, align 1
  %99 = getelementptr inbounds %XDot_REVS_VM_T.19* %_rtXdot_433, i32 0, i32 102, i32 1
  store double 0.000000e+00, double* %99, align 1
  %_rtXdot_434 = load %XDot_REVS_VM_T.19** %_rtXdot_, align 1
  %100 = getelementptr inbounds %XDot_REVS_VM_T.19* %_rtXdot_434, i32 0, i32 102, i32 2
  store double 0.000000e+00, double* %100, align 1
  br label %merge148

true41:                                           ; preds = %merge148
  %"%<tSimStruct>_442" = load i8** %"%<tSimStruct>_", align 1
  %_rtB_443 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %101 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_443, i32 0, i32 886
  %_rtXdot_444 = load %XDot_REVS_VM_T.19** %_rtXdot_, align 1
  %102 = getelementptr inbounds %XDot_REVS_VM_T.19* %_rtXdot_444, i32 0, i32 101
  call void @REVS_VM_ElecEnergyVA_ForcingFunction(i8* %"%<tSimStruct>_442", %B_ElecEnergyVA_REVS_VM_T.0* %101, %XDot_ElecEnergyVA_REVS_VM_T.1* %102)
  br label %merge149

false42:                                          ; preds = %merge148
  %_rtXdot_439 = load %XDot_REVS_VM_T.19** %_rtXdot_, align 1
  %103 = getelementptr inbounds %XDot_REVS_VM_T.19* %_rtXdot_439, i32 0, i32 101, i32 0
  store double 0.000000e+00, double* %103, align 1
  %_rtXdot_440 = load %XDot_REVS_VM_T.19** %_rtXdot_, align 1
  %104 = getelementptr inbounds %XDot_REVS_VM_T.19* %_rtXdot_440, i32 0, i32 101, i32 1
  store double 0.000000e+00, double* %104, align 1
  %_rtXdot_441 = load %XDot_REVS_VM_T.19** %_rtXdot_, align 1
  %105 = getelementptr inbounds %XDot_REVS_VM_T.19* %_rtXdot_441, i32 0, i32 101, i32 2
  store double 0.000000e+00, double* %105, align 1
  br label %merge149

true43:                                           ; preds = %merge149
  %106 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_470, i32 0, i32 1071
  %_rtDW__Subsystem_MODE_l1 = load i8* %106, align 1
  %107 = and i8 %_rtDW__Subsystem_MODE_l1, 1
  %108 = icmp eq i8 %107, 0
  br i1 %108, label %false46, label %true45

false44:                                          ; preds = %merge149
  %_rtXdot_471 = load %XDot_REVS_VM_T.19** %_rtXdot_, align 1
  %109 = getelementptr inbounds %XDot_REVS_VM_T.19* %_rtXdot_471, i32 0, i32 100, i32 0
  store double 0.000000e+00, double* %109, align 1
  %_rtXdot_472 = load %XDot_REVS_VM_T.19** %_rtXdot_, align 1
  %110 = getelementptr inbounds %XDot_REVS_VM_T.19* %_rtXdot_472, i32 0, i32 100, i32 1
  store double 0.000000e+00, double* %110, align 1
  %_rtXdot_473 = load %XDot_REVS_VM_T.19** %_rtXdot_, align 1
  %111 = getelementptr inbounds %XDot_REVS_VM_T.19* %_rtXdot_473, i32 0, i32 100, i32 2
  store double 0.000000e+00, double* %111, align 1
  %_rtXdot_474 = load %XDot_REVS_VM_T.19** %_rtXdot_, align 1
  %112 = getelementptr inbounds %XDot_REVS_VM_T.19* %_rtXdot_474, i32 0, i32 99, i32 0
  store double 0.000000e+00, double* %112, align 1
  %_rtXdot_475 = load %XDot_REVS_VM_T.19** %_rtXdot_, align 1
  %113 = getelementptr inbounds %XDot_REVS_VM_T.19* %_rtXdot_475, i32 0, i32 99, i32 1
  store double 0.000000e+00, double* %113, align 1
  %_rtXdot_476 = load %XDot_REVS_VM_T.19** %_rtXdot_, align 1
  %114 = getelementptr inbounds %XDot_REVS_VM_T.19* %_rtXdot_476, i32 0, i32 99, i32 2
  store double 0.000000e+00, double* %114, align 1
  br label %merge152

true45:                                           ; preds = %true43
  %"%<tSimStruct>_481" = load i8** %"%<tSimStruct>_", align 1
  %_rtB_482 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %115 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_482, i32 0, i32 885
  %_rtXdot_483 = load %XDot_REVS_VM_T.19** %_rtXdot_, align 1
  %116 = getelementptr inbounds %XDot_REVS_VM_T.19* %_rtXdot_483, i32 0, i32 100
  call void @REVS_VM_ElecEnergyVA_ForcingFunction(i8* %"%<tSimStruct>_481", %B_ElecEnergyVA_REVS_VM_T.0* %115, %XDot_ElecEnergyVA_REVS_VM_T.1* %116)
  br label %merge150

false46:                                          ; preds = %true43
  %_rtXdot_478 = load %XDot_REVS_VM_T.19** %_rtXdot_, align 1
  %117 = getelementptr inbounds %XDot_REVS_VM_T.19* %_rtXdot_478, i32 0, i32 100, i32 0
  store double 0.000000e+00, double* %117, align 1
  %_rtXdot_479 = load %XDot_REVS_VM_T.19** %_rtXdot_, align 1
  %118 = getelementptr inbounds %XDot_REVS_VM_T.19* %_rtXdot_479, i32 0, i32 100, i32 1
  store double 0.000000e+00, double* %118, align 1
  %_rtXdot_480 = load %XDot_REVS_VM_T.19** %_rtXdot_, align 1
  %119 = getelementptr inbounds %XDot_REVS_VM_T.19* %_rtXdot_480, i32 0, i32 100, i32 2
  store double 0.000000e+00, double* %119, align 1
  br label %merge150

true47:                                           ; preds = %merge150
  %"%<tSimStruct>_488" = load i8** %"%<tSimStruct>_", align 1
  %_rtB_489 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %120 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_489, i32 0, i32 884
  %_rtXdot_490 = load %XDot_REVS_VM_T.19** %_rtXdot_, align 1
  %121 = getelementptr inbounds %XDot_REVS_VM_T.19* %_rtXdot_490, i32 0, i32 99
  call void @REVS_VM_MechEnergyNmradps_ForcingFunction(i8* %"%<tSimStruct>_488", %B_MechEnergyNmradps_REVS_VM_T.4* %120, %XDot_MechEnergyNmradps_REVS_VM_T.5* %121)
  br label %merge152

false48:                                          ; preds = %merge150
  %_rtXdot_485 = load %XDot_REVS_VM_T.19** %_rtXdot_, align 1
  %122 = getelementptr inbounds %XDot_REVS_VM_T.19* %_rtXdot_485, i32 0, i32 99, i32 0
  store double 0.000000e+00, double* %122, align 1
  %_rtXdot_486 = load %XDot_REVS_VM_T.19** %_rtXdot_, align 1
  %123 = getelementptr inbounds %XDot_REVS_VM_T.19* %_rtXdot_486, i32 0, i32 99, i32 1
  store double 0.000000e+00, double* %123, align 1
  %_rtXdot_487 = load %XDot_REVS_VM_T.19** %_rtXdot_, align 1
  %124 = getelementptr inbounds %XDot_REVS_VM_T.19* %_rtXdot_487, i32 0, i32 99, i32 2
  store double 0.000000e+00, double* %124, align 1
  br label %merge152

true49:                                           ; preds = %merge152
  store double %_rtB__DataTypeConversion2_b, double* %681, align 1
  br label %merge153

false50:                                          ; preds = %merge152
  store double 0.000000e+00, double* %681, align 1
  br label %merge153

true51:                                           ; preds = %merge153
  store double %_rtB__DataTypeConversion2_g, double* %718, align 1
  br label %merge154

false52:                                          ; preds = %merge153
  store double 0.000000e+00, double* %718, align 1
  br label %merge154

true53:                                           ; preds = %merge154
  store double %_rtB__Ki, double* %746, align 1
  br label %merge155

false54:                                          ; preds = %merge154
  store double 0.000000e+00, double* %746, align 1
  br label %merge155

true55:                                           ; preds = %merge155
  %125 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_572, i32 0, i32 1069
  %_rtDW__Subsystem_MODE_js = load i8* %125, align 1
  %126 = and i8 %_rtDW__Subsystem_MODE_js, 1
  %127 = icmp eq i8 %126, 0
  br i1 %127, label %false58, label %true57

false56:                                          ; preds = %merge155
  %_rtXdot_573 = load %XDot_REVS_VM_T.19** %_rtXdot_, align 1
  %128 = getelementptr inbounds %XDot_REVS_VM_T.19* %_rtXdot_573, i32 0, i32 98, i32 0
  store double 0.000000e+00, double* %128, align 1
  %_rtXdot_574 = load %XDot_REVS_VM_T.19** %_rtXdot_, align 1
  %129 = getelementptr inbounds %XDot_REVS_VM_T.19* %_rtXdot_574, i32 0, i32 98, i32 1
  store double 0.000000e+00, double* %129, align 1
  %_rtXdot_575 = load %XDot_REVS_VM_T.19** %_rtXdot_, align 1
  %130 = getelementptr inbounds %XDot_REVS_VM_T.19* %_rtXdot_575, i32 0, i32 98, i32 2
  store double 0.000000e+00, double* %130, align 1
  %_rtXdot_576 = load %XDot_REVS_VM_T.19** %_rtXdot_, align 1
  %131 = getelementptr inbounds %XDot_REVS_VM_T.19* %_rtXdot_576, i32 0, i32 97, i32 0
  store double 0.000000e+00, double* %131, align 1
  %_rtXdot_577 = load %XDot_REVS_VM_T.19** %_rtXdot_, align 1
  %132 = getelementptr inbounds %XDot_REVS_VM_T.19* %_rtXdot_577, i32 0, i32 97, i32 1
  store double 0.000000e+00, double* %132, align 1
  %_rtXdot_578 = load %XDot_REVS_VM_T.19** %_rtXdot_, align 1
  %133 = getelementptr inbounds %XDot_REVS_VM_T.19* %_rtXdot_578, i32 0, i32 97, i32 2
  store double 0.000000e+00, double* %133, align 1
  br label %merge158

true57:                                           ; preds = %true55
  %"%<tSimStruct>_583" = load i8** %"%<tSimStruct>_", align 1
  %_rtB_584 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %134 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_584, i32 0, i32 883
  %_rtXdot_585 = load %XDot_REVS_VM_T.19** %_rtXdot_, align 1
  %135 = getelementptr inbounds %XDot_REVS_VM_T.19* %_rtXdot_585, i32 0, i32 98
  call void @REVS_VM_MechEnergyNmradps_ForcingFunction(i8* %"%<tSimStruct>_583", %B_MechEnergyNmradps_REVS_VM_T.4* %134, %XDot_MechEnergyNmradps_REVS_VM_T.5* %135)
  br label %merge156

false58:                                          ; preds = %true55
  %_rtXdot_580 = load %XDot_REVS_VM_T.19** %_rtXdot_, align 1
  %136 = getelementptr inbounds %XDot_REVS_VM_T.19* %_rtXdot_580, i32 0, i32 98, i32 0
  store double 0.000000e+00, double* %136, align 1
  %_rtXdot_581 = load %XDot_REVS_VM_T.19** %_rtXdot_, align 1
  %137 = getelementptr inbounds %XDot_REVS_VM_T.19* %_rtXdot_581, i32 0, i32 98, i32 1
  store double 0.000000e+00, double* %137, align 1
  %_rtXdot_582 = load %XDot_REVS_VM_T.19** %_rtXdot_, align 1
  %138 = getelementptr inbounds %XDot_REVS_VM_T.19* %_rtXdot_582, i32 0, i32 98, i32 2
  store double 0.000000e+00, double* %138, align 1
  br label %merge156

true59:                                           ; preds = %merge156
  %"%<tSimStruct>_590" = load i8** %"%<tSimStruct>_", align 1
  %_rtB_591 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %139 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_591, i32 0, i32 882
  %_rtXdot_592 = load %XDot_REVS_VM_T.19** %_rtXdot_, align 1
  %140 = getelementptr inbounds %XDot_REVS_VM_T.19* %_rtXdot_592, i32 0, i32 97
  call void @REVS_VM_MechEnergyNmradps_ForcingFunction(i8* %"%<tSimStruct>_590", %B_MechEnergyNmradps_REVS_VM_T.4* %139, %XDot_MechEnergyNmradps_REVS_VM_T.5* %140)
  br label %merge158

false60:                                          ; preds = %merge156
  %_rtXdot_587 = load %XDot_REVS_VM_T.19** %_rtXdot_, align 1
  %141 = getelementptr inbounds %XDot_REVS_VM_T.19* %_rtXdot_587, i32 0, i32 97, i32 0
  store double 0.000000e+00, double* %141, align 1
  %_rtXdot_588 = load %XDot_REVS_VM_T.19** %_rtXdot_, align 1
  %142 = getelementptr inbounds %XDot_REVS_VM_T.19* %_rtXdot_588, i32 0, i32 97, i32 1
  store double 0.000000e+00, double* %142, align 1
  %_rtXdot_589 = load %XDot_REVS_VM_T.19** %_rtXdot_, align 1
  %143 = getelementptr inbounds %XDot_REVS_VM_T.19* %_rtXdot_589, i32 0, i32 97, i32 2
  store double 0.000000e+00, double* %143, align 1
  br label %merge158

true61:                                           ; preds = %merge158
  %"%<tSimStruct>_597" = load i8** %"%<tSimStruct>_", align 1
  %_rtB_598 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %144 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_598, i32 0, i32 880
  %_rtXdot_599 = load %XDot_REVS_VM_T.19** %_rtXdot_, align 1
  %145 = getelementptr inbounds %XDot_REVS_VM_T.19* %_rtXdot_599, i32 0, i32 95
  call void @REVS_VM_MechEnergyNmradps_ForcingFunction(i8* %"%<tSimStruct>_597", %B_MechEnergyNmradps_REVS_VM_T.4* %144, %XDot_MechEnergyNmradps_REVS_VM_T.5* %145)
  br label %merge159

false62:                                          ; preds = %merge158
  %_rtXdot_594 = load %XDot_REVS_VM_T.19** %_rtXdot_, align 1
  %146 = getelementptr inbounds %XDot_REVS_VM_T.19* %_rtXdot_594, i32 0, i32 95, i32 0
  store double 0.000000e+00, double* %146, align 1
  %_rtXdot_595 = load %XDot_REVS_VM_T.19** %_rtXdot_, align 1
  %147 = getelementptr inbounds %XDot_REVS_VM_T.19* %_rtXdot_595, i32 0, i32 95, i32 1
  store double 0.000000e+00, double* %147, align 1
  %_rtXdot_596 = load %XDot_REVS_VM_T.19** %_rtXdot_, align 1
  %148 = getelementptr inbounds %XDot_REVS_VM_T.19* %_rtXdot_596, i32 0, i32 95, i32 2
  store double 0.000000e+00, double* %148, align 1
  br label %merge159

true63:                                           ; preds = %merge159
  %"%<tSimStruct>_604" = load i8** %"%<tSimStruct>_", align 1
  %_rtB_605 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %149 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_605, i32 0, i32 879
  %_rtXdot_606 = load %XDot_REVS_VM_T.19** %_rtXdot_, align 1
  %150 = getelementptr inbounds %XDot_REVS_VM_T.19* %_rtXdot_606, i32 0, i32 94
  call void @REVS_VM_MechEnergyNmradps_ForcingFunction(i8* %"%<tSimStruct>_604", %B_MechEnergyNmradps_REVS_VM_T.4* %149, %XDot_MechEnergyNmradps_REVS_VM_T.5* %150)
  br label %merge160

false64:                                          ; preds = %merge159
  %_rtXdot_601 = load %XDot_REVS_VM_T.19** %_rtXdot_, align 1
  %151 = getelementptr inbounds %XDot_REVS_VM_T.19* %_rtXdot_601, i32 0, i32 94, i32 0
  store double 0.000000e+00, double* %151, align 1
  %_rtXdot_602 = load %XDot_REVS_VM_T.19** %_rtXdot_, align 1
  %152 = getelementptr inbounds %XDot_REVS_VM_T.19* %_rtXdot_602, i32 0, i32 94, i32 1
  store double 0.000000e+00, double* %152, align 1
  %_rtXdot_603 = load %XDot_REVS_VM_T.19** %_rtXdot_, align 1
  %153 = getelementptr inbounds %XDot_REVS_VM_T.19* %_rtXdot_603, i32 0, i32 94, i32 2
  store double 0.000000e+00, double* %153, align 1
  br label %merge160

true65:                                           ; preds = %merge160
  %"%<tSimStruct>_611" = load i8** %"%<tSimStruct>_", align 1
  %_rtB_612 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %154 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_612, i32 0, i32 881
  %_rtXdot_613 = load %XDot_REVS_VM_T.19** %_rtXdot_, align 1
  %155 = getelementptr inbounds %XDot_REVS_VM_T.19* %_rtXdot_613, i32 0, i32 96
  call void @REVS_VM_MechEnergyNmradps_ForcingFunction(i8* %"%<tSimStruct>_611", %B_MechEnergyNmradps_REVS_VM_T.4* %154, %XDot_MechEnergyNmradps_REVS_VM_T.5* %155)
  br label %merge161

false66:                                          ; preds = %merge160
  %_rtXdot_608 = load %XDot_REVS_VM_T.19** %_rtXdot_, align 1
  %156 = getelementptr inbounds %XDot_REVS_VM_T.19* %_rtXdot_608, i32 0, i32 96, i32 0
  store double 0.000000e+00, double* %156, align 1
  %_rtXdot_609 = load %XDot_REVS_VM_T.19** %_rtXdot_, align 1
  %157 = getelementptr inbounds %XDot_REVS_VM_T.19* %_rtXdot_609, i32 0, i32 96, i32 1
  store double 0.000000e+00, double* %157, align 1
  %_rtXdot_610 = load %XDot_REVS_VM_T.19** %_rtXdot_, align 1
  %158 = getelementptr inbounds %XDot_REVS_VM_T.19* %_rtXdot_610, i32 0, i32 96, i32 2
  store double 0.000000e+00, double* %158, align 1
  br label %merge161

true67:                                           ; preds = %merge161
  %159 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_614, i32 0, i32 1067
  %_rtDW__Subsystem_MODE_hk = load i8* %159, align 1
  %160 = and i8 %_rtDW__Subsystem_MODE_hk, 1
  %161 = icmp eq i8 %160, 0
  br i1 %161, label %false70, label %true69

false68:                                          ; preds = %merge161
  %_rtXdot_615 = load %XDot_REVS_VM_T.19** %_rtXdot_, align 1
  %162 = getelementptr inbounds %XDot_REVS_VM_T.19* %_rtXdot_615, i32 0, i32 93, i32 0
  store double 0.000000e+00, double* %162, align 1
  %_rtXdot_616 = load %XDot_REVS_VM_T.19** %_rtXdot_, align 1
  %163 = getelementptr inbounds %XDot_REVS_VM_T.19* %_rtXdot_616, i32 0, i32 93, i32 1
  store double 0.000000e+00, double* %163, align 1
  %_rtXdot_617 = load %XDot_REVS_VM_T.19** %_rtXdot_, align 1
  %164 = getelementptr inbounds %XDot_REVS_VM_T.19* %_rtXdot_617, i32 0, i32 93, i32 2
  store double 0.000000e+00, double* %164, align 1
  %_rtXdot_618 = load %XDot_REVS_VM_T.19** %_rtXdot_, align 1
  %165 = getelementptr inbounds %XDot_REVS_VM_T.19* %_rtXdot_618, i32 0, i32 92, i32 0
  store double 0.000000e+00, double* %165, align 1
  %_rtXdot_619 = load %XDot_REVS_VM_T.19** %_rtXdot_, align 1
  %166 = getelementptr inbounds %XDot_REVS_VM_T.19* %_rtXdot_619, i32 0, i32 92, i32 1
  store double 0.000000e+00, double* %166, align 1
  %_rtXdot_620 = load %XDot_REVS_VM_T.19** %_rtXdot_, align 1
  %167 = getelementptr inbounds %XDot_REVS_VM_T.19* %_rtXdot_620, i32 0, i32 92, i32 2
  store double 0.000000e+00, double* %167, align 1
  br label %merge164

true69:                                           ; preds = %true67
  %"%<tSimStruct>_625" = load i8** %"%<tSimStruct>_", align 1
  %_rtB_626 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %168 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_626, i32 0, i32 878
  %_rtXdot_627 = load %XDot_REVS_VM_T.19** %_rtXdot_, align 1
  %169 = getelementptr inbounds %XDot_REVS_VM_T.19* %_rtXdot_627, i32 0, i32 93
  call void @REVS_VM_MechEnergyNmradps_ForcingFunction(i8* %"%<tSimStruct>_625", %B_MechEnergyNmradps_REVS_VM_T.4* %168, %XDot_MechEnergyNmradps_REVS_VM_T.5* %169)
  br label %merge162

false70:                                          ; preds = %true67
  %_rtXdot_622 = load %XDot_REVS_VM_T.19** %_rtXdot_, align 1
  %170 = getelementptr inbounds %XDot_REVS_VM_T.19* %_rtXdot_622, i32 0, i32 93, i32 0
  store double 0.000000e+00, double* %170, align 1
  %_rtXdot_623 = load %XDot_REVS_VM_T.19** %_rtXdot_, align 1
  %171 = getelementptr inbounds %XDot_REVS_VM_T.19* %_rtXdot_623, i32 0, i32 93, i32 1
  store double 0.000000e+00, double* %171, align 1
  %_rtXdot_624 = load %XDot_REVS_VM_T.19** %_rtXdot_, align 1
  %172 = getelementptr inbounds %XDot_REVS_VM_T.19* %_rtXdot_624, i32 0, i32 93, i32 2
  store double 0.000000e+00, double* %172, align 1
  br label %merge162

true71:                                           ; preds = %merge162
  %"%<tSimStruct>_632" = load i8** %"%<tSimStruct>_", align 1
  %_rtB_633 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %173 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_633, i32 0, i32 877
  %_rtXdot_634 = load %XDot_REVS_VM_T.19** %_rtXdot_, align 1
  %174 = getelementptr inbounds %XDot_REVS_VM_T.19* %_rtXdot_634, i32 0, i32 92
  call void @REVS_VM_MechEnergyNmradps_ForcingFunction(i8* %"%<tSimStruct>_632", %B_MechEnergyNmradps_REVS_VM_T.4* %173, %XDot_MechEnergyNmradps_REVS_VM_T.5* %174)
  br label %merge164

false72:                                          ; preds = %merge162
  %_rtXdot_629 = load %XDot_REVS_VM_T.19** %_rtXdot_, align 1
  %175 = getelementptr inbounds %XDot_REVS_VM_T.19* %_rtXdot_629, i32 0, i32 92, i32 0
  store double 0.000000e+00, double* %175, align 1
  %_rtXdot_630 = load %XDot_REVS_VM_T.19** %_rtXdot_, align 1
  %176 = getelementptr inbounds %XDot_REVS_VM_T.19* %_rtXdot_630, i32 0, i32 92, i32 1
  store double 0.000000e+00, double* %176, align 1
  %_rtXdot_631 = load %XDot_REVS_VM_T.19** %_rtXdot_, align 1
  %177 = getelementptr inbounds %XDot_REVS_VM_T.19* %_rtXdot_631, i32 0, i32 92, i32 2
  store double 0.000000e+00, double* %177, align 1
  br label %merge164

true73:                                           ; preds = %merge164
  %"%<tSimStruct>_639" = load i8** %"%<tSimStruct>_", align 1
  %_rtB_640 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %178 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_640, i32 0, i32 876
  %_rtXdot_641 = load %XDot_REVS_VM_T.19** %_rtXdot_, align 1
  %179 = getelementptr inbounds %XDot_REVS_VM_T.19* %_rtXdot_641, i32 0, i32 91
  call void @REVS_VM_MechEnergyNmradps_ForcingFunction(i8* %"%<tSimStruct>_639", %B_MechEnergyNmradps_REVS_VM_T.4* %178, %XDot_MechEnergyNmradps_REVS_VM_T.5* %179)
  br label %merge165

false74:                                          ; preds = %merge164
  %_rtXdot_636 = load %XDot_REVS_VM_T.19** %_rtXdot_, align 1
  %180 = getelementptr inbounds %XDot_REVS_VM_T.19* %_rtXdot_636, i32 0, i32 91, i32 0
  store double 0.000000e+00, double* %180, align 1
  %_rtXdot_637 = load %XDot_REVS_VM_T.19** %_rtXdot_, align 1
  %181 = getelementptr inbounds %XDot_REVS_VM_T.19* %_rtXdot_637, i32 0, i32 91, i32 1
  store double 0.000000e+00, double* %181, align 1
  %_rtXdot_638 = load %XDot_REVS_VM_T.19** %_rtXdot_, align 1
  %182 = getelementptr inbounds %XDot_REVS_VM_T.19* %_rtXdot_638, i32 0, i32 91, i32 2
  store double 0.000000e+00, double* %182, align 1
  br label %merge165

true75:                                           ; preds = %merge165
  %"%<tSimStruct>_646" = load i8** %"%<tSimStruct>_", align 1
  %_rtB_647 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %183 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_647, i32 0, i32 875
  %_rtXdot_648 = load %XDot_REVS_VM_T.19** %_rtXdot_, align 1
  %184 = getelementptr inbounds %XDot_REVS_VM_T.19* %_rtXdot_648, i32 0, i32 90
  call void @REVS_VM_MechEnergyNmradps_ForcingFunction(i8* %"%<tSimStruct>_646", %B_MechEnergyNmradps_REVS_VM_T.4* %183, %XDot_MechEnergyNmradps_REVS_VM_T.5* %184)
  br label %merge166

false76:                                          ; preds = %merge165
  %_rtXdot_643 = load %XDot_REVS_VM_T.19** %_rtXdot_, align 1
  %185 = getelementptr inbounds %XDot_REVS_VM_T.19* %_rtXdot_643, i32 0, i32 90, i32 0
  store double 0.000000e+00, double* %185, align 1
  %_rtXdot_644 = load %XDot_REVS_VM_T.19** %_rtXdot_, align 1
  %186 = getelementptr inbounds %XDot_REVS_VM_T.19* %_rtXdot_644, i32 0, i32 90, i32 1
  store double 0.000000e+00, double* %186, align 1
  %_rtXdot_645 = load %XDot_REVS_VM_T.19** %_rtXdot_, align 1
  %187 = getelementptr inbounds %XDot_REVS_VM_T.19* %_rtXdot_645, i32 0, i32 90, i32 2
  store double 0.000000e+00, double* %187, align 1
  br label %merge166

true77:                                           ; preds = %merge166
  %"%<tSimStruct>_653" = load i8** %"%<tSimStruct>_", align 1
  %_rtB_654 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %188 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_654, i32 0, i32 874
  %_rtXdot_655 = load %XDot_REVS_VM_T.19** %_rtXdot_, align 1
  %189 = getelementptr inbounds %XDot_REVS_VM_T.19* %_rtXdot_655, i32 0, i32 89
  call void @REVS_VM_MechEnergyNmradps_ForcingFunction(i8* %"%<tSimStruct>_653", %B_MechEnergyNmradps_REVS_VM_T.4* %188, %XDot_MechEnergyNmradps_REVS_VM_T.5* %189)
  br label %merge167

false78:                                          ; preds = %merge166
  %_rtXdot_650 = load %XDot_REVS_VM_T.19** %_rtXdot_, align 1
  %190 = getelementptr inbounds %XDot_REVS_VM_T.19* %_rtXdot_650, i32 0, i32 89, i32 0
  store double 0.000000e+00, double* %190, align 1
  %_rtXdot_651 = load %XDot_REVS_VM_T.19** %_rtXdot_, align 1
  %191 = getelementptr inbounds %XDot_REVS_VM_T.19* %_rtXdot_651, i32 0, i32 89, i32 1
  store double 0.000000e+00, double* %191, align 1
  %_rtXdot_652 = load %XDot_REVS_VM_T.19** %_rtXdot_, align 1
  %192 = getelementptr inbounds %XDot_REVS_VM_T.19* %_rtXdot_652, i32 0, i32 89, i32 2
  store double 0.000000e+00, double* %192, align 1
  br label %merge167

true79:                                           ; preds = %merge167
  %193 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_670, i32 0, i32 438
  %_rtB__Constant3_c = load double* %193, align 1
  %_rtXdot_673 = load %XDot_REVS_VM_T.19** %_rtXdot_, align 1
  %194 = getelementptr inbounds %XDot_REVS_VM_T.19* %_rtXdot_673, i32 0, i32 42
  store double %_rtB__Constant3_c, double* %194, align 1
  br label %merge168

false80:                                          ; preds = %merge167
  %_rtXdot_671 = load %XDot_REVS_VM_T.19** %_rtXdot_, align 1
  %195 = getelementptr inbounds %XDot_REVS_VM_T.19* %_rtXdot_671, i32 0, i32 42
  store double 0.000000e+00, double* %195, align 1
  br label %merge168

true81:                                           ; preds = %merge168
  store double %_rtB__DataTypeConversion2_h, double* %872, align 1
  br label %merge169

false82:                                          ; preds = %merge168
  store double 0.000000e+00, double* %872, align 1
  br label %merge169

true83:                                           ; preds = %merge169
  %196 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_713, i32 0, i32 451
  %_rtB__Product_d = load double* %196, align 1
  %_rtXdot_716 = load %XDot_REVS_VM_T.19** %_rtXdot_, align 1
  %197 = getelementptr inbounds %XDot_REVS_VM_T.19* %_rtXdot_716, i32 0, i32 55
  store double %_rtB__Product_d, double* %197, align 1
  br label %merge170

false84:                                          ; preds = %merge169
  %_rtXdot_714 = load %XDot_REVS_VM_T.19** %_rtXdot_, align 1
  %198 = getelementptr inbounds %XDot_REVS_VM_T.19* %_rtXdot_714, i32 0, i32 55
  store double 0.000000e+00, double* %198, align 1
  br label %merge170

true85:                                           ; preds = %merge170
  %"%<tSimStruct>_725" = load i8** %"%<tSimStruct>_", align 1
  %_rtB_726 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %199 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_726, i32 0, i32 873
  %_rtXdot_727 = load %XDot_REVS_VM_T.19** %_rtXdot_, align 1
  %200 = getelementptr inbounds %XDot_REVS_VM_T.19* %_rtXdot_727, i32 0, i32 88
  call void @REVS_VM_MechEnergyNmradps_ForcingFunction(i8* %"%<tSimStruct>_725", %B_MechEnergyNmradps_REVS_VM_T.4* %199, %XDot_MechEnergyNmradps_REVS_VM_T.5* %200)
  br label %merge171

false86:                                          ; preds = %merge170
  %_rtXdot_722 = load %XDot_REVS_VM_T.19** %_rtXdot_, align 1
  %201 = getelementptr inbounds %XDot_REVS_VM_T.19* %_rtXdot_722, i32 0, i32 88, i32 0
  store double 0.000000e+00, double* %201, align 1
  %_rtXdot_723 = load %XDot_REVS_VM_T.19** %_rtXdot_, align 1
  %202 = getelementptr inbounds %XDot_REVS_VM_T.19* %_rtXdot_723, i32 0, i32 88, i32 1
  store double 0.000000e+00, double* %202, align 1
  %_rtXdot_724 = load %XDot_REVS_VM_T.19** %_rtXdot_, align 1
  %203 = getelementptr inbounds %XDot_REVS_VM_T.19* %_rtXdot_724, i32 0, i32 88, i32 2
  store double 0.000000e+00, double* %203, align 1
  br label %merge171

true87:                                           ; preds = %merge171
  %204 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_728, i32 0, i32 1065
  %_rtDW__Subsystem_MODE_ia = load i8* %204, align 1
  %205 = and i8 %_rtDW__Subsystem_MODE_ia, 1
  %206 = icmp eq i8 %205, 0
  br i1 %206, label %false90, label %true89

false88:                                          ; preds = %merge171
  %_rtXdot_729 = load %XDot_REVS_VM_T.19** %_rtXdot_, align 1
  %207 = getelementptr inbounds %XDot_REVS_VM_T.19* %_rtXdot_729, i32 0, i32 87, i32 0
  store double 0.000000e+00, double* %207, align 1
  %_rtXdot_730 = load %XDot_REVS_VM_T.19** %_rtXdot_, align 1
  %208 = getelementptr inbounds %XDot_REVS_VM_T.19* %_rtXdot_730, i32 0, i32 87, i32 1
  store double 0.000000e+00, double* %208, align 1
  %_rtXdot_731 = load %XDot_REVS_VM_T.19** %_rtXdot_, align 1
  %209 = getelementptr inbounds %XDot_REVS_VM_T.19* %_rtXdot_731, i32 0, i32 87, i32 2
  store double 0.000000e+00, double* %209, align 1
  %_rtXdot_732 = load %XDot_REVS_VM_T.19** %_rtXdot_, align 1
  %210 = getelementptr inbounds %XDot_REVS_VM_T.19* %_rtXdot_732, i32 0, i32 86, i32 0
  store double 0.000000e+00, double* %210, align 1
  %_rtXdot_733 = load %XDot_REVS_VM_T.19** %_rtXdot_, align 1
  %211 = getelementptr inbounds %XDot_REVS_VM_T.19* %_rtXdot_733, i32 0, i32 86, i32 1
  store double 0.000000e+00, double* %211, align 1
  %_rtXdot_734 = load %XDot_REVS_VM_T.19** %_rtXdot_, align 1
  %212 = getelementptr inbounds %XDot_REVS_VM_T.19* %_rtXdot_734, i32 0, i32 86, i32 2
  store double 0.000000e+00, double* %212, align 1
  br label %merge174

true89:                                           ; preds = %true87
  %"%<tSimStruct>_739" = load i8** %"%<tSimStruct>_", align 1
  %_rtB_740 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %213 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_740, i32 0, i32 872
  %_rtXdot_741 = load %XDot_REVS_VM_T.19** %_rtXdot_, align 1
  %214 = getelementptr inbounds %XDot_REVS_VM_T.19* %_rtXdot_741, i32 0, i32 87
  call void @REVS_VM_MechEnergyNmradps_ForcingFunction(i8* %"%<tSimStruct>_739", %B_MechEnergyNmradps_REVS_VM_T.4* %213, %XDot_MechEnergyNmradps_REVS_VM_T.5* %214)
  br label %merge172

false90:                                          ; preds = %true87
  %_rtXdot_736 = load %XDot_REVS_VM_T.19** %_rtXdot_, align 1
  %215 = getelementptr inbounds %XDot_REVS_VM_T.19* %_rtXdot_736, i32 0, i32 87, i32 0
  store double 0.000000e+00, double* %215, align 1
  %_rtXdot_737 = load %XDot_REVS_VM_T.19** %_rtXdot_, align 1
  %216 = getelementptr inbounds %XDot_REVS_VM_T.19* %_rtXdot_737, i32 0, i32 87, i32 1
  store double 0.000000e+00, double* %216, align 1
  %_rtXdot_738 = load %XDot_REVS_VM_T.19** %_rtXdot_, align 1
  %217 = getelementptr inbounds %XDot_REVS_VM_T.19* %_rtXdot_738, i32 0, i32 87, i32 2
  store double 0.000000e+00, double* %217, align 1
  br label %merge172

true91:                                           ; preds = %merge172
  %"%<tSimStruct>_746" = load i8** %"%<tSimStruct>_", align 1
  %_rtB_747 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %218 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_747, i32 0, i32 871
  %_rtXdot_748 = load %XDot_REVS_VM_T.19** %_rtXdot_, align 1
  %219 = getelementptr inbounds %XDot_REVS_VM_T.19* %_rtXdot_748, i32 0, i32 86
  call void @REVS_VM_MechEnergyNmradps_ForcingFunction(i8* %"%<tSimStruct>_746", %B_MechEnergyNmradps_REVS_VM_T.4* %218, %XDot_MechEnergyNmradps_REVS_VM_T.5* %219)
  br label %merge174

false92:                                          ; preds = %merge172
  %_rtXdot_743 = load %XDot_REVS_VM_T.19** %_rtXdot_, align 1
  %220 = getelementptr inbounds %XDot_REVS_VM_T.19* %_rtXdot_743, i32 0, i32 86, i32 0
  store double 0.000000e+00, double* %220, align 1
  %_rtXdot_744 = load %XDot_REVS_VM_T.19** %_rtXdot_, align 1
  %221 = getelementptr inbounds %XDot_REVS_VM_T.19* %_rtXdot_744, i32 0, i32 86, i32 1
  store double 0.000000e+00, double* %221, align 1
  %_rtXdot_745 = load %XDot_REVS_VM_T.19** %_rtXdot_, align 1
  %222 = getelementptr inbounds %XDot_REVS_VM_T.19* %_rtXdot_745, i32 0, i32 86, i32 2
  store double 0.000000e+00, double* %222, align 1
  br label %merge174

true93:                                           ; preds = %merge174
  %223 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_749, i32 0, i32 1063
  %_rtDW__Subsystem_MODE_oq = load i8* %223, align 1
  %224 = and i8 %_rtDW__Subsystem_MODE_oq, 1
  %225 = icmp eq i8 %224, 0
  br i1 %225, label %false96, label %true95

false94:                                          ; preds = %merge174
  %_rtXdot_750 = load %XDot_REVS_VM_T.19** %_rtXdot_, align 1
  %226 = getelementptr inbounds %XDot_REVS_VM_T.19* %_rtXdot_750, i32 0, i32 85, i32 0
  store double 0.000000e+00, double* %226, align 1
  %_rtXdot_751 = load %XDot_REVS_VM_T.19** %_rtXdot_, align 1
  %227 = getelementptr inbounds %XDot_REVS_VM_T.19* %_rtXdot_751, i32 0, i32 85, i32 1
  store double 0.000000e+00, double* %227, align 1
  %_rtXdot_752 = load %XDot_REVS_VM_T.19** %_rtXdot_, align 1
  %228 = getelementptr inbounds %XDot_REVS_VM_T.19* %_rtXdot_752, i32 0, i32 85, i32 2
  store double 0.000000e+00, double* %228, align 1
  %_rtXdot_753 = load %XDot_REVS_VM_T.19** %_rtXdot_, align 1
  %229 = getelementptr inbounds %XDot_REVS_VM_T.19* %_rtXdot_753, i32 0, i32 83
  store double 0.000000e+00, double* %229, align 1
  %_rtXdot_754 = load %XDot_REVS_VM_T.19** %_rtXdot_, align 1
  %230 = getelementptr inbounds %XDot_REVS_VM_T.19* %_rtXdot_754, i32 0, i32 84, i32 0
  store double 0.000000e+00, double* %230, align 1
  %_rtXdot_755 = load %XDot_REVS_VM_T.19** %_rtXdot_, align 1
  %231 = getelementptr inbounds %XDot_REVS_VM_T.19* %_rtXdot_755, i32 0, i32 84, i32 1
  store double 0.000000e+00, double* %231, align 1
  %_rtXdot_756 = load %XDot_REVS_VM_T.19** %_rtXdot_, align 1
  %232 = getelementptr inbounds %XDot_REVS_VM_T.19* %_rtXdot_756, i32 0, i32 84, i32 2
  store double 0.000000e+00, double* %232, align 1
  br label %merge178

true95:                                           ; preds = %true93
  %"%<tSimStruct>_761" = load i8** %"%<tSimStruct>_", align 1
  %_rtB_762 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %233 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_762, i32 0, i32 870
  %_rtXdot_763 = load %XDot_REVS_VM_T.19** %_rtXdot_, align 1
  %234 = getelementptr inbounds %XDot_REVS_VM_T.19* %_rtXdot_763, i32 0, i32 85
  call void @REVS_VM_MechEnergyNmradps_ForcingFunction(i8* %"%<tSimStruct>_761", %B_MechEnergyNmradps_REVS_VM_T.4* %233, %XDot_MechEnergyNmradps_REVS_VM_T.5* %234)
  br label %merge175

false96:                                          ; preds = %true93
  %_rtXdot_758 = load %XDot_REVS_VM_T.19** %_rtXdot_, align 1
  %235 = getelementptr inbounds %XDot_REVS_VM_T.19* %_rtXdot_758, i32 0, i32 85, i32 0
  store double 0.000000e+00, double* %235, align 1
  %_rtXdot_759 = load %XDot_REVS_VM_T.19** %_rtXdot_, align 1
  %236 = getelementptr inbounds %XDot_REVS_VM_T.19* %_rtXdot_759, i32 0, i32 85, i32 1
  store double 0.000000e+00, double* %236, align 1
  %_rtXdot_760 = load %XDot_REVS_VM_T.19** %_rtXdot_, align 1
  %237 = getelementptr inbounds %XDot_REVS_VM_T.19* %_rtXdot_760, i32 0, i32 85, i32 2
  store double 0.000000e+00, double* %237, align 1
  br label %merge175

true97:                                           ; preds = %merge175
  %_rtX_769 = load %X_REVS_VM_T.18** %_rtX_, align 1
  %238 = getelementptr inbounds %X_REVS_VM_T.18* %_rtX_769, i32 0, i32 83
  %_rtX__Integrator1_CSTATE_jc = load double* %238, align 1
  %_rtP_770 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %239 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_770, i32 0, i32 127
  %_rtP__Integrator1_LowerSat = load double* %239, align 1
  %240 = fcmp ole double %_rtX__Integrator1_CSTATE_jc, %_rtP__Integrator1_LowerSat
  %241 = zext i1 %240 to i8
  store i8 %241, i8* %lsat_, align 1
  %_rtX__Integrator1_CSTATE_jc772 = load double* %238, align 1
  %242 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_770, i32 0, i32 126
  %_rtP__Integrator1_UpperSat = load double* %242, align 1
  %243 = fcmp oge double %_rtX__Integrator1_CSTATE_jc772, %_rtP__Integrator1_UpperSat
  %244 = zext i1 %243 to i8
  store i8 %244, i8* %usat_, align 1
  %245 = and i8 %241, 1
  %246 = icmp eq i8 %245, 0
  %247 = xor i1 %243, true
  %248 = and i1 %246, %247
  %249 = icmp ne i8 %245, 0
  %_rtB_777 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %250 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_777, i32 0, i32 44
  %_rtB__Integrator_d = load double* %250, align 1
  %251 = fcmp ogt double %_rtB__Integrator_d, 0.000000e+00
  %252 = and i1 %249, %251
  %253 = or i1 %248, %252
  %254 = and i8 %244, 1
  %255 = icmp ne i8 %254, 0
  %256 = fcmp olt double %_rtB__Integrator_d, 0.000000e+00
  %257 = and i1 %255, %256
  %258 = or i1 %253, %257
  %_rtXdot_784 = load %XDot_REVS_VM_T.19** %_rtXdot_, align 1
  %259 = getelementptr inbounds %XDot_REVS_VM_T.19* %_rtXdot_784, i32 0, i32 83
  br i1 %258, label %true99, label %false100

false98:                                          ; preds = %merge175
  %_rtXdot_765 = load %XDot_REVS_VM_T.19** %_rtXdot_, align 1
  %260 = getelementptr inbounds %XDot_REVS_VM_T.19* %_rtXdot_765, i32 0, i32 83
  store double 0.000000e+00, double* %260, align 1
  %_rtXdot_766 = load %XDot_REVS_VM_T.19** %_rtXdot_, align 1
  %261 = getelementptr inbounds %XDot_REVS_VM_T.19* %_rtXdot_766, i32 0, i32 84, i32 0
  store double 0.000000e+00, double* %261, align 1
  %_rtXdot_767 = load %XDot_REVS_VM_T.19** %_rtXdot_, align 1
  %262 = getelementptr inbounds %XDot_REVS_VM_T.19* %_rtXdot_767, i32 0, i32 84, i32 1
  store double 0.000000e+00, double* %262, align 1
  %_rtXdot_768 = load %XDot_REVS_VM_T.19** %_rtXdot_, align 1
  %263 = getelementptr inbounds %XDot_REVS_VM_T.19* %_rtXdot_768, i32 0, i32 84, i32 2
  store double 0.000000e+00, double* %263, align 1
  br label %merge178

true99:                                           ; preds = %true97
  store double %_rtB__Integrator_d, double* %259, align 1
  br label %merge176

false100:                                         ; preds = %true97
  store double 0.000000e+00, double* %259, align 1
  br label %merge176

true101:                                          ; preds = %merge178
  %_rtX_793 = load %X_REVS_VM_T.18** %_rtX_, align 1
  %264 = getelementptr inbounds %X_REVS_VM_T.18* %_rtX_793, i32 0, i32 81
  %_rtX__Integrator1_CSTATE_i1 = load double* %264, align 1
  %_rtP_794 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %265 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_794, i32 0, i32 138
  %_rtP__Integrator1_LowerSat_d = load double* %265, align 1
  %266 = fcmp ole double %_rtX__Integrator1_CSTATE_i1, %_rtP__Integrator1_LowerSat_d
  %267 = zext i1 %266 to i8
  store i8 %267, i8* %lsat_, align 1
  %_rtX__Integrator1_CSTATE_i1796 = load double* %264, align 1
  %268 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_794, i32 0, i32 137
  %_rtP__Integrator1_UpperSat_f = load double* %268, align 1
  %269 = fcmp oge double %_rtX__Integrator1_CSTATE_i1796, %_rtP__Integrator1_UpperSat_f
  %270 = zext i1 %269 to i8
  store i8 %270, i8* %usat_, align 1
  %271 = and i8 %267, 1
  %272 = icmp eq i8 %271, 0
  %273 = xor i1 %269, true
  %274 = and i1 %272, %273
  %275 = icmp ne i8 %271, 0
  %_rtB_801 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %276 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_801, i32 0, i32 44
  %_rtB__Integrator_d802 = load double* %276, align 1
  %277 = fcmp ogt double %_rtB__Integrator_d802, 0.000000e+00
  %278 = and i1 %275, %277
  %279 = or i1 %274, %278
  %280 = and i8 %270, 1
  %281 = icmp ne i8 %280, 0
  %282 = fcmp olt double %_rtB__Integrator_d802, 0.000000e+00
  %283 = and i1 %281, %282
  %284 = or i1 %279, %283
  %_rtXdot_809 = load %XDot_REVS_VM_T.19** %_rtXdot_, align 1
  %285 = getelementptr inbounds %XDot_REVS_VM_T.19* %_rtXdot_809, i32 0, i32 81
  br i1 %284, label %true103, label %false104

false102:                                         ; preds = %merge178
  %_rtXdot_789 = load %XDot_REVS_VM_T.19** %_rtXdot_, align 1
  %286 = getelementptr inbounds %XDot_REVS_VM_T.19* %_rtXdot_789, i32 0, i32 81
  store double 0.000000e+00, double* %286, align 1
  %_rtXdot_790 = load %XDot_REVS_VM_T.19** %_rtXdot_, align 1
  %287 = getelementptr inbounds %XDot_REVS_VM_T.19* %_rtXdot_790, i32 0, i32 82, i32 0
  store double 0.000000e+00, double* %287, align 1
  %_rtXdot_791 = load %XDot_REVS_VM_T.19** %_rtXdot_, align 1
  %288 = getelementptr inbounds %XDot_REVS_VM_T.19* %_rtXdot_791, i32 0, i32 82, i32 1
  store double 0.000000e+00, double* %288, align 1
  %_rtXdot_792 = load %XDot_REVS_VM_T.19** %_rtXdot_, align 1
  %289 = getelementptr inbounds %XDot_REVS_VM_T.19* %_rtXdot_792, i32 0, i32 82, i32 2
  store double 0.000000e+00, double* %289, align 1
  br label %merge180

true103:                                          ; preds = %true101
  store double %_rtB__Integrator_d802, double* %285, align 1
  br label %merge179

false104:                                         ; preds = %true101
  store double 0.000000e+00, double* %285, align 1
  br label %merge179

true105:                                          ; preds = %merge180
  store double %_rtB__speederrortointegralcontrol, double* %930, align 1
  br label %merge181

false106:                                         ; preds = %merge180
  store double 0.000000e+00, double* %930, align 1
  br label %merge181

true107:                                          ; preds = %merge181
  %_rtX_849 = load %X_REVS_VM_T.18** %_rtX_, align 1
  %290 = getelementptr inbounds %X_REVS_VM_T.18* %_rtX_849, i32 0, i32 79
  %_rtX__Integrator1_CSTATE_bd = load double* %290, align 1
  %_rtP_850 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %291 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_850, i32 0, i32 144
  %_rtP__Integrator1_LowerSat_h = load double* %291, align 1
  %292 = fcmp ole double %_rtX__Integrator1_CSTATE_bd, %_rtP__Integrator1_LowerSat_h
  %293 = zext i1 %292 to i8
  store i8 %293, i8* %lsat_, align 1
  %_rtX__Integrator1_CSTATE_bd852 = load double* %290, align 1
  %294 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_850, i32 0, i32 143
  %_rtP__Integrator1_UpperSat_fp = load double* %294, align 1
  %295 = fcmp oge double %_rtX__Integrator1_CSTATE_bd852, %_rtP__Integrator1_UpperSat_fp
  %296 = zext i1 %295 to i8
  store i8 %296, i8* %usat_, align 1
  %297 = and i8 %293, 1
  %298 = icmp eq i8 %297, 0
  %299 = xor i1 %295, true
  %300 = and i1 %298, %299
  %301 = icmp ne i8 %297, 0
  %_rtB_857 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %302 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_857, i32 0, i32 44
  %_rtB__Integrator_d858 = load double* %302, align 1
  %303 = fcmp ogt double %_rtB__Integrator_d858, 0.000000e+00
  %304 = and i1 %301, %303
  %305 = or i1 %300, %304
  %306 = and i8 %296, 1
  %307 = icmp ne i8 %306, 0
  %308 = fcmp olt double %_rtB__Integrator_d858, 0.000000e+00
  %309 = and i1 %307, %308
  %310 = or i1 %305, %309
  %_rtXdot_865 = load %XDot_REVS_VM_T.19** %_rtXdot_, align 1
  %311 = getelementptr inbounds %XDot_REVS_VM_T.19* %_rtXdot_865, i32 0, i32 79
  br i1 %310, label %true109, label %false110

false108:                                         ; preds = %merge181
  %_rtXdot_845 = load %XDot_REVS_VM_T.19** %_rtXdot_, align 1
  %312 = getelementptr inbounds %XDot_REVS_VM_T.19* %_rtXdot_845, i32 0, i32 79
  store double 0.000000e+00, double* %312, align 1
  %_rtXdot_846 = load %XDot_REVS_VM_T.19** %_rtXdot_, align 1
  %313 = getelementptr inbounds %XDot_REVS_VM_T.19* %_rtXdot_846, i32 0, i32 80, i32 0
  store double 0.000000e+00, double* %313, align 1
  %_rtXdot_847 = load %XDot_REVS_VM_T.19** %_rtXdot_, align 1
  %314 = getelementptr inbounds %XDot_REVS_VM_T.19* %_rtXdot_847, i32 0, i32 80, i32 1
  store double 0.000000e+00, double* %314, align 1
  %_rtXdot_848 = load %XDot_REVS_VM_T.19** %_rtXdot_, align 1
  %315 = getelementptr inbounds %XDot_REVS_VM_T.19* %_rtXdot_848, i32 0, i32 80, i32 2
  store double 0.000000e+00, double* %315, align 1
  br label %merge183

true109:                                          ; preds = %true107
  store double %_rtB__Integrator_d858, double* %311, align 1
  br label %merge182

false110:                                         ; preds = %true107
  store double 0.000000e+00, double* %311, align 1
  br label %merge182

true111:                                          ; preds = %merge183
  %_rtX_874 = load %X_REVS_VM_T.18** %_rtX_, align 1
  %316 = getelementptr inbounds %X_REVS_VM_T.18* %_rtX_874, i32 0, i32 77
  %_rtX__Integrator1_CSTATE_e3 = load double* %316, align 1
  %_rtP_875 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %317 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_875, i32 0, i32 147
  %_rtP__Integrator1_LowerSat_dd = load double* %317, align 1
  %318 = fcmp ole double %_rtX__Integrator1_CSTATE_e3, %_rtP__Integrator1_LowerSat_dd
  %319 = zext i1 %318 to i8
  store i8 %319, i8* %lsat_, align 1
  %_rtX__Integrator1_CSTATE_e3877 = load double* %316, align 1
  %320 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_875, i32 0, i32 146
  %_rtP__Integrator1_UpperSat_p = load double* %320, align 1
  %321 = fcmp oge double %_rtX__Integrator1_CSTATE_e3877, %_rtP__Integrator1_UpperSat_p
  %322 = zext i1 %321 to i8
  store i8 %322, i8* %usat_, align 1
  %323 = and i8 %319, 1
  %324 = icmp eq i8 %323, 0
  %325 = xor i1 %321, true
  %326 = and i1 %324, %325
  %327 = icmp ne i8 %323, 0
  %_rtB_882 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %328 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_882, i32 0, i32 44
  %_rtB__Integrator_d883 = load double* %328, align 1
  %329 = fcmp ogt double %_rtB__Integrator_d883, 0.000000e+00
  %330 = and i1 %327, %329
  %331 = or i1 %326, %330
  %332 = and i8 %322, 1
  %333 = icmp ne i8 %332, 0
  %334 = fcmp olt double %_rtB__Integrator_d883, 0.000000e+00
  %335 = and i1 %333, %334
  %336 = or i1 %331, %335
  %_rtXdot_890 = load %XDot_REVS_VM_T.19** %_rtXdot_, align 1
  %337 = getelementptr inbounds %XDot_REVS_VM_T.19* %_rtXdot_890, i32 0, i32 77
  br i1 %336, label %true113, label %false114

false112:                                         ; preds = %merge183
  %_rtXdot_870 = load %XDot_REVS_VM_T.19** %_rtXdot_, align 1
  %338 = getelementptr inbounds %XDot_REVS_VM_T.19* %_rtXdot_870, i32 0, i32 77
  store double 0.000000e+00, double* %338, align 1
  %_rtXdot_871 = load %XDot_REVS_VM_T.19** %_rtXdot_, align 1
  %339 = getelementptr inbounds %XDot_REVS_VM_T.19* %_rtXdot_871, i32 0, i32 78, i32 0
  store double 0.000000e+00, double* %339, align 1
  %_rtXdot_872 = load %XDot_REVS_VM_T.19** %_rtXdot_, align 1
  %340 = getelementptr inbounds %XDot_REVS_VM_T.19* %_rtXdot_872, i32 0, i32 78, i32 1
  store double 0.000000e+00, double* %340, align 1
  %_rtXdot_873 = load %XDot_REVS_VM_T.19** %_rtXdot_, align 1
  %341 = getelementptr inbounds %XDot_REVS_VM_T.19* %_rtXdot_873, i32 0, i32 78, i32 2
  store double 0.000000e+00, double* %341, align 1
  br label %merge185

true113:                                          ; preds = %true111
  store double %_rtB__Integrator_d883, double* %337, align 1
  br label %merge184

false114:                                         ; preds = %true111
  store double 0.000000e+00, double* %337, align 1
  br label %merge184

true115:                                          ; preds = %merge185
  %_rtX_899 = load %X_REVS_VM_T.18** %_rtX_, align 1
  %342 = getelementptr inbounds %X_REVS_VM_T.18* %_rtX_899, i32 0, i32 75
  %_rtX__Integrator1_CSTATE_cd = load double* %342, align 1
  %_rtP_900 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %343 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_900, i32 0, i32 151
  %_rtP__Integrator1_LowerSat_f = load double* %343, align 1
  %344 = fcmp ole double %_rtX__Integrator1_CSTATE_cd, %_rtP__Integrator1_LowerSat_f
  %345 = zext i1 %344 to i8
  store i8 %345, i8* %lsat_, align 1
  %_rtX__Integrator1_CSTATE_cd902 = load double* %342, align 1
  %346 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_900, i32 0, i32 150
  %_rtP__Integrator1_UpperSat_o = load double* %346, align 1
  %347 = fcmp oge double %_rtX__Integrator1_CSTATE_cd902, %_rtP__Integrator1_UpperSat_o
  %348 = zext i1 %347 to i8
  store i8 %348, i8* %usat_, align 1
  %349 = and i8 %345, 1
  %350 = icmp eq i8 %349, 0
  %351 = xor i1 %347, true
  %352 = and i1 %350, %351
  %353 = icmp ne i8 %349, 0
  %_rtB_907 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %354 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_907, i32 0, i32 44
  %_rtB__Integrator_d908 = load double* %354, align 1
  %355 = fcmp ogt double %_rtB__Integrator_d908, 0.000000e+00
  %356 = and i1 %353, %355
  %357 = or i1 %352, %356
  %358 = and i8 %348, 1
  %359 = icmp ne i8 %358, 0
  %360 = fcmp olt double %_rtB__Integrator_d908, 0.000000e+00
  %361 = and i1 %359, %360
  %362 = or i1 %357, %361
  %_rtXdot_915 = load %XDot_REVS_VM_T.19** %_rtXdot_, align 1
  %363 = getelementptr inbounds %XDot_REVS_VM_T.19* %_rtXdot_915, i32 0, i32 75
  br i1 %362, label %true117, label %false118

false116:                                         ; preds = %merge185
  %_rtXdot_895 = load %XDot_REVS_VM_T.19** %_rtXdot_, align 1
  %364 = getelementptr inbounds %XDot_REVS_VM_T.19* %_rtXdot_895, i32 0, i32 75
  store double 0.000000e+00, double* %364, align 1
  %_rtXdot_896 = load %XDot_REVS_VM_T.19** %_rtXdot_, align 1
  %365 = getelementptr inbounds %XDot_REVS_VM_T.19* %_rtXdot_896, i32 0, i32 76, i32 0
  store double 0.000000e+00, double* %365, align 1
  %_rtXdot_897 = load %XDot_REVS_VM_T.19** %_rtXdot_, align 1
  %366 = getelementptr inbounds %XDot_REVS_VM_T.19* %_rtXdot_897, i32 0, i32 76, i32 1
  store double 0.000000e+00, double* %366, align 1
  %_rtXdot_898 = load %XDot_REVS_VM_T.19** %_rtXdot_, align 1
  %367 = getelementptr inbounds %XDot_REVS_VM_T.19* %_rtXdot_898, i32 0, i32 76, i32 2
  store double 0.000000e+00, double* %367, align 1
  br label %merge187

true117:                                          ; preds = %true115
  store double %_rtB__Integrator_d908, double* %363, align 1
  br label %merge186

false118:                                         ; preds = %true115
  store double 0.000000e+00, double* %363, align 1
  br label %merge186

true119:                                          ; preds = %merge187
  %_rtX_924 = load %X_REVS_VM_T.18** %_rtX_, align 1
  %368 = getelementptr inbounds %X_REVS_VM_T.18* %_rtX_924, i32 0, i32 73
  %_rtX__Integrator1_CSTATE_hf = load double* %368, align 1
  %_rtP_925 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %369 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_925, i32 0, i32 154
  %_rtP__Integrator1_LowerSat_g = load double* %369, align 1
  %370 = fcmp ole double %_rtX__Integrator1_CSTATE_hf, %_rtP__Integrator1_LowerSat_g
  %371 = zext i1 %370 to i8
  store i8 %371, i8* %lsat_, align 1
  %_rtX__Integrator1_CSTATE_hf927 = load double* %368, align 1
  %372 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_925, i32 0, i32 153
  %_rtP__Integrator1_UpperSat_p4 = load double* %372, align 1
  %373 = fcmp oge double %_rtX__Integrator1_CSTATE_hf927, %_rtP__Integrator1_UpperSat_p4
  %374 = zext i1 %373 to i8
  store i8 %374, i8* %usat_, align 1
  %375 = and i8 %371, 1
  %376 = icmp eq i8 %375, 0
  %377 = xor i1 %373, true
  %378 = and i1 %376, %377
  %379 = icmp ne i8 %375, 0
  %_rtB_932 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %380 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_932, i32 0, i32 44
  %_rtB__Integrator_d933 = load double* %380, align 1
  %381 = fcmp ogt double %_rtB__Integrator_d933, 0.000000e+00
  %382 = and i1 %379, %381
  %383 = or i1 %378, %382
  %384 = and i8 %374, 1
  %385 = icmp ne i8 %384, 0
  %386 = fcmp olt double %_rtB__Integrator_d933, 0.000000e+00
  %387 = and i1 %385, %386
  %388 = or i1 %383, %387
  %_rtXdot_940 = load %XDot_REVS_VM_T.19** %_rtXdot_, align 1
  %389 = getelementptr inbounds %XDot_REVS_VM_T.19* %_rtXdot_940, i32 0, i32 73
  br i1 %388, label %true121, label %false122

false120:                                         ; preds = %merge187
  %_rtXdot_920 = load %XDot_REVS_VM_T.19** %_rtXdot_, align 1
  %390 = getelementptr inbounds %XDot_REVS_VM_T.19* %_rtXdot_920, i32 0, i32 73
  store double 0.000000e+00, double* %390, align 1
  %_rtXdot_921 = load %XDot_REVS_VM_T.19** %_rtXdot_, align 1
  %391 = getelementptr inbounds %XDot_REVS_VM_T.19* %_rtXdot_921, i32 0, i32 74, i32 0
  store double 0.000000e+00, double* %391, align 1
  %_rtXdot_922 = load %XDot_REVS_VM_T.19** %_rtXdot_, align 1
  %392 = getelementptr inbounds %XDot_REVS_VM_T.19* %_rtXdot_922, i32 0, i32 74, i32 1
  store double 0.000000e+00, double* %392, align 1
  %_rtXdot_923 = load %XDot_REVS_VM_T.19** %_rtXdot_, align 1
  %393 = getelementptr inbounds %XDot_REVS_VM_T.19* %_rtXdot_923, i32 0, i32 74, i32 2
  store double 0.000000e+00, double* %393, align 1
  br label %merge189

true121:                                          ; preds = %true119
  store double %_rtB__Integrator_d933, double* %389, align 1
  br label %merge188

false122:                                         ; preds = %true119
  store double 0.000000e+00, double* %389, align 1
  br label %merge188

true123:                                          ; preds = %merge189
  %_rtX_949 = load %X_REVS_VM_T.18** %_rtX_, align 1
  %394 = getelementptr inbounds %X_REVS_VM_T.18* %_rtX_949, i32 0, i32 71
  %_rtX__Integrator1_CSTATE_e5 = load double* %394, align 1
  %_rtP_950 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %395 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_950, i32 0, i32 158
  %_rtP__Integrator1_LowerSat_i = load double* %395, align 1
  %396 = fcmp ole double %_rtX__Integrator1_CSTATE_e5, %_rtP__Integrator1_LowerSat_i
  %397 = zext i1 %396 to i8
  store i8 %397, i8* %lsat_, align 1
  %_rtX__Integrator1_CSTATE_e5952 = load double* %394, align 1
  %398 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_950, i32 0, i32 157
  %_rtP__Integrator1_UpperSat_d = load double* %398, align 1
  %399 = fcmp oge double %_rtX__Integrator1_CSTATE_e5952, %_rtP__Integrator1_UpperSat_d
  %400 = zext i1 %399 to i8
  store i8 %400, i8* %usat_, align 1
  %401 = and i8 %397, 1
  %402 = icmp eq i8 %401, 0
  %403 = xor i1 %399, true
  %404 = and i1 %402, %403
  %405 = icmp ne i8 %401, 0
  %_rtB_957 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %406 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_957, i32 0, i32 44
  %_rtB__Integrator_d958 = load double* %406, align 1
  %407 = fcmp ogt double %_rtB__Integrator_d958, 0.000000e+00
  %408 = and i1 %405, %407
  %409 = or i1 %404, %408
  %410 = and i8 %400, 1
  %411 = icmp ne i8 %410, 0
  %412 = fcmp olt double %_rtB__Integrator_d958, 0.000000e+00
  %413 = and i1 %411, %412
  %414 = or i1 %409, %413
  %_rtXdot_965 = load %XDot_REVS_VM_T.19** %_rtXdot_, align 1
  %415 = getelementptr inbounds %XDot_REVS_VM_T.19* %_rtXdot_965, i32 0, i32 71
  br i1 %414, label %true125, label %false126

false124:                                         ; preds = %merge189
  %_rtXdot_945 = load %XDot_REVS_VM_T.19** %_rtXdot_, align 1
  %416 = getelementptr inbounds %XDot_REVS_VM_T.19* %_rtXdot_945, i32 0, i32 71
  store double 0.000000e+00, double* %416, align 1
  %_rtXdot_946 = load %XDot_REVS_VM_T.19** %_rtXdot_, align 1
  %417 = getelementptr inbounds %XDot_REVS_VM_T.19* %_rtXdot_946, i32 0, i32 72, i32 0
  store double 0.000000e+00, double* %417, align 1
  %_rtXdot_947 = load %XDot_REVS_VM_T.19** %_rtXdot_, align 1
  %418 = getelementptr inbounds %XDot_REVS_VM_T.19* %_rtXdot_947, i32 0, i32 72, i32 1
  store double 0.000000e+00, double* %418, align 1
  %_rtXdot_948 = load %XDot_REVS_VM_T.19** %_rtXdot_, align 1
  %419 = getelementptr inbounds %XDot_REVS_VM_T.19* %_rtXdot_948, i32 0, i32 72, i32 2
  store double 0.000000e+00, double* %419, align 1
  br label %merge191

true125:                                          ; preds = %true123
  store double %_rtB__Integrator_d958, double* %415, align 1
  br label %merge190

false126:                                         ; preds = %true123
  store double 0.000000e+00, double* %415, align 1
  br label %merge190

true127:                                          ; preds = %merge191
  store double %_rtB__Integrator_d987, double* %1014, align 1
  br label %merge192

false128:                                         ; preds = %merge191
  store double 0.000000e+00, double* %1014, align 1
  br label %merge192

merge:                                            ; preds = %true, %false
  %_rtB_214 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %420 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_214, i32 0, i32 199
  %_rtB__Product4_c = load double* %420, align 1
  %_rtXdot_215 = load %XDot_REVS_VM_T.19** %_rtXdot_, align 1
  %421 = getelementptr inbounds %XDot_REVS_VM_T.19* %_rtXdot_215, i32 0, i32 1
  store double %_rtB__Product4_c, double* %421, align 1
  %_rtB_216 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %422 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_216, i32 0, i32 188
  %_rtB__Product4 = load double* %422, align 1
  %_rtXdot_217 = load %XDot_REVS_VM_T.19** %_rtXdot_, align 1
  %423 = getelementptr inbounds %XDot_REVS_VM_T.19* %_rtXdot_217, i32 0, i32 2
  store double %_rtB__Product4, double* %423, align 1
  %_rtDW_218 = load %DW_REVS_VM_T.16** %_rtDW_, align 1
  %424 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_218, i32 0, i32 1033
  %_rtDW__Subsystem_MODE = load i8* %424, align 1
  %425 = and i8 %_rtDW__Subsystem_MODE, 1
  %426 = icmp eq i8 %425, 0
  br i1 %426, label %false2, label %true1

merge129:                                         ; preds = %true1, %false2
  %_rtX_225 = load %X_REVS_VM_T.18** %_rtX_, align 1
  %427 = getelementptr inbounds %X_REVS_VM_T.18* %_rtX_225, i32 0, i32 3
  %_rtX__Integrator_CSTATE_d = load double* %427, align 1
  %_rtP_226 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %428 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_226, i32 0, i32 238
  %_rtP__Integrator_LowerSat_f = load double* %428, align 1
  %429 = fcmp ole double %_rtX__Integrator_CSTATE_d, %_rtP__Integrator_LowerSat_f
  %430 = zext i1 %429 to i8
  store i8 %430, i8* %lsat_, align 1
  %_rtX__Integrator_CSTATE_d228 = load double* %427, align 1
  %431 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_226, i32 0, i32 237
  %_rtP__Integrator_UpperSat_k = load double* %431, align 1
  %432 = fcmp oge double %_rtX__Integrator_CSTATE_d228, %_rtP__Integrator_UpperSat_k
  %433 = zext i1 %432 to i8
  store i8 %433, i8* %usat_, align 1
  %434 = and i8 %430, 1
  %435 = icmp eq i8 %434, 0
  %436 = xor i1 %432, true
  %437 = and i1 %435, %436
  %438 = icmp ne i8 %434, 0
  %_rtB_233 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %439 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_233, i32 0, i32 572
  %_rtB__Product_f = load double* %439, align 1
  %440 = fcmp ogt double %_rtB__Product_f, 0.000000e+00
  %441 = and i1 %438, %440
  %442 = or i1 %437, %441
  %443 = and i8 %433, 1
  %444 = icmp ne i8 %443, 0
  %445 = fcmp olt double %_rtB__Product_f, 0.000000e+00
  %446 = and i1 %444, %445
  %447 = or i1 %442, %446
  %_rtXdot_240 = load %XDot_REVS_VM_T.19** %_rtXdot_, align 1
  %448 = getelementptr inbounds %XDot_REVS_VM_T.19* %_rtXdot_240, i32 0, i32 3
  br i1 %447, label %true3, label %false4

merge130:                                         ; preds = %true3, %false4
  %_rtXdot_241 = load %XDot_REVS_VM_T.19** %_rtXdot_, align 1
  %449 = getelementptr inbounds %XDot_REVS_VM_T.19* %_rtXdot_241, i32 0, i32 4
  store double 0.000000e+00, double* %449, align 1
  %_rtP_242 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %450 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_242, i32 0, i32 239
  %_rtP__numericalstabilizer_A = load double* %450, align 1
  %_rtX_243 = load %X_REVS_VM_T.18** %_rtX_, align 1
  %451 = getelementptr inbounds %X_REVS_VM_T.18* %_rtX_243, i32 0, i32 4
  %_rtX__numericalstabilizer_CSTATE = load double* %451, align 1
  %tmp0 = fmul double %_rtP__numericalstabilizer_A, %_rtX__numericalstabilizer_CSTATE
  %_rtXdot_244 = load %XDot_REVS_VM_T.19** %_rtXdot_, align 1
  %452 = getelementptr inbounds %XDot_REVS_VM_T.19* %_rtXdot_244, i32 0, i32 4
  %_rtXdot__numericalstabilizer_CSTATE = load double* %452, align 1
  %tmp1 = fadd double %tmp0, %_rtXdot__numericalstabilizer_CSTATE
  store double %tmp1, double* %452, align 1
  %_rtXdot_246 = load %XDot_REVS_VM_T.19** %_rtXdot_, align 1
  %453 = getelementptr inbounds %XDot_REVS_VM_T.19* %_rtXdot_246, i32 0, i32 4
  %_rtXdot__numericalstabilizer_CSTATE247 = load double* %453, align 1
  %_rtB_248 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %454 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_248, i32 0, i32 493
  %_rtB__Product_e = load double* %454, align 1
  %tmp2 = fadd double %_rtXdot__numericalstabilizer_CSTATE247, %_rtB__Product_e
  store double %tmp2, double* %453, align 1
  %_rtX_250 = load %X_REVS_VM_T.18** %_rtX_, align 1
  %455 = getelementptr inbounds %X_REVS_VM_T.18* %_rtX_250, i32 0, i32 5
  %_rtX__Integrator1_CSTATE = load double* %455, align 1
  %_rtP_251 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %456 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_251, i32 0, i32 248
  %_rtP__Integrator1_LowerSat_m = load double* %456, align 1
  %457 = fcmp ole double %_rtX__Integrator1_CSTATE, %_rtP__Integrator1_LowerSat_m
  %458 = zext i1 %457 to i8
  store i8 %458, i8* %lsat_, align 1
  %_rtX__Integrator1_CSTATE253 = load double* %455, align 1
  %459 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_251, i32 0, i32 247
  %_rtP__Integrator1_UpperSat_a = load double* %459, align 1
  %460 = fcmp oge double %_rtX__Integrator1_CSTATE253, %_rtP__Integrator1_UpperSat_a
  %461 = zext i1 %460 to i8
  store i8 %461, i8* %usat_, align 1
  %462 = and i8 %458, 1
  %463 = icmp eq i8 %462, 0
  %464 = xor i1 %460, true
  %465 = and i1 %463, %464
  %466 = icmp ne i8 %462, 0
  %_rtB_258 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %467 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_258, i32 0, i32 51
  %_rtB__DataTypeConversion2 = load double* %467, align 1
  %468 = fcmp ogt double %_rtB__DataTypeConversion2, 0.000000e+00
  %469 = and i1 %466, %468
  %470 = or i1 %465, %469
  %471 = and i8 %461, 1
  %472 = icmp ne i8 %471, 0
  %473 = fcmp olt double %_rtB__DataTypeConversion2, 0.000000e+00
  %474 = and i1 %472, %473
  %475 = or i1 %470, %474
  %_rtXdot_265 = load %XDot_REVS_VM_T.19** %_rtXdot_, align 1
  %476 = getelementptr inbounds %XDot_REVS_VM_T.19* %_rtXdot_265, i32 0, i32 5
  br i1 %475, label %true5, label %false6

merge131:                                         ; preds = %true5, %false6
  %_rtX_266 = load %X_REVS_VM_T.18** %_rtX_, align 1
  %477 = getelementptr inbounds %X_REVS_VM_T.18* %_rtX_266, i32 0, i32 6
  %_rtX__clutchinputspeedintegratorintegratewhenslipping_CSTATE = load double* %477, align 1
  %_rtP_267 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %478 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_267, i32 0, i32 267
  %_rtP__clutchinputspeedintegratorintegratewhenslipping_LowerSat = load double* %478, align 1
  %479 = fcmp ole double %_rtX__clutchinputspeedintegratorintegratewhenslipping_CSTATE, %_rtP__clutchinputspeedintegratorintegratewhenslipping_LowerSat
  %480 = zext i1 %479 to i8
  store i8 %480, i8* %lsat_, align 1
  %_rtX__clutchinputspeedintegratorintegratewhenslipping_CSTATE269 = load double* %477, align 1
  %481 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_267, i32 0, i32 266
  %_rtP__clutchinputspeedintegratorintegratewhenslipping_UpperSat = load double* %481, align 1
  %482 = fcmp oge double %_rtX__clutchinputspeedintegratorintegratewhenslipping_CSTATE269, %_rtP__clutchinputspeedintegratorintegratewhenslipping_UpperSat
  %483 = zext i1 %482 to i8
  store i8 %483, i8* %usat_, align 1
  %484 = and i8 %480, 1
  %485 = icmp eq i8 %484, 0
  %486 = xor i1 %482, true
  %487 = and i1 %485, %486
  %488 = icmp ne i8 %484, 0
  %_rtB_274 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %489 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_274, i32 0, i32 375
  %_rtB__Product2 = load double* %489, align 1
  %490 = fcmp ogt double %_rtB__Product2, 0.000000e+00
  %491 = and i1 %488, %490
  %492 = or i1 %487, %491
  %493 = and i8 %483, 1
  %494 = icmp ne i8 %493, 0
  %495 = fcmp olt double %_rtB__Product2, 0.000000e+00
  %496 = and i1 %494, %495
  %497 = or i1 %492, %496
  %_rtXdot_281 = load %XDot_REVS_VM_T.19** %_rtXdot_, align 1
  %498 = getelementptr inbounds %XDot_REVS_VM_T.19* %_rtXdot_281, i32 0, i32 6
  br i1 %497, label %true7, label %false8

merge132:                                         ; preds = %true7, %false8
  %_rtX_282 = load %X_REVS_VM_T.18** %_rtX_, align 1
  %499 = getelementptr inbounds %X_REVS_VM_T.18* %_rtX_282, i32 0, i32 7
  %_rtX__Integrator1_CSTATE_a = load double* %499, align 1
  %_rtP_283 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %500 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_283, i32 0, i32 306
  %_rtP__Integrator1_LowerSat_e = load double* %500, align 1
  %501 = fcmp ole double %_rtX__Integrator1_CSTATE_a, %_rtP__Integrator1_LowerSat_e
  %502 = zext i1 %501 to i8
  store i8 %502, i8* %lsat_, align 1
  %_rtX__Integrator1_CSTATE_a285 = load double* %499, align 1
  %503 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_283, i32 0, i32 305
  %_rtP__Integrator1_UpperSat_h = load double* %503, align 1
  %504 = fcmp oge double %_rtX__Integrator1_CSTATE_a285, %_rtP__Integrator1_UpperSat_h
  %505 = zext i1 %504 to i8
  store i8 %505, i8* %usat_, align 1
  %506 = and i8 %502, 1
  %507 = icmp eq i8 %506, 0
  %508 = xor i1 %504, true
  %509 = and i1 %507, %508
  %510 = icmp ne i8 %506, 0
  %_rtB_290 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %511 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_290, i32 0, i32 86
  %_rtB__DataTypeConversion2_d = load double* %511, align 1
  %512 = fcmp ogt double %_rtB__DataTypeConversion2_d, 0.000000e+00
  %513 = and i1 %510, %512
  %514 = or i1 %509, %513
  %515 = and i8 %505, 1
  %516 = icmp ne i8 %515, 0
  %517 = fcmp olt double %_rtB__DataTypeConversion2_d, 0.000000e+00
  %518 = and i1 %516, %517
  %519 = or i1 %514, %518
  %_rtXdot_297 = load %XDot_REVS_VM_T.19** %_rtXdot_, align 1
  %520 = getelementptr inbounds %XDot_REVS_VM_T.19* %_rtXdot_297, i32 0, i32 7
  br i1 %519, label %true9, label %false10

merge133:                                         ; preds = %true9, %false10
  %_rtX_298 = load %X_REVS_VM_T.18** %_rtX_, align 1
  %521 = getelementptr inbounds %X_REVS_VM_T.18* %_rtX_298, i32 0, i32 8
  %_rtX__torqueconverterinputspeedintegratorintegratewhenslipping_CSTATE = load double* %521, align 1
  %_rtP_299 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %522 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_299, i32 0, i32 318
  %_rtP__torqueconverterinputspeedintegratorintegratewhenslipping_LowerSat = load double* %522, align 1
  %523 = fcmp ole double %_rtX__torqueconverterinputspeedintegratorintegratewhenslipping_CSTATE, %_rtP__torqueconverterinputspeedintegratorintegratewhenslipping_LowerSat
  %524 = zext i1 %523 to i8
  store i8 %524, i8* %lsat_, align 1
  %_rtX__torqueconverterinputspeedintegratorintegratewhenslipping_CSTATE301 = load double* %521, align 1
  %525 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_299, i32 0, i32 317
  %_rtP__torqueconverterinputspeedintegratorintegratewhenslipping_UpperSat = load double* %525, align 1
  %526 = fcmp oge double %_rtX__torqueconverterinputspeedintegratorintegratewhenslipping_CSTATE301, %_rtP__torqueconverterinputspeedintegratorintegratewhenslipping_UpperSat
  %527 = zext i1 %526 to i8
  store i8 %527, i8* %usat_, align 1
  %528 = and i8 %524, 1
  %529 = icmp eq i8 %528, 0
  %530 = xor i1 %526, true
  %531 = and i1 %529, %530
  %532 = icmp ne i8 %528, 0
  %_rtB_306 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %533 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_306, i32 0, i32 381
  %_rtB__Product6 = load double* %533, align 1
  %534 = fcmp ogt double %_rtB__Product6, 0.000000e+00
  %535 = and i1 %532, %534
  %536 = or i1 %531, %535
  %537 = and i8 %527, 1
  %538 = icmp ne i8 %537, 0
  %539 = fcmp olt double %_rtB__Product6, 0.000000e+00
  %540 = and i1 %538, %539
  %541 = or i1 %536, %540
  %_rtXdot_313 = load %XDot_REVS_VM_T.19** %_rtXdot_, align 1
  %542 = getelementptr inbounds %XDot_REVS_VM_T.19* %_rtXdot_313, i32 0, i32 8
  br i1 %541, label %true11, label %false12

merge134:                                         ; preds = %true11, %false12
  %_rtDW_314 = load %DW_REVS_VM_T.16** %_rtDW_, align 1
  %543 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_314, i32 0, i32 1034
  %_rtDW__Subsystem_MODE_f = load i8* %543, align 1
  %544 = and i8 %_rtDW__Subsystem_MODE_f, 1
  %545 = icmp eq i8 %544, 0
  br i1 %545, label %false14, label %true13

merge135:                                         ; preds = %true13, %false14
  %_rtDW_321 = load %DW_REVS_VM_T.16** %_rtDW_, align 1
  %546 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_321, i32 0, i32 1035
  %_rtDW__Subsystem_MODE_h = load i8* %546, align 1
  %547 = and i8 %_rtDW__Subsystem_MODE_h, 1
  %548 = icmp eq i8 %547, 0
  br i1 %548, label %false16, label %true15

merge136:                                         ; preds = %true15, %false16
  %_rtDW_328 = load %DW_REVS_VM_T.16** %_rtDW_, align 1
  %549 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_328, i32 0, i32 1036
  %_rtDW__Subsystem_MODE_k = load i8* %549, align 1
  %550 = and i8 %_rtDW__Subsystem_MODE_k, 1
  %551 = icmp eq i8 %550, 0
  br i1 %551, label %false18, label %true17

merge137:                                         ; preds = %true17, %false18
  %_rtDW_335 = load %DW_REVS_VM_T.16** %_rtDW_, align 1
  %552 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_335, i32 0, i32 1037
  %_rtDW__Subsystem_MODE_j = load i8* %552, align 1
  %553 = and i8 %_rtDW__Subsystem_MODE_j, 1
  %554 = icmp eq i8 %553, 0
  br i1 %554, label %false20, label %true19

merge138:                                         ; preds = %true19, %false20
  %_rtDW_342 = load %DW_REVS_VM_T.16** %_rtDW_, align 1
  %555 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_342, i32 0, i32 1038
  %_rtDW__Subsystem_MODE_i = load i8* %555, align 1
  %556 = and i8 %_rtDW__Subsystem_MODE_i, 1
  %557 = icmp eq i8 %556, 0
  br i1 %557, label %false22, label %true21

merge139:                                         ; preds = %true21, %false22
  %_rtDW_349 = load %DW_REVS_VM_T.16** %_rtDW_, align 1
  %558 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_349, i32 0, i32 1039
  %_rtDW__Subsystem_MODE_m = load i8* %558, align 1
  %559 = and i8 %_rtDW__Subsystem_MODE_m, 1
  %560 = icmp eq i8 %559, 0
  br i1 %560, label %false24, label %true23

merge140:                                         ; preds = %true23, %false24
  %_rtDW_356 = load %DW_REVS_VM_T.16** %_rtDW_, align 1
  %561 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_356, i32 0, i32 1040
  %_rtDW__Subsystem_MODE_c = load i8* %561, align 1
  %562 = and i8 %_rtDW__Subsystem_MODE_c, 1
  %563 = icmp eq i8 %562, 0
  br i1 %563, label %false26, label %true25

merge141:                                         ; preds = %true25, %false26
  %_rtDW_363 = load %DW_REVS_VM_T.16** %_rtDW_, align 1
  %564 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_363, i32 0, i32 1041
  %_rtDW__Subsystem_MODE_g = load i8* %564, align 1
  %565 = and i8 %_rtDW__Subsystem_MODE_g, 1
  %566 = icmp eq i8 %565, 0
  br i1 %566, label %false28, label %true27

merge142:                                         ; preds = %true27, %false28
  %_rtDW_370 = load %DW_REVS_VM_T.16** %_rtDW_, align 1
  %567 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_370, i32 0, i32 1042
  %_rtDW__Subsystem_MODE_l = load i8* %567, align 1
  %568 = and i8 %_rtDW__Subsystem_MODE_l, 1
  %569 = icmp eq i8 %568, 0
  br i1 %569, label %false30, label %true29

merge143:                                         ; preds = %true29, %false30
  %_rtX_377 = load %X_REVS_VM_T.18** %_rtX_, align 1
  %570 = getelementptr inbounds %X_REVS_VM_T.18* %_rtX_377, i32 0, i32 9
  %_rtX__Integrator1_CSTATE_p = load double* %570, align 1
  %_rtP_378 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %571 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_378, i32 0, i32 375
  %_rtP__Integrator1_LowerSat_ie = load double* %571, align 1
  %572 = fcmp ole double %_rtX__Integrator1_CSTATE_p, %_rtP__Integrator1_LowerSat_ie
  %573 = zext i1 %572 to i8
  store i8 %573, i8* %lsat_, align 1
  %_rtX__Integrator1_CSTATE_p380 = load double* %570, align 1
  %574 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_378, i32 0, i32 374
  %_rtP__Integrator1_UpperSat_g = load double* %574, align 1
  %575 = fcmp oge double %_rtX__Integrator1_CSTATE_p380, %_rtP__Integrator1_UpperSat_g
  %576 = zext i1 %575 to i8
  store i8 %576, i8* %usat_, align 1
  %577 = and i8 %573, 1
  %578 = icmp eq i8 %577, 0
  %579 = xor i1 %575, true
  %580 = and i1 %578, %579
  %581 = icmp ne i8 %577, 0
  %_rtB_385 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %582 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_385, i32 0, i32 116
  %_rtB__DataTypeConversion2_k = load double* %582, align 1
  %583 = fcmp ogt double %_rtB__DataTypeConversion2_k, 0.000000e+00
  %584 = and i1 %581, %583
  %585 = or i1 %580, %584
  %586 = and i8 %576, 1
  %587 = icmp ne i8 %586, 0
  %588 = fcmp olt double %_rtB__DataTypeConversion2_k, 0.000000e+00
  %589 = and i1 %587, %588
  %590 = or i1 %585, %589
  %_rtXdot_392 = load %XDot_REVS_VM_T.19** %_rtXdot_, align 1
  %591 = getelementptr inbounds %XDot_REVS_VM_T.19* %_rtXdot_392, i32 0, i32 9
  br i1 %590, label %true31, label %false32

merge144:                                         ; preds = %true31, %false32
  %_rtB_393 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %592 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_393, i32 0, i32 206
  %_rtB__IntegralGain = load double* %592, align 1
  %_rtXdot_394 = load %XDot_REVS_VM_T.19** %_rtXdot_, align 1
  %593 = getelementptr inbounds %XDot_REVS_VM_T.19* %_rtXdot_394, i32 0, i32 10
  store double %_rtB__IntegralGain, double* %593, align 1
  %_rtB_395 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %594 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_395, i32 0, i32 121
  %_rtB__FilterCoefficient = load double* %594, align 1
  %_rtXdot_396 = load %XDot_REVS_VM_T.19** %_rtXdot_, align 1
  %595 = getelementptr inbounds %XDot_REVS_VM_T.19* %_rtXdot_396, i32 0, i32 11
  store double %_rtB__FilterCoefficient, double* %595, align 1
  %_rtX_397 = load %X_REVS_VM_T.18** %_rtX_, align 1
  %596 = getelementptr inbounds %X_REVS_VM_T.18* %_rtX_397, i32 0, i32 12
  %_rtX__Integrator1_CSTATE_ay = load double* %596, align 1
  %_rtP_398 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %597 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_398, i32 0, i32 399
  %_rtP__Integrator1_LowerSat_a = load double* %597, align 1
  %598 = fcmp ole double %_rtX__Integrator1_CSTATE_ay, %_rtP__Integrator1_LowerSat_a
  %599 = zext i1 %598 to i8
  store i8 %599, i8* %lsat_, align 1
  %_rtX__Integrator1_CSTATE_ay400 = load double* %596, align 1
  %600 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_398, i32 0, i32 398
  %_rtP__Integrator1_UpperSat_g2 = load double* %600, align 1
  %601 = fcmp oge double %_rtX__Integrator1_CSTATE_ay400, %_rtP__Integrator1_UpperSat_g2
  %602 = zext i1 %601 to i8
  store i8 %602, i8* %usat_, align 1
  %603 = and i8 %599, 1
  %604 = icmp eq i8 %603, 0
  %605 = xor i1 %601, true
  %606 = and i1 %604, %605
  %607 = icmp ne i8 %603, 0
  %_rtB_405 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %608 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_405, i32 0, i32 130
  %_rtB__DataTypeConversion2_j = load double* %608, align 1
  %609 = fcmp ogt double %_rtB__DataTypeConversion2_j, 0.000000e+00
  %610 = and i1 %607, %609
  %611 = or i1 %606, %610
  %612 = and i8 %602, 1
  %613 = icmp ne i8 %612, 0
  %614 = fcmp olt double %_rtB__DataTypeConversion2_j, 0.000000e+00
  %615 = and i1 %613, %614
  %616 = or i1 %611, %615
  %_rtXdot_412 = load %XDot_REVS_VM_T.19** %_rtXdot_, align 1
  %617 = getelementptr inbounds %XDot_REVS_VM_T.19* %_rtXdot_412, i32 0, i32 12
  br i1 %616, label %true33, label %false34

merge145:                                         ; preds = %true33, %false34
  %_rtB_413 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %618 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_413, i32 0, i32 158
  %_rtB__Switch_c = load double* %618, align 1
  %_rtXdot_414 = load %XDot_REVS_VM_T.19** %_rtXdot_, align 1
  %619 = getelementptr inbounds %XDot_REVS_VM_T.19* %_rtXdot_414, i32 0, i32 13
  store double %_rtB__Switch_c, double* %619, align 1
  %_rtB_415 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %620 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_415, i32 0, i32 150
  %_rtB__FilterCoefficient_o = load double* %620, align 1
  %_rtXdot_416 = load %XDot_REVS_VM_T.19** %_rtXdot_, align 1
  %621 = getelementptr inbounds %XDot_REVS_VM_T.19* %_rtXdot_416, i32 0, i32 14
  store double %_rtB__FilterCoefficient_o, double* %621, align 1
  %_rtDW_417 = load %DW_REVS_VM_T.16** %_rtDW_, align 1
  %622 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_417, i32 0, i32 1043
  %_rtDW__Subsystem_MODE_lx = load i8* %622, align 1
  %623 = and i8 %_rtDW__Subsystem_MODE_lx, 1
  %624 = icmp eq i8 %623, 0
  br i1 %624, label %false36, label %true35

merge146:                                         ; preds = %true37, %false38
  %_rtDW_431 = load %DW_REVS_VM_T.16** %_rtDW_, align 1
  %625 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_431, i32 0, i32 1074
  %_rtDW__Subsystem_MODE_ok = load i8* %625, align 1
  %626 = and i8 %_rtDW__Subsystem_MODE_ok, 1
  %627 = icmp eq i8 %626, 0
  br i1 %627, label %false40, label %true39

merge148:                                         ; preds = %false40, %true39, %false36
  %_rtDW_438 = load %DW_REVS_VM_T.16** %_rtDW_, align 1
  %628 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_438, i32 0, i32 1044
  %_rtDW__Subsystem_MODE_b = load i8* %628, align 1
  %629 = and i8 %_rtDW__Subsystem_MODE_b, 1
  %630 = icmp eq i8 %629, 0
  br i1 %630, label %false42, label %true41

merge149:                                         ; preds = %true41, %false42
  %_rtB_445 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %631 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_445, i32 0, i32 168
  %_rtB__Gain5 = load double* %631, align 1
  %_rtXdot_446 = load %XDot_REVS_VM_T.19** %_rtXdot_, align 1
  %632 = getelementptr inbounds %XDot_REVS_VM_T.19* %_rtXdot_446, i32 0, i32 15
  store double %_rtB__Gain5, double* %632, align 1
  %_rtB_447 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %633 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_447, i32 0, i32 200
  %_rtB__negative = load double* %633, align 1
  %_rtXdot_448 = load %XDot_REVS_VM_T.19** %_rtXdot_, align 1
  %634 = getelementptr inbounds %XDot_REVS_VM_T.19* %_rtXdot_448, i32 0, i32 16
  store double %_rtB__negative, double* %634, align 1
  %_rtB_449 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %635 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_449, i32 0, i32 177
  %_rtB__Add1 = load double* %635, align 1
  %_rtXdot_450 = load %XDot_REVS_VM_T.19** %_rtXdot_, align 1
  %636 = getelementptr inbounds %XDot_REVS_VM_T.19* %_rtXdot_450, i32 0, i32 17
  store double %_rtB__Add1, double* %636, align 1
  %_rtXdot_451 = load %XDot_REVS_VM_T.19** %_rtXdot_, align 1
  %637 = getelementptr inbounds %XDot_REVS_VM_T.19* %_rtXdot_451, i32 0, i32 18, i32 0
  %638 = bitcast double* %637 to i8*
  %_rtB_452 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %639 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_452, i32 0, i32 173, i32 0
  %640 = bitcast double* %639 to i8*
  %641 = call i8* @memcpy(i8* %638, i8* %640, i32 mul (i32 ptrtoint (double* getelementptr (double* null, i32 1) to i32), i32 10))
  %_rtB_453 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %642 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_453, i32 0, i32 168
  %_rtB__Gain5454 = load double* %642, align 1
  %_rtXdot_455 = load %XDot_REVS_VM_T.19** %_rtXdot_, align 1
  %643 = getelementptr inbounds %XDot_REVS_VM_T.19* %_rtXdot_455, i32 0, i32 19
  store double %_rtB__Gain5454, double* %643, align 1
  %_rtB_456 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %644 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_456, i32 0, i32 526
  %_rtB__Sum3_i = load double* %644, align 1
  %_rtXdot_457 = load %XDot_REVS_VM_T.19** %_rtXdot_, align 1
  %645 = getelementptr inbounds %XDot_REVS_VM_T.19* %_rtXdot_457, i32 0, i32 20
  store double %_rtB__Sum3_i, double* %645, align 1
  %_rtB_458 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %646 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_458, i32 0, i32 205
  %_rtB__Product5_jw = load double* %646, align 1
  %_rtXdot_459 = load %XDot_REVS_VM_T.19** %_rtXdot_, align 1
  %647 = getelementptr inbounds %XDot_REVS_VM_T.19* %_rtXdot_459, i32 0, i32 21
  store double %_rtB__Product5_jw, double* %647, align 1
  %_rtXdot_460 = load %XDot_REVS_VM_T.19** %_rtXdot_, align 1
  %648 = getelementptr inbounds %XDot_REVS_VM_T.19* %_rtXdot_460, i32 0, i32 22
  store double 0.000000e+00, double* %648, align 1
  %_rtP_461 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %649 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_461, i32 0, i32 556
  %_rtP__lowpassfilter_A = load double* %649, align 1
  %_rtX_462 = load %X_REVS_VM_T.18** %_rtX_, align 1
  %650 = getelementptr inbounds %X_REVS_VM_T.18* %_rtX_462, i32 0, i32 22
  %_rtX__lowpassfilter_CSTATE = load double* %650, align 1
  %tmp4 = fmul double %_rtP__lowpassfilter_A, %_rtX__lowpassfilter_CSTATE
  %_rtXdot_463 = load %XDot_REVS_VM_T.19** %_rtXdot_, align 1
  %651 = getelementptr inbounds %XDot_REVS_VM_T.19* %_rtXdot_463, i32 0, i32 22
  %_rtXdot__lowpassfilter_CSTATE = load double* %651, align 1
  %tmp5 = fadd double %tmp4, %_rtXdot__lowpassfilter_CSTATE
  store double %tmp5, double* %651, align 1
  %_rtXdot_465 = load %XDot_REVS_VM_T.19** %_rtXdot_, align 1
  %652 = getelementptr inbounds %XDot_REVS_VM_T.19* %_rtXdot_465, i32 0, i32 22
  %_rtXdot__lowpassfilter_CSTATE466 = load double* %652, align 1
  %_rtB_467 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %653 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_467, i32 0, i32 177
  %_rtB__Add1468 = load double* %653, align 1
  %tmp6 = fadd double %_rtXdot__lowpassfilter_CSTATE466, %_rtB__Add1468
  store double %tmp6, double* %652, align 1
  %_rtDW_470 = load %DW_REVS_VM_T.16** %_rtDW_, align 1
  %654 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_470, i32 0, i32 1045
  %_rtDW__Subsystem_MODE_bw = load i8* %654, align 1
  %655 = and i8 %_rtDW__Subsystem_MODE_bw, 1
  %656 = icmp eq i8 %655, 0
  br i1 %656, label %false44, label %true43

merge150:                                         ; preds = %true45, %false46
  %_rtDW_484 = load %DW_REVS_VM_T.16** %_rtDW_, align 1
  %657 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_484, i32 0, i32 1072
  %_rtDW__Subsystem_MODE_ih = load i8* %657, align 1
  %658 = and i8 %_rtDW__Subsystem_MODE_ih, 1
  %659 = icmp eq i8 %658, 0
  br i1 %659, label %false48, label %true47

merge152:                                         ; preds = %false48, %true47, %false44
  %_rtX_491 = load %X_REVS_VM_T.18** %_rtX_, align 1
  %660 = getelementptr inbounds %X_REVS_VM_T.18* %_rtX_491, i32 0, i32 23
  %_rtX__Integrator1_CSTATE_b = load double* %660, align 1
  %_rtP_492 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %661 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_492, i32 0, i32 574
  %_rtP__Integrator1_LowerSat_l = load double* %661, align 1
  %662 = fcmp ole double %_rtX__Integrator1_CSTATE_b, %_rtP__Integrator1_LowerSat_l
  %663 = zext i1 %662 to i8
  store i8 %663, i8* %lsat_, align 1
  %_rtX__Integrator1_CSTATE_b494 = load double* %660, align 1
  %664 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_492, i32 0, i32 573
  %_rtP__Integrator1_UpperSat_d5 = load double* %664, align 1
  %665 = fcmp oge double %_rtX__Integrator1_CSTATE_b494, %_rtP__Integrator1_UpperSat_d5
  %666 = zext i1 %665 to i8
  store i8 %666, i8* %usat_, align 1
  %667 = and i8 %663, 1
  %668 = icmp eq i8 %667, 0
  %669 = xor i1 %665, true
  %670 = and i1 %668, %669
  %671 = icmp ne i8 %667, 0
  %_rtB_499 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %672 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_499, i32 0, i32 208
  %_rtB__DataTypeConversion2_b = load double* %672, align 1
  %673 = fcmp ogt double %_rtB__DataTypeConversion2_b, 0.000000e+00
  %674 = and i1 %671, %673
  %675 = or i1 %670, %674
  %676 = and i8 %666, 1
  %677 = icmp ne i8 %676, 0
  %678 = fcmp olt double %_rtB__DataTypeConversion2_b, 0.000000e+00
  %679 = and i1 %677, %678
  %680 = or i1 %675, %679
  %_rtXdot_506 = load %XDot_REVS_VM_T.19** %_rtXdot_, align 1
  %681 = getelementptr inbounds %XDot_REVS_VM_T.19* %_rtXdot_506, i32 0, i32 23
  br i1 %680, label %true49, label %false50

merge153:                                         ; preds = %true49, %false50
  %_rtXdot_507 = load %XDot_REVS_VM_T.19** %_rtXdot_, align 1
  %682 = getelementptr inbounds %XDot_REVS_VM_T.19* %_rtXdot_507, i32 0, i32 24, i32 0
  %683 = bitcast double* %682 to i8*
  %_rtB_508 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %684 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_508, i32 0, i32 312, i32 0
  %685 = bitcast double* %684 to i8*
  %686 = call i8* @memcpy(i8* %683, i8* %685, i32 mul (i32 ptrtoint (double* getelementptr (double* null, i32 1) to i32), i32 10))
  %_rtB_509 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %687 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_509, i32 0, i32 311
  %_rtB__Gain_e = load double* %687, align 1
  %_rtXdot_510 = load %XDot_REVS_VM_T.19** %_rtXdot_, align 1
  %688 = getelementptr inbounds %XDot_REVS_VM_T.19* %_rtXdot_510, i32 0, i32 25
  store double %_rtB__Gain_e, double* %688, align 1
  %_rtXdot_511 = load %XDot_REVS_VM_T.19** %_rtXdot_, align 1
  %689 = getelementptr inbounds %XDot_REVS_VM_T.19* %_rtXdot_511, i32 0, i32 26
  store double 0.000000e+00, double* %689, align 1
  %_rtP_512 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %690 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_512, i32 0, i32 594
  %_rtP__TransferFcn_A = load double* %690, align 1
  %_rtX_513 = load %X_REVS_VM_T.18** %_rtX_, align 1
  %691 = getelementptr inbounds %X_REVS_VM_T.18* %_rtX_513, i32 0, i32 26
  %_rtX__TransferFcn_CSTATE = load double* %691, align 1
  %tmp8 = fmul double %_rtP__TransferFcn_A, %_rtX__TransferFcn_CSTATE
  %_rtXdot_514 = load %XDot_REVS_VM_T.19** %_rtXdot_, align 1
  %692 = getelementptr inbounds %XDot_REVS_VM_T.19* %_rtXdot_514, i32 0, i32 26
  %_rtXdot__TransferFcn_CSTATE = load double* %692, align 1
  %tmp9 = fadd double %tmp8, %_rtXdot__TransferFcn_CSTATE
  store double %tmp9, double* %692, align 1
  %_rtXdot_516 = load %XDot_REVS_VM_T.19** %_rtXdot_, align 1
  %693 = getelementptr inbounds %XDot_REVS_VM_T.19* %_rtXdot_516, i32 0, i32 26
  %_rtXdot__TransferFcn_CSTATE517 = load double* %693, align 1
  %_rtB_518 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %694 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_518, i32 0, i32 96
  %_rtB__tc_spd_in_radps = load double* %694, align 1
  %tmp10 = fadd double %_rtXdot__TransferFcn_CSTATE517, %_rtB__tc_spd_in_radps
  store double %tmp10, double* %693, align 1
  %_rtB_520 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %695 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_520, i32 0, i32 457
  %_rtB__Fcn_j5 = load double* %695, align 1
  %_rtXdot_521 = load %XDot_REVS_VM_T.19** %_rtXdot_, align 1
  %696 = getelementptr inbounds %XDot_REVS_VM_T.19* %_rtXdot_521, i32 0, i32 27
  store double %_rtB__Fcn_j5, double* %696, align 1
  %_rtX_522 = load %X_REVS_VM_T.18** %_rtX_, align 1
  %697 = getelementptr inbounds %X_REVS_VM_T.18* %_rtX_522, i32 0, i32 28
  %_rtX__Integrator1_CSTATE_m = load double* %697, align 1
  %_rtP_523 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %698 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_523, i32 0, i32 611
  %_rtP__Integrator1_LowerSat_gu = load double* %698, align 1
  %699 = fcmp ole double %_rtX__Integrator1_CSTATE_m, %_rtP__Integrator1_LowerSat_gu
  %700 = zext i1 %699 to i8
  store i8 %700, i8* %lsat_, align 1
  %_rtX__Integrator1_CSTATE_m525 = load double* %697, align 1
  %701 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_523, i32 0, i32 610
  %_rtP__Integrator1_UpperSat_ob = load double* %701, align 1
  %702 = fcmp oge double %_rtX__Integrator1_CSTATE_m525, %_rtP__Integrator1_UpperSat_ob
  %703 = zext i1 %702 to i8
  store i8 %703, i8* %usat_, align 1
  %704 = and i8 %700, 1
  %705 = icmp eq i8 %704, 0
  %706 = xor i1 %702, true
  %707 = and i1 %705, %706
  %708 = icmp ne i8 %704, 0
  %_rtB_530 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %709 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_530, i32 0, i32 230
  %_rtB__DataTypeConversion2_g = load double* %709, align 1
  %710 = fcmp ogt double %_rtB__DataTypeConversion2_g, 0.000000e+00
  %711 = and i1 %708, %710
  %712 = or i1 %707, %711
  %713 = and i8 %703, 1
  %714 = icmp ne i8 %713, 0
  %715 = fcmp olt double %_rtB__DataTypeConversion2_g, 0.000000e+00
  %716 = and i1 %714, %715
  %717 = or i1 %712, %716
  %_rtXdot_537 = load %XDot_REVS_VM_T.19** %_rtXdot_, align 1
  %718 = getelementptr inbounds %XDot_REVS_VM_T.19* %_rtXdot_537, i32 0, i32 28
  br i1 %717, label %true51, label %false52

merge154:                                         ; preds = %true51, %false52
  %_rtB_538 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %719 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_538, i32 0, i32 234
  %_rtB__DataTypeConversion2_l = load double* %719, align 1
  %_rtXdot_539 = load %XDot_REVS_VM_T.19** %_rtXdot_, align 1
  %720 = getelementptr inbounds %XDot_REVS_VM_T.19* %_rtXdot_539, i32 0, i32 29
  store double %_rtB__DataTypeConversion2_l, double* %720, align 1
  %_rtX_540 = load %X_REVS_VM_T.18** %_rtX_, align 1
  %721 = getelementptr inbounds %X_REVS_VM_T.18* %_rtX_540, i32 0, i32 30
  %_rtX__Integrator_CSTATE_gp = load double* %721, align 1
  %_rtP_541 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %722 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_541, i32 0, i32 633
  %_rtP__Integrator_LowerSat_b = load double* %722, align 1
  %723 = fcmp ole double %_rtX__Integrator_CSTATE_gp, %_rtP__Integrator_LowerSat_b
  %724 = zext i1 %723 to i8
  store i8 %724, i8* %lsat_, align 1
  %_rtX__Integrator_CSTATE_gp543 = load double* %721, align 1
  %725 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_541, i32 0, i32 632
  %_rtP__Integrator_UpperSat_m = load double* %725, align 1
  %726 = fcmp oge double %_rtX__Integrator_CSTATE_gp543, %_rtP__Integrator_UpperSat_m
  %727 = zext i1 %726 to i8
  store i8 %727, i8* %usat_, align 1
  %_rtB_545 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %728 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_545, i32 0, i32 693
  %_rtB__LogicalOperator_p = load i8* %728, align 1
  %729 = and i8 %_rtB__LogicalOperator_p, 1
  %730 = icmp eq i8 %729, 0
  %731 = or i8 %727, %724
  %732 = and i8 %731, 1
  %733 = icmp eq i8 %732, 0
  %734 = and i8 %724, 1
  %735 = icmp ne i8 %734, 0
  %736 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_545, i32 0, i32 456
  %_rtB__Ki = load double* %736, align 1
  %737 = fcmp ogt double %_rtB__Ki, 0.000000e+00
  %738 = and i1 %735, %737
  %739 = or i1 %733, %738
  %740 = and i8 %727, 1
  %741 = icmp ne i8 %740, 0
  %742 = fcmp olt double %_rtB__Ki, 0.000000e+00
  %743 = and i1 %741, %742
  %744 = or i1 %739, %743
  %745 = and i1 %730, %744
  %_rtXdot_556 = load %XDot_REVS_VM_T.19** %_rtXdot_, align 1
  %746 = getelementptr inbounds %XDot_REVS_VM_T.19* %_rtXdot_556, i32 0, i32 30
  br i1 %745, label %true53, label %false54

merge155:                                         ; preds = %true53, %false54
  %_rtB_557 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %747 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_557, i32 0, i32 453
  %_rtB__Product_h = load double* %747, align 1
  %_rtXdot_558 = load %XDot_REVS_VM_T.19** %_rtXdot_, align 1
  %748 = getelementptr inbounds %XDot_REVS_VM_T.19* %_rtXdot_558, i32 0, i32 31
  store double %_rtB__Product_h, double* %748, align 1
  %_rtXdot_559 = load %XDot_REVS_VM_T.19** %_rtXdot_, align 1
  %749 = getelementptr inbounds %XDot_REVS_VM_T.19* %_rtXdot_559, i32 0, i32 32, i32 0
  %750 = bitcast double* %749 to i8*
  %_rtB_560 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %751 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_560, i32 0, i32 324, i32 0
  %752 = bitcast double* %751 to i8*
  %753 = call i8* @memcpy(i8* %750, i8* %752, i32 mul (i32 ptrtoint (double* getelementptr (double* null, i32 1) to i32), i32 90))
  %_rtXdot_561 = load %XDot_REVS_VM_T.19** %_rtXdot_, align 1
  %754 = getelementptr inbounds %XDot_REVS_VM_T.19* %_rtXdot_561, i32 0, i32 33, i32 0
  %755 = bitcast double* %754 to i8*
  %_rtB_562 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %756 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_562, i32 0, i32 323, i32 0
  %757 = bitcast double* %756 to i8*
  %758 = call i8* @memcpy(i8* %755, i8* %757, i32 mul (i32 ptrtoint (double* getelementptr (double* null, i32 1) to i32), i32 9))
  %_rtXdot_563 = load %XDot_REVS_VM_T.19** %_rtXdot_, align 1
  %759 = getelementptr inbounds %XDot_REVS_VM_T.19* %_rtXdot_563, i32 0, i32 34
  store double 0.000000e+00, double* %759, align 1
  %_rtP_564 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %760 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_564, i32 0, i32 791
  %_rtP__lowpassfilter_A_b = load double* %760, align 1
  %_rtX_565 = load %X_REVS_VM_T.18** %_rtX_, align 1
  %761 = getelementptr inbounds %X_REVS_VM_T.18* %_rtX_565, i32 0, i32 34
  %_rtX__lowpassfilter_CSTATE_e = load double* %761, align 1
  %tmp13 = fmul double %_rtP__lowpassfilter_A_b, %_rtX__lowpassfilter_CSTATE_e
  %_rtXdot_566 = load %XDot_REVS_VM_T.19** %_rtXdot_, align 1
  %762 = getelementptr inbounds %XDot_REVS_VM_T.19* %_rtXdot_566, i32 0, i32 34
  %_rtXdot__lowpassfilter_CSTATE_e = load double* %762, align 1
  %tmp14 = fadd double %tmp13, %_rtXdot__lowpassfilter_CSTATE_e
  store double %tmp14, double* %762, align 1
  %_rtXdot_568 = load %XDot_REVS_VM_T.19** %_rtXdot_, align 1
  %763 = getelementptr inbounds %XDot_REVS_VM_T.19* %_rtXdot_568, i32 0, i32 34
  %_rtXdot__lowpassfilter_CSTATE_e569 = load double* %763, align 1
  %_rtB_570 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %764 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_570, i32 0, i32 597
  %_rtB__desired_gear_num = load double* %764, align 1
  %tmp15 = fadd double %_rtXdot__lowpassfilter_CSTATE_e569, %_rtB__desired_gear_num
  store double %tmp15, double* %763, align 1
  %_rtDW_572 = load %DW_REVS_VM_T.16** %_rtDW_, align 1
  %765 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_572, i32 0, i32 1046
  %_rtDW__Subsystem_MODE_o = load i8* %765, align 1
  %766 = and i8 %_rtDW__Subsystem_MODE_o, 1
  %767 = icmp eq i8 %766, 0
  br i1 %767, label %false56, label %true55

merge156:                                         ; preds = %true57, %false58
  %_rtDW_586 = load %DW_REVS_VM_T.16** %_rtDW_, align 1
  %768 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_586, i32 0, i32 1070
  %_rtDW__Subsystem_MODE_cp = load i8* %768, align 1
  %769 = and i8 %_rtDW__Subsystem_MODE_cp, 1
  %770 = icmp eq i8 %769, 0
  br i1 %770, label %false60, label %true59

merge158:                                         ; preds = %false60, %true59, %false56
  %_rtDW_593 = load %DW_REVS_VM_T.16** %_rtDW_, align 1
  %771 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_593, i32 0, i32 1047
  %_rtDW__Subsystem_MODE_lxb = load i8* %771, align 1
  %772 = and i8 %_rtDW__Subsystem_MODE_lxb, 1
  %773 = icmp eq i8 %772, 0
  br i1 %773, label %false62, label %true61

merge159:                                         ; preds = %true61, %false62
  %_rtDW_600 = load %DW_REVS_VM_T.16** %_rtDW_, align 1
  %774 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_600, i32 0, i32 1048
  %_rtDW__Subsystem_MODE_i4 = load i8* %774, align 1
  %775 = and i8 %_rtDW__Subsystem_MODE_i4, 1
  %776 = icmp eq i8 %775, 0
  br i1 %776, label %false64, label %true63

merge160:                                         ; preds = %true63, %false64
  %_rtDW_607 = load %DW_REVS_VM_T.16** %_rtDW_, align 1
  %777 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_607, i32 0, i32 1049
  %_rtDW__Subsystem_MODE_hp = load i8* %777, align 1
  %778 = and i8 %_rtDW__Subsystem_MODE_hp, 1
  %779 = icmp eq i8 %778, 0
  br i1 %779, label %false66, label %true65

merge161:                                         ; preds = %true65, %false66
  %_rtDW_614 = load %DW_REVS_VM_T.16** %_rtDW_, align 1
  %780 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_614, i32 0, i32 1050
  %_rtDW__Subsystem_MODE_p = load i8* %780, align 1
  %781 = and i8 %_rtDW__Subsystem_MODE_p, 1
  %782 = icmp eq i8 %781, 0
  br i1 %782, label %false68, label %true67

merge162:                                         ; preds = %true69, %false70
  %_rtDW_628 = load %DW_REVS_VM_T.16** %_rtDW_, align 1
  %783 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_628, i32 0, i32 1068
  %_rtDW__Subsystem_MODE_j3 = load i8* %783, align 1
  %784 = and i8 %_rtDW__Subsystem_MODE_j3, 1
  %785 = icmp eq i8 %784, 0
  br i1 %785, label %false72, label %true71

merge164:                                         ; preds = %false72, %true71, %false68
  %_rtDW_635 = load %DW_REVS_VM_T.16** %_rtDW_, align 1
  %786 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_635, i32 0, i32 1051
  %_rtDW__Subsystem_MODE_bo = load i8* %786, align 1
  %787 = and i8 %_rtDW__Subsystem_MODE_bo, 1
  %788 = icmp eq i8 %787, 0
  br i1 %788, label %false74, label %true73

merge165:                                         ; preds = %true73, %false74
  %_rtDW_642 = load %DW_REVS_VM_T.16** %_rtDW_, align 1
  %789 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_642, i32 0, i32 1052
  %_rtDW__Subsystem_MODE_n = load i8* %789, align 1
  %790 = and i8 %_rtDW__Subsystem_MODE_n, 1
  %791 = icmp eq i8 %790, 0
  br i1 %791, label %false76, label %true75

merge166:                                         ; preds = %true75, %false76
  %_rtDW_649 = load %DW_REVS_VM_T.16** %_rtDW_, align 1
  %792 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_649, i32 0, i32 1053
  %_rtDW__Subsystem_MODE_no = load i8* %792, align 1
  %793 = and i8 %_rtDW__Subsystem_MODE_no, 1
  %794 = icmp eq i8 %793, 0
  br i1 %794, label %false78, label %true77

merge167:                                         ; preds = %true77, %false78
  %_rtB_656 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %795 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_656, i32 0, i32 386
  %_rtB__Gain_c = load double* %795, align 1
  %_rtXdot_657 = load %XDot_REVS_VM_T.19** %_rtXdot_, align 1
  %796 = getelementptr inbounds %XDot_REVS_VM_T.19* %_rtXdot_657, i32 0, i32 36
  store double %_rtB__Gain_c, double* %796, align 1
  %_rtB_658 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %797 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_658, i32 0, i32 390
  %_rtB__Constant_bi = load double* %797, align 1
  %_rtXdot_659 = load %XDot_REVS_VM_T.19** %_rtXdot_, align 1
  %798 = getelementptr inbounds %XDot_REVS_VM_T.19* %_rtXdot_659, i32 0, i32 38
  store double %_rtB__Constant_bi, double* %798, align 1
  %_rtXdot_660 = load %XDot_REVS_VM_T.19** %_rtXdot_, align 1
  %799 = getelementptr inbounds %XDot_REVS_VM_T.19* %_rtXdot_660, i32 0, i32 35, i32 0
  %800 = bitcast double* %799 to i8*
  %_rtB_661 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %801 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_661, i32 0, i32 387, i32 0
  %802 = bitcast double* %801 to i8*
  %803 = call i8* @memcpy(i8* %800, i8* %802, i32 mul (i32 ptrtoint (double* getelementptr (double* null, i32 1) to i32), i32 10))
  %_rtXdot_662 = load %XDot_REVS_VM_T.19** %_rtXdot_, align 1
  %804 = getelementptr inbounds %XDot_REVS_VM_T.19* %_rtXdot_662, i32 0, i32 37, i32 0
  %805 = bitcast double* %804 to i8*
  %_rtB_663 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %806 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_663, i32 0, i32 396, i32 0
  %807 = bitcast double* %806 to i8*
  %808 = call i8* @memcpy(i8* %805, i8* %807, i32 mul (i32 ptrtoint (double* getelementptr (double* null, i32 1) to i32), i32 10))
  %_rtXdot_664 = load %XDot_REVS_VM_T.19** %_rtXdot_, align 1
  %809 = getelementptr inbounds %XDot_REVS_VM_T.19* %_rtXdot_664, i32 0, i32 39, i32 0
  %810 = bitcast double* %809 to i8*
  %_rtB_665 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %811 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_665, i32 0, i32 418, i32 0
  %812 = bitcast double* %811 to i8*
  %813 = call i8* @memcpy(i8* %810, i8* %812, i32 mul (i32 ptrtoint (double* getelementptr (double* null, i32 1) to i32), i32 10))
  %_rtB_666 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %814 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_666, i32 0, i32 417
  %_rtB__u_g = load double* %814, align 1
  %_rtXdot_667 = load %XDot_REVS_VM_T.19** %_rtXdot_, align 1
  %815 = getelementptr inbounds %XDot_REVS_VM_T.19* %_rtXdot_667, i32 0, i32 40
  store double %_rtB__u_g, double* %815, align 1
  %_rtB_668 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %816 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_668, i32 0, i32 437
  %_rtB__Constant2_j = load double* %816, align 1
  %_rtXdot_669 = load %XDot_REVS_VM_T.19** %_rtXdot_, align 1
  %817 = getelementptr inbounds %XDot_REVS_VM_T.19* %_rtXdot_669, i32 0, i32 41
  store double %_rtB__Constant2_j, double* %817, align 1
  %_rtB_670 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %818 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_670, i32 0, i32 400
  %_rtB__RateLimiter_mg = load double* %818, align 1
  %819 = fcmp oeq double %_rtB__RateLimiter_mg, 0.000000e+00
  br i1 %819, label %true79, label %false80

merge168:                                         ; preds = %true79, %false80
  %_rtB_674 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %820 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_674, i32 0, i32 421
  %_rtB__Gain_p = load double* %820, align 1
  %_rtXdot_675 = load %XDot_REVS_VM_T.19** %_rtXdot_, align 1
  %821 = getelementptr inbounds %XDot_REVS_VM_T.19* %_rtXdot_675, i32 0, i32 44
  store double %_rtB__Gain_p, double* %821, align 1
  %_rtB_676 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %822 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_676, i32 0, i32 426
  %_rtB__DataTypeConversion_dn = load double* %822, align 1
  %_rtXdot_677 = load %XDot_REVS_VM_T.19** %_rtXdot_, align 1
  %823 = getelementptr inbounds %XDot_REVS_VM_T.19* %_rtXdot_677, i32 0, i32 46
  store double %_rtB__DataTypeConversion_dn, double* %823, align 1
  %_rtXdot_678 = load %XDot_REVS_VM_T.19** %_rtXdot_, align 1
  %824 = getelementptr inbounds %XDot_REVS_VM_T.19* %_rtXdot_678, i32 0, i32 43, i32 0
  %825 = bitcast double* %824 to i8*
  %_rtB_679 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %826 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_679, i32 0, i32 422, i32 0
  %827 = bitcast double* %826 to i8*
  %828 = call i8* @memcpy(i8* %825, i8* %827, i32 mul (i32 ptrtoint (double* getelementptr (double* null, i32 1) to i32), i32 10))
  %_rtXdot_680 = load %XDot_REVS_VM_T.19** %_rtXdot_, align 1
  %829 = getelementptr inbounds %XDot_REVS_VM_T.19* %_rtXdot_680, i32 0, i32 45, i32 0
  %830 = bitcast double* %829 to i8*
  %_rtB_681 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %831 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_681, i32 0, i32 427, i32 0
  %832 = bitcast double* %831 to i8*
  %833 = call i8* @memcpy(i8* %830, i8* %832, i32 mul (i32 ptrtoint (double* getelementptr (double* null, i32 1) to i32), i32 10))
  %_rtXdot_682 = load %XDot_REVS_VM_T.19** %_rtXdot_, align 1
  %834 = getelementptr inbounds %XDot_REVS_VM_T.19* %_rtXdot_682, i32 0, i32 47, i32 0
  %835 = bitcast double* %834 to i8*
  %_rtB_683 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %836 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_683, i32 0, i32 431, i32 0
  %837 = bitcast double* %836 to i8*
  %838 = call i8* @memcpy(i8* %835, i8* %837, i32 mul (i32 ptrtoint (double* getelementptr (double* null, i32 1) to i32), i32 10))
  %_rtB_684 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %839 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_684, i32 0, i32 430
  %_rtB__Gain_o = load double* %839, align 1
  %_rtXdot_685 = load %XDot_REVS_VM_T.19** %_rtXdot_, align 1
  %840 = getelementptr inbounds %XDot_REVS_VM_T.19* %_rtXdot_685, i32 0, i32 48
  store double %_rtB__Gain_o, double* %840, align 1
  %_rtB_686 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %841 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_686, i32 0, i32 417
  %_rtB__u_g687 = load double* %841, align 1
  %_rtXdot_688 = load %XDot_REVS_VM_T.19** %_rtXdot_, align 1
  %842 = getelementptr inbounds %XDot_REVS_VM_T.19* %_rtXdot_688, i32 0, i32 49
  store double %_rtB__u_g687, double* %842, align 1
  %_rtB_689 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %843 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_689, i32 0, i32 416
  %_rtB__fuelflow1 = load double* %843, align 1
  %_rtXdot_690 = load %XDot_REVS_VM_T.19** %_rtXdot_, align 1
  %844 = getelementptr inbounds %XDot_REVS_VM_T.19* %_rtXdot_690, i32 0, i32 50
  store double %_rtB__fuelflow1, double* %844, align 1
  %_rtB_691 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %845 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_691, i32 0, i32 409
  %_rtB__fuelflow3 = load double* %845, align 1
  %_rtXdot_692 = load %XDot_REVS_VM_T.19** %_rtXdot_, align 1
  %846 = getelementptr inbounds %XDot_REVS_VM_T.19* %_rtXdot_692, i32 0, i32 51
  store double %_rtB__fuelflow3, double* %846, align 1
  %_rtB_693 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %847 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_693, i32 0, i32 407
  %_rtB__Product7_a = load double* %847, align 1
  %_rtXdot_694 = load %XDot_REVS_VM_T.19** %_rtXdot_, align 1
  %848 = getelementptr inbounds %XDot_REVS_VM_T.19* %_rtXdot_694, i32 0, i32 52
  store double %_rtB__Product7_a, double* %848, align 1
  %_rtB_695 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %849 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_695, i32 0, i32 411
  %_rtB__fuelflow2 = load double* %849, align 1
  %_rtXdot_696 = load %XDot_REVS_VM_T.19** %_rtXdot_, align 1
  %850 = getelementptr inbounds %XDot_REVS_VM_T.19* %_rtXdot_696, i32 0, i32 53
  store double %_rtB__fuelflow2, double* %850, align 1
  %_rtX_697 = load %X_REVS_VM_T.18** %_rtX_, align 1
  %851 = getelementptr inbounds %X_REVS_VM_T.18* %_rtX_697, i32 0, i32 54
  %_rtX__Integrator1_CSTATE_od = load double* %851, align 1
  %_rtP_698 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %852 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_698, i32 0, i32 1050
  %_rtP__Integrator1_LowerSat_c = load double* %852, align 1
  %853 = fcmp ole double %_rtX__Integrator1_CSTATE_od, %_rtP__Integrator1_LowerSat_c
  %854 = zext i1 %853 to i8
  store i8 %854, i8* %lsat_, align 1
  %_rtX__Integrator1_CSTATE_od700 = load double* %851, align 1
  %855 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_698, i32 0, i32 1049
  %_rtP__Integrator1_UpperSat_h3 = load double* %855, align 1
  %856 = fcmp oge double %_rtX__Integrator1_CSTATE_od700, %_rtP__Integrator1_UpperSat_h3
  %857 = zext i1 %856 to i8
  store i8 %857, i8* %usat_, align 1
  %858 = and i8 %854, 1
  %859 = icmp eq i8 %858, 0
  %860 = xor i1 %856, true
  %861 = and i1 %859, %860
  %862 = icmp ne i8 %858, 0
  %_rtB_705 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %863 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_705, i32 0, i32 440
  %_rtB__DataTypeConversion2_h = load double* %863, align 1
  %864 = fcmp ogt double %_rtB__DataTypeConversion2_h, 0.000000e+00
  %865 = and i1 %862, %864
  %866 = or i1 %861, %865
  %867 = and i8 %857, 1
  %868 = icmp ne i8 %867, 0
  %869 = fcmp olt double %_rtB__DataTypeConversion2_h, 0.000000e+00
  %870 = and i1 %868, %869
  %871 = or i1 %866, %870
  %_rtXdot_712 = load %XDot_REVS_VM_T.19** %_rtXdot_, align 1
  %872 = getelementptr inbounds %XDot_REVS_VM_T.19* %_rtXdot_712, i32 0, i32 54
  br i1 %871, label %true81, label %false82

merge169:                                         ; preds = %true81, %false82
  %_rtB_713 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %873 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_713, i32 0, i32 779
  %_rtB__LogicalOperator_o = load i8* %873, align 1
  %874 = and i8 %_rtB__LogicalOperator_o, 1
  %875 = icmp eq i8 %874, 0
  br i1 %875, label %true83, label %false84

merge170:                                         ; preds = %true83, %false84
  %_rtXdot_717 = load %XDot_REVS_VM_T.19** %_rtXdot_, align 1
  %876 = getelementptr inbounds %XDot_REVS_VM_T.19* %_rtXdot_717, i32 0, i32 56, i32 0
  %877 = bitcast double* %876 to i8*
  %_rtB_718 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %878 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_718, i32 0, i32 472, i32 0
  %879 = bitcast double* %878 to i8*
  %880 = call i8* @memcpy(i8* %877, i8* %879, i32 mul (i32 ptrtoint (double* getelementptr (double* null, i32 1) to i32), i32 10))
  %_rtB_719 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %881 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_719, i32 0, i32 471
  %_rtB__Gain_cu = load double* %881, align 1
  %_rtXdot_720 = load %XDot_REVS_VM_T.19** %_rtXdot_, align 1
  %882 = getelementptr inbounds %XDot_REVS_VM_T.19* %_rtXdot_720, i32 0, i32 57
  store double %_rtB__Gain_cu, double* %882, align 1
  %_rtDW_721 = load %DW_REVS_VM_T.16** %_rtDW_, align 1
  %883 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_721, i32 0, i32 1054
  %_rtDW__Subsystem_MODE_d = load i8* %883, align 1
  %884 = and i8 %_rtDW__Subsystem_MODE_d, 1
  %885 = icmp eq i8 %884, 0
  br i1 %885, label %false86, label %true85

merge171:                                         ; preds = %true85, %false86
  %_rtDW_728 = load %DW_REVS_VM_T.16** %_rtDW_, align 1
  %886 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_728, i32 0, i32 1055
  %_rtDW__Subsystem_MODE_a = load i8* %886, align 1
  %887 = and i8 %_rtDW__Subsystem_MODE_a, 1
  %888 = icmp eq i8 %887, 0
  br i1 %888, label %false88, label %true87

merge172:                                         ; preds = %true89, %false90
  %_rtDW_742 = load %DW_REVS_VM_T.16** %_rtDW_, align 1
  %889 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_742, i32 0, i32 1066
  %_rtDW__Subsystem_MODE_gq = load i8* %889, align 1
  %890 = and i8 %_rtDW__Subsystem_MODE_gq, 1
  %891 = icmp eq i8 %890, 0
  br i1 %891, label %false92, label %true91

merge174:                                         ; preds = %false92, %true91, %false88
  %_rtDW_749 = load %DW_REVS_VM_T.16** %_rtDW_, align 1
  %892 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_749, i32 0, i32 1056
  %_rtDW__Subsystem_MODE_a0 = load i8* %892, align 1
  %893 = and i8 %_rtDW__Subsystem_MODE_a0, 1
  %894 = icmp eq i8 %893, 0
  br i1 %894, label %false94, label %true93

merge175:                                         ; preds = %true95, %false96
  %_rtDW_764 = load %DW_REVS_VM_T.16** %_rtDW_, align 1
  %895 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_764, i32 0, i32 1064
  %_rtDW__Subsystem_MODE_pj = load i8* %895, align 1
  %896 = and i8 %_rtDW__Subsystem_MODE_pj, 1
  %897 = icmp eq i8 %896, 0
  br i1 %897, label %false98, label %true97

merge176:                                         ; preds = %true99, %false100
  %"%<tSimStruct>_785" = load i8** %"%<tSimStruct>_", align 1
  %_rtB_786 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %898 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_786, i32 0, i32 869
  %_rtXdot_787 = load %XDot_REVS_VM_T.19** %_rtXdot_, align 1
  %899 = getelementptr inbounds %XDot_REVS_VM_T.19* %_rtXdot_787, i32 0, i32 84
  call void @REVS_VM_MechEnergyNmps_ForcingFunction(i8* %"%<tSimStruct>_785", %B_MechEnergyNmps_REVS_VM_T.8* %898, %XDot_MechEnergyNmps_REVS_VM_T.9* %899)
  br label %merge178

merge178:                                         ; preds = %false98, %merge176, %false94
  %_rtDW_788 = load %DW_REVS_VM_T.16** %_rtDW_, align 1
  %900 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_788, i32 0, i32 1057
  %_rtDW__Subsystem_MODE_ac = load i8* %900, align 1
  %901 = and i8 %_rtDW__Subsystem_MODE_ac, 1
  %902 = icmp eq i8 %901, 0
  br i1 %902, label %false102, label %true101

merge179:                                         ; preds = %true103, %false104
  %"%<tSimStruct>_810" = load i8** %"%<tSimStruct>_", align 1
  %_rtB_811 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %903 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_811, i32 0, i32 868
  %_rtXdot_812 = load %XDot_REVS_VM_T.19** %_rtXdot_, align 1
  %904 = getelementptr inbounds %XDot_REVS_VM_T.19* %_rtXdot_812, i32 0, i32 82
  call void @REVS_VM_MechEnergyNmps_ForcingFunction(i8* %"%<tSimStruct>_810", %B_MechEnergyNmps_REVS_VM_T.8* %903, %XDot_MechEnergyNmps_REVS_VM_T.9* %904)
  br label %merge180

merge180:                                         ; preds = %merge179, %false102
  %_rtX_813 = load %X_REVS_VM_T.18** %_rtX_, align 1
  %905 = getelementptr inbounds %X_REVS_VM_T.18* %_rtX_813, i32 0, i32 58
  %_rtX__Integrator_CSTATE_h = load double* %905, align 1
  %_rtP_814 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %906 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_814, i32 0, i32 1202
  %_rtP__Integrator_LowerSat_a = load double* %906, align 1
  %907 = fcmp ole double %_rtX__Integrator_CSTATE_h, %_rtP__Integrator_LowerSat_a
  %908 = zext i1 %907 to i8
  store i8 %908, i8* %lsat_, align 1
  %_rtX__Integrator_CSTATE_h816 = load double* %905, align 1
  %909 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_814, i32 0, i32 1201
  %_rtP__Integrator_UpperSat_e = load double* %909, align 1
  %910 = fcmp oge double %_rtX__Integrator_CSTATE_h816, %_rtP__Integrator_UpperSat_e
  %911 = zext i1 %910 to i8
  store i8 %911, i8* %usat_, align 1
  %_rtB_818 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %912 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_818, i32 0, i32 820
  %_rtB__Compare_mo0 = load i8* %912, align 1
  %913 = and i8 %_rtB__Compare_mo0, 1
  %914 = icmp eq i8 %913, 0
  %915 = or i8 %911, %908
  %916 = and i8 %915, 1
  %917 = icmp eq i8 %916, 0
  %918 = and i8 %908, 1
  %919 = icmp ne i8 %918, 0
  %920 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_818, i32 0, i32 523
  %_rtB__speederrortointegralcontrol = load double* %920, align 1
  %921 = fcmp ogt double %_rtB__speederrortointegralcontrol, 0.000000e+00
  %922 = and i1 %919, %921
  %923 = or i1 %917, %922
  %924 = and i8 %911, 1
  %925 = icmp ne i8 %924, 0
  %926 = fcmp olt double %_rtB__speederrortointegralcontrol, 0.000000e+00
  %927 = and i1 %925, %926
  %928 = or i1 %923, %927
  %929 = and i1 %914, %928
  %_rtXdot_829 = load %XDot_REVS_VM_T.19** %_rtXdot_, align 1
  %930 = getelementptr inbounds %XDot_REVS_VM_T.19* %_rtXdot_829, i32 0, i32 58
  br i1 %929, label %true105, label %false106

merge181:                                         ; preds = %true105, %false106
  %_rtB_830 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %931 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_830, i32 0, i32 517
  %_rtB__DataTypeConversion_is = load double* %931, align 1
  %_rtXdot_831 = load %XDot_REVS_VM_T.19** %_rtXdot_, align 1
  %932 = getelementptr inbounds %XDot_REVS_VM_T.19* %_rtXdot_831, i32 0, i32 60
  store double %_rtB__DataTypeConversion_is, double* %932, align 1
  %_rtB_832 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %933 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_832, i32 0, i32 528
  %_rtB__DataTypeConversion_j = load double* %933, align 1
  %_rtXdot_833 = load %XDot_REVS_VM_T.19** %_rtXdot_, align 1
  %934 = getelementptr inbounds %XDot_REVS_VM_T.19* %_rtXdot_833, i32 0, i32 61
  store double %_rtB__DataTypeConversion_j, double* %934, align 1
  %_rtB_834 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %935 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_834, i32 0, i32 503
  %_rtB__drivecycle = load double* %935, align 1
  %_rtXdot_835 = load %XDot_REVS_VM_T.19** %_rtXdot_, align 1
  %936 = getelementptr inbounds %XDot_REVS_VM_T.19* %_rtXdot_835, i32 0, i32 63
  store double %_rtB__drivecycle, double* %936, align 1
  %_rtXdot_836 = load %XDot_REVS_VM_T.19** %_rtXdot_, align 1
  %937 = getelementptr inbounds %XDot_REVS_VM_T.19* %_rtXdot_836, i32 0, i32 59, i32 0
  %938 = bitcast double* %937 to i8*
  %_rtB_837 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %939 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_837, i32 0, i32 518, i32 0
  %940 = bitcast double* %939 to i8*
  %941 = call i8* @memcpy(i8* %938, i8* %940, i32 mul (i32 ptrtoint (double* getelementptr (double* null, i32 1) to i32), i32 10))
  %_rtXdot_838 = load %XDot_REVS_VM_T.19** %_rtXdot_, align 1
  %942 = getelementptr inbounds %XDot_REVS_VM_T.19* %_rtXdot_838, i32 0, i32 62, i32 0
  %943 = bitcast double* %942 to i8*
  %_rtB_839 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %944 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_839, i32 0, i32 534, i32 0
  %945 = bitcast double* %944 to i8*
  %946 = call i8* @memcpy(i8* %943, i8* %945, i32 mul (i32 ptrtoint (double* getelementptr (double* null, i32 1) to i32), i32 10))
  %_rtXdot_840 = load %XDot_REVS_VM_T.19** %_rtXdot_, align 1
  %947 = getelementptr inbounds %XDot_REVS_VM_T.19* %_rtXdot_840, i32 0, i32 64, i32 0
  %948 = bitcast double* %947 to i8*
  %_rtB_841 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %949 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_841, i32 0, i32 172, i32 0
  %950 = bitcast double* %949 to i8*
  %951 = call i8* @memcpy(i8* %948, i8* %950, i32 mul (i32 ptrtoint (double* getelementptr (double* null, i32 1) to i32), i32 10))
  %_rtB_842 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %952 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_842, i32 0, i32 537
  %_rtB__Constant_fm = load double* %952, align 1
  %_rtXdot_843 = load %XDot_REVS_VM_T.19** %_rtXdot_, align 1
  %953 = getelementptr inbounds %XDot_REVS_VM_T.19* %_rtXdot_843, i32 0, i32 65
  store double %_rtB__Constant_fm, double* %953, align 1
  %_rtDW_844 = load %DW_REVS_VM_T.16** %_rtDW_, align 1
  %954 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_844, i32 0, i32 1058
  %_rtDW__Subsystem_MODE_io = load i8* %954, align 1
  %955 = and i8 %_rtDW__Subsystem_MODE_io, 1
  %956 = icmp eq i8 %955, 0
  br i1 %956, label %false108, label %true107

merge182:                                         ; preds = %true109, %false110
  %"%<tSimStruct>_866" = load i8** %"%<tSimStruct>_", align 1
  %_rtB_867 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %957 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_867, i32 0, i32 867
  %_rtXdot_868 = load %XDot_REVS_VM_T.19** %_rtXdot_, align 1
  %958 = getelementptr inbounds %XDot_REVS_VM_T.19* %_rtXdot_868, i32 0, i32 80
  call void @REVS_VM_MechEnergyNmps_ForcingFunction(i8* %"%<tSimStruct>_866", %B_MechEnergyNmps_REVS_VM_T.8* %957, %XDot_MechEnergyNmps_REVS_VM_T.9* %958)
  br label %merge183

merge183:                                         ; preds = %merge182, %false108
  %_rtDW_869 = load %DW_REVS_VM_T.16** %_rtDW_, align 1
  %959 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_869, i32 0, i32 1059
  %_rtDW__Subsystem_MODE_fx = load i8* %959, align 1
  %960 = and i8 %_rtDW__Subsystem_MODE_fx, 1
  %961 = icmp eq i8 %960, 0
  br i1 %961, label %false112, label %true111

merge184:                                         ; preds = %true113, %false114
  %"%<tSimStruct>_891" = load i8** %"%<tSimStruct>_", align 1
  %_rtB_892 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %962 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_892, i32 0, i32 866
  %_rtXdot_893 = load %XDot_REVS_VM_T.19** %_rtXdot_, align 1
  %963 = getelementptr inbounds %XDot_REVS_VM_T.19* %_rtXdot_893, i32 0, i32 78
  call void @REVS_VM_MechEnergyNmps_ForcingFunction(i8* %"%<tSimStruct>_891", %B_MechEnergyNmps_REVS_VM_T.8* %962, %XDot_MechEnergyNmps_REVS_VM_T.9* %963)
  br label %merge185

merge185:                                         ; preds = %merge184, %false112
  %_rtDW_894 = load %DW_REVS_VM_T.16** %_rtDW_, align 1
  %964 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_894, i32 0, i32 1060
  %_rtDW__Subsystem_MODE_mh = load i8* %964, align 1
  %965 = and i8 %_rtDW__Subsystem_MODE_mh, 1
  %966 = icmp eq i8 %965, 0
  br i1 %966, label %false116, label %true115

merge186:                                         ; preds = %true117, %false118
  %"%<tSimStruct>_916" = load i8** %"%<tSimStruct>_", align 1
  %_rtB_917 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %967 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_917, i32 0, i32 865
  %_rtXdot_918 = load %XDot_REVS_VM_T.19** %_rtXdot_, align 1
  %968 = getelementptr inbounds %XDot_REVS_VM_T.19* %_rtXdot_918, i32 0, i32 76
  call void @REVS_VM_MechEnergyNmps_ForcingFunction(i8* %"%<tSimStruct>_916", %B_MechEnergyNmps_REVS_VM_T.8* %967, %XDot_MechEnergyNmps_REVS_VM_T.9* %968)
  br label %merge187

merge187:                                         ; preds = %merge186, %false116
  %_rtDW_919 = load %DW_REVS_VM_T.16** %_rtDW_, align 1
  %969 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_919, i32 0, i32 1061
  %_rtDW__Subsystem_MODE_pn = load i8* %969, align 1
  %970 = and i8 %_rtDW__Subsystem_MODE_pn, 1
  %971 = icmp eq i8 %970, 0
  br i1 %971, label %false120, label %true119

merge188:                                         ; preds = %true121, %false122
  %"%<tSimStruct>_941" = load i8** %"%<tSimStruct>_", align 1
  %_rtB_942 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %972 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_942, i32 0, i32 864
  %_rtXdot_943 = load %XDot_REVS_VM_T.19** %_rtXdot_, align 1
  %973 = getelementptr inbounds %XDot_REVS_VM_T.19* %_rtXdot_943, i32 0, i32 74
  call void @REVS_VM_MechEnergyNmps_ForcingFunction(i8* %"%<tSimStruct>_941", %B_MechEnergyNmps_REVS_VM_T.8* %972, %XDot_MechEnergyNmps_REVS_VM_T.9* %973)
  br label %merge189

merge189:                                         ; preds = %merge188, %false120
  %_rtDW_944 = load %DW_REVS_VM_T.16** %_rtDW_, align 1
  %974 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_944, i32 0, i32 1062
  %_rtDW__Subsystem_MODE_k3 = load i8* %974, align 1
  %975 = and i8 %_rtDW__Subsystem_MODE_k3, 1
  %976 = icmp eq i8 %975, 0
  br i1 %976, label %false124, label %true123

merge190:                                         ; preds = %true125, %false126
  %"%<tSimStruct>_966" = load i8** %"%<tSimStruct>_", align 1
  %_rtB_967 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %977 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_967, i32 0, i32 863
  %_rtXdot_968 = load %XDot_REVS_VM_T.19** %_rtXdot_, align 1
  %978 = getelementptr inbounds %XDot_REVS_VM_T.19* %_rtXdot_968, i32 0, i32 72
  call void @REVS_VM_MechEnergyNmps_ForcingFunction(i8* %"%<tSimStruct>_966", %B_MechEnergyNmps_REVS_VM_T.8* %977, %XDot_MechEnergyNmps_REVS_VM_T.9* %978)
  br label %merge191

merge191:                                         ; preds = %merge190, %false124
  %_rtB_969 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %979 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_969, i32 0, i32 44
  %_rtB__Integrator_d970 = load double* %979, align 1
  %_rtXdot_971 = load %XDot_REVS_VM_T.19** %_rtXdot_, align 1
  %980 = getelementptr inbounds %XDot_REVS_VM_T.19* %_rtXdot_971, i32 0, i32 67
  store double %_rtB__Integrator_d970, double* %980, align 1
  %_rtXdot_972 = load %XDot_REVS_VM_T.19** %_rtXdot_, align 1
  %981 = getelementptr inbounds %XDot_REVS_VM_T.19* %_rtXdot_972, i32 0, i32 66, i32 0
  %982 = bitcast double* %981 to i8*
  %_rtB_973 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %983 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_973, i32 0, i32 564, i32 0
  %984 = bitcast double* %983 to i8*
  %985 = call i8* @memcpy(i8* %982, i8* %984, i32 mul (i32 ptrtoint (double* getelementptr (double* null, i32 1) to i32), i32 10))
  %_rtXdot_974 = load %XDot_REVS_VM_T.19** %_rtXdot_, align 1
  %986 = getelementptr inbounds %XDot_REVS_VM_T.19* %_rtXdot_974, i32 0, i32 68, i32 0
  %987 = bitcast double* %986 to i8*
  %_rtB_975 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %988 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_975, i32 0, i32 569, i32 0
  %989 = bitcast double* %988 to i8*
  %990 = call i8* @memcpy(i8* %987, i8* %989, i32 mul (i32 ptrtoint (double* getelementptr (double* null, i32 1) to i32), i32 10))
  %_rtB_976 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %991 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_976, i32 0, i32 568
  %_rtB__DataTypeConversion_p = load double* %991, align 1
  %_rtXdot_977 = load %XDot_REVS_VM_T.19** %_rtXdot_, align 1
  %992 = getelementptr inbounds %XDot_REVS_VM_T.19* %_rtXdot_977, i32 0, i32 69
  store double %_rtB__DataTypeConversion_p, double* %992, align 1
  %_rtX_978 = load %X_REVS_VM_T.18** %_rtX_, align 1
  %993 = getelementptr inbounds %X_REVS_VM_T.18* %_rtX_978, i32 0, i32 70
  %_rtX__Integrator1_CSTATE_ic = load double* %993, align 1
  %_rtP_979 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %994 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_979, i32 0, i32 1317
  %_rtP__Integrator1_LowerSat_p = load double* %994, align 1
  %995 = fcmp ole double %_rtX__Integrator1_CSTATE_ic, %_rtP__Integrator1_LowerSat_p
  %996 = zext i1 %995 to i8
  store i8 %996, i8* %lsat_, align 1
  %_rtX__Integrator1_CSTATE_ic981 = load double* %993, align 1
  %997 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_979, i32 0, i32 1316
  %_rtP__Integrator1_UpperSat_gv = load double* %997, align 1
  %998 = fcmp oge double %_rtX__Integrator1_CSTATE_ic981, %_rtP__Integrator1_UpperSat_gv
  %999 = zext i1 %998 to i8
  store i8 %999, i8* %usat_, align 1
  %1000 = and i8 %996, 1
  %1001 = icmp eq i8 %1000, 0
  %1002 = xor i1 %998, true
  %1003 = and i1 %1001, %1002
  %1004 = icmp ne i8 %1000, 0
  %_rtB_986 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %1005 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_986, i32 0, i32 44
  %_rtB__Integrator_d987 = load double* %1005, align 1
  %1006 = fcmp ogt double %_rtB__Integrator_d987, 0.000000e+00
  %1007 = and i1 %1004, %1006
  %1008 = or i1 %1003, %1007
  %1009 = and i8 %999, 1
  %1010 = icmp ne i8 %1009, 0
  %1011 = fcmp olt double %_rtB__Integrator_d987, 0.000000e+00
  %1012 = and i1 %1010, %1011
  %1013 = or i1 %1008, %1012
  %_rtXdot_994 = load %XDot_REVS_VM_T.19** %_rtXdot_, align 1
  %1014 = getelementptr inbounds %XDot_REVS_VM_T.19* %_rtXdot_994, i32 0, i32 70
  br i1 %1013, label %true127, label %false128

merge192:                                         ; preds = %true127, %false128
  ret void
}

declare i8* @vm_ssGetRootDWork(i8*)

declare i8* @vm_ssGetdX(i8*)

declare i8* @vm_ssGetX(i8*)

declare i8* @memcpy(i8*, i8*, i32)

define void @Derivatives(i8* %"%<tSimStruct>") {
Derivatives_entry:
  %"%<tSimStruct>_" = alloca i8*
  store i8* %"%<tSimStruct>", i8** %"%<tSimStruct>_", align 1
  %lsat_ = alloca i8
  %usat_ = alloca i8
  %_rtB_ = alloca %B_REVS_VM_T.12*
  %_rtP_ = alloca %P_REVS_VM_T.17*
  %_rtX_ = alloca %X_REVS_VM_T.18*
  %_rtXdot_ = alloca %XDot_REVS_VM_T.19*
  %_rtDW_ = alloca %DW_REVS_VM_T.16*
  %0 = call i8* @vm_ssGetRootDWork(i8* %"%<tSimStruct>")
  %1 = bitcast i8* %0 to %DW_REVS_VM_T.16*
  store %DW_REVS_VM_T.16* %1, %DW_REVS_VM_T.16** %_rtDW_, align 1
  %"%<tSimStruct>_194" = load i8** %"%<tSimStruct>_", align 1
  %2 = call i8* @vm_ssGetdX(i8* %"%<tSimStruct>_194")
  %3 = bitcast i8* %2 to %XDot_REVS_VM_T.19*
  store %XDot_REVS_VM_T.19* %3, %XDot_REVS_VM_T.19** %_rtXdot_, align 1
  %"%<tSimStruct>_195" = load i8** %"%<tSimStruct>_", align 1
  %4 = call i8* @vm_ssGetX(i8* %"%<tSimStruct>_195")
  %5 = bitcast i8* %4 to %X_REVS_VM_T.18*
  store %X_REVS_VM_T.18* %5, %X_REVS_VM_T.18** %_rtX_, align 1
  %"%<tSimStruct>_196" = load i8** %"%<tSimStruct>_", align 1
  %6 = call i8* @vm_ssGetModelRtp(i8* %"%<tSimStruct>_196")
  %7 = bitcast i8* %6 to %P_REVS_VM_T.17*
  store %P_REVS_VM_T.17* %7, %P_REVS_VM_T.17** %_rtP_, align 1
  %"%<tSimStruct>_197" = load i8** %"%<tSimStruct>_", align 1
  %8 = call i8* @vm__ssGetModelBlockIO(i8* %"%<tSimStruct>_197")
  %9 = bitcast i8* %8 to %B_REVS_VM_T.12*
  store %B_REVS_VM_T.12* %9, %B_REVS_VM_T.12** %_rtB_, align 1
  %_rtX_198 = load %X_REVS_VM_T.18** %_rtX_, align 1
  %10 = getelementptr inbounds %X_REVS_VM_T.18* %_rtX_198, i32 0, i32 0
  %_rtX__Integrator_CSTATE = load double* %10, align 1
  %_rtP_199 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %11 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_199, i32 0, i32 164
  %_rtP__Integrator_LowerSat = load double* %11, align 1
  %12 = fcmp ole double %_rtX__Integrator_CSTATE, %_rtP__Integrator_LowerSat
  %13 = zext i1 %12 to i8
  store i8 %13, i8* %lsat_, align 1
  %_rtX__Integrator_CSTATE201 = load double* %10, align 1
  %14 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_199, i32 0, i32 163
  %_rtP__Integrator_UpperSat = load double* %14, align 1
  %15 = fcmp oge double %_rtX__Integrator_CSTATE201, %_rtP__Integrator_UpperSat
  %16 = zext i1 %15 to i8
  store i8 %16, i8* %usat_, align 1
  %17 = and i8 %13, 1
  %18 = icmp eq i8 %17, 0
  %19 = xor i1 %15, true
  %20 = and i1 %18, %19
  %21 = icmp ne i8 %17, 0
  %22 = getelementptr inbounds %B_REVS_VM_T.12* %9, i32 0, i32 162
  %_rtB__NegativeGain1 = load double* %22, align 1
  %23 = fcmp ogt double %_rtB__NegativeGain1, 0.000000e+00
  %24 = and i1 %21, %23
  %25 = or i1 %20, %24
  %26 = and i8 %16, 1
  %27 = icmp ne i8 %26, 0
  %28 = fcmp olt double %_rtB__NegativeGain1, 0.000000e+00
  %29 = and i1 %27, %28
  %30 = or i1 %25, %29
  %_rtXdot_213 = load %XDot_REVS_VM_T.19** %_rtXdot_, align 1
  %31 = getelementptr inbounds %XDot_REVS_VM_T.19* %_rtXdot_213, i32 0, i32 0
  br i1 %30, label %true, label %false

true:                                             ; preds = %Derivatives_entry
  store double %_rtB__NegativeGain1, double* %31, align 1
  br label %merge

false:                                            ; preds = %Derivatives_entry
  store double 0.000000e+00, double* %31, align 1
  br label %merge

true1:                                            ; preds = %merge
  %"%<tSimStruct>_222" = load i8** %"%<tSimStruct>_", align 1
  %_rtB_223 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %32 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_223, i32 0, i32 898
  %_rtXdot_224 = load %XDot_REVS_VM_T.19** %_rtXdot_, align 1
  %33 = getelementptr inbounds %XDot_REVS_VM_T.19* %_rtXdot_224, i32 0, i32 113
  call void @REVS_VM_ElecEnergyVA_Deriv(i8* %"%<tSimStruct>_222", %B_ElecEnergyVA_REVS_VM_T.0* %32, %XDot_ElecEnergyVA_REVS_VM_T.1* %33)
  br label %merge129

false2:                                           ; preds = %merge
  %_rtXdot_219 = load %XDot_REVS_VM_T.19** %_rtXdot_, align 1
  %34 = getelementptr inbounds %XDot_REVS_VM_T.19* %_rtXdot_219, i32 0, i32 113, i32 0
  store double 0.000000e+00, double* %34, align 1
  %_rtXdot_220 = load %XDot_REVS_VM_T.19** %_rtXdot_, align 1
  %35 = getelementptr inbounds %XDot_REVS_VM_T.19* %_rtXdot_220, i32 0, i32 113, i32 1
  store double 0.000000e+00, double* %35, align 1
  %_rtXdot_221 = load %XDot_REVS_VM_T.19** %_rtXdot_, align 1
  %36 = getelementptr inbounds %XDot_REVS_VM_T.19* %_rtXdot_221, i32 0, i32 113, i32 2
  store double 0.000000e+00, double* %36, align 1
  br label %merge129

true3:                                            ; preds = %merge129
  store double %_rtB__Product_f, double* %448, align 1
  br label %merge130

false4:                                           ; preds = %merge129
  store double 0.000000e+00, double* %448, align 1
  br label %merge130

true5:                                            ; preds = %merge130
  store double %_rtB__DataTypeConversion2, double* %476, align 1
  br label %merge131

false6:                                           ; preds = %merge130
  store double 0.000000e+00, double* %476, align 1
  br label %merge131

true7:                                            ; preds = %merge131
  store double %_rtB__Product2, double* %498, align 1
  br label %merge132

false8:                                           ; preds = %merge131
  store double 0.000000e+00, double* %498, align 1
  br label %merge132

true9:                                            ; preds = %merge132
  store double %_rtB__DataTypeConversion2_d, double* %520, align 1
  br label %merge133

false10:                                          ; preds = %merge132
  store double 0.000000e+00, double* %520, align 1
  br label %merge133

true11:                                           ; preds = %merge133
  store double %_rtB__Product6, double* %542, align 1
  br label %merge134

false12:                                          ; preds = %merge133
  store double 0.000000e+00, double* %542, align 1
  br label %merge134

true13:                                           ; preds = %merge134
  %"%<tSimStruct>_318" = load i8** %"%<tSimStruct>_", align 1
  %_rtB_319 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %37 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_319, i32 0, i32 897
  %_rtXdot_320 = load %XDot_REVS_VM_T.19** %_rtXdot_, align 1
  %38 = getelementptr inbounds %XDot_REVS_VM_T.19* %_rtXdot_320, i32 0, i32 112
  call void @REVS_VM_MechEnergyNmradps_Deriv(i8* %"%<tSimStruct>_318", %B_MechEnergyNmradps_REVS_VM_T.4* %37, %XDot_MechEnergyNmradps_REVS_VM_T.5* %38)
  br label %merge135

false14:                                          ; preds = %merge134
  %_rtXdot_315 = load %XDot_REVS_VM_T.19** %_rtXdot_, align 1
  %39 = getelementptr inbounds %XDot_REVS_VM_T.19* %_rtXdot_315, i32 0, i32 112, i32 0
  store double 0.000000e+00, double* %39, align 1
  %_rtXdot_316 = load %XDot_REVS_VM_T.19** %_rtXdot_, align 1
  %40 = getelementptr inbounds %XDot_REVS_VM_T.19* %_rtXdot_316, i32 0, i32 112, i32 1
  store double 0.000000e+00, double* %40, align 1
  %_rtXdot_317 = load %XDot_REVS_VM_T.19** %_rtXdot_, align 1
  %41 = getelementptr inbounds %XDot_REVS_VM_T.19* %_rtXdot_317, i32 0, i32 112, i32 2
  store double 0.000000e+00, double* %41, align 1
  br label %merge135

true15:                                           ; preds = %merge135
  %"%<tSimStruct>_325" = load i8** %"%<tSimStruct>_", align 1
  %_rtB_326 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %42 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_326, i32 0, i32 896
  %_rtXdot_327 = load %XDot_REVS_VM_T.19** %_rtXdot_, align 1
  %43 = getelementptr inbounds %XDot_REVS_VM_T.19* %_rtXdot_327, i32 0, i32 111
  call void @REVS_VM_ElecEnergyVA_Deriv(i8* %"%<tSimStruct>_325", %B_ElecEnergyVA_REVS_VM_T.0* %42, %XDot_ElecEnergyVA_REVS_VM_T.1* %43)
  br label %merge136

false16:                                          ; preds = %merge135
  %_rtXdot_322 = load %XDot_REVS_VM_T.19** %_rtXdot_, align 1
  %44 = getelementptr inbounds %XDot_REVS_VM_T.19* %_rtXdot_322, i32 0, i32 111, i32 0
  store double 0.000000e+00, double* %44, align 1
  %_rtXdot_323 = load %XDot_REVS_VM_T.19** %_rtXdot_, align 1
  %45 = getelementptr inbounds %XDot_REVS_VM_T.19* %_rtXdot_323, i32 0, i32 111, i32 1
  store double 0.000000e+00, double* %45, align 1
  %_rtXdot_324 = load %XDot_REVS_VM_T.19** %_rtXdot_, align 1
  %46 = getelementptr inbounds %XDot_REVS_VM_T.19* %_rtXdot_324, i32 0, i32 111, i32 2
  store double 0.000000e+00, double* %46, align 1
  br label %merge136

true17:                                           ; preds = %merge136
  %"%<tSimStruct>_332" = load i8** %"%<tSimStruct>_", align 1
  %_rtB_333 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %47 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_333, i32 0, i32 895
  %_rtXdot_334 = load %XDot_REVS_VM_T.19** %_rtXdot_, align 1
  %48 = getelementptr inbounds %XDot_REVS_VM_T.19* %_rtXdot_334, i32 0, i32 110
  call void @REVS_VM_MechEnergyNmradps_Deriv(i8* %"%<tSimStruct>_332", %B_MechEnergyNmradps_REVS_VM_T.4* %47, %XDot_MechEnergyNmradps_REVS_VM_T.5* %48)
  br label %merge137

false18:                                          ; preds = %merge136
  %_rtXdot_329 = load %XDot_REVS_VM_T.19** %_rtXdot_, align 1
  %49 = getelementptr inbounds %XDot_REVS_VM_T.19* %_rtXdot_329, i32 0, i32 110, i32 0
  store double 0.000000e+00, double* %49, align 1
  %_rtXdot_330 = load %XDot_REVS_VM_T.19** %_rtXdot_, align 1
  %50 = getelementptr inbounds %XDot_REVS_VM_T.19* %_rtXdot_330, i32 0, i32 110, i32 1
  store double 0.000000e+00, double* %50, align 1
  %_rtXdot_331 = load %XDot_REVS_VM_T.19** %_rtXdot_, align 1
  %51 = getelementptr inbounds %XDot_REVS_VM_T.19* %_rtXdot_331, i32 0, i32 110, i32 2
  store double 0.000000e+00, double* %51, align 1
  br label %merge137

true19:                                           ; preds = %merge137
  %"%<tSimStruct>_339" = load i8** %"%<tSimStruct>_", align 1
  %_rtB_340 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %52 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_340, i32 0, i32 894
  %_rtXdot_341 = load %XDot_REVS_VM_T.19** %_rtXdot_, align 1
  %53 = getelementptr inbounds %XDot_REVS_VM_T.19* %_rtXdot_341, i32 0, i32 109
  call void @REVS_VM_ElecEnergyVA_Deriv(i8* %"%<tSimStruct>_339", %B_ElecEnergyVA_REVS_VM_T.0* %52, %XDot_ElecEnergyVA_REVS_VM_T.1* %53)
  br label %merge138

false20:                                          ; preds = %merge137
  %_rtXdot_336 = load %XDot_REVS_VM_T.19** %_rtXdot_, align 1
  %54 = getelementptr inbounds %XDot_REVS_VM_T.19* %_rtXdot_336, i32 0, i32 109, i32 0
  store double 0.000000e+00, double* %54, align 1
  %_rtXdot_337 = load %XDot_REVS_VM_T.19** %_rtXdot_, align 1
  %55 = getelementptr inbounds %XDot_REVS_VM_T.19* %_rtXdot_337, i32 0, i32 109, i32 1
  store double 0.000000e+00, double* %55, align 1
  %_rtXdot_338 = load %XDot_REVS_VM_T.19** %_rtXdot_, align 1
  %56 = getelementptr inbounds %XDot_REVS_VM_T.19* %_rtXdot_338, i32 0, i32 109, i32 2
  store double 0.000000e+00, double* %56, align 1
  br label %merge138

true21:                                           ; preds = %merge138
  %"%<tSimStruct>_346" = load i8** %"%<tSimStruct>_", align 1
  %_rtB_347 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %57 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_347, i32 0, i32 893
  %_rtXdot_348 = load %XDot_REVS_VM_T.19** %_rtXdot_, align 1
  %58 = getelementptr inbounds %XDot_REVS_VM_T.19* %_rtXdot_348, i32 0, i32 108
  call void @REVS_VM_MechEnergyNmradps_Deriv(i8* %"%<tSimStruct>_346", %B_MechEnergyNmradps_REVS_VM_T.4* %57, %XDot_MechEnergyNmradps_REVS_VM_T.5* %58)
  br label %merge139

false22:                                          ; preds = %merge138
  %_rtXdot_343 = load %XDot_REVS_VM_T.19** %_rtXdot_, align 1
  %59 = getelementptr inbounds %XDot_REVS_VM_T.19* %_rtXdot_343, i32 0, i32 108, i32 0
  store double 0.000000e+00, double* %59, align 1
  %_rtXdot_344 = load %XDot_REVS_VM_T.19** %_rtXdot_, align 1
  %60 = getelementptr inbounds %XDot_REVS_VM_T.19* %_rtXdot_344, i32 0, i32 108, i32 1
  store double 0.000000e+00, double* %60, align 1
  %_rtXdot_345 = load %XDot_REVS_VM_T.19** %_rtXdot_, align 1
  %61 = getelementptr inbounds %XDot_REVS_VM_T.19* %_rtXdot_345, i32 0, i32 108, i32 2
  store double 0.000000e+00, double* %61, align 1
  br label %merge139

true23:                                           ; preds = %merge139
  %"%<tSimStruct>_353" = load i8** %"%<tSimStruct>_", align 1
  %_rtB_354 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %62 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_354, i32 0, i32 892
  %_rtXdot_355 = load %XDot_REVS_VM_T.19** %_rtXdot_, align 1
  %63 = getelementptr inbounds %XDot_REVS_VM_T.19* %_rtXdot_355, i32 0, i32 107
  call void @REVS_VM_ElecEnergyVA_Deriv(i8* %"%<tSimStruct>_353", %B_ElecEnergyVA_REVS_VM_T.0* %62, %XDot_ElecEnergyVA_REVS_VM_T.1* %63)
  br label %merge140

false24:                                          ; preds = %merge139
  %_rtXdot_350 = load %XDot_REVS_VM_T.19** %_rtXdot_, align 1
  %64 = getelementptr inbounds %XDot_REVS_VM_T.19* %_rtXdot_350, i32 0, i32 107, i32 0
  store double 0.000000e+00, double* %64, align 1
  %_rtXdot_351 = load %XDot_REVS_VM_T.19** %_rtXdot_, align 1
  %65 = getelementptr inbounds %XDot_REVS_VM_T.19* %_rtXdot_351, i32 0, i32 107, i32 1
  store double 0.000000e+00, double* %65, align 1
  %_rtXdot_352 = load %XDot_REVS_VM_T.19** %_rtXdot_, align 1
  %66 = getelementptr inbounds %XDot_REVS_VM_T.19* %_rtXdot_352, i32 0, i32 107, i32 2
  store double 0.000000e+00, double* %66, align 1
  br label %merge140

true25:                                           ; preds = %merge140
  %"%<tSimStruct>_360" = load i8** %"%<tSimStruct>_", align 1
  %_rtB_361 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %67 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_361, i32 0, i32 891
  %_rtXdot_362 = load %XDot_REVS_VM_T.19** %_rtXdot_, align 1
  %68 = getelementptr inbounds %XDot_REVS_VM_T.19* %_rtXdot_362, i32 0, i32 106
  call void @REVS_VM_MechEnergyNmradps_Deriv(i8* %"%<tSimStruct>_360", %B_MechEnergyNmradps_REVS_VM_T.4* %67, %XDot_MechEnergyNmradps_REVS_VM_T.5* %68)
  br label %merge141

false26:                                          ; preds = %merge140
  %_rtXdot_357 = load %XDot_REVS_VM_T.19** %_rtXdot_, align 1
  %69 = getelementptr inbounds %XDot_REVS_VM_T.19* %_rtXdot_357, i32 0, i32 106, i32 0
  store double 0.000000e+00, double* %69, align 1
  %_rtXdot_358 = load %XDot_REVS_VM_T.19** %_rtXdot_, align 1
  %70 = getelementptr inbounds %XDot_REVS_VM_T.19* %_rtXdot_358, i32 0, i32 106, i32 1
  store double 0.000000e+00, double* %70, align 1
  %_rtXdot_359 = load %XDot_REVS_VM_T.19** %_rtXdot_, align 1
  %71 = getelementptr inbounds %XDot_REVS_VM_T.19* %_rtXdot_359, i32 0, i32 106, i32 2
  store double 0.000000e+00, double* %71, align 1
  br label %merge141

true27:                                           ; preds = %merge141
  %"%<tSimStruct>_367" = load i8** %"%<tSimStruct>_", align 1
  %_rtB_368 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %72 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_368, i32 0, i32 890
  %_rtXdot_369 = load %XDot_REVS_VM_T.19** %_rtXdot_, align 1
  %73 = getelementptr inbounds %XDot_REVS_VM_T.19* %_rtXdot_369, i32 0, i32 105
  call void @REVS_VM_ElecEnergyVA_Deriv(i8* %"%<tSimStruct>_367", %B_ElecEnergyVA_REVS_VM_T.0* %72, %XDot_ElecEnergyVA_REVS_VM_T.1* %73)
  br label %merge142

false28:                                          ; preds = %merge141
  %_rtXdot_364 = load %XDot_REVS_VM_T.19** %_rtXdot_, align 1
  %74 = getelementptr inbounds %XDot_REVS_VM_T.19* %_rtXdot_364, i32 0, i32 105, i32 0
  store double 0.000000e+00, double* %74, align 1
  %_rtXdot_365 = load %XDot_REVS_VM_T.19** %_rtXdot_, align 1
  %75 = getelementptr inbounds %XDot_REVS_VM_T.19* %_rtXdot_365, i32 0, i32 105, i32 1
  store double 0.000000e+00, double* %75, align 1
  %_rtXdot_366 = load %XDot_REVS_VM_T.19** %_rtXdot_, align 1
  %76 = getelementptr inbounds %XDot_REVS_VM_T.19* %_rtXdot_366, i32 0, i32 105, i32 2
  store double 0.000000e+00, double* %76, align 1
  br label %merge142

true29:                                           ; preds = %merge142
  %"%<tSimStruct>_374" = load i8** %"%<tSimStruct>_", align 1
  %_rtB_375 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %77 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_375, i32 0, i32 889
  %_rtXdot_376 = load %XDot_REVS_VM_T.19** %_rtXdot_, align 1
  %78 = getelementptr inbounds %XDot_REVS_VM_T.19* %_rtXdot_376, i32 0, i32 104
  call void @REVS_VM_MechEnergyNmradps_Deriv(i8* %"%<tSimStruct>_374", %B_MechEnergyNmradps_REVS_VM_T.4* %77, %XDot_MechEnergyNmradps_REVS_VM_T.5* %78)
  br label %merge143

false30:                                          ; preds = %merge142
  %_rtXdot_371 = load %XDot_REVS_VM_T.19** %_rtXdot_, align 1
  %79 = getelementptr inbounds %XDot_REVS_VM_T.19* %_rtXdot_371, i32 0, i32 104, i32 0
  store double 0.000000e+00, double* %79, align 1
  %_rtXdot_372 = load %XDot_REVS_VM_T.19** %_rtXdot_, align 1
  %80 = getelementptr inbounds %XDot_REVS_VM_T.19* %_rtXdot_372, i32 0, i32 104, i32 1
  store double 0.000000e+00, double* %80, align 1
  %_rtXdot_373 = load %XDot_REVS_VM_T.19** %_rtXdot_, align 1
  %81 = getelementptr inbounds %XDot_REVS_VM_T.19* %_rtXdot_373, i32 0, i32 104, i32 2
  store double 0.000000e+00, double* %81, align 1
  br label %merge143

true31:                                           ; preds = %merge143
  store double %_rtB__DataTypeConversion2_k, double* %591, align 1
  br label %merge144

false32:                                          ; preds = %merge143
  store double 0.000000e+00, double* %591, align 1
  br label %merge144

true33:                                           ; preds = %merge144
  store double %_rtB__DataTypeConversion2_j, double* %617, align 1
  br label %merge145

false34:                                          ; preds = %merge144
  store double 0.000000e+00, double* %617, align 1
  br label %merge145

true35:                                           ; preds = %merge145
  %82 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_417, i32 0, i32 1073
  %_rtDW__Subsystem_MODE_jd = load i8* %82, align 1
  %83 = and i8 %_rtDW__Subsystem_MODE_jd, 1
  %84 = icmp eq i8 %83, 0
  br i1 %84, label %false38, label %true37

false36:                                          ; preds = %merge145
  %_rtXdot_418 = load %XDot_REVS_VM_T.19** %_rtXdot_, align 1
  %85 = getelementptr inbounds %XDot_REVS_VM_T.19* %_rtXdot_418, i32 0, i32 103, i32 0
  store double 0.000000e+00, double* %85, align 1
  %_rtXdot_419 = load %XDot_REVS_VM_T.19** %_rtXdot_, align 1
  %86 = getelementptr inbounds %XDot_REVS_VM_T.19* %_rtXdot_419, i32 0, i32 103, i32 1
  store double 0.000000e+00, double* %86, align 1
  %_rtXdot_420 = load %XDot_REVS_VM_T.19** %_rtXdot_, align 1
  %87 = getelementptr inbounds %XDot_REVS_VM_T.19* %_rtXdot_420, i32 0, i32 103, i32 2
  store double 0.000000e+00, double* %87, align 1
  %_rtXdot_421 = load %XDot_REVS_VM_T.19** %_rtXdot_, align 1
  %88 = getelementptr inbounds %XDot_REVS_VM_T.19* %_rtXdot_421, i32 0, i32 102, i32 0
  store double 0.000000e+00, double* %88, align 1
  %_rtXdot_422 = load %XDot_REVS_VM_T.19** %_rtXdot_, align 1
  %89 = getelementptr inbounds %XDot_REVS_VM_T.19* %_rtXdot_422, i32 0, i32 102, i32 1
  store double 0.000000e+00, double* %89, align 1
  %_rtXdot_423 = load %XDot_REVS_VM_T.19** %_rtXdot_, align 1
  %90 = getelementptr inbounds %XDot_REVS_VM_T.19* %_rtXdot_423, i32 0, i32 102, i32 2
  store double 0.000000e+00, double* %90, align 1
  br label %merge148

true37:                                           ; preds = %true35
  %"%<tSimStruct>_428" = load i8** %"%<tSimStruct>_", align 1
  %_rtB_429 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %91 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_429, i32 0, i32 888
  %_rtXdot_430 = load %XDot_REVS_VM_T.19** %_rtXdot_, align 1
  %92 = getelementptr inbounds %XDot_REVS_VM_T.19* %_rtXdot_430, i32 0, i32 103
  call void @REVS_VM_ElecEnergyVA_Deriv(i8* %"%<tSimStruct>_428", %B_ElecEnergyVA_REVS_VM_T.0* %91, %XDot_ElecEnergyVA_REVS_VM_T.1* %92)
  br label %merge146

false38:                                          ; preds = %true35
  %_rtXdot_425 = load %XDot_REVS_VM_T.19** %_rtXdot_, align 1
  %93 = getelementptr inbounds %XDot_REVS_VM_T.19* %_rtXdot_425, i32 0, i32 103, i32 0
  store double 0.000000e+00, double* %93, align 1
  %_rtXdot_426 = load %XDot_REVS_VM_T.19** %_rtXdot_, align 1
  %94 = getelementptr inbounds %XDot_REVS_VM_T.19* %_rtXdot_426, i32 0, i32 103, i32 1
  store double 0.000000e+00, double* %94, align 1
  %_rtXdot_427 = load %XDot_REVS_VM_T.19** %_rtXdot_, align 1
  %95 = getelementptr inbounds %XDot_REVS_VM_T.19* %_rtXdot_427, i32 0, i32 103, i32 2
  store double 0.000000e+00, double* %95, align 1
  br label %merge146

true39:                                           ; preds = %merge146
  %"%<tSimStruct>_435" = load i8** %"%<tSimStruct>_", align 1
  %_rtB_436 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %96 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_436, i32 0, i32 887
  %_rtXdot_437 = load %XDot_REVS_VM_T.19** %_rtXdot_, align 1
  %97 = getelementptr inbounds %XDot_REVS_VM_T.19* %_rtXdot_437, i32 0, i32 102
  call void @REVS_VM_MechEnergyNmradps_Deriv(i8* %"%<tSimStruct>_435", %B_MechEnergyNmradps_REVS_VM_T.4* %96, %XDot_MechEnergyNmradps_REVS_VM_T.5* %97)
  br label %merge148

false40:                                          ; preds = %merge146
  %_rtXdot_432 = load %XDot_REVS_VM_T.19** %_rtXdot_, align 1
  %98 = getelementptr inbounds %XDot_REVS_VM_T.19* %_rtXdot_432, i32 0, i32 102, i32 0
  store double 0.000000e+00, double* %98, align 1
  %_rtXdot_433 = load %XDot_REVS_VM_T.19** %_rtXdot_, align 1
  %99 = getelementptr inbounds %XDot_REVS_VM_T.19* %_rtXdot_433, i32 0, i32 102, i32 1
  store double 0.000000e+00, double* %99, align 1
  %_rtXdot_434 = load %XDot_REVS_VM_T.19** %_rtXdot_, align 1
  %100 = getelementptr inbounds %XDot_REVS_VM_T.19* %_rtXdot_434, i32 0, i32 102, i32 2
  store double 0.000000e+00, double* %100, align 1
  br label %merge148

true41:                                           ; preds = %merge148
  %"%<tSimStruct>_442" = load i8** %"%<tSimStruct>_", align 1
  %_rtB_443 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %101 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_443, i32 0, i32 886
  %_rtXdot_444 = load %XDot_REVS_VM_T.19** %_rtXdot_, align 1
  %102 = getelementptr inbounds %XDot_REVS_VM_T.19* %_rtXdot_444, i32 0, i32 101
  call void @REVS_VM_ElecEnergyVA_Deriv(i8* %"%<tSimStruct>_442", %B_ElecEnergyVA_REVS_VM_T.0* %101, %XDot_ElecEnergyVA_REVS_VM_T.1* %102)
  br label %merge149

false42:                                          ; preds = %merge148
  %_rtXdot_439 = load %XDot_REVS_VM_T.19** %_rtXdot_, align 1
  %103 = getelementptr inbounds %XDot_REVS_VM_T.19* %_rtXdot_439, i32 0, i32 101, i32 0
  store double 0.000000e+00, double* %103, align 1
  %_rtXdot_440 = load %XDot_REVS_VM_T.19** %_rtXdot_, align 1
  %104 = getelementptr inbounds %XDot_REVS_VM_T.19* %_rtXdot_440, i32 0, i32 101, i32 1
  store double 0.000000e+00, double* %104, align 1
  %_rtXdot_441 = load %XDot_REVS_VM_T.19** %_rtXdot_, align 1
  %105 = getelementptr inbounds %XDot_REVS_VM_T.19* %_rtXdot_441, i32 0, i32 101, i32 2
  store double 0.000000e+00, double* %105, align 1
  br label %merge149

true43:                                           ; preds = %merge149
  %106 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_470, i32 0, i32 1071
  %_rtDW__Subsystem_MODE_l1 = load i8* %106, align 1
  %107 = and i8 %_rtDW__Subsystem_MODE_l1, 1
  %108 = icmp eq i8 %107, 0
  br i1 %108, label %false46, label %true45

false44:                                          ; preds = %merge149
  %_rtXdot_471 = load %XDot_REVS_VM_T.19** %_rtXdot_, align 1
  %109 = getelementptr inbounds %XDot_REVS_VM_T.19* %_rtXdot_471, i32 0, i32 100, i32 0
  store double 0.000000e+00, double* %109, align 1
  %_rtXdot_472 = load %XDot_REVS_VM_T.19** %_rtXdot_, align 1
  %110 = getelementptr inbounds %XDot_REVS_VM_T.19* %_rtXdot_472, i32 0, i32 100, i32 1
  store double 0.000000e+00, double* %110, align 1
  %_rtXdot_473 = load %XDot_REVS_VM_T.19** %_rtXdot_, align 1
  %111 = getelementptr inbounds %XDot_REVS_VM_T.19* %_rtXdot_473, i32 0, i32 100, i32 2
  store double 0.000000e+00, double* %111, align 1
  %_rtXdot_474 = load %XDot_REVS_VM_T.19** %_rtXdot_, align 1
  %112 = getelementptr inbounds %XDot_REVS_VM_T.19* %_rtXdot_474, i32 0, i32 99, i32 0
  store double 0.000000e+00, double* %112, align 1
  %_rtXdot_475 = load %XDot_REVS_VM_T.19** %_rtXdot_, align 1
  %113 = getelementptr inbounds %XDot_REVS_VM_T.19* %_rtXdot_475, i32 0, i32 99, i32 1
  store double 0.000000e+00, double* %113, align 1
  %_rtXdot_476 = load %XDot_REVS_VM_T.19** %_rtXdot_, align 1
  %114 = getelementptr inbounds %XDot_REVS_VM_T.19* %_rtXdot_476, i32 0, i32 99, i32 2
  store double 0.000000e+00, double* %114, align 1
  br label %merge152

true45:                                           ; preds = %true43
  %"%<tSimStruct>_481" = load i8** %"%<tSimStruct>_", align 1
  %_rtB_482 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %115 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_482, i32 0, i32 885
  %_rtXdot_483 = load %XDot_REVS_VM_T.19** %_rtXdot_, align 1
  %116 = getelementptr inbounds %XDot_REVS_VM_T.19* %_rtXdot_483, i32 0, i32 100
  call void @REVS_VM_ElecEnergyVA_Deriv(i8* %"%<tSimStruct>_481", %B_ElecEnergyVA_REVS_VM_T.0* %115, %XDot_ElecEnergyVA_REVS_VM_T.1* %116)
  br label %merge150

false46:                                          ; preds = %true43
  %_rtXdot_478 = load %XDot_REVS_VM_T.19** %_rtXdot_, align 1
  %117 = getelementptr inbounds %XDot_REVS_VM_T.19* %_rtXdot_478, i32 0, i32 100, i32 0
  store double 0.000000e+00, double* %117, align 1
  %_rtXdot_479 = load %XDot_REVS_VM_T.19** %_rtXdot_, align 1
  %118 = getelementptr inbounds %XDot_REVS_VM_T.19* %_rtXdot_479, i32 0, i32 100, i32 1
  store double 0.000000e+00, double* %118, align 1
  %_rtXdot_480 = load %XDot_REVS_VM_T.19** %_rtXdot_, align 1
  %119 = getelementptr inbounds %XDot_REVS_VM_T.19* %_rtXdot_480, i32 0, i32 100, i32 2
  store double 0.000000e+00, double* %119, align 1
  br label %merge150

true47:                                           ; preds = %merge150
  %"%<tSimStruct>_488" = load i8** %"%<tSimStruct>_", align 1
  %_rtB_489 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %120 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_489, i32 0, i32 884
  %_rtXdot_490 = load %XDot_REVS_VM_T.19** %_rtXdot_, align 1
  %121 = getelementptr inbounds %XDot_REVS_VM_T.19* %_rtXdot_490, i32 0, i32 99
  call void @REVS_VM_MechEnergyNmradps_Deriv(i8* %"%<tSimStruct>_488", %B_MechEnergyNmradps_REVS_VM_T.4* %120, %XDot_MechEnergyNmradps_REVS_VM_T.5* %121)
  br label %merge152

false48:                                          ; preds = %merge150
  %_rtXdot_485 = load %XDot_REVS_VM_T.19** %_rtXdot_, align 1
  %122 = getelementptr inbounds %XDot_REVS_VM_T.19* %_rtXdot_485, i32 0, i32 99, i32 0
  store double 0.000000e+00, double* %122, align 1
  %_rtXdot_486 = load %XDot_REVS_VM_T.19** %_rtXdot_, align 1
  %123 = getelementptr inbounds %XDot_REVS_VM_T.19* %_rtXdot_486, i32 0, i32 99, i32 1
  store double 0.000000e+00, double* %123, align 1
  %_rtXdot_487 = load %XDot_REVS_VM_T.19** %_rtXdot_, align 1
  %124 = getelementptr inbounds %XDot_REVS_VM_T.19* %_rtXdot_487, i32 0, i32 99, i32 2
  store double 0.000000e+00, double* %124, align 1
  br label %merge152

true49:                                           ; preds = %merge152
  store double %_rtB__DataTypeConversion2_b, double* %681, align 1
  br label %merge153

false50:                                          ; preds = %merge152
  store double 0.000000e+00, double* %681, align 1
  br label %merge153

true51:                                           ; preds = %merge153
  store double %_rtB__DataTypeConversion2_g, double* %718, align 1
  br label %merge154

false52:                                          ; preds = %merge153
  store double 0.000000e+00, double* %718, align 1
  br label %merge154

true53:                                           ; preds = %merge154
  store double %_rtB__Ki, double* %746, align 1
  br label %merge155

false54:                                          ; preds = %merge154
  store double 0.000000e+00, double* %746, align 1
  br label %merge155

true55:                                           ; preds = %merge155
  %125 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_572, i32 0, i32 1069
  %_rtDW__Subsystem_MODE_js = load i8* %125, align 1
  %126 = and i8 %_rtDW__Subsystem_MODE_js, 1
  %127 = icmp eq i8 %126, 0
  br i1 %127, label %false58, label %true57

false56:                                          ; preds = %merge155
  %_rtXdot_573 = load %XDot_REVS_VM_T.19** %_rtXdot_, align 1
  %128 = getelementptr inbounds %XDot_REVS_VM_T.19* %_rtXdot_573, i32 0, i32 98, i32 0
  store double 0.000000e+00, double* %128, align 1
  %_rtXdot_574 = load %XDot_REVS_VM_T.19** %_rtXdot_, align 1
  %129 = getelementptr inbounds %XDot_REVS_VM_T.19* %_rtXdot_574, i32 0, i32 98, i32 1
  store double 0.000000e+00, double* %129, align 1
  %_rtXdot_575 = load %XDot_REVS_VM_T.19** %_rtXdot_, align 1
  %130 = getelementptr inbounds %XDot_REVS_VM_T.19* %_rtXdot_575, i32 0, i32 98, i32 2
  store double 0.000000e+00, double* %130, align 1
  %_rtXdot_576 = load %XDot_REVS_VM_T.19** %_rtXdot_, align 1
  %131 = getelementptr inbounds %XDot_REVS_VM_T.19* %_rtXdot_576, i32 0, i32 97, i32 0
  store double 0.000000e+00, double* %131, align 1
  %_rtXdot_577 = load %XDot_REVS_VM_T.19** %_rtXdot_, align 1
  %132 = getelementptr inbounds %XDot_REVS_VM_T.19* %_rtXdot_577, i32 0, i32 97, i32 1
  store double 0.000000e+00, double* %132, align 1
  %_rtXdot_578 = load %XDot_REVS_VM_T.19** %_rtXdot_, align 1
  %133 = getelementptr inbounds %XDot_REVS_VM_T.19* %_rtXdot_578, i32 0, i32 97, i32 2
  store double 0.000000e+00, double* %133, align 1
  br label %merge158

true57:                                           ; preds = %true55
  %"%<tSimStruct>_583" = load i8** %"%<tSimStruct>_", align 1
  %_rtB_584 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %134 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_584, i32 0, i32 883
  %_rtXdot_585 = load %XDot_REVS_VM_T.19** %_rtXdot_, align 1
  %135 = getelementptr inbounds %XDot_REVS_VM_T.19* %_rtXdot_585, i32 0, i32 98
  call void @REVS_VM_MechEnergyNmradps_Deriv(i8* %"%<tSimStruct>_583", %B_MechEnergyNmradps_REVS_VM_T.4* %134, %XDot_MechEnergyNmradps_REVS_VM_T.5* %135)
  br label %merge156

false58:                                          ; preds = %true55
  %_rtXdot_580 = load %XDot_REVS_VM_T.19** %_rtXdot_, align 1
  %136 = getelementptr inbounds %XDot_REVS_VM_T.19* %_rtXdot_580, i32 0, i32 98, i32 0
  store double 0.000000e+00, double* %136, align 1
  %_rtXdot_581 = load %XDot_REVS_VM_T.19** %_rtXdot_, align 1
  %137 = getelementptr inbounds %XDot_REVS_VM_T.19* %_rtXdot_581, i32 0, i32 98, i32 1
  store double 0.000000e+00, double* %137, align 1
  %_rtXdot_582 = load %XDot_REVS_VM_T.19** %_rtXdot_, align 1
  %138 = getelementptr inbounds %XDot_REVS_VM_T.19* %_rtXdot_582, i32 0, i32 98, i32 2
  store double 0.000000e+00, double* %138, align 1
  br label %merge156

true59:                                           ; preds = %merge156
  %"%<tSimStruct>_590" = load i8** %"%<tSimStruct>_", align 1
  %_rtB_591 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %139 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_591, i32 0, i32 882
  %_rtXdot_592 = load %XDot_REVS_VM_T.19** %_rtXdot_, align 1
  %140 = getelementptr inbounds %XDot_REVS_VM_T.19* %_rtXdot_592, i32 0, i32 97
  call void @REVS_VM_MechEnergyNmradps_Deriv(i8* %"%<tSimStruct>_590", %B_MechEnergyNmradps_REVS_VM_T.4* %139, %XDot_MechEnergyNmradps_REVS_VM_T.5* %140)
  br label %merge158

false60:                                          ; preds = %merge156
  %_rtXdot_587 = load %XDot_REVS_VM_T.19** %_rtXdot_, align 1
  %141 = getelementptr inbounds %XDot_REVS_VM_T.19* %_rtXdot_587, i32 0, i32 97, i32 0
  store double 0.000000e+00, double* %141, align 1
  %_rtXdot_588 = load %XDot_REVS_VM_T.19** %_rtXdot_, align 1
  %142 = getelementptr inbounds %XDot_REVS_VM_T.19* %_rtXdot_588, i32 0, i32 97, i32 1
  store double 0.000000e+00, double* %142, align 1
  %_rtXdot_589 = load %XDot_REVS_VM_T.19** %_rtXdot_, align 1
  %143 = getelementptr inbounds %XDot_REVS_VM_T.19* %_rtXdot_589, i32 0, i32 97, i32 2
  store double 0.000000e+00, double* %143, align 1
  br label %merge158

true61:                                           ; preds = %merge158
  %"%<tSimStruct>_597" = load i8** %"%<tSimStruct>_", align 1
  %_rtB_598 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %144 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_598, i32 0, i32 880
  %_rtXdot_599 = load %XDot_REVS_VM_T.19** %_rtXdot_, align 1
  %145 = getelementptr inbounds %XDot_REVS_VM_T.19* %_rtXdot_599, i32 0, i32 95
  call void @REVS_VM_MechEnergyNmradps_Deriv(i8* %"%<tSimStruct>_597", %B_MechEnergyNmradps_REVS_VM_T.4* %144, %XDot_MechEnergyNmradps_REVS_VM_T.5* %145)
  br label %merge159

false62:                                          ; preds = %merge158
  %_rtXdot_594 = load %XDot_REVS_VM_T.19** %_rtXdot_, align 1
  %146 = getelementptr inbounds %XDot_REVS_VM_T.19* %_rtXdot_594, i32 0, i32 95, i32 0
  store double 0.000000e+00, double* %146, align 1
  %_rtXdot_595 = load %XDot_REVS_VM_T.19** %_rtXdot_, align 1
  %147 = getelementptr inbounds %XDot_REVS_VM_T.19* %_rtXdot_595, i32 0, i32 95, i32 1
  store double 0.000000e+00, double* %147, align 1
  %_rtXdot_596 = load %XDot_REVS_VM_T.19** %_rtXdot_, align 1
  %148 = getelementptr inbounds %XDot_REVS_VM_T.19* %_rtXdot_596, i32 0, i32 95, i32 2
  store double 0.000000e+00, double* %148, align 1
  br label %merge159

true63:                                           ; preds = %merge159
  %"%<tSimStruct>_604" = load i8** %"%<tSimStruct>_", align 1
  %_rtB_605 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %149 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_605, i32 0, i32 879
  %_rtXdot_606 = load %XDot_REVS_VM_T.19** %_rtXdot_, align 1
  %150 = getelementptr inbounds %XDot_REVS_VM_T.19* %_rtXdot_606, i32 0, i32 94
  call void @REVS_VM_MechEnergyNmradps_Deriv(i8* %"%<tSimStruct>_604", %B_MechEnergyNmradps_REVS_VM_T.4* %149, %XDot_MechEnergyNmradps_REVS_VM_T.5* %150)
  br label %merge160

false64:                                          ; preds = %merge159
  %_rtXdot_601 = load %XDot_REVS_VM_T.19** %_rtXdot_, align 1
  %151 = getelementptr inbounds %XDot_REVS_VM_T.19* %_rtXdot_601, i32 0, i32 94, i32 0
  store double 0.000000e+00, double* %151, align 1
  %_rtXdot_602 = load %XDot_REVS_VM_T.19** %_rtXdot_, align 1
  %152 = getelementptr inbounds %XDot_REVS_VM_T.19* %_rtXdot_602, i32 0, i32 94, i32 1
  store double 0.000000e+00, double* %152, align 1
  %_rtXdot_603 = load %XDot_REVS_VM_T.19** %_rtXdot_, align 1
  %153 = getelementptr inbounds %XDot_REVS_VM_T.19* %_rtXdot_603, i32 0, i32 94, i32 2
  store double 0.000000e+00, double* %153, align 1
  br label %merge160

true65:                                           ; preds = %merge160
  %"%<tSimStruct>_611" = load i8** %"%<tSimStruct>_", align 1
  %_rtB_612 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %154 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_612, i32 0, i32 881
  %_rtXdot_613 = load %XDot_REVS_VM_T.19** %_rtXdot_, align 1
  %155 = getelementptr inbounds %XDot_REVS_VM_T.19* %_rtXdot_613, i32 0, i32 96
  call void @REVS_VM_MechEnergyNmradps_Deriv(i8* %"%<tSimStruct>_611", %B_MechEnergyNmradps_REVS_VM_T.4* %154, %XDot_MechEnergyNmradps_REVS_VM_T.5* %155)
  br label %merge161

false66:                                          ; preds = %merge160
  %_rtXdot_608 = load %XDot_REVS_VM_T.19** %_rtXdot_, align 1
  %156 = getelementptr inbounds %XDot_REVS_VM_T.19* %_rtXdot_608, i32 0, i32 96, i32 0
  store double 0.000000e+00, double* %156, align 1
  %_rtXdot_609 = load %XDot_REVS_VM_T.19** %_rtXdot_, align 1
  %157 = getelementptr inbounds %XDot_REVS_VM_T.19* %_rtXdot_609, i32 0, i32 96, i32 1
  store double 0.000000e+00, double* %157, align 1
  %_rtXdot_610 = load %XDot_REVS_VM_T.19** %_rtXdot_, align 1
  %158 = getelementptr inbounds %XDot_REVS_VM_T.19* %_rtXdot_610, i32 0, i32 96, i32 2
  store double 0.000000e+00, double* %158, align 1
  br label %merge161

true67:                                           ; preds = %merge161
  %159 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_614, i32 0, i32 1067
  %_rtDW__Subsystem_MODE_hk = load i8* %159, align 1
  %160 = and i8 %_rtDW__Subsystem_MODE_hk, 1
  %161 = icmp eq i8 %160, 0
  br i1 %161, label %false70, label %true69

false68:                                          ; preds = %merge161
  %_rtXdot_615 = load %XDot_REVS_VM_T.19** %_rtXdot_, align 1
  %162 = getelementptr inbounds %XDot_REVS_VM_T.19* %_rtXdot_615, i32 0, i32 93, i32 0
  store double 0.000000e+00, double* %162, align 1
  %_rtXdot_616 = load %XDot_REVS_VM_T.19** %_rtXdot_, align 1
  %163 = getelementptr inbounds %XDot_REVS_VM_T.19* %_rtXdot_616, i32 0, i32 93, i32 1
  store double 0.000000e+00, double* %163, align 1
  %_rtXdot_617 = load %XDot_REVS_VM_T.19** %_rtXdot_, align 1
  %164 = getelementptr inbounds %XDot_REVS_VM_T.19* %_rtXdot_617, i32 0, i32 93, i32 2
  store double 0.000000e+00, double* %164, align 1
  %_rtXdot_618 = load %XDot_REVS_VM_T.19** %_rtXdot_, align 1
  %165 = getelementptr inbounds %XDot_REVS_VM_T.19* %_rtXdot_618, i32 0, i32 92, i32 0
  store double 0.000000e+00, double* %165, align 1
  %_rtXdot_619 = load %XDot_REVS_VM_T.19** %_rtXdot_, align 1
  %166 = getelementptr inbounds %XDot_REVS_VM_T.19* %_rtXdot_619, i32 0, i32 92, i32 1
  store double 0.000000e+00, double* %166, align 1
  %_rtXdot_620 = load %XDot_REVS_VM_T.19** %_rtXdot_, align 1
  %167 = getelementptr inbounds %XDot_REVS_VM_T.19* %_rtXdot_620, i32 0, i32 92, i32 2
  store double 0.000000e+00, double* %167, align 1
  br label %merge164

true69:                                           ; preds = %true67
  %"%<tSimStruct>_625" = load i8** %"%<tSimStruct>_", align 1
  %_rtB_626 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %168 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_626, i32 0, i32 878
  %_rtXdot_627 = load %XDot_REVS_VM_T.19** %_rtXdot_, align 1
  %169 = getelementptr inbounds %XDot_REVS_VM_T.19* %_rtXdot_627, i32 0, i32 93
  call void @REVS_VM_MechEnergyNmradps_Deriv(i8* %"%<tSimStruct>_625", %B_MechEnergyNmradps_REVS_VM_T.4* %168, %XDot_MechEnergyNmradps_REVS_VM_T.5* %169)
  br label %merge162

false70:                                          ; preds = %true67
  %_rtXdot_622 = load %XDot_REVS_VM_T.19** %_rtXdot_, align 1
  %170 = getelementptr inbounds %XDot_REVS_VM_T.19* %_rtXdot_622, i32 0, i32 93, i32 0
  store double 0.000000e+00, double* %170, align 1
  %_rtXdot_623 = load %XDot_REVS_VM_T.19** %_rtXdot_, align 1
  %171 = getelementptr inbounds %XDot_REVS_VM_T.19* %_rtXdot_623, i32 0, i32 93, i32 1
  store double 0.000000e+00, double* %171, align 1
  %_rtXdot_624 = load %XDot_REVS_VM_T.19** %_rtXdot_, align 1
  %172 = getelementptr inbounds %XDot_REVS_VM_T.19* %_rtXdot_624, i32 0, i32 93, i32 2
  store double 0.000000e+00, double* %172, align 1
  br label %merge162

true71:                                           ; preds = %merge162
  %"%<tSimStruct>_632" = load i8** %"%<tSimStruct>_", align 1
  %_rtB_633 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %173 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_633, i32 0, i32 877
  %_rtXdot_634 = load %XDot_REVS_VM_T.19** %_rtXdot_, align 1
  %174 = getelementptr inbounds %XDot_REVS_VM_T.19* %_rtXdot_634, i32 0, i32 92
  call void @REVS_VM_MechEnergyNmradps_Deriv(i8* %"%<tSimStruct>_632", %B_MechEnergyNmradps_REVS_VM_T.4* %173, %XDot_MechEnergyNmradps_REVS_VM_T.5* %174)
  br label %merge164

false72:                                          ; preds = %merge162
  %_rtXdot_629 = load %XDot_REVS_VM_T.19** %_rtXdot_, align 1
  %175 = getelementptr inbounds %XDot_REVS_VM_T.19* %_rtXdot_629, i32 0, i32 92, i32 0
  store double 0.000000e+00, double* %175, align 1
  %_rtXdot_630 = load %XDot_REVS_VM_T.19** %_rtXdot_, align 1
  %176 = getelementptr inbounds %XDot_REVS_VM_T.19* %_rtXdot_630, i32 0, i32 92, i32 1
  store double 0.000000e+00, double* %176, align 1
  %_rtXdot_631 = load %XDot_REVS_VM_T.19** %_rtXdot_, align 1
  %177 = getelementptr inbounds %XDot_REVS_VM_T.19* %_rtXdot_631, i32 0, i32 92, i32 2
  store double 0.000000e+00, double* %177, align 1
  br label %merge164

true73:                                           ; preds = %merge164
  %"%<tSimStruct>_639" = load i8** %"%<tSimStruct>_", align 1
  %_rtB_640 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %178 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_640, i32 0, i32 876
  %_rtXdot_641 = load %XDot_REVS_VM_T.19** %_rtXdot_, align 1
  %179 = getelementptr inbounds %XDot_REVS_VM_T.19* %_rtXdot_641, i32 0, i32 91
  call void @REVS_VM_MechEnergyNmradps_Deriv(i8* %"%<tSimStruct>_639", %B_MechEnergyNmradps_REVS_VM_T.4* %178, %XDot_MechEnergyNmradps_REVS_VM_T.5* %179)
  br label %merge165

false74:                                          ; preds = %merge164
  %_rtXdot_636 = load %XDot_REVS_VM_T.19** %_rtXdot_, align 1
  %180 = getelementptr inbounds %XDot_REVS_VM_T.19* %_rtXdot_636, i32 0, i32 91, i32 0
  store double 0.000000e+00, double* %180, align 1
  %_rtXdot_637 = load %XDot_REVS_VM_T.19** %_rtXdot_, align 1
  %181 = getelementptr inbounds %XDot_REVS_VM_T.19* %_rtXdot_637, i32 0, i32 91, i32 1
  store double 0.000000e+00, double* %181, align 1
  %_rtXdot_638 = load %XDot_REVS_VM_T.19** %_rtXdot_, align 1
  %182 = getelementptr inbounds %XDot_REVS_VM_T.19* %_rtXdot_638, i32 0, i32 91, i32 2
  store double 0.000000e+00, double* %182, align 1
  br label %merge165

true75:                                           ; preds = %merge165
  %"%<tSimStruct>_646" = load i8** %"%<tSimStruct>_", align 1
  %_rtB_647 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %183 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_647, i32 0, i32 875
  %_rtXdot_648 = load %XDot_REVS_VM_T.19** %_rtXdot_, align 1
  %184 = getelementptr inbounds %XDot_REVS_VM_T.19* %_rtXdot_648, i32 0, i32 90
  call void @REVS_VM_MechEnergyNmradps_Deriv(i8* %"%<tSimStruct>_646", %B_MechEnergyNmradps_REVS_VM_T.4* %183, %XDot_MechEnergyNmradps_REVS_VM_T.5* %184)
  br label %merge166

false76:                                          ; preds = %merge165
  %_rtXdot_643 = load %XDot_REVS_VM_T.19** %_rtXdot_, align 1
  %185 = getelementptr inbounds %XDot_REVS_VM_T.19* %_rtXdot_643, i32 0, i32 90, i32 0
  store double 0.000000e+00, double* %185, align 1
  %_rtXdot_644 = load %XDot_REVS_VM_T.19** %_rtXdot_, align 1
  %186 = getelementptr inbounds %XDot_REVS_VM_T.19* %_rtXdot_644, i32 0, i32 90, i32 1
  store double 0.000000e+00, double* %186, align 1
  %_rtXdot_645 = load %XDot_REVS_VM_T.19** %_rtXdot_, align 1
  %187 = getelementptr inbounds %XDot_REVS_VM_T.19* %_rtXdot_645, i32 0, i32 90, i32 2
  store double 0.000000e+00, double* %187, align 1
  br label %merge166

true77:                                           ; preds = %merge166
  %"%<tSimStruct>_653" = load i8** %"%<tSimStruct>_", align 1
  %_rtB_654 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %188 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_654, i32 0, i32 874
  %_rtXdot_655 = load %XDot_REVS_VM_T.19** %_rtXdot_, align 1
  %189 = getelementptr inbounds %XDot_REVS_VM_T.19* %_rtXdot_655, i32 0, i32 89
  call void @REVS_VM_MechEnergyNmradps_Deriv(i8* %"%<tSimStruct>_653", %B_MechEnergyNmradps_REVS_VM_T.4* %188, %XDot_MechEnergyNmradps_REVS_VM_T.5* %189)
  br label %merge167

false78:                                          ; preds = %merge166
  %_rtXdot_650 = load %XDot_REVS_VM_T.19** %_rtXdot_, align 1
  %190 = getelementptr inbounds %XDot_REVS_VM_T.19* %_rtXdot_650, i32 0, i32 89, i32 0
  store double 0.000000e+00, double* %190, align 1
  %_rtXdot_651 = load %XDot_REVS_VM_T.19** %_rtXdot_, align 1
  %191 = getelementptr inbounds %XDot_REVS_VM_T.19* %_rtXdot_651, i32 0, i32 89, i32 1
  store double 0.000000e+00, double* %191, align 1
  %_rtXdot_652 = load %XDot_REVS_VM_T.19** %_rtXdot_, align 1
  %192 = getelementptr inbounds %XDot_REVS_VM_T.19* %_rtXdot_652, i32 0, i32 89, i32 2
  store double 0.000000e+00, double* %192, align 1
  br label %merge167

true79:                                           ; preds = %merge167
  %193 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_670, i32 0, i32 438
  %_rtB__Constant3_c = load double* %193, align 1
  %_rtXdot_673 = load %XDot_REVS_VM_T.19** %_rtXdot_, align 1
  %194 = getelementptr inbounds %XDot_REVS_VM_T.19* %_rtXdot_673, i32 0, i32 42
  store double %_rtB__Constant3_c, double* %194, align 1
  br label %merge168

false80:                                          ; preds = %merge167
  %_rtXdot_671 = load %XDot_REVS_VM_T.19** %_rtXdot_, align 1
  %195 = getelementptr inbounds %XDot_REVS_VM_T.19* %_rtXdot_671, i32 0, i32 42
  store double 0.000000e+00, double* %195, align 1
  br label %merge168

true81:                                           ; preds = %merge168
  store double %_rtB__DataTypeConversion2_h, double* %872, align 1
  br label %merge169

false82:                                          ; preds = %merge168
  store double 0.000000e+00, double* %872, align 1
  br label %merge169

true83:                                           ; preds = %merge169
  %196 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_713, i32 0, i32 451
  %_rtB__Product_d = load double* %196, align 1
  %_rtXdot_716 = load %XDot_REVS_VM_T.19** %_rtXdot_, align 1
  %197 = getelementptr inbounds %XDot_REVS_VM_T.19* %_rtXdot_716, i32 0, i32 55
  store double %_rtB__Product_d, double* %197, align 1
  br label %merge170

false84:                                          ; preds = %merge169
  %_rtXdot_714 = load %XDot_REVS_VM_T.19** %_rtXdot_, align 1
  %198 = getelementptr inbounds %XDot_REVS_VM_T.19* %_rtXdot_714, i32 0, i32 55
  store double 0.000000e+00, double* %198, align 1
  br label %merge170

true85:                                           ; preds = %merge170
  %"%<tSimStruct>_725" = load i8** %"%<tSimStruct>_", align 1
  %_rtB_726 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %199 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_726, i32 0, i32 873
  %_rtXdot_727 = load %XDot_REVS_VM_T.19** %_rtXdot_, align 1
  %200 = getelementptr inbounds %XDot_REVS_VM_T.19* %_rtXdot_727, i32 0, i32 88
  call void @REVS_VM_MechEnergyNmradps_Deriv(i8* %"%<tSimStruct>_725", %B_MechEnergyNmradps_REVS_VM_T.4* %199, %XDot_MechEnergyNmradps_REVS_VM_T.5* %200)
  br label %merge171

false86:                                          ; preds = %merge170
  %_rtXdot_722 = load %XDot_REVS_VM_T.19** %_rtXdot_, align 1
  %201 = getelementptr inbounds %XDot_REVS_VM_T.19* %_rtXdot_722, i32 0, i32 88, i32 0
  store double 0.000000e+00, double* %201, align 1
  %_rtXdot_723 = load %XDot_REVS_VM_T.19** %_rtXdot_, align 1
  %202 = getelementptr inbounds %XDot_REVS_VM_T.19* %_rtXdot_723, i32 0, i32 88, i32 1
  store double 0.000000e+00, double* %202, align 1
  %_rtXdot_724 = load %XDot_REVS_VM_T.19** %_rtXdot_, align 1
  %203 = getelementptr inbounds %XDot_REVS_VM_T.19* %_rtXdot_724, i32 0, i32 88, i32 2
  store double 0.000000e+00, double* %203, align 1
  br label %merge171

true87:                                           ; preds = %merge171
  %204 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_728, i32 0, i32 1065
  %_rtDW__Subsystem_MODE_ia = load i8* %204, align 1
  %205 = and i8 %_rtDW__Subsystem_MODE_ia, 1
  %206 = icmp eq i8 %205, 0
  br i1 %206, label %false90, label %true89

false88:                                          ; preds = %merge171
  %_rtXdot_729 = load %XDot_REVS_VM_T.19** %_rtXdot_, align 1
  %207 = getelementptr inbounds %XDot_REVS_VM_T.19* %_rtXdot_729, i32 0, i32 87, i32 0
  store double 0.000000e+00, double* %207, align 1
  %_rtXdot_730 = load %XDot_REVS_VM_T.19** %_rtXdot_, align 1
  %208 = getelementptr inbounds %XDot_REVS_VM_T.19* %_rtXdot_730, i32 0, i32 87, i32 1
  store double 0.000000e+00, double* %208, align 1
  %_rtXdot_731 = load %XDot_REVS_VM_T.19** %_rtXdot_, align 1
  %209 = getelementptr inbounds %XDot_REVS_VM_T.19* %_rtXdot_731, i32 0, i32 87, i32 2
  store double 0.000000e+00, double* %209, align 1
  %_rtXdot_732 = load %XDot_REVS_VM_T.19** %_rtXdot_, align 1
  %210 = getelementptr inbounds %XDot_REVS_VM_T.19* %_rtXdot_732, i32 0, i32 86, i32 0
  store double 0.000000e+00, double* %210, align 1
  %_rtXdot_733 = load %XDot_REVS_VM_T.19** %_rtXdot_, align 1
  %211 = getelementptr inbounds %XDot_REVS_VM_T.19* %_rtXdot_733, i32 0, i32 86, i32 1
  store double 0.000000e+00, double* %211, align 1
  %_rtXdot_734 = load %XDot_REVS_VM_T.19** %_rtXdot_, align 1
  %212 = getelementptr inbounds %XDot_REVS_VM_T.19* %_rtXdot_734, i32 0, i32 86, i32 2
  store double 0.000000e+00, double* %212, align 1
  br label %merge174

true89:                                           ; preds = %true87
  %"%<tSimStruct>_739" = load i8** %"%<tSimStruct>_", align 1
  %_rtB_740 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %213 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_740, i32 0, i32 872
  %_rtXdot_741 = load %XDot_REVS_VM_T.19** %_rtXdot_, align 1
  %214 = getelementptr inbounds %XDot_REVS_VM_T.19* %_rtXdot_741, i32 0, i32 87
  call void @REVS_VM_MechEnergyNmradps_Deriv(i8* %"%<tSimStruct>_739", %B_MechEnergyNmradps_REVS_VM_T.4* %213, %XDot_MechEnergyNmradps_REVS_VM_T.5* %214)
  br label %merge172

false90:                                          ; preds = %true87
  %_rtXdot_736 = load %XDot_REVS_VM_T.19** %_rtXdot_, align 1
  %215 = getelementptr inbounds %XDot_REVS_VM_T.19* %_rtXdot_736, i32 0, i32 87, i32 0
  store double 0.000000e+00, double* %215, align 1
  %_rtXdot_737 = load %XDot_REVS_VM_T.19** %_rtXdot_, align 1
  %216 = getelementptr inbounds %XDot_REVS_VM_T.19* %_rtXdot_737, i32 0, i32 87, i32 1
  store double 0.000000e+00, double* %216, align 1
  %_rtXdot_738 = load %XDot_REVS_VM_T.19** %_rtXdot_, align 1
  %217 = getelementptr inbounds %XDot_REVS_VM_T.19* %_rtXdot_738, i32 0, i32 87, i32 2
  store double 0.000000e+00, double* %217, align 1
  br label %merge172

true91:                                           ; preds = %merge172
  %"%<tSimStruct>_746" = load i8** %"%<tSimStruct>_", align 1
  %_rtB_747 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %218 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_747, i32 0, i32 871
  %_rtXdot_748 = load %XDot_REVS_VM_T.19** %_rtXdot_, align 1
  %219 = getelementptr inbounds %XDot_REVS_VM_T.19* %_rtXdot_748, i32 0, i32 86
  call void @REVS_VM_MechEnergyNmradps_Deriv(i8* %"%<tSimStruct>_746", %B_MechEnergyNmradps_REVS_VM_T.4* %218, %XDot_MechEnergyNmradps_REVS_VM_T.5* %219)
  br label %merge174

false92:                                          ; preds = %merge172
  %_rtXdot_743 = load %XDot_REVS_VM_T.19** %_rtXdot_, align 1
  %220 = getelementptr inbounds %XDot_REVS_VM_T.19* %_rtXdot_743, i32 0, i32 86, i32 0
  store double 0.000000e+00, double* %220, align 1
  %_rtXdot_744 = load %XDot_REVS_VM_T.19** %_rtXdot_, align 1
  %221 = getelementptr inbounds %XDot_REVS_VM_T.19* %_rtXdot_744, i32 0, i32 86, i32 1
  store double 0.000000e+00, double* %221, align 1
  %_rtXdot_745 = load %XDot_REVS_VM_T.19** %_rtXdot_, align 1
  %222 = getelementptr inbounds %XDot_REVS_VM_T.19* %_rtXdot_745, i32 0, i32 86, i32 2
  store double 0.000000e+00, double* %222, align 1
  br label %merge174

true93:                                           ; preds = %merge174
  %223 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_749, i32 0, i32 1063
  %_rtDW__Subsystem_MODE_oq = load i8* %223, align 1
  %224 = and i8 %_rtDW__Subsystem_MODE_oq, 1
  %225 = icmp eq i8 %224, 0
  br i1 %225, label %false96, label %true95

false94:                                          ; preds = %merge174
  %_rtXdot_750 = load %XDot_REVS_VM_T.19** %_rtXdot_, align 1
  %226 = getelementptr inbounds %XDot_REVS_VM_T.19* %_rtXdot_750, i32 0, i32 85, i32 0
  store double 0.000000e+00, double* %226, align 1
  %_rtXdot_751 = load %XDot_REVS_VM_T.19** %_rtXdot_, align 1
  %227 = getelementptr inbounds %XDot_REVS_VM_T.19* %_rtXdot_751, i32 0, i32 85, i32 1
  store double 0.000000e+00, double* %227, align 1
  %_rtXdot_752 = load %XDot_REVS_VM_T.19** %_rtXdot_, align 1
  %228 = getelementptr inbounds %XDot_REVS_VM_T.19* %_rtXdot_752, i32 0, i32 85, i32 2
  store double 0.000000e+00, double* %228, align 1
  %_rtXdot_753 = load %XDot_REVS_VM_T.19** %_rtXdot_, align 1
  %229 = getelementptr inbounds %XDot_REVS_VM_T.19* %_rtXdot_753, i32 0, i32 83
  store double 0.000000e+00, double* %229, align 1
  %_rtXdot_754 = load %XDot_REVS_VM_T.19** %_rtXdot_, align 1
  %230 = getelementptr inbounds %XDot_REVS_VM_T.19* %_rtXdot_754, i32 0, i32 84, i32 0
  store double 0.000000e+00, double* %230, align 1
  %_rtXdot_755 = load %XDot_REVS_VM_T.19** %_rtXdot_, align 1
  %231 = getelementptr inbounds %XDot_REVS_VM_T.19* %_rtXdot_755, i32 0, i32 84, i32 1
  store double 0.000000e+00, double* %231, align 1
  %_rtXdot_756 = load %XDot_REVS_VM_T.19** %_rtXdot_, align 1
  %232 = getelementptr inbounds %XDot_REVS_VM_T.19* %_rtXdot_756, i32 0, i32 84, i32 2
  store double 0.000000e+00, double* %232, align 1
  br label %merge178

true95:                                           ; preds = %true93
  %"%<tSimStruct>_761" = load i8** %"%<tSimStruct>_", align 1
  %_rtB_762 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %233 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_762, i32 0, i32 870
  %_rtXdot_763 = load %XDot_REVS_VM_T.19** %_rtXdot_, align 1
  %234 = getelementptr inbounds %XDot_REVS_VM_T.19* %_rtXdot_763, i32 0, i32 85
  call void @REVS_VM_MechEnergyNmradps_Deriv(i8* %"%<tSimStruct>_761", %B_MechEnergyNmradps_REVS_VM_T.4* %233, %XDot_MechEnergyNmradps_REVS_VM_T.5* %234)
  br label %merge175

false96:                                          ; preds = %true93
  %_rtXdot_758 = load %XDot_REVS_VM_T.19** %_rtXdot_, align 1
  %235 = getelementptr inbounds %XDot_REVS_VM_T.19* %_rtXdot_758, i32 0, i32 85, i32 0
  store double 0.000000e+00, double* %235, align 1
  %_rtXdot_759 = load %XDot_REVS_VM_T.19** %_rtXdot_, align 1
  %236 = getelementptr inbounds %XDot_REVS_VM_T.19* %_rtXdot_759, i32 0, i32 85, i32 1
  store double 0.000000e+00, double* %236, align 1
  %_rtXdot_760 = load %XDot_REVS_VM_T.19** %_rtXdot_, align 1
  %237 = getelementptr inbounds %XDot_REVS_VM_T.19* %_rtXdot_760, i32 0, i32 85, i32 2
  store double 0.000000e+00, double* %237, align 1
  br label %merge175

true97:                                           ; preds = %merge175
  %_rtX_769 = load %X_REVS_VM_T.18** %_rtX_, align 1
  %238 = getelementptr inbounds %X_REVS_VM_T.18* %_rtX_769, i32 0, i32 83
  %_rtX__Integrator1_CSTATE_jc = load double* %238, align 1
  %_rtP_770 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %239 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_770, i32 0, i32 127
  %_rtP__Integrator1_LowerSat = load double* %239, align 1
  %240 = fcmp ole double %_rtX__Integrator1_CSTATE_jc, %_rtP__Integrator1_LowerSat
  %241 = zext i1 %240 to i8
  store i8 %241, i8* %lsat_, align 1
  %_rtX__Integrator1_CSTATE_jc772 = load double* %238, align 1
  %242 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_770, i32 0, i32 126
  %_rtP__Integrator1_UpperSat = load double* %242, align 1
  %243 = fcmp oge double %_rtX__Integrator1_CSTATE_jc772, %_rtP__Integrator1_UpperSat
  %244 = zext i1 %243 to i8
  store i8 %244, i8* %usat_, align 1
  %245 = and i8 %241, 1
  %246 = icmp eq i8 %245, 0
  %247 = xor i1 %243, true
  %248 = and i1 %246, %247
  %249 = icmp ne i8 %245, 0
  %_rtB_777 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %250 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_777, i32 0, i32 44
  %_rtB__Integrator_d = load double* %250, align 1
  %251 = fcmp ogt double %_rtB__Integrator_d, 0.000000e+00
  %252 = and i1 %249, %251
  %253 = or i1 %248, %252
  %254 = and i8 %244, 1
  %255 = icmp ne i8 %254, 0
  %256 = fcmp olt double %_rtB__Integrator_d, 0.000000e+00
  %257 = and i1 %255, %256
  %258 = or i1 %253, %257
  %_rtXdot_784 = load %XDot_REVS_VM_T.19** %_rtXdot_, align 1
  %259 = getelementptr inbounds %XDot_REVS_VM_T.19* %_rtXdot_784, i32 0, i32 83
  br i1 %258, label %true99, label %false100

false98:                                          ; preds = %merge175
  %_rtXdot_765 = load %XDot_REVS_VM_T.19** %_rtXdot_, align 1
  %260 = getelementptr inbounds %XDot_REVS_VM_T.19* %_rtXdot_765, i32 0, i32 83
  store double 0.000000e+00, double* %260, align 1
  %_rtXdot_766 = load %XDot_REVS_VM_T.19** %_rtXdot_, align 1
  %261 = getelementptr inbounds %XDot_REVS_VM_T.19* %_rtXdot_766, i32 0, i32 84, i32 0
  store double 0.000000e+00, double* %261, align 1
  %_rtXdot_767 = load %XDot_REVS_VM_T.19** %_rtXdot_, align 1
  %262 = getelementptr inbounds %XDot_REVS_VM_T.19* %_rtXdot_767, i32 0, i32 84, i32 1
  store double 0.000000e+00, double* %262, align 1
  %_rtXdot_768 = load %XDot_REVS_VM_T.19** %_rtXdot_, align 1
  %263 = getelementptr inbounds %XDot_REVS_VM_T.19* %_rtXdot_768, i32 0, i32 84, i32 2
  store double 0.000000e+00, double* %263, align 1
  br label %merge178

true99:                                           ; preds = %true97
  store double %_rtB__Integrator_d, double* %259, align 1
  br label %merge176

false100:                                         ; preds = %true97
  store double 0.000000e+00, double* %259, align 1
  br label %merge176

true101:                                          ; preds = %merge178
  %_rtX_793 = load %X_REVS_VM_T.18** %_rtX_, align 1
  %264 = getelementptr inbounds %X_REVS_VM_T.18* %_rtX_793, i32 0, i32 81
  %_rtX__Integrator1_CSTATE_i1 = load double* %264, align 1
  %_rtP_794 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %265 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_794, i32 0, i32 138
  %_rtP__Integrator1_LowerSat_d = load double* %265, align 1
  %266 = fcmp ole double %_rtX__Integrator1_CSTATE_i1, %_rtP__Integrator1_LowerSat_d
  %267 = zext i1 %266 to i8
  store i8 %267, i8* %lsat_, align 1
  %_rtX__Integrator1_CSTATE_i1796 = load double* %264, align 1
  %268 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_794, i32 0, i32 137
  %_rtP__Integrator1_UpperSat_f = load double* %268, align 1
  %269 = fcmp oge double %_rtX__Integrator1_CSTATE_i1796, %_rtP__Integrator1_UpperSat_f
  %270 = zext i1 %269 to i8
  store i8 %270, i8* %usat_, align 1
  %271 = and i8 %267, 1
  %272 = icmp eq i8 %271, 0
  %273 = xor i1 %269, true
  %274 = and i1 %272, %273
  %275 = icmp ne i8 %271, 0
  %_rtB_801 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %276 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_801, i32 0, i32 44
  %_rtB__Integrator_d802 = load double* %276, align 1
  %277 = fcmp ogt double %_rtB__Integrator_d802, 0.000000e+00
  %278 = and i1 %275, %277
  %279 = or i1 %274, %278
  %280 = and i8 %270, 1
  %281 = icmp ne i8 %280, 0
  %282 = fcmp olt double %_rtB__Integrator_d802, 0.000000e+00
  %283 = and i1 %281, %282
  %284 = or i1 %279, %283
  %_rtXdot_809 = load %XDot_REVS_VM_T.19** %_rtXdot_, align 1
  %285 = getelementptr inbounds %XDot_REVS_VM_T.19* %_rtXdot_809, i32 0, i32 81
  br i1 %284, label %true103, label %false104

false102:                                         ; preds = %merge178
  %_rtXdot_789 = load %XDot_REVS_VM_T.19** %_rtXdot_, align 1
  %286 = getelementptr inbounds %XDot_REVS_VM_T.19* %_rtXdot_789, i32 0, i32 81
  store double 0.000000e+00, double* %286, align 1
  %_rtXdot_790 = load %XDot_REVS_VM_T.19** %_rtXdot_, align 1
  %287 = getelementptr inbounds %XDot_REVS_VM_T.19* %_rtXdot_790, i32 0, i32 82, i32 0
  store double 0.000000e+00, double* %287, align 1
  %_rtXdot_791 = load %XDot_REVS_VM_T.19** %_rtXdot_, align 1
  %288 = getelementptr inbounds %XDot_REVS_VM_T.19* %_rtXdot_791, i32 0, i32 82, i32 1
  store double 0.000000e+00, double* %288, align 1
  %_rtXdot_792 = load %XDot_REVS_VM_T.19** %_rtXdot_, align 1
  %289 = getelementptr inbounds %XDot_REVS_VM_T.19* %_rtXdot_792, i32 0, i32 82, i32 2
  store double 0.000000e+00, double* %289, align 1
  br label %merge180

true103:                                          ; preds = %true101
  store double %_rtB__Integrator_d802, double* %285, align 1
  br label %merge179

false104:                                         ; preds = %true101
  store double 0.000000e+00, double* %285, align 1
  br label %merge179

true105:                                          ; preds = %merge180
  store double %_rtB__speederrortointegralcontrol, double* %930, align 1
  br label %merge181

false106:                                         ; preds = %merge180
  store double 0.000000e+00, double* %930, align 1
  br label %merge181

true107:                                          ; preds = %merge181
  %_rtX_849 = load %X_REVS_VM_T.18** %_rtX_, align 1
  %290 = getelementptr inbounds %X_REVS_VM_T.18* %_rtX_849, i32 0, i32 79
  %_rtX__Integrator1_CSTATE_bd = load double* %290, align 1
  %_rtP_850 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %291 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_850, i32 0, i32 144
  %_rtP__Integrator1_LowerSat_h = load double* %291, align 1
  %292 = fcmp ole double %_rtX__Integrator1_CSTATE_bd, %_rtP__Integrator1_LowerSat_h
  %293 = zext i1 %292 to i8
  store i8 %293, i8* %lsat_, align 1
  %_rtX__Integrator1_CSTATE_bd852 = load double* %290, align 1
  %294 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_850, i32 0, i32 143
  %_rtP__Integrator1_UpperSat_fp = load double* %294, align 1
  %295 = fcmp oge double %_rtX__Integrator1_CSTATE_bd852, %_rtP__Integrator1_UpperSat_fp
  %296 = zext i1 %295 to i8
  store i8 %296, i8* %usat_, align 1
  %297 = and i8 %293, 1
  %298 = icmp eq i8 %297, 0
  %299 = xor i1 %295, true
  %300 = and i1 %298, %299
  %301 = icmp ne i8 %297, 0
  %_rtB_857 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %302 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_857, i32 0, i32 44
  %_rtB__Integrator_d858 = load double* %302, align 1
  %303 = fcmp ogt double %_rtB__Integrator_d858, 0.000000e+00
  %304 = and i1 %301, %303
  %305 = or i1 %300, %304
  %306 = and i8 %296, 1
  %307 = icmp ne i8 %306, 0
  %308 = fcmp olt double %_rtB__Integrator_d858, 0.000000e+00
  %309 = and i1 %307, %308
  %310 = or i1 %305, %309
  %_rtXdot_865 = load %XDot_REVS_VM_T.19** %_rtXdot_, align 1
  %311 = getelementptr inbounds %XDot_REVS_VM_T.19* %_rtXdot_865, i32 0, i32 79
  br i1 %310, label %true109, label %false110

false108:                                         ; preds = %merge181
  %_rtXdot_845 = load %XDot_REVS_VM_T.19** %_rtXdot_, align 1
  %312 = getelementptr inbounds %XDot_REVS_VM_T.19* %_rtXdot_845, i32 0, i32 79
  store double 0.000000e+00, double* %312, align 1
  %_rtXdot_846 = load %XDot_REVS_VM_T.19** %_rtXdot_, align 1
  %313 = getelementptr inbounds %XDot_REVS_VM_T.19* %_rtXdot_846, i32 0, i32 80, i32 0
  store double 0.000000e+00, double* %313, align 1
  %_rtXdot_847 = load %XDot_REVS_VM_T.19** %_rtXdot_, align 1
  %314 = getelementptr inbounds %XDot_REVS_VM_T.19* %_rtXdot_847, i32 0, i32 80, i32 1
  store double 0.000000e+00, double* %314, align 1
  %_rtXdot_848 = load %XDot_REVS_VM_T.19** %_rtXdot_, align 1
  %315 = getelementptr inbounds %XDot_REVS_VM_T.19* %_rtXdot_848, i32 0, i32 80, i32 2
  store double 0.000000e+00, double* %315, align 1
  br label %merge183

true109:                                          ; preds = %true107
  store double %_rtB__Integrator_d858, double* %311, align 1
  br label %merge182

false110:                                         ; preds = %true107
  store double 0.000000e+00, double* %311, align 1
  br label %merge182

true111:                                          ; preds = %merge183
  %_rtX_874 = load %X_REVS_VM_T.18** %_rtX_, align 1
  %316 = getelementptr inbounds %X_REVS_VM_T.18* %_rtX_874, i32 0, i32 77
  %_rtX__Integrator1_CSTATE_e3 = load double* %316, align 1
  %_rtP_875 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %317 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_875, i32 0, i32 147
  %_rtP__Integrator1_LowerSat_dd = load double* %317, align 1
  %318 = fcmp ole double %_rtX__Integrator1_CSTATE_e3, %_rtP__Integrator1_LowerSat_dd
  %319 = zext i1 %318 to i8
  store i8 %319, i8* %lsat_, align 1
  %_rtX__Integrator1_CSTATE_e3877 = load double* %316, align 1
  %320 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_875, i32 0, i32 146
  %_rtP__Integrator1_UpperSat_p = load double* %320, align 1
  %321 = fcmp oge double %_rtX__Integrator1_CSTATE_e3877, %_rtP__Integrator1_UpperSat_p
  %322 = zext i1 %321 to i8
  store i8 %322, i8* %usat_, align 1
  %323 = and i8 %319, 1
  %324 = icmp eq i8 %323, 0
  %325 = xor i1 %321, true
  %326 = and i1 %324, %325
  %327 = icmp ne i8 %323, 0
  %_rtB_882 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %328 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_882, i32 0, i32 44
  %_rtB__Integrator_d883 = load double* %328, align 1
  %329 = fcmp ogt double %_rtB__Integrator_d883, 0.000000e+00
  %330 = and i1 %327, %329
  %331 = or i1 %326, %330
  %332 = and i8 %322, 1
  %333 = icmp ne i8 %332, 0
  %334 = fcmp olt double %_rtB__Integrator_d883, 0.000000e+00
  %335 = and i1 %333, %334
  %336 = or i1 %331, %335
  %_rtXdot_890 = load %XDot_REVS_VM_T.19** %_rtXdot_, align 1
  %337 = getelementptr inbounds %XDot_REVS_VM_T.19* %_rtXdot_890, i32 0, i32 77
  br i1 %336, label %true113, label %false114

false112:                                         ; preds = %merge183
  %_rtXdot_870 = load %XDot_REVS_VM_T.19** %_rtXdot_, align 1
  %338 = getelementptr inbounds %XDot_REVS_VM_T.19* %_rtXdot_870, i32 0, i32 77
  store double 0.000000e+00, double* %338, align 1
  %_rtXdot_871 = load %XDot_REVS_VM_T.19** %_rtXdot_, align 1
  %339 = getelementptr inbounds %XDot_REVS_VM_T.19* %_rtXdot_871, i32 0, i32 78, i32 0
  store double 0.000000e+00, double* %339, align 1
  %_rtXdot_872 = load %XDot_REVS_VM_T.19** %_rtXdot_, align 1
  %340 = getelementptr inbounds %XDot_REVS_VM_T.19* %_rtXdot_872, i32 0, i32 78, i32 1
  store double 0.000000e+00, double* %340, align 1
  %_rtXdot_873 = load %XDot_REVS_VM_T.19** %_rtXdot_, align 1
  %341 = getelementptr inbounds %XDot_REVS_VM_T.19* %_rtXdot_873, i32 0, i32 78, i32 2
  store double 0.000000e+00, double* %341, align 1
  br label %merge185

true113:                                          ; preds = %true111
  store double %_rtB__Integrator_d883, double* %337, align 1
  br label %merge184

false114:                                         ; preds = %true111
  store double 0.000000e+00, double* %337, align 1
  br label %merge184

true115:                                          ; preds = %merge185
  %_rtX_899 = load %X_REVS_VM_T.18** %_rtX_, align 1
  %342 = getelementptr inbounds %X_REVS_VM_T.18* %_rtX_899, i32 0, i32 75
  %_rtX__Integrator1_CSTATE_cd = load double* %342, align 1
  %_rtP_900 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %343 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_900, i32 0, i32 151
  %_rtP__Integrator1_LowerSat_f = load double* %343, align 1
  %344 = fcmp ole double %_rtX__Integrator1_CSTATE_cd, %_rtP__Integrator1_LowerSat_f
  %345 = zext i1 %344 to i8
  store i8 %345, i8* %lsat_, align 1
  %_rtX__Integrator1_CSTATE_cd902 = load double* %342, align 1
  %346 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_900, i32 0, i32 150
  %_rtP__Integrator1_UpperSat_o = load double* %346, align 1
  %347 = fcmp oge double %_rtX__Integrator1_CSTATE_cd902, %_rtP__Integrator1_UpperSat_o
  %348 = zext i1 %347 to i8
  store i8 %348, i8* %usat_, align 1
  %349 = and i8 %345, 1
  %350 = icmp eq i8 %349, 0
  %351 = xor i1 %347, true
  %352 = and i1 %350, %351
  %353 = icmp ne i8 %349, 0
  %_rtB_907 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %354 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_907, i32 0, i32 44
  %_rtB__Integrator_d908 = load double* %354, align 1
  %355 = fcmp ogt double %_rtB__Integrator_d908, 0.000000e+00
  %356 = and i1 %353, %355
  %357 = or i1 %352, %356
  %358 = and i8 %348, 1
  %359 = icmp ne i8 %358, 0
  %360 = fcmp olt double %_rtB__Integrator_d908, 0.000000e+00
  %361 = and i1 %359, %360
  %362 = or i1 %357, %361
  %_rtXdot_915 = load %XDot_REVS_VM_T.19** %_rtXdot_, align 1
  %363 = getelementptr inbounds %XDot_REVS_VM_T.19* %_rtXdot_915, i32 0, i32 75
  br i1 %362, label %true117, label %false118

false116:                                         ; preds = %merge185
  %_rtXdot_895 = load %XDot_REVS_VM_T.19** %_rtXdot_, align 1
  %364 = getelementptr inbounds %XDot_REVS_VM_T.19* %_rtXdot_895, i32 0, i32 75
  store double 0.000000e+00, double* %364, align 1
  %_rtXdot_896 = load %XDot_REVS_VM_T.19** %_rtXdot_, align 1
  %365 = getelementptr inbounds %XDot_REVS_VM_T.19* %_rtXdot_896, i32 0, i32 76, i32 0
  store double 0.000000e+00, double* %365, align 1
  %_rtXdot_897 = load %XDot_REVS_VM_T.19** %_rtXdot_, align 1
  %366 = getelementptr inbounds %XDot_REVS_VM_T.19* %_rtXdot_897, i32 0, i32 76, i32 1
  store double 0.000000e+00, double* %366, align 1
  %_rtXdot_898 = load %XDot_REVS_VM_T.19** %_rtXdot_, align 1
  %367 = getelementptr inbounds %XDot_REVS_VM_T.19* %_rtXdot_898, i32 0, i32 76, i32 2
  store double 0.000000e+00, double* %367, align 1
  br label %merge187

true117:                                          ; preds = %true115
  store double %_rtB__Integrator_d908, double* %363, align 1
  br label %merge186

false118:                                         ; preds = %true115
  store double 0.000000e+00, double* %363, align 1
  br label %merge186

true119:                                          ; preds = %merge187
  %_rtX_924 = load %X_REVS_VM_T.18** %_rtX_, align 1
  %368 = getelementptr inbounds %X_REVS_VM_T.18* %_rtX_924, i32 0, i32 73
  %_rtX__Integrator1_CSTATE_hf = load double* %368, align 1
  %_rtP_925 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %369 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_925, i32 0, i32 154
  %_rtP__Integrator1_LowerSat_g = load double* %369, align 1
  %370 = fcmp ole double %_rtX__Integrator1_CSTATE_hf, %_rtP__Integrator1_LowerSat_g
  %371 = zext i1 %370 to i8
  store i8 %371, i8* %lsat_, align 1
  %_rtX__Integrator1_CSTATE_hf927 = load double* %368, align 1
  %372 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_925, i32 0, i32 153
  %_rtP__Integrator1_UpperSat_p4 = load double* %372, align 1
  %373 = fcmp oge double %_rtX__Integrator1_CSTATE_hf927, %_rtP__Integrator1_UpperSat_p4
  %374 = zext i1 %373 to i8
  store i8 %374, i8* %usat_, align 1
  %375 = and i8 %371, 1
  %376 = icmp eq i8 %375, 0
  %377 = xor i1 %373, true
  %378 = and i1 %376, %377
  %379 = icmp ne i8 %375, 0
  %_rtB_932 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %380 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_932, i32 0, i32 44
  %_rtB__Integrator_d933 = load double* %380, align 1
  %381 = fcmp ogt double %_rtB__Integrator_d933, 0.000000e+00
  %382 = and i1 %379, %381
  %383 = or i1 %378, %382
  %384 = and i8 %374, 1
  %385 = icmp ne i8 %384, 0
  %386 = fcmp olt double %_rtB__Integrator_d933, 0.000000e+00
  %387 = and i1 %385, %386
  %388 = or i1 %383, %387
  %_rtXdot_940 = load %XDot_REVS_VM_T.19** %_rtXdot_, align 1
  %389 = getelementptr inbounds %XDot_REVS_VM_T.19* %_rtXdot_940, i32 0, i32 73
  br i1 %388, label %true121, label %false122

false120:                                         ; preds = %merge187
  %_rtXdot_920 = load %XDot_REVS_VM_T.19** %_rtXdot_, align 1
  %390 = getelementptr inbounds %XDot_REVS_VM_T.19* %_rtXdot_920, i32 0, i32 73
  store double 0.000000e+00, double* %390, align 1
  %_rtXdot_921 = load %XDot_REVS_VM_T.19** %_rtXdot_, align 1
  %391 = getelementptr inbounds %XDot_REVS_VM_T.19* %_rtXdot_921, i32 0, i32 74, i32 0
  store double 0.000000e+00, double* %391, align 1
  %_rtXdot_922 = load %XDot_REVS_VM_T.19** %_rtXdot_, align 1
  %392 = getelementptr inbounds %XDot_REVS_VM_T.19* %_rtXdot_922, i32 0, i32 74, i32 1
  store double 0.000000e+00, double* %392, align 1
  %_rtXdot_923 = load %XDot_REVS_VM_T.19** %_rtXdot_, align 1
  %393 = getelementptr inbounds %XDot_REVS_VM_T.19* %_rtXdot_923, i32 0, i32 74, i32 2
  store double 0.000000e+00, double* %393, align 1
  br label %merge189

true121:                                          ; preds = %true119
  store double %_rtB__Integrator_d933, double* %389, align 1
  br label %merge188

false122:                                         ; preds = %true119
  store double 0.000000e+00, double* %389, align 1
  br label %merge188

true123:                                          ; preds = %merge189
  %_rtX_949 = load %X_REVS_VM_T.18** %_rtX_, align 1
  %394 = getelementptr inbounds %X_REVS_VM_T.18* %_rtX_949, i32 0, i32 71
  %_rtX__Integrator1_CSTATE_e5 = load double* %394, align 1
  %_rtP_950 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %395 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_950, i32 0, i32 158
  %_rtP__Integrator1_LowerSat_i = load double* %395, align 1
  %396 = fcmp ole double %_rtX__Integrator1_CSTATE_e5, %_rtP__Integrator1_LowerSat_i
  %397 = zext i1 %396 to i8
  store i8 %397, i8* %lsat_, align 1
  %_rtX__Integrator1_CSTATE_e5952 = load double* %394, align 1
  %398 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_950, i32 0, i32 157
  %_rtP__Integrator1_UpperSat_d = load double* %398, align 1
  %399 = fcmp oge double %_rtX__Integrator1_CSTATE_e5952, %_rtP__Integrator1_UpperSat_d
  %400 = zext i1 %399 to i8
  store i8 %400, i8* %usat_, align 1
  %401 = and i8 %397, 1
  %402 = icmp eq i8 %401, 0
  %403 = xor i1 %399, true
  %404 = and i1 %402, %403
  %405 = icmp ne i8 %401, 0
  %_rtB_957 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %406 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_957, i32 0, i32 44
  %_rtB__Integrator_d958 = load double* %406, align 1
  %407 = fcmp ogt double %_rtB__Integrator_d958, 0.000000e+00
  %408 = and i1 %405, %407
  %409 = or i1 %404, %408
  %410 = and i8 %400, 1
  %411 = icmp ne i8 %410, 0
  %412 = fcmp olt double %_rtB__Integrator_d958, 0.000000e+00
  %413 = and i1 %411, %412
  %414 = or i1 %409, %413
  %_rtXdot_965 = load %XDot_REVS_VM_T.19** %_rtXdot_, align 1
  %415 = getelementptr inbounds %XDot_REVS_VM_T.19* %_rtXdot_965, i32 0, i32 71
  br i1 %414, label %true125, label %false126

false124:                                         ; preds = %merge189
  %_rtXdot_945 = load %XDot_REVS_VM_T.19** %_rtXdot_, align 1
  %416 = getelementptr inbounds %XDot_REVS_VM_T.19* %_rtXdot_945, i32 0, i32 71
  store double 0.000000e+00, double* %416, align 1
  %_rtXdot_946 = load %XDot_REVS_VM_T.19** %_rtXdot_, align 1
  %417 = getelementptr inbounds %XDot_REVS_VM_T.19* %_rtXdot_946, i32 0, i32 72, i32 0
  store double 0.000000e+00, double* %417, align 1
  %_rtXdot_947 = load %XDot_REVS_VM_T.19** %_rtXdot_, align 1
  %418 = getelementptr inbounds %XDot_REVS_VM_T.19* %_rtXdot_947, i32 0, i32 72, i32 1
  store double 0.000000e+00, double* %418, align 1
  %_rtXdot_948 = load %XDot_REVS_VM_T.19** %_rtXdot_, align 1
  %419 = getelementptr inbounds %XDot_REVS_VM_T.19* %_rtXdot_948, i32 0, i32 72, i32 2
  store double 0.000000e+00, double* %419, align 1
  br label %merge191

true125:                                          ; preds = %true123
  store double %_rtB__Integrator_d958, double* %415, align 1
  br label %merge190

false126:                                         ; preds = %true123
  store double 0.000000e+00, double* %415, align 1
  br label %merge190

true127:                                          ; preds = %merge191
  store double %_rtB__Integrator_d987, double* %1014, align 1
  br label %merge192

false128:                                         ; preds = %merge191
  store double 0.000000e+00, double* %1014, align 1
  br label %merge192

merge:                                            ; preds = %true, %false
  %_rtB_214 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %420 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_214, i32 0, i32 199
  %_rtB__Product4_c = load double* %420, align 1
  %_rtXdot_215 = load %XDot_REVS_VM_T.19** %_rtXdot_, align 1
  %421 = getelementptr inbounds %XDot_REVS_VM_T.19* %_rtXdot_215, i32 0, i32 1
  store double %_rtB__Product4_c, double* %421, align 1
  %_rtB_216 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %422 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_216, i32 0, i32 188
  %_rtB__Product4 = load double* %422, align 1
  %_rtXdot_217 = load %XDot_REVS_VM_T.19** %_rtXdot_, align 1
  %423 = getelementptr inbounds %XDot_REVS_VM_T.19* %_rtXdot_217, i32 0, i32 2
  store double %_rtB__Product4, double* %423, align 1
  %_rtDW_218 = load %DW_REVS_VM_T.16** %_rtDW_, align 1
  %424 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_218, i32 0, i32 1033
  %_rtDW__Subsystem_MODE = load i8* %424, align 1
  %425 = and i8 %_rtDW__Subsystem_MODE, 1
  %426 = icmp eq i8 %425, 0
  br i1 %426, label %false2, label %true1

merge129:                                         ; preds = %true1, %false2
  %_rtX_225 = load %X_REVS_VM_T.18** %_rtX_, align 1
  %427 = getelementptr inbounds %X_REVS_VM_T.18* %_rtX_225, i32 0, i32 3
  %_rtX__Integrator_CSTATE_d = load double* %427, align 1
  %_rtP_226 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %428 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_226, i32 0, i32 238
  %_rtP__Integrator_LowerSat_f = load double* %428, align 1
  %429 = fcmp ole double %_rtX__Integrator_CSTATE_d, %_rtP__Integrator_LowerSat_f
  %430 = zext i1 %429 to i8
  store i8 %430, i8* %lsat_, align 1
  %_rtX__Integrator_CSTATE_d228 = load double* %427, align 1
  %431 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_226, i32 0, i32 237
  %_rtP__Integrator_UpperSat_k = load double* %431, align 1
  %432 = fcmp oge double %_rtX__Integrator_CSTATE_d228, %_rtP__Integrator_UpperSat_k
  %433 = zext i1 %432 to i8
  store i8 %433, i8* %usat_, align 1
  %434 = and i8 %430, 1
  %435 = icmp eq i8 %434, 0
  %436 = xor i1 %432, true
  %437 = and i1 %435, %436
  %438 = icmp ne i8 %434, 0
  %_rtB_233 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %439 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_233, i32 0, i32 572
  %_rtB__Product_f = load double* %439, align 1
  %440 = fcmp ogt double %_rtB__Product_f, 0.000000e+00
  %441 = and i1 %438, %440
  %442 = or i1 %437, %441
  %443 = and i8 %433, 1
  %444 = icmp ne i8 %443, 0
  %445 = fcmp olt double %_rtB__Product_f, 0.000000e+00
  %446 = and i1 %444, %445
  %447 = or i1 %442, %446
  %_rtXdot_240 = load %XDot_REVS_VM_T.19** %_rtXdot_, align 1
  %448 = getelementptr inbounds %XDot_REVS_VM_T.19* %_rtXdot_240, i32 0, i32 3
  br i1 %447, label %true3, label %false4

merge130:                                         ; preds = %true3, %false4
  %_rtXdot_241 = load %XDot_REVS_VM_T.19** %_rtXdot_, align 1
  %449 = getelementptr inbounds %XDot_REVS_VM_T.19* %_rtXdot_241, i32 0, i32 4
  store double 0.000000e+00, double* %449, align 1
  %_rtP_242 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %450 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_242, i32 0, i32 239
  %_rtP__numericalstabilizer_A = load double* %450, align 1
  %_rtX_243 = load %X_REVS_VM_T.18** %_rtX_, align 1
  %451 = getelementptr inbounds %X_REVS_VM_T.18* %_rtX_243, i32 0, i32 4
  %_rtX__numericalstabilizer_CSTATE = load double* %451, align 1
  %tmp0 = fmul double %_rtP__numericalstabilizer_A, %_rtX__numericalstabilizer_CSTATE
  %_rtXdot_244 = load %XDot_REVS_VM_T.19** %_rtXdot_, align 1
  %452 = getelementptr inbounds %XDot_REVS_VM_T.19* %_rtXdot_244, i32 0, i32 4
  %_rtXdot__numericalstabilizer_CSTATE = load double* %452, align 1
  %tmp1 = fadd double %tmp0, %_rtXdot__numericalstabilizer_CSTATE
  store double %tmp1, double* %452, align 1
  %_rtXdot_246 = load %XDot_REVS_VM_T.19** %_rtXdot_, align 1
  %453 = getelementptr inbounds %XDot_REVS_VM_T.19* %_rtXdot_246, i32 0, i32 4
  %_rtXdot__numericalstabilizer_CSTATE247 = load double* %453, align 1
  %_rtB_248 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %454 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_248, i32 0, i32 493
  %_rtB__Product_e = load double* %454, align 1
  %tmp2 = fadd double %_rtXdot__numericalstabilizer_CSTATE247, %_rtB__Product_e
  store double %tmp2, double* %453, align 1
  %_rtX_250 = load %X_REVS_VM_T.18** %_rtX_, align 1
  %455 = getelementptr inbounds %X_REVS_VM_T.18* %_rtX_250, i32 0, i32 5
  %_rtX__Integrator1_CSTATE = load double* %455, align 1
  %_rtP_251 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %456 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_251, i32 0, i32 248
  %_rtP__Integrator1_LowerSat_m = load double* %456, align 1
  %457 = fcmp ole double %_rtX__Integrator1_CSTATE, %_rtP__Integrator1_LowerSat_m
  %458 = zext i1 %457 to i8
  store i8 %458, i8* %lsat_, align 1
  %_rtX__Integrator1_CSTATE253 = load double* %455, align 1
  %459 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_251, i32 0, i32 247
  %_rtP__Integrator1_UpperSat_a = load double* %459, align 1
  %460 = fcmp oge double %_rtX__Integrator1_CSTATE253, %_rtP__Integrator1_UpperSat_a
  %461 = zext i1 %460 to i8
  store i8 %461, i8* %usat_, align 1
  %462 = and i8 %458, 1
  %463 = icmp eq i8 %462, 0
  %464 = xor i1 %460, true
  %465 = and i1 %463, %464
  %466 = icmp ne i8 %462, 0
  %_rtB_258 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %467 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_258, i32 0, i32 51
  %_rtB__DataTypeConversion2 = load double* %467, align 1
  %468 = fcmp ogt double %_rtB__DataTypeConversion2, 0.000000e+00
  %469 = and i1 %466, %468
  %470 = or i1 %465, %469
  %471 = and i8 %461, 1
  %472 = icmp ne i8 %471, 0
  %473 = fcmp olt double %_rtB__DataTypeConversion2, 0.000000e+00
  %474 = and i1 %472, %473
  %475 = or i1 %470, %474
  %_rtXdot_265 = load %XDot_REVS_VM_T.19** %_rtXdot_, align 1
  %476 = getelementptr inbounds %XDot_REVS_VM_T.19* %_rtXdot_265, i32 0, i32 5
  br i1 %475, label %true5, label %false6

merge131:                                         ; preds = %true5, %false6
  %_rtX_266 = load %X_REVS_VM_T.18** %_rtX_, align 1
  %477 = getelementptr inbounds %X_REVS_VM_T.18* %_rtX_266, i32 0, i32 6
  %_rtX__clutchinputspeedintegratorintegratewhenslipping_CSTATE = load double* %477, align 1
  %_rtP_267 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %478 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_267, i32 0, i32 267
  %_rtP__clutchinputspeedintegratorintegratewhenslipping_LowerSat = load double* %478, align 1
  %479 = fcmp ole double %_rtX__clutchinputspeedintegratorintegratewhenslipping_CSTATE, %_rtP__clutchinputspeedintegratorintegratewhenslipping_LowerSat
  %480 = zext i1 %479 to i8
  store i8 %480, i8* %lsat_, align 1
  %_rtX__clutchinputspeedintegratorintegratewhenslipping_CSTATE269 = load double* %477, align 1
  %481 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_267, i32 0, i32 266
  %_rtP__clutchinputspeedintegratorintegratewhenslipping_UpperSat = load double* %481, align 1
  %482 = fcmp oge double %_rtX__clutchinputspeedintegratorintegratewhenslipping_CSTATE269, %_rtP__clutchinputspeedintegratorintegratewhenslipping_UpperSat
  %483 = zext i1 %482 to i8
  store i8 %483, i8* %usat_, align 1
  %484 = and i8 %480, 1
  %485 = icmp eq i8 %484, 0
  %486 = xor i1 %482, true
  %487 = and i1 %485, %486
  %488 = icmp ne i8 %484, 0
  %_rtB_274 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %489 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_274, i32 0, i32 375
  %_rtB__Product2 = load double* %489, align 1
  %490 = fcmp ogt double %_rtB__Product2, 0.000000e+00
  %491 = and i1 %488, %490
  %492 = or i1 %487, %491
  %493 = and i8 %483, 1
  %494 = icmp ne i8 %493, 0
  %495 = fcmp olt double %_rtB__Product2, 0.000000e+00
  %496 = and i1 %494, %495
  %497 = or i1 %492, %496
  %_rtXdot_281 = load %XDot_REVS_VM_T.19** %_rtXdot_, align 1
  %498 = getelementptr inbounds %XDot_REVS_VM_T.19* %_rtXdot_281, i32 0, i32 6
  br i1 %497, label %true7, label %false8

merge132:                                         ; preds = %true7, %false8
  %_rtX_282 = load %X_REVS_VM_T.18** %_rtX_, align 1
  %499 = getelementptr inbounds %X_REVS_VM_T.18* %_rtX_282, i32 0, i32 7
  %_rtX__Integrator1_CSTATE_a = load double* %499, align 1
  %_rtP_283 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %500 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_283, i32 0, i32 306
  %_rtP__Integrator1_LowerSat_e = load double* %500, align 1
  %501 = fcmp ole double %_rtX__Integrator1_CSTATE_a, %_rtP__Integrator1_LowerSat_e
  %502 = zext i1 %501 to i8
  store i8 %502, i8* %lsat_, align 1
  %_rtX__Integrator1_CSTATE_a285 = load double* %499, align 1
  %503 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_283, i32 0, i32 305
  %_rtP__Integrator1_UpperSat_h = load double* %503, align 1
  %504 = fcmp oge double %_rtX__Integrator1_CSTATE_a285, %_rtP__Integrator1_UpperSat_h
  %505 = zext i1 %504 to i8
  store i8 %505, i8* %usat_, align 1
  %506 = and i8 %502, 1
  %507 = icmp eq i8 %506, 0
  %508 = xor i1 %504, true
  %509 = and i1 %507, %508
  %510 = icmp ne i8 %506, 0
  %_rtB_290 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %511 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_290, i32 0, i32 86
  %_rtB__DataTypeConversion2_d = load double* %511, align 1
  %512 = fcmp ogt double %_rtB__DataTypeConversion2_d, 0.000000e+00
  %513 = and i1 %510, %512
  %514 = or i1 %509, %513
  %515 = and i8 %505, 1
  %516 = icmp ne i8 %515, 0
  %517 = fcmp olt double %_rtB__DataTypeConversion2_d, 0.000000e+00
  %518 = and i1 %516, %517
  %519 = or i1 %514, %518
  %_rtXdot_297 = load %XDot_REVS_VM_T.19** %_rtXdot_, align 1
  %520 = getelementptr inbounds %XDot_REVS_VM_T.19* %_rtXdot_297, i32 0, i32 7
  br i1 %519, label %true9, label %false10

merge133:                                         ; preds = %true9, %false10
  %_rtX_298 = load %X_REVS_VM_T.18** %_rtX_, align 1
  %521 = getelementptr inbounds %X_REVS_VM_T.18* %_rtX_298, i32 0, i32 8
  %_rtX__torqueconverterinputspeedintegratorintegratewhenslipping_CSTATE = load double* %521, align 1
  %_rtP_299 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %522 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_299, i32 0, i32 318
  %_rtP__torqueconverterinputspeedintegratorintegratewhenslipping_LowerSat = load double* %522, align 1
  %523 = fcmp ole double %_rtX__torqueconverterinputspeedintegratorintegratewhenslipping_CSTATE, %_rtP__torqueconverterinputspeedintegratorintegratewhenslipping_LowerSat
  %524 = zext i1 %523 to i8
  store i8 %524, i8* %lsat_, align 1
  %_rtX__torqueconverterinputspeedintegratorintegratewhenslipping_CSTATE301 = load double* %521, align 1
  %525 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_299, i32 0, i32 317
  %_rtP__torqueconverterinputspeedintegratorintegratewhenslipping_UpperSat = load double* %525, align 1
  %526 = fcmp oge double %_rtX__torqueconverterinputspeedintegratorintegratewhenslipping_CSTATE301, %_rtP__torqueconverterinputspeedintegratorintegratewhenslipping_UpperSat
  %527 = zext i1 %526 to i8
  store i8 %527, i8* %usat_, align 1
  %528 = and i8 %524, 1
  %529 = icmp eq i8 %528, 0
  %530 = xor i1 %526, true
  %531 = and i1 %529, %530
  %532 = icmp ne i8 %528, 0
  %_rtB_306 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %533 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_306, i32 0, i32 381
  %_rtB__Product6 = load double* %533, align 1
  %534 = fcmp ogt double %_rtB__Product6, 0.000000e+00
  %535 = and i1 %532, %534
  %536 = or i1 %531, %535
  %537 = and i8 %527, 1
  %538 = icmp ne i8 %537, 0
  %539 = fcmp olt double %_rtB__Product6, 0.000000e+00
  %540 = and i1 %538, %539
  %541 = or i1 %536, %540
  %_rtXdot_313 = load %XDot_REVS_VM_T.19** %_rtXdot_, align 1
  %542 = getelementptr inbounds %XDot_REVS_VM_T.19* %_rtXdot_313, i32 0, i32 8
  br i1 %541, label %true11, label %false12

merge134:                                         ; preds = %true11, %false12
  %_rtDW_314 = load %DW_REVS_VM_T.16** %_rtDW_, align 1
  %543 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_314, i32 0, i32 1034
  %_rtDW__Subsystem_MODE_f = load i8* %543, align 1
  %544 = and i8 %_rtDW__Subsystem_MODE_f, 1
  %545 = icmp eq i8 %544, 0
  br i1 %545, label %false14, label %true13

merge135:                                         ; preds = %true13, %false14
  %_rtDW_321 = load %DW_REVS_VM_T.16** %_rtDW_, align 1
  %546 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_321, i32 0, i32 1035
  %_rtDW__Subsystem_MODE_h = load i8* %546, align 1
  %547 = and i8 %_rtDW__Subsystem_MODE_h, 1
  %548 = icmp eq i8 %547, 0
  br i1 %548, label %false16, label %true15

merge136:                                         ; preds = %true15, %false16
  %_rtDW_328 = load %DW_REVS_VM_T.16** %_rtDW_, align 1
  %549 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_328, i32 0, i32 1036
  %_rtDW__Subsystem_MODE_k = load i8* %549, align 1
  %550 = and i8 %_rtDW__Subsystem_MODE_k, 1
  %551 = icmp eq i8 %550, 0
  br i1 %551, label %false18, label %true17

merge137:                                         ; preds = %true17, %false18
  %_rtDW_335 = load %DW_REVS_VM_T.16** %_rtDW_, align 1
  %552 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_335, i32 0, i32 1037
  %_rtDW__Subsystem_MODE_j = load i8* %552, align 1
  %553 = and i8 %_rtDW__Subsystem_MODE_j, 1
  %554 = icmp eq i8 %553, 0
  br i1 %554, label %false20, label %true19

merge138:                                         ; preds = %true19, %false20
  %_rtDW_342 = load %DW_REVS_VM_T.16** %_rtDW_, align 1
  %555 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_342, i32 0, i32 1038
  %_rtDW__Subsystem_MODE_i = load i8* %555, align 1
  %556 = and i8 %_rtDW__Subsystem_MODE_i, 1
  %557 = icmp eq i8 %556, 0
  br i1 %557, label %false22, label %true21

merge139:                                         ; preds = %true21, %false22
  %_rtDW_349 = load %DW_REVS_VM_T.16** %_rtDW_, align 1
  %558 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_349, i32 0, i32 1039
  %_rtDW__Subsystem_MODE_m = load i8* %558, align 1
  %559 = and i8 %_rtDW__Subsystem_MODE_m, 1
  %560 = icmp eq i8 %559, 0
  br i1 %560, label %false24, label %true23

merge140:                                         ; preds = %true23, %false24
  %_rtDW_356 = load %DW_REVS_VM_T.16** %_rtDW_, align 1
  %561 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_356, i32 0, i32 1040
  %_rtDW__Subsystem_MODE_c = load i8* %561, align 1
  %562 = and i8 %_rtDW__Subsystem_MODE_c, 1
  %563 = icmp eq i8 %562, 0
  br i1 %563, label %false26, label %true25

merge141:                                         ; preds = %true25, %false26
  %_rtDW_363 = load %DW_REVS_VM_T.16** %_rtDW_, align 1
  %564 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_363, i32 0, i32 1041
  %_rtDW__Subsystem_MODE_g = load i8* %564, align 1
  %565 = and i8 %_rtDW__Subsystem_MODE_g, 1
  %566 = icmp eq i8 %565, 0
  br i1 %566, label %false28, label %true27

merge142:                                         ; preds = %true27, %false28
  %_rtDW_370 = load %DW_REVS_VM_T.16** %_rtDW_, align 1
  %567 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_370, i32 0, i32 1042
  %_rtDW__Subsystem_MODE_l = load i8* %567, align 1
  %568 = and i8 %_rtDW__Subsystem_MODE_l, 1
  %569 = icmp eq i8 %568, 0
  br i1 %569, label %false30, label %true29

merge143:                                         ; preds = %true29, %false30
  %_rtX_377 = load %X_REVS_VM_T.18** %_rtX_, align 1
  %570 = getelementptr inbounds %X_REVS_VM_T.18* %_rtX_377, i32 0, i32 9
  %_rtX__Integrator1_CSTATE_p = load double* %570, align 1
  %_rtP_378 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %571 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_378, i32 0, i32 375
  %_rtP__Integrator1_LowerSat_ie = load double* %571, align 1
  %572 = fcmp ole double %_rtX__Integrator1_CSTATE_p, %_rtP__Integrator1_LowerSat_ie
  %573 = zext i1 %572 to i8
  store i8 %573, i8* %lsat_, align 1
  %_rtX__Integrator1_CSTATE_p380 = load double* %570, align 1
  %574 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_378, i32 0, i32 374
  %_rtP__Integrator1_UpperSat_g = load double* %574, align 1
  %575 = fcmp oge double %_rtX__Integrator1_CSTATE_p380, %_rtP__Integrator1_UpperSat_g
  %576 = zext i1 %575 to i8
  store i8 %576, i8* %usat_, align 1
  %577 = and i8 %573, 1
  %578 = icmp eq i8 %577, 0
  %579 = xor i1 %575, true
  %580 = and i1 %578, %579
  %581 = icmp ne i8 %577, 0
  %_rtB_385 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %582 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_385, i32 0, i32 116
  %_rtB__DataTypeConversion2_k = load double* %582, align 1
  %583 = fcmp ogt double %_rtB__DataTypeConversion2_k, 0.000000e+00
  %584 = and i1 %581, %583
  %585 = or i1 %580, %584
  %586 = and i8 %576, 1
  %587 = icmp ne i8 %586, 0
  %588 = fcmp olt double %_rtB__DataTypeConversion2_k, 0.000000e+00
  %589 = and i1 %587, %588
  %590 = or i1 %585, %589
  %_rtXdot_392 = load %XDot_REVS_VM_T.19** %_rtXdot_, align 1
  %591 = getelementptr inbounds %XDot_REVS_VM_T.19* %_rtXdot_392, i32 0, i32 9
  br i1 %590, label %true31, label %false32

merge144:                                         ; preds = %true31, %false32
  %_rtB_393 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %592 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_393, i32 0, i32 206
  %_rtB__IntegralGain = load double* %592, align 1
  %_rtXdot_394 = load %XDot_REVS_VM_T.19** %_rtXdot_, align 1
  %593 = getelementptr inbounds %XDot_REVS_VM_T.19* %_rtXdot_394, i32 0, i32 10
  store double %_rtB__IntegralGain, double* %593, align 1
  %_rtB_395 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %594 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_395, i32 0, i32 121
  %_rtB__FilterCoefficient = load double* %594, align 1
  %_rtXdot_396 = load %XDot_REVS_VM_T.19** %_rtXdot_, align 1
  %595 = getelementptr inbounds %XDot_REVS_VM_T.19* %_rtXdot_396, i32 0, i32 11
  store double %_rtB__FilterCoefficient, double* %595, align 1
  %_rtX_397 = load %X_REVS_VM_T.18** %_rtX_, align 1
  %596 = getelementptr inbounds %X_REVS_VM_T.18* %_rtX_397, i32 0, i32 12
  %_rtX__Integrator1_CSTATE_ay = load double* %596, align 1
  %_rtP_398 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %597 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_398, i32 0, i32 399
  %_rtP__Integrator1_LowerSat_a = load double* %597, align 1
  %598 = fcmp ole double %_rtX__Integrator1_CSTATE_ay, %_rtP__Integrator1_LowerSat_a
  %599 = zext i1 %598 to i8
  store i8 %599, i8* %lsat_, align 1
  %_rtX__Integrator1_CSTATE_ay400 = load double* %596, align 1
  %600 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_398, i32 0, i32 398
  %_rtP__Integrator1_UpperSat_g2 = load double* %600, align 1
  %601 = fcmp oge double %_rtX__Integrator1_CSTATE_ay400, %_rtP__Integrator1_UpperSat_g2
  %602 = zext i1 %601 to i8
  store i8 %602, i8* %usat_, align 1
  %603 = and i8 %599, 1
  %604 = icmp eq i8 %603, 0
  %605 = xor i1 %601, true
  %606 = and i1 %604, %605
  %607 = icmp ne i8 %603, 0
  %_rtB_405 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %608 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_405, i32 0, i32 130
  %_rtB__DataTypeConversion2_j = load double* %608, align 1
  %609 = fcmp ogt double %_rtB__DataTypeConversion2_j, 0.000000e+00
  %610 = and i1 %607, %609
  %611 = or i1 %606, %610
  %612 = and i8 %602, 1
  %613 = icmp ne i8 %612, 0
  %614 = fcmp olt double %_rtB__DataTypeConversion2_j, 0.000000e+00
  %615 = and i1 %613, %614
  %616 = or i1 %611, %615
  %_rtXdot_412 = load %XDot_REVS_VM_T.19** %_rtXdot_, align 1
  %617 = getelementptr inbounds %XDot_REVS_VM_T.19* %_rtXdot_412, i32 0, i32 12
  br i1 %616, label %true33, label %false34

merge145:                                         ; preds = %true33, %false34
  %_rtB_413 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %618 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_413, i32 0, i32 158
  %_rtB__Switch_c = load double* %618, align 1
  %_rtXdot_414 = load %XDot_REVS_VM_T.19** %_rtXdot_, align 1
  %619 = getelementptr inbounds %XDot_REVS_VM_T.19* %_rtXdot_414, i32 0, i32 13
  store double %_rtB__Switch_c, double* %619, align 1
  %_rtB_415 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %620 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_415, i32 0, i32 150
  %_rtB__FilterCoefficient_o = load double* %620, align 1
  %_rtXdot_416 = load %XDot_REVS_VM_T.19** %_rtXdot_, align 1
  %621 = getelementptr inbounds %XDot_REVS_VM_T.19* %_rtXdot_416, i32 0, i32 14
  store double %_rtB__FilterCoefficient_o, double* %621, align 1
  %_rtDW_417 = load %DW_REVS_VM_T.16** %_rtDW_, align 1
  %622 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_417, i32 0, i32 1043
  %_rtDW__Subsystem_MODE_lx = load i8* %622, align 1
  %623 = and i8 %_rtDW__Subsystem_MODE_lx, 1
  %624 = icmp eq i8 %623, 0
  br i1 %624, label %false36, label %true35

merge146:                                         ; preds = %true37, %false38
  %_rtDW_431 = load %DW_REVS_VM_T.16** %_rtDW_, align 1
  %625 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_431, i32 0, i32 1074
  %_rtDW__Subsystem_MODE_ok = load i8* %625, align 1
  %626 = and i8 %_rtDW__Subsystem_MODE_ok, 1
  %627 = icmp eq i8 %626, 0
  br i1 %627, label %false40, label %true39

merge148:                                         ; preds = %false40, %true39, %false36
  %_rtDW_438 = load %DW_REVS_VM_T.16** %_rtDW_, align 1
  %628 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_438, i32 0, i32 1044
  %_rtDW__Subsystem_MODE_b = load i8* %628, align 1
  %629 = and i8 %_rtDW__Subsystem_MODE_b, 1
  %630 = icmp eq i8 %629, 0
  br i1 %630, label %false42, label %true41

merge149:                                         ; preds = %true41, %false42
  %_rtB_445 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %631 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_445, i32 0, i32 168
  %_rtB__Gain5 = load double* %631, align 1
  %_rtXdot_446 = load %XDot_REVS_VM_T.19** %_rtXdot_, align 1
  %632 = getelementptr inbounds %XDot_REVS_VM_T.19* %_rtXdot_446, i32 0, i32 15
  store double %_rtB__Gain5, double* %632, align 1
  %_rtB_447 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %633 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_447, i32 0, i32 200
  %_rtB__negative = load double* %633, align 1
  %_rtXdot_448 = load %XDot_REVS_VM_T.19** %_rtXdot_, align 1
  %634 = getelementptr inbounds %XDot_REVS_VM_T.19* %_rtXdot_448, i32 0, i32 16
  store double %_rtB__negative, double* %634, align 1
  %_rtB_449 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %635 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_449, i32 0, i32 177
  %_rtB__Add1 = load double* %635, align 1
  %_rtXdot_450 = load %XDot_REVS_VM_T.19** %_rtXdot_, align 1
  %636 = getelementptr inbounds %XDot_REVS_VM_T.19* %_rtXdot_450, i32 0, i32 17
  store double %_rtB__Add1, double* %636, align 1
  %_rtXdot_451 = load %XDot_REVS_VM_T.19** %_rtXdot_, align 1
  %637 = getelementptr inbounds %XDot_REVS_VM_T.19* %_rtXdot_451, i32 0, i32 18, i32 0
  %638 = bitcast double* %637 to i8*
  %_rtB_452 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %639 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_452, i32 0, i32 173, i32 0
  %640 = bitcast double* %639 to i8*
  %641 = call i8* @memcpy(i8* %638, i8* %640, i32 mul (i32 ptrtoint (double* getelementptr (double* null, i32 1) to i32), i32 10))
  %_rtB_453 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %642 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_453, i32 0, i32 168
  %_rtB__Gain5454 = load double* %642, align 1
  %_rtXdot_455 = load %XDot_REVS_VM_T.19** %_rtXdot_, align 1
  %643 = getelementptr inbounds %XDot_REVS_VM_T.19* %_rtXdot_455, i32 0, i32 19
  store double %_rtB__Gain5454, double* %643, align 1
  %_rtB_456 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %644 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_456, i32 0, i32 526
  %_rtB__Sum3_i = load double* %644, align 1
  %_rtXdot_457 = load %XDot_REVS_VM_T.19** %_rtXdot_, align 1
  %645 = getelementptr inbounds %XDot_REVS_VM_T.19* %_rtXdot_457, i32 0, i32 20
  store double %_rtB__Sum3_i, double* %645, align 1
  %_rtB_458 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %646 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_458, i32 0, i32 205
  %_rtB__Product5_jw = load double* %646, align 1
  %_rtXdot_459 = load %XDot_REVS_VM_T.19** %_rtXdot_, align 1
  %647 = getelementptr inbounds %XDot_REVS_VM_T.19* %_rtXdot_459, i32 0, i32 21
  store double %_rtB__Product5_jw, double* %647, align 1
  %_rtXdot_460 = load %XDot_REVS_VM_T.19** %_rtXdot_, align 1
  %648 = getelementptr inbounds %XDot_REVS_VM_T.19* %_rtXdot_460, i32 0, i32 22
  store double 0.000000e+00, double* %648, align 1
  %_rtP_461 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %649 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_461, i32 0, i32 556
  %_rtP__lowpassfilter_A = load double* %649, align 1
  %_rtX_462 = load %X_REVS_VM_T.18** %_rtX_, align 1
  %650 = getelementptr inbounds %X_REVS_VM_T.18* %_rtX_462, i32 0, i32 22
  %_rtX__lowpassfilter_CSTATE = load double* %650, align 1
  %tmp4 = fmul double %_rtP__lowpassfilter_A, %_rtX__lowpassfilter_CSTATE
  %_rtXdot_463 = load %XDot_REVS_VM_T.19** %_rtXdot_, align 1
  %651 = getelementptr inbounds %XDot_REVS_VM_T.19* %_rtXdot_463, i32 0, i32 22
  %_rtXdot__lowpassfilter_CSTATE = load double* %651, align 1
  %tmp5 = fadd double %tmp4, %_rtXdot__lowpassfilter_CSTATE
  store double %tmp5, double* %651, align 1
  %_rtXdot_465 = load %XDot_REVS_VM_T.19** %_rtXdot_, align 1
  %652 = getelementptr inbounds %XDot_REVS_VM_T.19* %_rtXdot_465, i32 0, i32 22
  %_rtXdot__lowpassfilter_CSTATE466 = load double* %652, align 1
  %_rtB_467 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %653 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_467, i32 0, i32 177
  %_rtB__Add1468 = load double* %653, align 1
  %tmp6 = fadd double %_rtXdot__lowpassfilter_CSTATE466, %_rtB__Add1468
  store double %tmp6, double* %652, align 1
  %_rtDW_470 = load %DW_REVS_VM_T.16** %_rtDW_, align 1
  %654 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_470, i32 0, i32 1045
  %_rtDW__Subsystem_MODE_bw = load i8* %654, align 1
  %655 = and i8 %_rtDW__Subsystem_MODE_bw, 1
  %656 = icmp eq i8 %655, 0
  br i1 %656, label %false44, label %true43

merge150:                                         ; preds = %true45, %false46
  %_rtDW_484 = load %DW_REVS_VM_T.16** %_rtDW_, align 1
  %657 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_484, i32 0, i32 1072
  %_rtDW__Subsystem_MODE_ih = load i8* %657, align 1
  %658 = and i8 %_rtDW__Subsystem_MODE_ih, 1
  %659 = icmp eq i8 %658, 0
  br i1 %659, label %false48, label %true47

merge152:                                         ; preds = %false48, %true47, %false44
  %_rtX_491 = load %X_REVS_VM_T.18** %_rtX_, align 1
  %660 = getelementptr inbounds %X_REVS_VM_T.18* %_rtX_491, i32 0, i32 23
  %_rtX__Integrator1_CSTATE_b = load double* %660, align 1
  %_rtP_492 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %661 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_492, i32 0, i32 574
  %_rtP__Integrator1_LowerSat_l = load double* %661, align 1
  %662 = fcmp ole double %_rtX__Integrator1_CSTATE_b, %_rtP__Integrator1_LowerSat_l
  %663 = zext i1 %662 to i8
  store i8 %663, i8* %lsat_, align 1
  %_rtX__Integrator1_CSTATE_b494 = load double* %660, align 1
  %664 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_492, i32 0, i32 573
  %_rtP__Integrator1_UpperSat_d5 = load double* %664, align 1
  %665 = fcmp oge double %_rtX__Integrator1_CSTATE_b494, %_rtP__Integrator1_UpperSat_d5
  %666 = zext i1 %665 to i8
  store i8 %666, i8* %usat_, align 1
  %667 = and i8 %663, 1
  %668 = icmp eq i8 %667, 0
  %669 = xor i1 %665, true
  %670 = and i1 %668, %669
  %671 = icmp ne i8 %667, 0
  %_rtB_499 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %672 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_499, i32 0, i32 208
  %_rtB__DataTypeConversion2_b = load double* %672, align 1
  %673 = fcmp ogt double %_rtB__DataTypeConversion2_b, 0.000000e+00
  %674 = and i1 %671, %673
  %675 = or i1 %670, %674
  %676 = and i8 %666, 1
  %677 = icmp ne i8 %676, 0
  %678 = fcmp olt double %_rtB__DataTypeConversion2_b, 0.000000e+00
  %679 = and i1 %677, %678
  %680 = or i1 %675, %679
  %_rtXdot_506 = load %XDot_REVS_VM_T.19** %_rtXdot_, align 1
  %681 = getelementptr inbounds %XDot_REVS_VM_T.19* %_rtXdot_506, i32 0, i32 23
  br i1 %680, label %true49, label %false50

merge153:                                         ; preds = %true49, %false50
  %_rtXdot_507 = load %XDot_REVS_VM_T.19** %_rtXdot_, align 1
  %682 = getelementptr inbounds %XDot_REVS_VM_T.19* %_rtXdot_507, i32 0, i32 24, i32 0
  %683 = bitcast double* %682 to i8*
  %_rtB_508 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %684 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_508, i32 0, i32 312, i32 0
  %685 = bitcast double* %684 to i8*
  %686 = call i8* @memcpy(i8* %683, i8* %685, i32 mul (i32 ptrtoint (double* getelementptr (double* null, i32 1) to i32), i32 10))
  %_rtB_509 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %687 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_509, i32 0, i32 311
  %_rtB__Gain_e = load double* %687, align 1
  %_rtXdot_510 = load %XDot_REVS_VM_T.19** %_rtXdot_, align 1
  %688 = getelementptr inbounds %XDot_REVS_VM_T.19* %_rtXdot_510, i32 0, i32 25
  store double %_rtB__Gain_e, double* %688, align 1
  %_rtXdot_511 = load %XDot_REVS_VM_T.19** %_rtXdot_, align 1
  %689 = getelementptr inbounds %XDot_REVS_VM_T.19* %_rtXdot_511, i32 0, i32 26
  store double 0.000000e+00, double* %689, align 1
  %_rtP_512 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %690 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_512, i32 0, i32 594
  %_rtP__TransferFcn_A = load double* %690, align 1
  %_rtX_513 = load %X_REVS_VM_T.18** %_rtX_, align 1
  %691 = getelementptr inbounds %X_REVS_VM_T.18* %_rtX_513, i32 0, i32 26
  %_rtX__TransferFcn_CSTATE = load double* %691, align 1
  %tmp8 = fmul double %_rtP__TransferFcn_A, %_rtX__TransferFcn_CSTATE
  %_rtXdot_514 = load %XDot_REVS_VM_T.19** %_rtXdot_, align 1
  %692 = getelementptr inbounds %XDot_REVS_VM_T.19* %_rtXdot_514, i32 0, i32 26
  %_rtXdot__TransferFcn_CSTATE = load double* %692, align 1
  %tmp9 = fadd double %tmp8, %_rtXdot__TransferFcn_CSTATE
  store double %tmp9, double* %692, align 1
  %_rtXdot_516 = load %XDot_REVS_VM_T.19** %_rtXdot_, align 1
  %693 = getelementptr inbounds %XDot_REVS_VM_T.19* %_rtXdot_516, i32 0, i32 26
  %_rtXdot__TransferFcn_CSTATE517 = load double* %693, align 1
  %_rtB_518 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %694 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_518, i32 0, i32 96
  %_rtB__tc_spd_in_radps = load double* %694, align 1
  %tmp10 = fadd double %_rtXdot__TransferFcn_CSTATE517, %_rtB__tc_spd_in_radps
  store double %tmp10, double* %693, align 1
  %_rtB_520 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %695 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_520, i32 0, i32 457
  %_rtB__Fcn_j5 = load double* %695, align 1
  %_rtXdot_521 = load %XDot_REVS_VM_T.19** %_rtXdot_, align 1
  %696 = getelementptr inbounds %XDot_REVS_VM_T.19* %_rtXdot_521, i32 0, i32 27
  store double %_rtB__Fcn_j5, double* %696, align 1
  %_rtX_522 = load %X_REVS_VM_T.18** %_rtX_, align 1
  %697 = getelementptr inbounds %X_REVS_VM_T.18* %_rtX_522, i32 0, i32 28
  %_rtX__Integrator1_CSTATE_m = load double* %697, align 1
  %_rtP_523 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %698 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_523, i32 0, i32 611
  %_rtP__Integrator1_LowerSat_gu = load double* %698, align 1
  %699 = fcmp ole double %_rtX__Integrator1_CSTATE_m, %_rtP__Integrator1_LowerSat_gu
  %700 = zext i1 %699 to i8
  store i8 %700, i8* %lsat_, align 1
  %_rtX__Integrator1_CSTATE_m525 = load double* %697, align 1
  %701 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_523, i32 0, i32 610
  %_rtP__Integrator1_UpperSat_ob = load double* %701, align 1
  %702 = fcmp oge double %_rtX__Integrator1_CSTATE_m525, %_rtP__Integrator1_UpperSat_ob
  %703 = zext i1 %702 to i8
  store i8 %703, i8* %usat_, align 1
  %704 = and i8 %700, 1
  %705 = icmp eq i8 %704, 0
  %706 = xor i1 %702, true
  %707 = and i1 %705, %706
  %708 = icmp ne i8 %704, 0
  %_rtB_530 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %709 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_530, i32 0, i32 230
  %_rtB__DataTypeConversion2_g = load double* %709, align 1
  %710 = fcmp ogt double %_rtB__DataTypeConversion2_g, 0.000000e+00
  %711 = and i1 %708, %710
  %712 = or i1 %707, %711
  %713 = and i8 %703, 1
  %714 = icmp ne i8 %713, 0
  %715 = fcmp olt double %_rtB__DataTypeConversion2_g, 0.000000e+00
  %716 = and i1 %714, %715
  %717 = or i1 %712, %716
  %_rtXdot_537 = load %XDot_REVS_VM_T.19** %_rtXdot_, align 1
  %718 = getelementptr inbounds %XDot_REVS_VM_T.19* %_rtXdot_537, i32 0, i32 28
  br i1 %717, label %true51, label %false52

merge154:                                         ; preds = %true51, %false52
  %_rtB_538 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %719 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_538, i32 0, i32 234
  %_rtB__DataTypeConversion2_l = load double* %719, align 1
  %_rtXdot_539 = load %XDot_REVS_VM_T.19** %_rtXdot_, align 1
  %720 = getelementptr inbounds %XDot_REVS_VM_T.19* %_rtXdot_539, i32 0, i32 29
  store double %_rtB__DataTypeConversion2_l, double* %720, align 1
  %_rtX_540 = load %X_REVS_VM_T.18** %_rtX_, align 1
  %721 = getelementptr inbounds %X_REVS_VM_T.18* %_rtX_540, i32 0, i32 30
  %_rtX__Integrator_CSTATE_gp = load double* %721, align 1
  %_rtP_541 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %722 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_541, i32 0, i32 633
  %_rtP__Integrator_LowerSat_b = load double* %722, align 1
  %723 = fcmp ole double %_rtX__Integrator_CSTATE_gp, %_rtP__Integrator_LowerSat_b
  %724 = zext i1 %723 to i8
  store i8 %724, i8* %lsat_, align 1
  %_rtX__Integrator_CSTATE_gp543 = load double* %721, align 1
  %725 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_541, i32 0, i32 632
  %_rtP__Integrator_UpperSat_m = load double* %725, align 1
  %726 = fcmp oge double %_rtX__Integrator_CSTATE_gp543, %_rtP__Integrator_UpperSat_m
  %727 = zext i1 %726 to i8
  store i8 %727, i8* %usat_, align 1
  %_rtB_545 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %728 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_545, i32 0, i32 693
  %_rtB__LogicalOperator_p = load i8* %728, align 1
  %729 = and i8 %_rtB__LogicalOperator_p, 1
  %730 = icmp eq i8 %729, 0
  %731 = or i8 %727, %724
  %732 = and i8 %731, 1
  %733 = icmp eq i8 %732, 0
  %734 = and i8 %724, 1
  %735 = icmp ne i8 %734, 0
  %736 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_545, i32 0, i32 456
  %_rtB__Ki = load double* %736, align 1
  %737 = fcmp ogt double %_rtB__Ki, 0.000000e+00
  %738 = and i1 %735, %737
  %739 = or i1 %733, %738
  %740 = and i8 %727, 1
  %741 = icmp ne i8 %740, 0
  %742 = fcmp olt double %_rtB__Ki, 0.000000e+00
  %743 = and i1 %741, %742
  %744 = or i1 %739, %743
  %745 = and i1 %730, %744
  %_rtXdot_556 = load %XDot_REVS_VM_T.19** %_rtXdot_, align 1
  %746 = getelementptr inbounds %XDot_REVS_VM_T.19* %_rtXdot_556, i32 0, i32 30
  br i1 %745, label %true53, label %false54

merge155:                                         ; preds = %true53, %false54
  %_rtB_557 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %747 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_557, i32 0, i32 453
  %_rtB__Product_h = load double* %747, align 1
  %_rtXdot_558 = load %XDot_REVS_VM_T.19** %_rtXdot_, align 1
  %748 = getelementptr inbounds %XDot_REVS_VM_T.19* %_rtXdot_558, i32 0, i32 31
  store double %_rtB__Product_h, double* %748, align 1
  %_rtXdot_559 = load %XDot_REVS_VM_T.19** %_rtXdot_, align 1
  %749 = getelementptr inbounds %XDot_REVS_VM_T.19* %_rtXdot_559, i32 0, i32 32, i32 0
  %750 = bitcast double* %749 to i8*
  %_rtB_560 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %751 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_560, i32 0, i32 324, i32 0
  %752 = bitcast double* %751 to i8*
  %753 = call i8* @memcpy(i8* %750, i8* %752, i32 mul (i32 ptrtoint (double* getelementptr (double* null, i32 1) to i32), i32 90))
  %_rtXdot_561 = load %XDot_REVS_VM_T.19** %_rtXdot_, align 1
  %754 = getelementptr inbounds %XDot_REVS_VM_T.19* %_rtXdot_561, i32 0, i32 33, i32 0
  %755 = bitcast double* %754 to i8*
  %_rtB_562 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %756 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_562, i32 0, i32 323, i32 0
  %757 = bitcast double* %756 to i8*
  %758 = call i8* @memcpy(i8* %755, i8* %757, i32 mul (i32 ptrtoint (double* getelementptr (double* null, i32 1) to i32), i32 9))
  %_rtXdot_563 = load %XDot_REVS_VM_T.19** %_rtXdot_, align 1
  %759 = getelementptr inbounds %XDot_REVS_VM_T.19* %_rtXdot_563, i32 0, i32 34
  store double 0.000000e+00, double* %759, align 1
  %_rtP_564 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %760 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_564, i32 0, i32 791
  %_rtP__lowpassfilter_A_b = load double* %760, align 1
  %_rtX_565 = load %X_REVS_VM_T.18** %_rtX_, align 1
  %761 = getelementptr inbounds %X_REVS_VM_T.18* %_rtX_565, i32 0, i32 34
  %_rtX__lowpassfilter_CSTATE_e = load double* %761, align 1
  %tmp13 = fmul double %_rtP__lowpassfilter_A_b, %_rtX__lowpassfilter_CSTATE_e
  %_rtXdot_566 = load %XDot_REVS_VM_T.19** %_rtXdot_, align 1
  %762 = getelementptr inbounds %XDot_REVS_VM_T.19* %_rtXdot_566, i32 0, i32 34
  %_rtXdot__lowpassfilter_CSTATE_e = load double* %762, align 1
  %tmp14 = fadd double %tmp13, %_rtXdot__lowpassfilter_CSTATE_e
  store double %tmp14, double* %762, align 1
  %_rtXdot_568 = load %XDot_REVS_VM_T.19** %_rtXdot_, align 1
  %763 = getelementptr inbounds %XDot_REVS_VM_T.19* %_rtXdot_568, i32 0, i32 34
  %_rtXdot__lowpassfilter_CSTATE_e569 = load double* %763, align 1
  %_rtB_570 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %764 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_570, i32 0, i32 597
  %_rtB__desired_gear_num = load double* %764, align 1
  %tmp15 = fadd double %_rtXdot__lowpassfilter_CSTATE_e569, %_rtB__desired_gear_num
  store double %tmp15, double* %763, align 1
  %_rtDW_572 = load %DW_REVS_VM_T.16** %_rtDW_, align 1
  %765 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_572, i32 0, i32 1046
  %_rtDW__Subsystem_MODE_o = load i8* %765, align 1
  %766 = and i8 %_rtDW__Subsystem_MODE_o, 1
  %767 = icmp eq i8 %766, 0
  br i1 %767, label %false56, label %true55

merge156:                                         ; preds = %true57, %false58
  %_rtDW_586 = load %DW_REVS_VM_T.16** %_rtDW_, align 1
  %768 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_586, i32 0, i32 1070
  %_rtDW__Subsystem_MODE_cp = load i8* %768, align 1
  %769 = and i8 %_rtDW__Subsystem_MODE_cp, 1
  %770 = icmp eq i8 %769, 0
  br i1 %770, label %false60, label %true59

merge158:                                         ; preds = %false60, %true59, %false56
  %_rtDW_593 = load %DW_REVS_VM_T.16** %_rtDW_, align 1
  %771 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_593, i32 0, i32 1047
  %_rtDW__Subsystem_MODE_lxb = load i8* %771, align 1
  %772 = and i8 %_rtDW__Subsystem_MODE_lxb, 1
  %773 = icmp eq i8 %772, 0
  br i1 %773, label %false62, label %true61

merge159:                                         ; preds = %true61, %false62
  %_rtDW_600 = load %DW_REVS_VM_T.16** %_rtDW_, align 1
  %774 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_600, i32 0, i32 1048
  %_rtDW__Subsystem_MODE_i4 = load i8* %774, align 1
  %775 = and i8 %_rtDW__Subsystem_MODE_i4, 1
  %776 = icmp eq i8 %775, 0
  br i1 %776, label %false64, label %true63

merge160:                                         ; preds = %true63, %false64
  %_rtDW_607 = load %DW_REVS_VM_T.16** %_rtDW_, align 1
  %777 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_607, i32 0, i32 1049
  %_rtDW__Subsystem_MODE_hp = load i8* %777, align 1
  %778 = and i8 %_rtDW__Subsystem_MODE_hp, 1
  %779 = icmp eq i8 %778, 0
  br i1 %779, label %false66, label %true65

merge161:                                         ; preds = %true65, %false66
  %_rtDW_614 = load %DW_REVS_VM_T.16** %_rtDW_, align 1
  %780 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_614, i32 0, i32 1050
  %_rtDW__Subsystem_MODE_p = load i8* %780, align 1
  %781 = and i8 %_rtDW__Subsystem_MODE_p, 1
  %782 = icmp eq i8 %781, 0
  br i1 %782, label %false68, label %true67

merge162:                                         ; preds = %true69, %false70
  %_rtDW_628 = load %DW_REVS_VM_T.16** %_rtDW_, align 1
  %783 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_628, i32 0, i32 1068
  %_rtDW__Subsystem_MODE_j3 = load i8* %783, align 1
  %784 = and i8 %_rtDW__Subsystem_MODE_j3, 1
  %785 = icmp eq i8 %784, 0
  br i1 %785, label %false72, label %true71

merge164:                                         ; preds = %false72, %true71, %false68
  %_rtDW_635 = load %DW_REVS_VM_T.16** %_rtDW_, align 1
  %786 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_635, i32 0, i32 1051
  %_rtDW__Subsystem_MODE_bo = load i8* %786, align 1
  %787 = and i8 %_rtDW__Subsystem_MODE_bo, 1
  %788 = icmp eq i8 %787, 0
  br i1 %788, label %false74, label %true73

merge165:                                         ; preds = %true73, %false74
  %_rtDW_642 = load %DW_REVS_VM_T.16** %_rtDW_, align 1
  %789 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_642, i32 0, i32 1052
  %_rtDW__Subsystem_MODE_n = load i8* %789, align 1
  %790 = and i8 %_rtDW__Subsystem_MODE_n, 1
  %791 = icmp eq i8 %790, 0
  br i1 %791, label %false76, label %true75

merge166:                                         ; preds = %true75, %false76
  %_rtDW_649 = load %DW_REVS_VM_T.16** %_rtDW_, align 1
  %792 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_649, i32 0, i32 1053
  %_rtDW__Subsystem_MODE_no = load i8* %792, align 1
  %793 = and i8 %_rtDW__Subsystem_MODE_no, 1
  %794 = icmp eq i8 %793, 0
  br i1 %794, label %false78, label %true77

merge167:                                         ; preds = %true77, %false78
  %_rtB_656 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %795 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_656, i32 0, i32 386
  %_rtB__Gain_c = load double* %795, align 1
  %_rtXdot_657 = load %XDot_REVS_VM_T.19** %_rtXdot_, align 1
  %796 = getelementptr inbounds %XDot_REVS_VM_T.19* %_rtXdot_657, i32 0, i32 36
  store double %_rtB__Gain_c, double* %796, align 1
  %_rtB_658 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %797 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_658, i32 0, i32 390
  %_rtB__Constant_bi = load double* %797, align 1
  %_rtXdot_659 = load %XDot_REVS_VM_T.19** %_rtXdot_, align 1
  %798 = getelementptr inbounds %XDot_REVS_VM_T.19* %_rtXdot_659, i32 0, i32 38
  store double %_rtB__Constant_bi, double* %798, align 1
  %_rtXdot_660 = load %XDot_REVS_VM_T.19** %_rtXdot_, align 1
  %799 = getelementptr inbounds %XDot_REVS_VM_T.19* %_rtXdot_660, i32 0, i32 35, i32 0
  %800 = bitcast double* %799 to i8*
  %_rtB_661 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %801 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_661, i32 0, i32 387, i32 0
  %802 = bitcast double* %801 to i8*
  %803 = call i8* @memcpy(i8* %800, i8* %802, i32 mul (i32 ptrtoint (double* getelementptr (double* null, i32 1) to i32), i32 10))
  %_rtXdot_662 = load %XDot_REVS_VM_T.19** %_rtXdot_, align 1
  %804 = getelementptr inbounds %XDot_REVS_VM_T.19* %_rtXdot_662, i32 0, i32 37, i32 0
  %805 = bitcast double* %804 to i8*
  %_rtB_663 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %806 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_663, i32 0, i32 396, i32 0
  %807 = bitcast double* %806 to i8*
  %808 = call i8* @memcpy(i8* %805, i8* %807, i32 mul (i32 ptrtoint (double* getelementptr (double* null, i32 1) to i32), i32 10))
  %_rtXdot_664 = load %XDot_REVS_VM_T.19** %_rtXdot_, align 1
  %809 = getelementptr inbounds %XDot_REVS_VM_T.19* %_rtXdot_664, i32 0, i32 39, i32 0
  %810 = bitcast double* %809 to i8*
  %_rtB_665 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %811 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_665, i32 0, i32 418, i32 0
  %812 = bitcast double* %811 to i8*
  %813 = call i8* @memcpy(i8* %810, i8* %812, i32 mul (i32 ptrtoint (double* getelementptr (double* null, i32 1) to i32), i32 10))
  %_rtB_666 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %814 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_666, i32 0, i32 417
  %_rtB__u_g = load double* %814, align 1
  %_rtXdot_667 = load %XDot_REVS_VM_T.19** %_rtXdot_, align 1
  %815 = getelementptr inbounds %XDot_REVS_VM_T.19* %_rtXdot_667, i32 0, i32 40
  store double %_rtB__u_g, double* %815, align 1
  %_rtB_668 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %816 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_668, i32 0, i32 437
  %_rtB__Constant2_j = load double* %816, align 1
  %_rtXdot_669 = load %XDot_REVS_VM_T.19** %_rtXdot_, align 1
  %817 = getelementptr inbounds %XDot_REVS_VM_T.19* %_rtXdot_669, i32 0, i32 41
  store double %_rtB__Constant2_j, double* %817, align 1
  %_rtB_670 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %818 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_670, i32 0, i32 400
  %_rtB__RateLimiter_mg = load double* %818, align 1
  %819 = fcmp oeq double %_rtB__RateLimiter_mg, 0.000000e+00
  br i1 %819, label %true79, label %false80

merge168:                                         ; preds = %true79, %false80
  %_rtB_674 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %820 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_674, i32 0, i32 421
  %_rtB__Gain_p = load double* %820, align 1
  %_rtXdot_675 = load %XDot_REVS_VM_T.19** %_rtXdot_, align 1
  %821 = getelementptr inbounds %XDot_REVS_VM_T.19* %_rtXdot_675, i32 0, i32 44
  store double %_rtB__Gain_p, double* %821, align 1
  %_rtB_676 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %822 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_676, i32 0, i32 426
  %_rtB__DataTypeConversion_dn = load double* %822, align 1
  %_rtXdot_677 = load %XDot_REVS_VM_T.19** %_rtXdot_, align 1
  %823 = getelementptr inbounds %XDot_REVS_VM_T.19* %_rtXdot_677, i32 0, i32 46
  store double %_rtB__DataTypeConversion_dn, double* %823, align 1
  %_rtXdot_678 = load %XDot_REVS_VM_T.19** %_rtXdot_, align 1
  %824 = getelementptr inbounds %XDot_REVS_VM_T.19* %_rtXdot_678, i32 0, i32 43, i32 0
  %825 = bitcast double* %824 to i8*
  %_rtB_679 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %826 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_679, i32 0, i32 422, i32 0
  %827 = bitcast double* %826 to i8*
  %828 = call i8* @memcpy(i8* %825, i8* %827, i32 mul (i32 ptrtoint (double* getelementptr (double* null, i32 1) to i32), i32 10))
  %_rtXdot_680 = load %XDot_REVS_VM_T.19** %_rtXdot_, align 1
  %829 = getelementptr inbounds %XDot_REVS_VM_T.19* %_rtXdot_680, i32 0, i32 45, i32 0
  %830 = bitcast double* %829 to i8*
  %_rtB_681 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %831 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_681, i32 0, i32 427, i32 0
  %832 = bitcast double* %831 to i8*
  %833 = call i8* @memcpy(i8* %830, i8* %832, i32 mul (i32 ptrtoint (double* getelementptr (double* null, i32 1) to i32), i32 10))
  %_rtXdot_682 = load %XDot_REVS_VM_T.19** %_rtXdot_, align 1
  %834 = getelementptr inbounds %XDot_REVS_VM_T.19* %_rtXdot_682, i32 0, i32 47, i32 0
  %835 = bitcast double* %834 to i8*
  %_rtB_683 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %836 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_683, i32 0, i32 431, i32 0
  %837 = bitcast double* %836 to i8*
  %838 = call i8* @memcpy(i8* %835, i8* %837, i32 mul (i32 ptrtoint (double* getelementptr (double* null, i32 1) to i32), i32 10))
  %_rtB_684 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %839 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_684, i32 0, i32 430
  %_rtB__Gain_o = load double* %839, align 1
  %_rtXdot_685 = load %XDot_REVS_VM_T.19** %_rtXdot_, align 1
  %840 = getelementptr inbounds %XDot_REVS_VM_T.19* %_rtXdot_685, i32 0, i32 48
  store double %_rtB__Gain_o, double* %840, align 1
  %_rtB_686 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %841 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_686, i32 0, i32 417
  %_rtB__u_g687 = load double* %841, align 1
  %_rtXdot_688 = load %XDot_REVS_VM_T.19** %_rtXdot_, align 1
  %842 = getelementptr inbounds %XDot_REVS_VM_T.19* %_rtXdot_688, i32 0, i32 49
  store double %_rtB__u_g687, double* %842, align 1
  %_rtB_689 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %843 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_689, i32 0, i32 416
  %_rtB__fuelflow1 = load double* %843, align 1
  %_rtXdot_690 = load %XDot_REVS_VM_T.19** %_rtXdot_, align 1
  %844 = getelementptr inbounds %XDot_REVS_VM_T.19* %_rtXdot_690, i32 0, i32 50
  store double %_rtB__fuelflow1, double* %844, align 1
  %_rtB_691 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %845 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_691, i32 0, i32 409
  %_rtB__fuelflow3 = load double* %845, align 1
  %_rtXdot_692 = load %XDot_REVS_VM_T.19** %_rtXdot_, align 1
  %846 = getelementptr inbounds %XDot_REVS_VM_T.19* %_rtXdot_692, i32 0, i32 51
  store double %_rtB__fuelflow3, double* %846, align 1
  %_rtB_693 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %847 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_693, i32 0, i32 407
  %_rtB__Product7_a = load double* %847, align 1
  %_rtXdot_694 = load %XDot_REVS_VM_T.19** %_rtXdot_, align 1
  %848 = getelementptr inbounds %XDot_REVS_VM_T.19* %_rtXdot_694, i32 0, i32 52
  store double %_rtB__Product7_a, double* %848, align 1
  %_rtB_695 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %849 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_695, i32 0, i32 411
  %_rtB__fuelflow2 = load double* %849, align 1
  %_rtXdot_696 = load %XDot_REVS_VM_T.19** %_rtXdot_, align 1
  %850 = getelementptr inbounds %XDot_REVS_VM_T.19* %_rtXdot_696, i32 0, i32 53
  store double %_rtB__fuelflow2, double* %850, align 1
  %_rtX_697 = load %X_REVS_VM_T.18** %_rtX_, align 1
  %851 = getelementptr inbounds %X_REVS_VM_T.18* %_rtX_697, i32 0, i32 54
  %_rtX__Integrator1_CSTATE_od = load double* %851, align 1
  %_rtP_698 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %852 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_698, i32 0, i32 1050
  %_rtP__Integrator1_LowerSat_c = load double* %852, align 1
  %853 = fcmp ole double %_rtX__Integrator1_CSTATE_od, %_rtP__Integrator1_LowerSat_c
  %854 = zext i1 %853 to i8
  store i8 %854, i8* %lsat_, align 1
  %_rtX__Integrator1_CSTATE_od700 = load double* %851, align 1
  %855 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_698, i32 0, i32 1049
  %_rtP__Integrator1_UpperSat_h3 = load double* %855, align 1
  %856 = fcmp oge double %_rtX__Integrator1_CSTATE_od700, %_rtP__Integrator1_UpperSat_h3
  %857 = zext i1 %856 to i8
  store i8 %857, i8* %usat_, align 1
  %858 = and i8 %854, 1
  %859 = icmp eq i8 %858, 0
  %860 = xor i1 %856, true
  %861 = and i1 %859, %860
  %862 = icmp ne i8 %858, 0
  %_rtB_705 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %863 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_705, i32 0, i32 440
  %_rtB__DataTypeConversion2_h = load double* %863, align 1
  %864 = fcmp ogt double %_rtB__DataTypeConversion2_h, 0.000000e+00
  %865 = and i1 %862, %864
  %866 = or i1 %861, %865
  %867 = and i8 %857, 1
  %868 = icmp ne i8 %867, 0
  %869 = fcmp olt double %_rtB__DataTypeConversion2_h, 0.000000e+00
  %870 = and i1 %868, %869
  %871 = or i1 %866, %870
  %_rtXdot_712 = load %XDot_REVS_VM_T.19** %_rtXdot_, align 1
  %872 = getelementptr inbounds %XDot_REVS_VM_T.19* %_rtXdot_712, i32 0, i32 54
  br i1 %871, label %true81, label %false82

merge169:                                         ; preds = %true81, %false82
  %_rtB_713 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %873 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_713, i32 0, i32 779
  %_rtB__LogicalOperator_o = load i8* %873, align 1
  %874 = and i8 %_rtB__LogicalOperator_o, 1
  %875 = icmp eq i8 %874, 0
  br i1 %875, label %true83, label %false84

merge170:                                         ; preds = %true83, %false84
  %_rtXdot_717 = load %XDot_REVS_VM_T.19** %_rtXdot_, align 1
  %876 = getelementptr inbounds %XDot_REVS_VM_T.19* %_rtXdot_717, i32 0, i32 56, i32 0
  %877 = bitcast double* %876 to i8*
  %_rtB_718 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %878 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_718, i32 0, i32 472, i32 0
  %879 = bitcast double* %878 to i8*
  %880 = call i8* @memcpy(i8* %877, i8* %879, i32 mul (i32 ptrtoint (double* getelementptr (double* null, i32 1) to i32), i32 10))
  %_rtB_719 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %881 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_719, i32 0, i32 471
  %_rtB__Gain_cu = load double* %881, align 1
  %_rtXdot_720 = load %XDot_REVS_VM_T.19** %_rtXdot_, align 1
  %882 = getelementptr inbounds %XDot_REVS_VM_T.19* %_rtXdot_720, i32 0, i32 57
  store double %_rtB__Gain_cu, double* %882, align 1
  %_rtDW_721 = load %DW_REVS_VM_T.16** %_rtDW_, align 1
  %883 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_721, i32 0, i32 1054
  %_rtDW__Subsystem_MODE_d = load i8* %883, align 1
  %884 = and i8 %_rtDW__Subsystem_MODE_d, 1
  %885 = icmp eq i8 %884, 0
  br i1 %885, label %false86, label %true85

merge171:                                         ; preds = %true85, %false86
  %_rtDW_728 = load %DW_REVS_VM_T.16** %_rtDW_, align 1
  %886 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_728, i32 0, i32 1055
  %_rtDW__Subsystem_MODE_a = load i8* %886, align 1
  %887 = and i8 %_rtDW__Subsystem_MODE_a, 1
  %888 = icmp eq i8 %887, 0
  br i1 %888, label %false88, label %true87

merge172:                                         ; preds = %true89, %false90
  %_rtDW_742 = load %DW_REVS_VM_T.16** %_rtDW_, align 1
  %889 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_742, i32 0, i32 1066
  %_rtDW__Subsystem_MODE_gq = load i8* %889, align 1
  %890 = and i8 %_rtDW__Subsystem_MODE_gq, 1
  %891 = icmp eq i8 %890, 0
  br i1 %891, label %false92, label %true91

merge174:                                         ; preds = %false92, %true91, %false88
  %_rtDW_749 = load %DW_REVS_VM_T.16** %_rtDW_, align 1
  %892 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_749, i32 0, i32 1056
  %_rtDW__Subsystem_MODE_a0 = load i8* %892, align 1
  %893 = and i8 %_rtDW__Subsystem_MODE_a0, 1
  %894 = icmp eq i8 %893, 0
  br i1 %894, label %false94, label %true93

merge175:                                         ; preds = %true95, %false96
  %_rtDW_764 = load %DW_REVS_VM_T.16** %_rtDW_, align 1
  %895 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_764, i32 0, i32 1064
  %_rtDW__Subsystem_MODE_pj = load i8* %895, align 1
  %896 = and i8 %_rtDW__Subsystem_MODE_pj, 1
  %897 = icmp eq i8 %896, 0
  br i1 %897, label %false98, label %true97

merge176:                                         ; preds = %true99, %false100
  %"%<tSimStruct>_785" = load i8** %"%<tSimStruct>_", align 1
  %_rtB_786 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %898 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_786, i32 0, i32 869
  %_rtXdot_787 = load %XDot_REVS_VM_T.19** %_rtXdot_, align 1
  %899 = getelementptr inbounds %XDot_REVS_VM_T.19* %_rtXdot_787, i32 0, i32 84
  call void @REVS_VM_MechEnergyNmps_Deriv(i8* %"%<tSimStruct>_785", %B_MechEnergyNmps_REVS_VM_T.8* %898, %XDot_MechEnergyNmps_REVS_VM_T.9* %899)
  br label %merge178

merge178:                                         ; preds = %false98, %merge176, %false94
  %_rtDW_788 = load %DW_REVS_VM_T.16** %_rtDW_, align 1
  %900 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_788, i32 0, i32 1057
  %_rtDW__Subsystem_MODE_ac = load i8* %900, align 1
  %901 = and i8 %_rtDW__Subsystem_MODE_ac, 1
  %902 = icmp eq i8 %901, 0
  br i1 %902, label %false102, label %true101

merge179:                                         ; preds = %true103, %false104
  %"%<tSimStruct>_810" = load i8** %"%<tSimStruct>_", align 1
  %_rtB_811 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %903 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_811, i32 0, i32 868
  %_rtXdot_812 = load %XDot_REVS_VM_T.19** %_rtXdot_, align 1
  %904 = getelementptr inbounds %XDot_REVS_VM_T.19* %_rtXdot_812, i32 0, i32 82
  call void @REVS_VM_MechEnergyNmps_Deriv(i8* %"%<tSimStruct>_810", %B_MechEnergyNmps_REVS_VM_T.8* %903, %XDot_MechEnergyNmps_REVS_VM_T.9* %904)
  br label %merge180

merge180:                                         ; preds = %merge179, %false102
  %_rtX_813 = load %X_REVS_VM_T.18** %_rtX_, align 1
  %905 = getelementptr inbounds %X_REVS_VM_T.18* %_rtX_813, i32 0, i32 58
  %_rtX__Integrator_CSTATE_h = load double* %905, align 1
  %_rtP_814 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %906 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_814, i32 0, i32 1202
  %_rtP__Integrator_LowerSat_a = load double* %906, align 1
  %907 = fcmp ole double %_rtX__Integrator_CSTATE_h, %_rtP__Integrator_LowerSat_a
  %908 = zext i1 %907 to i8
  store i8 %908, i8* %lsat_, align 1
  %_rtX__Integrator_CSTATE_h816 = load double* %905, align 1
  %909 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_814, i32 0, i32 1201
  %_rtP__Integrator_UpperSat_e = load double* %909, align 1
  %910 = fcmp oge double %_rtX__Integrator_CSTATE_h816, %_rtP__Integrator_UpperSat_e
  %911 = zext i1 %910 to i8
  store i8 %911, i8* %usat_, align 1
  %_rtB_818 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %912 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_818, i32 0, i32 820
  %_rtB__Compare_mo0 = load i8* %912, align 1
  %913 = and i8 %_rtB__Compare_mo0, 1
  %914 = icmp eq i8 %913, 0
  %915 = or i8 %911, %908
  %916 = and i8 %915, 1
  %917 = icmp eq i8 %916, 0
  %918 = and i8 %908, 1
  %919 = icmp ne i8 %918, 0
  %920 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_818, i32 0, i32 523
  %_rtB__speederrortointegralcontrol = load double* %920, align 1
  %921 = fcmp ogt double %_rtB__speederrortointegralcontrol, 0.000000e+00
  %922 = and i1 %919, %921
  %923 = or i1 %917, %922
  %924 = and i8 %911, 1
  %925 = icmp ne i8 %924, 0
  %926 = fcmp olt double %_rtB__speederrortointegralcontrol, 0.000000e+00
  %927 = and i1 %925, %926
  %928 = or i1 %923, %927
  %929 = and i1 %914, %928
  %_rtXdot_829 = load %XDot_REVS_VM_T.19** %_rtXdot_, align 1
  %930 = getelementptr inbounds %XDot_REVS_VM_T.19* %_rtXdot_829, i32 0, i32 58
  br i1 %929, label %true105, label %false106

merge181:                                         ; preds = %true105, %false106
  %_rtB_830 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %931 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_830, i32 0, i32 517
  %_rtB__DataTypeConversion_is = load double* %931, align 1
  %_rtXdot_831 = load %XDot_REVS_VM_T.19** %_rtXdot_, align 1
  %932 = getelementptr inbounds %XDot_REVS_VM_T.19* %_rtXdot_831, i32 0, i32 60
  store double %_rtB__DataTypeConversion_is, double* %932, align 1
  %_rtB_832 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %933 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_832, i32 0, i32 528
  %_rtB__DataTypeConversion_j = load double* %933, align 1
  %_rtXdot_833 = load %XDot_REVS_VM_T.19** %_rtXdot_, align 1
  %934 = getelementptr inbounds %XDot_REVS_VM_T.19* %_rtXdot_833, i32 0, i32 61
  store double %_rtB__DataTypeConversion_j, double* %934, align 1
  %_rtB_834 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %935 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_834, i32 0, i32 503
  %_rtB__drivecycle = load double* %935, align 1
  %_rtXdot_835 = load %XDot_REVS_VM_T.19** %_rtXdot_, align 1
  %936 = getelementptr inbounds %XDot_REVS_VM_T.19* %_rtXdot_835, i32 0, i32 63
  store double %_rtB__drivecycle, double* %936, align 1
  %_rtXdot_836 = load %XDot_REVS_VM_T.19** %_rtXdot_, align 1
  %937 = getelementptr inbounds %XDot_REVS_VM_T.19* %_rtXdot_836, i32 0, i32 59, i32 0
  %938 = bitcast double* %937 to i8*
  %_rtB_837 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %939 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_837, i32 0, i32 518, i32 0
  %940 = bitcast double* %939 to i8*
  %941 = call i8* @memcpy(i8* %938, i8* %940, i32 mul (i32 ptrtoint (double* getelementptr (double* null, i32 1) to i32), i32 10))
  %_rtXdot_838 = load %XDot_REVS_VM_T.19** %_rtXdot_, align 1
  %942 = getelementptr inbounds %XDot_REVS_VM_T.19* %_rtXdot_838, i32 0, i32 62, i32 0
  %943 = bitcast double* %942 to i8*
  %_rtB_839 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %944 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_839, i32 0, i32 534, i32 0
  %945 = bitcast double* %944 to i8*
  %946 = call i8* @memcpy(i8* %943, i8* %945, i32 mul (i32 ptrtoint (double* getelementptr (double* null, i32 1) to i32), i32 10))
  %_rtXdot_840 = load %XDot_REVS_VM_T.19** %_rtXdot_, align 1
  %947 = getelementptr inbounds %XDot_REVS_VM_T.19* %_rtXdot_840, i32 0, i32 64, i32 0
  %948 = bitcast double* %947 to i8*
  %_rtB_841 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %949 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_841, i32 0, i32 172, i32 0
  %950 = bitcast double* %949 to i8*
  %951 = call i8* @memcpy(i8* %948, i8* %950, i32 mul (i32 ptrtoint (double* getelementptr (double* null, i32 1) to i32), i32 10))
  %_rtB_842 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %952 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_842, i32 0, i32 537
  %_rtB__Constant_fm = load double* %952, align 1
  %_rtXdot_843 = load %XDot_REVS_VM_T.19** %_rtXdot_, align 1
  %953 = getelementptr inbounds %XDot_REVS_VM_T.19* %_rtXdot_843, i32 0, i32 65
  store double %_rtB__Constant_fm, double* %953, align 1
  %_rtDW_844 = load %DW_REVS_VM_T.16** %_rtDW_, align 1
  %954 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_844, i32 0, i32 1058
  %_rtDW__Subsystem_MODE_io = load i8* %954, align 1
  %955 = and i8 %_rtDW__Subsystem_MODE_io, 1
  %956 = icmp eq i8 %955, 0
  br i1 %956, label %false108, label %true107

merge182:                                         ; preds = %true109, %false110
  %"%<tSimStruct>_866" = load i8** %"%<tSimStruct>_", align 1
  %_rtB_867 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %957 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_867, i32 0, i32 867
  %_rtXdot_868 = load %XDot_REVS_VM_T.19** %_rtXdot_, align 1
  %958 = getelementptr inbounds %XDot_REVS_VM_T.19* %_rtXdot_868, i32 0, i32 80
  call void @REVS_VM_MechEnergyNmps_Deriv(i8* %"%<tSimStruct>_866", %B_MechEnergyNmps_REVS_VM_T.8* %957, %XDot_MechEnergyNmps_REVS_VM_T.9* %958)
  br label %merge183

merge183:                                         ; preds = %merge182, %false108
  %_rtDW_869 = load %DW_REVS_VM_T.16** %_rtDW_, align 1
  %959 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_869, i32 0, i32 1059
  %_rtDW__Subsystem_MODE_fx = load i8* %959, align 1
  %960 = and i8 %_rtDW__Subsystem_MODE_fx, 1
  %961 = icmp eq i8 %960, 0
  br i1 %961, label %false112, label %true111

merge184:                                         ; preds = %true113, %false114
  %"%<tSimStruct>_891" = load i8** %"%<tSimStruct>_", align 1
  %_rtB_892 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %962 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_892, i32 0, i32 866
  %_rtXdot_893 = load %XDot_REVS_VM_T.19** %_rtXdot_, align 1
  %963 = getelementptr inbounds %XDot_REVS_VM_T.19* %_rtXdot_893, i32 0, i32 78
  call void @REVS_VM_MechEnergyNmps_Deriv(i8* %"%<tSimStruct>_891", %B_MechEnergyNmps_REVS_VM_T.8* %962, %XDot_MechEnergyNmps_REVS_VM_T.9* %963)
  br label %merge185

merge185:                                         ; preds = %merge184, %false112
  %_rtDW_894 = load %DW_REVS_VM_T.16** %_rtDW_, align 1
  %964 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_894, i32 0, i32 1060
  %_rtDW__Subsystem_MODE_mh = load i8* %964, align 1
  %965 = and i8 %_rtDW__Subsystem_MODE_mh, 1
  %966 = icmp eq i8 %965, 0
  br i1 %966, label %false116, label %true115

merge186:                                         ; preds = %true117, %false118
  %"%<tSimStruct>_916" = load i8** %"%<tSimStruct>_", align 1
  %_rtB_917 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %967 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_917, i32 0, i32 865
  %_rtXdot_918 = load %XDot_REVS_VM_T.19** %_rtXdot_, align 1
  %968 = getelementptr inbounds %XDot_REVS_VM_T.19* %_rtXdot_918, i32 0, i32 76
  call void @REVS_VM_MechEnergyNmps_Deriv(i8* %"%<tSimStruct>_916", %B_MechEnergyNmps_REVS_VM_T.8* %967, %XDot_MechEnergyNmps_REVS_VM_T.9* %968)
  br label %merge187

merge187:                                         ; preds = %merge186, %false116
  %_rtDW_919 = load %DW_REVS_VM_T.16** %_rtDW_, align 1
  %969 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_919, i32 0, i32 1061
  %_rtDW__Subsystem_MODE_pn = load i8* %969, align 1
  %970 = and i8 %_rtDW__Subsystem_MODE_pn, 1
  %971 = icmp eq i8 %970, 0
  br i1 %971, label %false120, label %true119

merge188:                                         ; preds = %true121, %false122
  %"%<tSimStruct>_941" = load i8** %"%<tSimStruct>_", align 1
  %_rtB_942 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %972 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_942, i32 0, i32 864
  %_rtXdot_943 = load %XDot_REVS_VM_T.19** %_rtXdot_, align 1
  %973 = getelementptr inbounds %XDot_REVS_VM_T.19* %_rtXdot_943, i32 0, i32 74
  call void @REVS_VM_MechEnergyNmps_Deriv(i8* %"%<tSimStruct>_941", %B_MechEnergyNmps_REVS_VM_T.8* %972, %XDot_MechEnergyNmps_REVS_VM_T.9* %973)
  br label %merge189

merge189:                                         ; preds = %merge188, %false120
  %_rtDW_944 = load %DW_REVS_VM_T.16** %_rtDW_, align 1
  %974 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_944, i32 0, i32 1062
  %_rtDW__Subsystem_MODE_k3 = load i8* %974, align 1
  %975 = and i8 %_rtDW__Subsystem_MODE_k3, 1
  %976 = icmp eq i8 %975, 0
  br i1 %976, label %false124, label %true123

merge190:                                         ; preds = %true125, %false126
  %"%<tSimStruct>_966" = load i8** %"%<tSimStruct>_", align 1
  %_rtB_967 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %977 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_967, i32 0, i32 863
  %_rtXdot_968 = load %XDot_REVS_VM_T.19** %_rtXdot_, align 1
  %978 = getelementptr inbounds %XDot_REVS_VM_T.19* %_rtXdot_968, i32 0, i32 72
  call void @REVS_VM_MechEnergyNmps_Deriv(i8* %"%<tSimStruct>_966", %B_MechEnergyNmps_REVS_VM_T.8* %977, %XDot_MechEnergyNmps_REVS_VM_T.9* %978)
  br label %merge191

merge191:                                         ; preds = %merge190, %false124
  %_rtB_969 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %979 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_969, i32 0, i32 44
  %_rtB__Integrator_d970 = load double* %979, align 1
  %_rtXdot_971 = load %XDot_REVS_VM_T.19** %_rtXdot_, align 1
  %980 = getelementptr inbounds %XDot_REVS_VM_T.19* %_rtXdot_971, i32 0, i32 67
  store double %_rtB__Integrator_d970, double* %980, align 1
  %_rtXdot_972 = load %XDot_REVS_VM_T.19** %_rtXdot_, align 1
  %981 = getelementptr inbounds %XDot_REVS_VM_T.19* %_rtXdot_972, i32 0, i32 66, i32 0
  %982 = bitcast double* %981 to i8*
  %_rtB_973 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %983 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_973, i32 0, i32 564, i32 0
  %984 = bitcast double* %983 to i8*
  %985 = call i8* @memcpy(i8* %982, i8* %984, i32 mul (i32 ptrtoint (double* getelementptr (double* null, i32 1) to i32), i32 10))
  %_rtXdot_974 = load %XDot_REVS_VM_T.19** %_rtXdot_, align 1
  %986 = getelementptr inbounds %XDot_REVS_VM_T.19* %_rtXdot_974, i32 0, i32 68, i32 0
  %987 = bitcast double* %986 to i8*
  %_rtB_975 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %988 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_975, i32 0, i32 569, i32 0
  %989 = bitcast double* %988 to i8*
  %990 = call i8* @memcpy(i8* %987, i8* %989, i32 mul (i32 ptrtoint (double* getelementptr (double* null, i32 1) to i32), i32 10))
  %_rtB_976 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %991 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_976, i32 0, i32 568
  %_rtB__DataTypeConversion_p = load double* %991, align 1
  %_rtXdot_977 = load %XDot_REVS_VM_T.19** %_rtXdot_, align 1
  %992 = getelementptr inbounds %XDot_REVS_VM_T.19* %_rtXdot_977, i32 0, i32 69
  store double %_rtB__DataTypeConversion_p, double* %992, align 1
  %_rtX_978 = load %X_REVS_VM_T.18** %_rtX_, align 1
  %993 = getelementptr inbounds %X_REVS_VM_T.18* %_rtX_978, i32 0, i32 70
  %_rtX__Integrator1_CSTATE_ic = load double* %993, align 1
  %_rtP_979 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %994 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_979, i32 0, i32 1317
  %_rtP__Integrator1_LowerSat_p = load double* %994, align 1
  %995 = fcmp ole double %_rtX__Integrator1_CSTATE_ic, %_rtP__Integrator1_LowerSat_p
  %996 = zext i1 %995 to i8
  store i8 %996, i8* %lsat_, align 1
  %_rtX__Integrator1_CSTATE_ic981 = load double* %993, align 1
  %997 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_979, i32 0, i32 1316
  %_rtP__Integrator1_UpperSat_gv = load double* %997, align 1
  %998 = fcmp oge double %_rtX__Integrator1_CSTATE_ic981, %_rtP__Integrator1_UpperSat_gv
  %999 = zext i1 %998 to i8
  store i8 %999, i8* %usat_, align 1
  %1000 = and i8 %996, 1
  %1001 = icmp eq i8 %1000, 0
  %1002 = xor i1 %998, true
  %1003 = and i1 %1001, %1002
  %1004 = icmp ne i8 %1000, 0
  %_rtB_986 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %1005 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_986, i32 0, i32 44
  %_rtB__Integrator_d987 = load double* %1005, align 1
  %1006 = fcmp ogt double %_rtB__Integrator_d987, 0.000000e+00
  %1007 = and i1 %1004, %1006
  %1008 = or i1 %1003, %1007
  %1009 = and i8 %999, 1
  %1010 = icmp ne i8 %1009, 0
  %1011 = fcmp olt double %_rtB__Integrator_d987, 0.000000e+00
  %1012 = and i1 %1010, %1011
  %1013 = or i1 %1008, %1012
  %_rtXdot_994 = load %XDot_REVS_VM_T.19** %_rtXdot_, align 1
  %1014 = getelementptr inbounds %XDot_REVS_VM_T.19* %_rtXdot_994, i32 0, i32 70
  br i1 %1013, label %true127, label %false128

merge192:                                         ; preds = %true127, %false128
  ret void
}

define void @Update0(i8* %"%<tSimStruct>") {
Update0_entry:
  %"%<tSimStruct>_" = alloca i8*
  store i8* %"%<tSimStruct>", i8** %"%<tSimStruct>_", align 1
  %_rtB_ = alloca %B_REVS_VM_T.12*
  %_rtDW_ = alloca %DW_REVS_VM_T.16*
  %vm_ssIsSampleHitVar0_ = alloca i32
  %vm_ssGetTaskTimeVar1_ = alloca double
  %vm_ssGetTVar2_ = alloca double
  %0 = call double @vm_ssGetT(i8* %"%<tSimStruct>")
  store double %0, double* %vm_ssGetTVar2_, align 1
  %1 = call double @vm_ssGetTaskTime(i8* %"%<tSimStruct>", i32 0)
  store double %1, double* %vm_ssGetTaskTimeVar1_, align 1
  %2 = call i32 @vm_ssIsSampleHit(i8* %"%<tSimStruct>", i32 1, i32 0)
  store i32 %2, i32* %vm_ssIsSampleHitVar0_, align 1
  %3 = call i8* @vm_ssGetRootDWork(i8* %"%<tSimStruct>")
  %4 = bitcast i8* %3 to %DW_REVS_VM_T.16*
  store %DW_REVS_VM_T.16* %4, %DW_REVS_VM_T.16** %_rtDW_, align 1
  %5 = call i8* @vm__ssGetModelBlockIO(i8* %"%<tSimStruct>")
  %6 = bitcast i8* %5 to %B_REVS_VM_T.12*
  store %B_REVS_VM_T.12* %6, %B_REVS_VM_T.12** %_rtB_, align 1
  %vm_ssIsSampleHitVar0_124 = load i32* %vm_ssIsSampleHitVar0_, align 1
  %7 = icmp eq i32 %vm_ssIsSampleHitVar0_124, 0
  br i1 %7, label %false, label %true

true:                                             ; preds = %Update0_entry
  %8 = getelementptr inbounds %B_REVS_VM_T.12* %6, i32 0, i32 512
  %_rtB__cycle_spd_mps_o = load double* %8, align 1
  %_rtDW_127 = load %DW_REVS_VM_T.16** %_rtDW_, align 1
  %9 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_127, i32 0, i32 5
  store double %_rtB__cycle_spd_mps_o, double* %9, align 1
  %_rtB_128 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %10 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_128, i32 0, i32 44
  %_rtB__Integrator_d = load double* %10, align 1
  %_rtDW_129 = load %DW_REVS_VM_T.16** %_rtDW_, align 1
  %11 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_129, i32 0, i32 6
  store double %_rtB__Integrator_d, double* %11, align 1
  br label %false

false:                                            ; preds = %Update0_entry, %true
  %_rtDW_130 = load %DW_REVS_VM_T.16** %_rtDW_, align 1
  %12 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_130, i32 0, i32 839
  store i32 0, i32* %12, align 1
  %vm_ssIsSampleHitVar0_131 = load i32* %vm_ssIsSampleHitVar0_, align 1
  %13 = icmp eq i32 %vm_ssIsSampleHitVar0_131, 0
  br i1 %13, label %false2, label %true1

true1:                                            ; preds = %false
  %_rtB_133 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %14 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_133, i32 0, i32 153
  %_rtB__Sum1_o = load double* %14, align 1
  %_rtDW_134 = load %DW_REVS_VM_T.16** %_rtDW_, align 1
  %15 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_134, i32 0, i32 7
  store double %_rtB__Sum1_o, double* %15, align 1
  %_rtB_135 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %16 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_135, i32 0, i32 538
  %_rtB__drivecycleignition = load double* %16, align 1
  %_rtDW_136 = load %DW_REVS_VM_T.16** %_rtDW_, align 1
  %17 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_136, i32 0, i32 8
  store double %_rtB__drivecycleignition, double* %17, align 1
  %_rtB_137 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %18 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_137, i32 0, i32 170
  %_rtB__Product_oe = load double* %18, align 1
  %_rtDW_138 = load %DW_REVS_VM_T.16** %_rtDW_, align 1
  %19 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_138, i32 0, i32 9
  store double %_rtB__Product_oe, double* %19, align 1
  %vm_ssIsSampleHitVar0_139.pre = load i32* %vm_ssIsSampleHitVar0_, align 1
  br label %false2

false2:                                           ; preds = %false, %true1
  %vm_ssIsSampleHitVar0_139 = phi i32 [ 0, %false ], [ %vm_ssIsSampleHitVar0_139.pre, %true1 ]
  %20 = icmp eq i32 %vm_ssIsSampleHitVar0_139, 0
  br i1 %20, label %false4, label %true3

true3:                                            ; preds = %false2
  %_rtB_141 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %21 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_141, i32 0, i32 368
  %_rtB__Switch_np = load double* %21, align 1
  %_rtDW_142 = load %DW_REVS_VM_T.16** %_rtDW_, align 1
  %22 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_142, i32 0, i32 10
  store double %_rtB__Switch_np, double* %22, align 1
  %_rtB_143 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %23 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_143, i32 0, i32 509
  %_rtB__driver_in_gear = load double* %23, align 1
  %_rtDW_144 = load %DW_REVS_VM_T.16** %_rtDW_, align 1
  %24 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_144, i32 0, i32 11
  store double %_rtB__driver_in_gear, double* %24, align 1
  %_rtB_145 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %25 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_145, i32 0, i32 604
  %_rtB__command_gear_num = load double* %25, align 1
  %_rtDW_146 = load %DW_REVS_VM_T.16** %_rtDW_, align 1
  %26 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_146, i32 0, i32 12
  store double %_rtB__command_gear_num, double* %26, align 1
  %_rtB_147 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %27 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_147, i32 0, i32 823
  %_rtB__Compare_ip = load i8* %27, align 1
  %_rtDW_148 = load %DW_REVS_VM_T.16** %_rtDW_, align 1
  %28 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_148, i32 0, i32 1019
  store i8 %_rtB__Compare_ip, i8* %28, align 1
  %_rtB_149 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %29 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_149, i32 0, i32 685
  %_rtB__LogicalOperator4_e = load i8* %29, align 1
  %_rtDW_150 = load %DW_REVS_VM_T.16** %_rtDW_, align 1
  %30 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_150, i32 0, i32 1020
  store i8 %_rtB__LogicalOperator4_e, i8* %30, align 1
  %_rtB_151 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %31 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_151, i32 0, i32 96
  %_rtB__tc_spd_in_radps = load double* %31, align 1
  %_rtDW_152 = load %DW_REVS_VM_T.16** %_rtDW_, align 1
  %32 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_152, i32 0, i32 13
  store double %_rtB__tc_spd_in_radps, double* %32, align 1
  br label %false4

false4:                                           ; preds = %false2, %true3
  %_rtB_153 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %33 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_153, i32 0, i32 60
  %_rtB__RateLimiter = load double* %33, align 1
  %_rtDW_154 = load %DW_REVS_VM_T.16** %_rtDW_, align 1
  %34 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_154, i32 0, i32 15
  store double %_rtB__RateLimiter, double* %34, align 1
  %_rtDW_156 = load %DW_REVS_VM_T.16** %_rtDW_, align 1
  %35 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_156, i32 0, i32 16
  store double %1, double* %35, align 1
  %vm_ssIsSampleHitVar0_157 = load i32* %vm_ssIsSampleHitVar0_, align 1
  %36 = icmp eq i32 %vm_ssIsSampleHitVar0_157, 0
  br i1 %36, label %false6, label %true5

true5:                                            ; preds = %false4
  %_rtB_159 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %37 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_159, i32 0, i32 744
  %_rtB__LogicalOperator1_b = load i8* %37, align 1
  %_rtDW_160 = load %DW_REVS_VM_T.16** %_rtDW_, align 1
  %38 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_160, i32 0, i32 1021
  store i8 %_rtB__LogicalOperator1_b, i8* %38, align 1
  br label %false6

false6:                                           ; preds = %false4, %true5
  %_rtDW_161 = load %DW_REVS_VM_T.16** %_rtDW_, align 1
  %39 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_161, i32 0, i32 840
  store i32 0, i32* %39, align 1
  %vm_ssIsSampleHitVar0_162 = load i32* %vm_ssIsSampleHitVar0_, align 1
  %40 = icmp eq i32 %vm_ssIsSampleHitVar0_162, 0
  br i1 %40, label %false8, label %true7

true7:                                            ; preds = %false6
  %_rtB_164 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %41 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_164, i32 0, i32 752
  %_rtB__Compare_l3 = load i8* %41, align 1
  %_rtDW_165 = load %DW_REVS_VM_T.16** %_rtDW_, align 1
  %42 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_165, i32 0, i32 1022
  store i8 %_rtB__Compare_l3, i8* %42, align 1
  %_rtB_166 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %43 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_166, i32 0, i32 364
  %_rtB__Product1_f = load double* %43, align 1
  %_rtDW_167 = load %DW_REVS_VM_T.16** %_rtDW_, align 1
  %44 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_167, i32 0, i32 18
  store double %_rtB__Product1_f, double* %44, align 1
  %_rtB_168 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %45 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_168, i32 0, i32 67
  %_rtB__gb_curr_gear = load double* %45, align 1
  %_rtDW_169 = load %DW_REVS_VM_T.16** %_rtDW_, align 1
  %46 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_169, i32 0, i32 0
  store double %_rtB__gb_curr_gear, double* %46, align 1
  %_rtB_170 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %47 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_170, i32 0, i32 67
  %_rtB__gb_curr_gear171 = load double* %47, align 1
  %_rtDW_172 = load %DW_REVS_VM_T.16** %_rtDW_, align 1
  %48 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_172, i32 0, i32 1
  store double %_rtB__gb_curr_gear171, double* %48, align 1
  %_rtB_173 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %49 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_173, i32 0, i32 89
  %_rtB__tcc_lockup_cmd_bool = load double* %49, align 1
  %_rtDW_174 = load %DW_REVS_VM_T.16** %_rtDW_, align 1
  %50 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_174, i32 0, i32 19
  store double %_rtB__tcc_lockup_cmd_bool, double* %50, align 1
  %_rtB_175 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %51 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_175, i32 0, i32 47
  %_rtB__Product3 = load double* %51, align 1
  %_rtDW_176 = load %DW_REVS_VM_T.16** %_rtDW_, align 1
  %52 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_176, i32 0, i32 20
  store double %_rtB__Product3, double* %52, align 1
  %_rtB_177 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %53 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_177, i32 0, i32 57
  %_rtB__gear_num = load double* %53, align 1
  %_rtDW_178 = load %DW_REVS_VM_T.16** %_rtDW_, align 1
  %54 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_178, i32 0, i32 21
  store double %_rtB__gear_num, double* %54, align 1
  %_rtB_179 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %55 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_179, i32 0, i32 442
  %_rtB__Product6_k = load double* %55, align 1
  %_rtDW_180 = load %DW_REVS_VM_T.16** %_rtDW_, align 1
  %56 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_180, i32 0, i32 22
  store double %_rtB__Product6_k, double* %56, align 1
  %_rtB_181 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %57 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_181, i32 0, i32 329
  %_rtB__trans_curr_gear_c = load double* %57, align 1
  %_rtDW_182 = load %DW_REVS_VM_T.16** %_rtDW_, align 1
  %58 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_182, i32 0, i32 23
  store double %_rtB__trans_curr_gear_c, double* %58, align 1
  br label %false8

false8:                                           ; preds = %false6, %true7
  %_rtB_183 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %59 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_183, i32 0, i32 91
  %_rtB__tcc_engage_norm = load double* %59, align 1
  %_rtDW_184 = load %DW_REVS_VM_T.16** %_rtDW_, align 1
  %60 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_184, i32 0, i32 24
  store double %_rtB__tcc_engage_norm, double* %60, align 1
  %_rtDW_186 = load %DW_REVS_VM_T.16** %_rtDW_, align 1
  %61 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_186, i32 0, i32 25
  store double %1, double* %61, align 1
  %vm_ssIsSampleHitVar0_187 = load i32* %vm_ssIsSampleHitVar0_, align 1
  %62 = icmp eq i32 %vm_ssIsSampleHitVar0_187, 0
  br i1 %62, label %false10, label %true9

true9:                                            ; preds = %false8
  %_rtB_189 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %63 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_189, i32 0, i32 382
  %_rtB__Constant2_b2 = load double* %63, align 1
  %_rtDW_190 = load %DW_REVS_VM_T.16** %_rtDW_, align 1
  %64 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_190, i32 0, i32 26
  store double %_rtB__Constant2_b2, double* %64, align 1
  br label %false10

false10:                                          ; preds = %false8, %true9
  %_rtDW_191 = load %DW_REVS_VM_T.16** %_rtDW_, align 1
  %65 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_191, i32 0, i32 841
  store i32 0, i32* %65, align 1
  %vm_ssIsSampleHitVar0_192 = load i32* %vm_ssIsSampleHitVar0_, align 1
  %66 = icmp eq i32 %vm_ssIsSampleHitVar0_192, 0
  br i1 %66, label %false12, label %true11

true11:                                           ; preds = %false10
  %_rtB_194 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %67 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_194, i32 0, i32 234
  %_rtB__DataTypeConversion2_l = load double* %67, align 1
  %_rtDW_195 = load %DW_REVS_VM_T.16** %_rtDW_, align 1
  %68 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_195, i32 0, i32 27
  store double %_rtB__DataTypeConversion2_l, double* %68, align 1
  %_rtB_196 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %69 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_196, i32 0, i32 645
  %_rtB__CombinatorialLogic = load i8* %69, align 1
  %_rtDW_197 = load %DW_REVS_VM_T.16** %_rtDW_, align 1
  %70 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_197, i32 0, i32 1023
  store i8 %_rtB__CombinatorialLogic, i8* %70, align 1
  br label %false12

false12:                                          ; preds = %false10, %true11
  %_rtB_198 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %71 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_198, i32 0, i32 125
  %_rtB__RateLimiter_k = load double* %71, align 1
  %_rtDW_199 = load %DW_REVS_VM_T.16** %_rtDW_, align 1
  %72 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_199, i32 0, i32 28
  store double %_rtB__RateLimiter_k, double* %72, align 1
  %_rtDW_201 = load %DW_REVS_VM_T.16** %_rtDW_, align 1
  %73 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_201, i32 0, i32 29
  store double %1, double* %73, align 1
  %vm_ssIsSampleHitVar0_202 = load i32* %vm_ssIsSampleHitVar0_, align 1
  %74 = icmp eq i32 %vm_ssIsSampleHitVar0_202, 0
  br i1 %74, label %false14, label %true13

true13:                                           ; preds = %false12
  %_rtB_204 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %75 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_204, i32 0, i32 648
  %_rtB__CombinatorialLogic_g = load i8* %75, align 1
  %_rtDW_205 = load %DW_REVS_VM_T.16** %_rtDW_, align 1
  %76 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_205, i32 0, i32 1024
  store i8 %_rtB__CombinatorialLogic_g, i8* %76, align 1
  %_rtB_206 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %77 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_206, i32 0, i32 4
  %_rtB__soc_norm = load double* %77, align 1
  %_rtDW_207 = load %DW_REVS_VM_T.16** %_rtDW_, align 1
  %78 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_207, i32 0, i32 30
  store double %_rtB__soc_norm, double* %78, align 1
  %_rtB_208 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %79 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_208, i32 0, i32 244
  %_rtB__Sum1_l = load double* %79, align 1
  %_rtDW_209 = load %DW_REVS_VM_T.16** %_rtDW_, align 1
  %80 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_209, i32 0, i32 31
  store double %_rtB__Sum1_l, double* %80, align 1
  %_rtB_210 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %81 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_210, i32 0, i32 511
  %_rtB__driver_brk_norm = load double* %81, align 1
  %_rtDW_211 = load %DW_REVS_VM_T.16** %_rtDW_, align 1
  %82 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_211, i32 0, i32 32
  store double %_rtB__driver_brk_norm, double* %82, align 1
  br label %false14

false14:                                          ; preds = %false12, %true13
  %_rtB_212 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %83 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_212, i32 0, i32 138
  %_rtB__RateLimiter_a = load double* %83, align 1
  %_rtDW_213 = load %DW_REVS_VM_T.16** %_rtDW_, align 1
  %84 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_213, i32 0, i32 33
  store double %_rtB__RateLimiter_a, double* %84, align 1
  %_rtDW_215 = load %DW_REVS_VM_T.16** %_rtDW_, align 1
  %85 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_215, i32 0, i32 34
  store double %1, double* %85, align 1
  %vm_ssIsSampleHitVar0_216 = load i32* %vm_ssIsSampleHitVar0_, align 1
  %86 = icmp eq i32 %vm_ssIsSampleHitVar0_216, 0
  br i1 %86, label %false16, label %true15

true15:                                           ; preds = %false14
  %_rtB_218 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %87 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_218, i32 0, i32 660
  %_rtB__AND = load i8* %87, align 1
  %_rtDW_219 = load %DW_REVS_VM_T.16** %_rtDW_, align 1
  %88 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_219, i32 0, i32 1025
  store i8 %_rtB__AND, i8* %88, align 1
  br label %false16

false16:                                          ; preds = %false14, %true15
  %_rtDW_220 = load %DW_REVS_VM_T.16** %_rtDW_, align 1
  %89 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_220, i32 0, i32 842
  store i32 0, i32* %89, align 1
  %vm_ssIsSampleHitVar0_221 = load i32* %vm_ssIsSampleHitVar0_, align 1
  %90 = icmp eq i32 %vm_ssIsSampleHitVar0_221, 0
  br i1 %90, label %false18, label %true17

true17:                                           ; preds = %false16
  %_rtB_223 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %91 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_223, i32 0, i32 496
  %_rtB__temp_degC_d = load double* %91, align 1
  %_rtDW_224 = load %DW_REVS_VM_T.16** %_rtDW_, align 1
  %92 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_224, i32 0, i32 35
  store double %_rtB__temp_degC_d, double* %92, align 1
  %vm_ssIsSampleHitVar0_225.pre = load i32* %vm_ssIsSampleHitVar0_, align 1
  br label %false18

false18:                                          ; preds = %false16, %true17
  %vm_ssIsSampleHitVar0_225 = phi i32 [ 0, %false16 ], [ %vm_ssIsSampleHitVar0_225.pre, %true17 ]
  %93 = icmp eq i32 %vm_ssIsSampleHitVar0_225, 0
  br i1 %93, label %false20, label %true19

true19:                                           ; preds = %false18
  %_rtB_227 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %94 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_227, i32 0, i32 169
  %_rtB__Integrator_o = load double* %94, align 1
  %_rtDW_228 = load %DW_REVS_VM_T.16** %_rtDW_, align 1
  %95 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_228, i32 0, i32 36
  store double %_rtB__Integrator_o, double* %95, align 1
  br label %false20

false20:                                          ; preds = %false18, %true19
  %_rtDW_229 = load %DW_REVS_VM_T.16** %_rtDW_, align 1
  %96 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_229, i32 0, i32 37
  %_rtDW__TimeStampA = load double* %96, align 1
  %97 = fcmp oeq double %_rtDW__TimeStampA, 0x7FF0000000000000
  br i1 %97, label %true21, label %false22

true21:                                           ; preds = %false20
  %vm_ssGetTVar2_244 = load double* %vm_ssGetTVar2_, align 1
  store double %vm_ssGetTVar2_244, double* %96, align 1
  %_rtDW_246 = load %DW_REVS_VM_T.16** %_rtDW_, align 1
  %98 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_246, i32 0, i32 38
  br label %merge94

false22:                                          ; preds = %false20
  %99 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_229, i32 0, i32 39
  %_rtDW__TimeStampB = load double* %99, align 1
  %100 = fcmp oeq double %_rtDW__TimeStampB, 0x7FF0000000000000
  br i1 %100, label %true23, label %false24

true23:                                           ; preds = %false22
  %vm_ssGetTVar2_241 = load double* %vm_ssGetTVar2_, align 1
  store double %vm_ssGetTVar2_241, double* %99, align 1
  %_rtDW_243 = load %DW_REVS_VM_T.16** %_rtDW_, align 1
  %101 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_243, i32 0, i32 40
  br label %merge94

false24:                                          ; preds = %false22
  %102 = fcmp olt double %_rtDW__TimeStampA, %_rtDW__TimeStampB
  %vm_ssGetTVar2_238 = load double* %vm_ssGetTVar2_, align 1
  br i1 %102, label %true25, label %false26

true25:                                           ; preds = %false24
  store double %vm_ssGetTVar2_238, double* %96, align 1
  %_rtDW_240 = load %DW_REVS_VM_T.16** %_rtDW_, align 1
  %103 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_240, i32 0, i32 38
  br label %merge94

false26:                                          ; preds = %false24
  store double %vm_ssGetTVar2_238, double* %99, align 1
  %_rtDW_237 = load %DW_REVS_VM_T.16** %_rtDW_, align 1
  %104 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_237, i32 0, i32 40
  br label %merge94

true27:                                           ; preds = %merge94
  %_rtB_252 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %105 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_252, i32 0, i32 728
  %_rtB__eng_comp_iner_enable_n = load i8* %105, align 1
  %_rtDW_253 = load %DW_REVS_VM_T.16** %_rtDW_, align 1
  %106 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_253, i32 0, i32 1026
  store i8 %_rtB__eng_comp_iner_enable_n, i8* %106, align 1
  %_rtB_254 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %107 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_254, i32 0, i32 442
  %_rtB__Product6_k255 = load double* %107, align 1
  %_rtDW_256 = load %DW_REVS_VM_T.16** %_rtDW_, align 1
  %108 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_256, i32 0, i32 41
  store double %_rtB__Product6_k255, double* %108, align 1
  %_rtB_257 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %109 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_257, i32 0, i32 96
  %_rtB__tc_spd_in_radps258 = load double* %109, align 1
  %_rtDW_259 = load %DW_REVS_VM_T.16** %_rtDW_, align 1
  %110 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_259, i32 0, i32 42
  store double %_rtB__tc_spd_in_radps258, double* %110, align 1
  %_rtB_260 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %111 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_260, i32 0, i32 692
  %_rtB__CombinatorialLogic_o = load i8* %111, align 1
  %_rtDW_261 = load %DW_REVS_VM_T.16** %_rtDW_, align 1
  %112 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_261, i32 0, i32 1027
  store i8 %_rtB__CombinatorialLogic_o, i8* %112, align 1
  %_rtB_262 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %113 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_262, i32 0, i32 359
  %_rtB__eng_des_spd_radps_n = load double* %113, align 1
  %_rtDW_263 = load %DW_REVS_VM_T.16** %_rtDW_, align 1
  %114 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_263, i32 0, i32 43
  store double %_rtB__eng_des_spd_radps_n, double* %114, align 1
  br label %false28

false28:                                          ; preds = %merge94, %true27
  %_rtB_264 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %115 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_264, i32 0, i32 243
  %_rtB__RateLimiter_m = load double* %115, align 1
  %_rtDW_265 = load %DW_REVS_VM_T.16** %_rtDW_, align 1
  %116 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_265, i32 0, i32 50
  store double %_rtB__RateLimiter_m, double* %116, align 1
  %vm_ssGetTaskTimeVar1_266 = load double* %vm_ssGetTaskTimeVar1_, align 1
  %_rtDW_267 = load %DW_REVS_VM_T.16** %_rtDW_, align 1
  %117 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_267, i32 0, i32 51
  store double %vm_ssGetTaskTimeVar1_266, double* %117, align 1
  %_rtDW_268 = load %DW_REVS_VM_T.16** %_rtDW_, align 1
  %118 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_268, i32 0, i32 52
  %_rtDW__TimeStampA_i = load double* %118, align 1
  %119 = fcmp oeq double %_rtDW__TimeStampA_i, 0x7FF0000000000000
  br i1 %119, label %true29, label %false30

true29:                                           ; preds = %false28
  %vm_ssGetTVar2_283 = load double* %vm_ssGetTVar2_, align 1
  store double %vm_ssGetTVar2_283, double* %118, align 1
  %_rtDW_285 = load %DW_REVS_VM_T.16** %_rtDW_, align 1
  %120 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_285, i32 0, i32 53
  br label %merge97

false30:                                          ; preds = %false28
  %121 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_268, i32 0, i32 54
  %_rtDW__TimeStampB_a = load double* %121, align 1
  %122 = fcmp oeq double %_rtDW__TimeStampB_a, 0x7FF0000000000000
  br i1 %122, label %true31, label %false32

true31:                                           ; preds = %false30
  %vm_ssGetTVar2_280 = load double* %vm_ssGetTVar2_, align 1
  store double %vm_ssGetTVar2_280, double* %121, align 1
  %_rtDW_282 = load %DW_REVS_VM_T.16** %_rtDW_, align 1
  %123 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_282, i32 0, i32 55
  br label %merge97

false32:                                          ; preds = %false30
  %124 = fcmp olt double %_rtDW__TimeStampA_i, %_rtDW__TimeStampB_a
  %vm_ssGetTVar2_277 = load double* %vm_ssGetTVar2_, align 1
  br i1 %124, label %true33, label %false34

true33:                                           ; preds = %false32
  store double %vm_ssGetTVar2_277, double* %118, align 1
  %_rtDW_279 = load %DW_REVS_VM_T.16** %_rtDW_, align 1
  %125 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_279, i32 0, i32 53
  br label %merge97

false34:                                          ; preds = %false32
  store double %vm_ssGetTVar2_277, double* %121, align 1
  %_rtDW_276 = load %DW_REVS_VM_T.16** %_rtDW_, align 1
  %126 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_276, i32 0, i32 55
  br label %merge97

true35:                                           ; preds = %merge97
  %vm_ssGetTVar2_303 = load double* %vm_ssGetTVar2_, align 1
  store double %vm_ssGetTVar2_303, double* %276, align 1
  %_rtDW_305 = load %DW_REVS_VM_T.16** %_rtDW_, align 1
  %127 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_305, i32 0, i32 57
  br label %merge100

false36:                                          ; preds = %merge97
  %128 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_288, i32 0, i32 58
  %_rtDW__TimeStampB_h = load double* %128, align 1
  %129 = fcmp oeq double %_rtDW__TimeStampB_h, 0x7FF0000000000000
  br i1 %129, label %true37, label %false38

true37:                                           ; preds = %false36
  %vm_ssGetTVar2_300 = load double* %vm_ssGetTVar2_, align 1
  store double %vm_ssGetTVar2_300, double* %128, align 1
  %_rtDW_302 = load %DW_REVS_VM_T.16** %_rtDW_, align 1
  %130 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_302, i32 0, i32 59
  br label %merge100

false38:                                          ; preds = %false36
  %131 = fcmp olt double %_rtDW__TimeStampA_l, %_rtDW__TimeStampB_h
  %vm_ssGetTVar2_297 = load double* %vm_ssGetTVar2_, align 1
  br i1 %131, label %true39, label %false40

true39:                                           ; preds = %false38
  store double %vm_ssGetTVar2_297, double* %276, align 1
  %_rtDW_299 = load %DW_REVS_VM_T.16** %_rtDW_, align 1
  %132 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_299, i32 0, i32 57
  br label %merge100

false40:                                          ; preds = %false38
  store double %vm_ssGetTVar2_297, double* %128, align 1
  %_rtDW_296 = load %DW_REVS_VM_T.16** %_rtDW_, align 1
  %133 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_296, i32 0, i32 59
  br label %merge100

true41:                                           ; preds = %merge100
  %_rtB_310 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %134 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_310, i32 0, i32 253
  %_rtB__Sum6 = load double* %134, align 1
  %_rtDW_311 = load %DW_REVS_VM_T.16** %_rtDW_, align 1
  %135 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_311, i32 0, i32 60
  store double %_rtB__Sum6, double* %135, align 1
  br label %false42

false42:                                          ; preds = %merge100, %true41
  %_rtB_312 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %136 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_312, i32 0, i32 264
  %_rtB__RateLimiter_b = load double* %136, align 1
  %_rtDW_313 = load %DW_REVS_VM_T.16** %_rtDW_, align 1
  %137 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_313, i32 0, i32 62
  store double %_rtB__RateLimiter_b, double* %137, align 1
  %vm_ssGetTaskTimeVar1_314 = load double* %vm_ssGetTaskTimeVar1_, align 1
  %_rtDW_315 = load %DW_REVS_VM_T.16** %_rtDW_, align 1
  %138 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_315, i32 0, i32 63
  store double %vm_ssGetTaskTimeVar1_314, double* %138, align 1
  %vm_ssIsSampleHitVar0_316 = load i32* %vm_ssIsSampleHitVar0_, align 1
  %139 = icmp eq i32 %vm_ssIsSampleHitVar0_316, 0
  br i1 %139, label %false44, label %true43

true43:                                           ; preds = %false42
  %_rtB_318 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %140 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_318, i32 0, i32 91
  %_rtB__tcc_engage_norm319 = load double* %140, align 1
  %_rtDW_320 = load %DW_REVS_VM_T.16** %_rtDW_, align 1
  %141 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_320, i32 0, i32 2
  store double %_rtB__tcc_engage_norm319, double* %141, align 1
  br label %false44

false44:                                          ; preds = %false42, %true43
  %_rtDW_321 = load %DW_REVS_VM_T.16** %_rtDW_, align 1
  %142 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_321, i32 0, i32 66
  %_rtDW__TimeStampA_im = load double* %142, align 1
  %143 = fcmp oeq double %_rtDW__TimeStampA_im, 0x7FF0000000000000
  br i1 %143, label %true45, label %false46

true45:                                           ; preds = %false44
  %vm_ssGetTVar2_336 = load double* %vm_ssGetTVar2_, align 1
  store double %vm_ssGetTVar2_336, double* %142, align 1
  %_rtDW_338 = load %DW_REVS_VM_T.16** %_rtDW_, align 1
  %144 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_338, i32 0, i32 67
  br label %merge103

false46:                                          ; preds = %false44
  %145 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_321, i32 0, i32 68
  %_rtDW__TimeStampB_i = load double* %145, align 1
  %146 = fcmp oeq double %_rtDW__TimeStampB_i, 0x7FF0000000000000
  br i1 %146, label %true47, label %false48

true47:                                           ; preds = %false46
  %vm_ssGetTVar2_333 = load double* %vm_ssGetTVar2_, align 1
  store double %vm_ssGetTVar2_333, double* %145, align 1
  %_rtDW_335 = load %DW_REVS_VM_T.16** %_rtDW_, align 1
  %147 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_335, i32 0, i32 69
  br label %merge103

false48:                                          ; preds = %false46
  %148 = fcmp olt double %_rtDW__TimeStampA_im, %_rtDW__TimeStampB_i
  %vm_ssGetTVar2_330 = load double* %vm_ssGetTVar2_, align 1
  br i1 %148, label %true49, label %false50

true49:                                           ; preds = %false48
  store double %vm_ssGetTVar2_330, double* %142, align 1
  %_rtDW_332 = load %DW_REVS_VM_T.16** %_rtDW_, align 1
  %149 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_332, i32 0, i32 67
  br label %merge103

false50:                                          ; preds = %false48
  store double %vm_ssGetTVar2_330, double* %145, align 1
  %_rtDW_329 = load %DW_REVS_VM_T.16** %_rtDW_, align 1
  %150 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_329, i32 0, i32 69
  br label %merge103

true51:                                           ; preds = %merge103
  %_rtB_343 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %151 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_343, i32 0, i32 319
  %_rtB__Sum1_i = load double* %151, align 1
  %_rtDW_344 = load %DW_REVS_VM_T.16** %_rtDW_, align 1
  %152 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_344, i32 0, i32 71
  store double %_rtB__Sum1_i, double* %152, align 1
  %_rtB_345 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %153 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_345, i32 0, i32 316
  %_rtB__Switch_ft = load double* %153, align 1
  %_rtDW_346 = load %DW_REVS_VM_T.16** %_rtDW_, align 1
  %154 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_346, i32 0, i32 72
  store double %_rtB__Switch_ft, double* %154, align 1
  %_rtB_347 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %155 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_347, i32 0, i32 316
  %_rtB__Switch_ft348 = load double* %155, align 1
  %_rtDW_349 = load %DW_REVS_VM_T.16** %_rtDW_, align 1
  %156 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_349, i32 0, i32 73
  store double %_rtB__Switch_ft348, double* %156, align 1
  %_rtDW_350 = load %DW_REVS_VM_T.16** %_rtDW_, align 1
  %157 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_350, i32 0, i32 70, i32 0
  %158 = bitcast double* %157 to i8*
  %_rtB_351 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %159 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_351, i32 0, i32 318, i32 0
  %160 = bitcast double* %159 to i8*
  %161 = call i8* @memcpy(i8* %158, i8* %160, i32 mul (i32 ptrtoint (double* getelementptr (double* null, i32 1) to i32), i32 10))
  %_rtDW_352 = load %DW_REVS_VM_T.16** %_rtDW_, align 1
  %162 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_352, i32 0, i32 74, i32 0
  %163 = bitcast double* %162 to i8*
  %_rtB_353 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %164 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_353, i32 0, i32 327, i32 0
  %165 = bitcast double* %164 to i8*
  %166 = call i8* @memcpy(i8* %163, i8* %165, i32 mul (i32 ptrtoint (double* getelementptr (double* null, i32 1) to i32), i32 10))
  %_rtB_354 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %167 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_354, i32 0, i32 328
  %_rtB__Sum1_oz = load double* %167, align 1
  %_rtDW_355 = load %DW_REVS_VM_T.16** %_rtDW_, align 1
  %168 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_355, i32 0, i32 75
  store double %_rtB__Sum1_oz, double* %168, align 1
  %_rtB_356 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %169 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_356, i32 0, i32 510
  %_rtB__driver_acl_norm = load double* %169, align 1
  %_rtDW_357 = load %DW_REVS_VM_T.16** %_rtDW_, align 1
  %170 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_357, i32 0, i32 76
  store double %_rtB__driver_acl_norm, double* %170, align 1
  %_rtB_358 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %171 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_358, i32 0, i32 335
  %_rtB__Switch_cq = load double* %171, align 1
  %_rtDW_359 = load %DW_REVS_VM_T.16** %_rtDW_, align 1
  %172 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_359, i32 0, i32 77
  store double %_rtB__Switch_cq, double* %172, align 1
  %_rtB_360 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %173 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_360, i32 0, i32 598
  %_rtB__desired_shift_reason = load double* %173, align 1
  %_rtDW_361 = load %DW_REVS_VM_T.16** %_rtDW_, align 1
  %174 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_361, i32 0, i32 78
  store double %_rtB__desired_shift_reason, double* %174, align 1
  %_rtB_362 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %175 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_362, i32 0, i32 599
  %_rtB__kickdown_timer = load double* %175, align 1
  %_rtDW_363 = load %DW_REVS_VM_T.16** %_rtDW_, align 1
  %176 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_363, i32 0, i32 79
  store double %_rtB__kickdown_timer, double* %176, align 1
  %_rtB_364 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %177 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_364, i32 0, i32 600
  %_rtB__kickdown_ratio = load double* %177, align 1
  %_rtDW_365 = load %DW_REVS_VM_T.16** %_rtDW_, align 1
  %178 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_365, i32 0, i32 80
  store double %_rtB__kickdown_ratio, double* %178, align 1
  %_rtB_366 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %179 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_366, i32 0, i32 340
  %_rtB__Clock = load double* %179, align 1
  %_rtDW_367 = load %DW_REVS_VM_T.16** %_rtDW_, align 1
  %180 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_367, i32 0, i32 81
  store double %_rtB__Clock, double* %180, align 1
  %_rtB_368 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %181 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_368, i32 0, i32 459
  %_rtB__Product2_jr = load double* %181, align 1
  %_rtDW_369 = load %DW_REVS_VM_T.16** %_rtDW_, align 1
  %182 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_369, i32 0, i32 82
  store double %_rtB__Product2_jr, double* %182, align 1
  %_rtB_370 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %183 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_370, i32 0, i32 461
  %_rtB__Product4_g = load double* %183, align 1
  %_rtDW_371 = load %DW_REVS_VM_T.16** %_rtDW_, align 1
  %184 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_371, i32 0, i32 83
  store double %_rtB__Product4_g, double* %184, align 1
  %_rtB_372 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %185 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_372, i32 0, i32 47
  %_rtB__Product3373 = load double* %185, align 1
  %_rtDW_374 = load %DW_REVS_VM_T.16** %_rtDW_, align 1
  %186 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_374, i32 0, i32 84
  store double %_rtB__Product3373, double* %186, align 1
  %_rtB_375 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %187 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_375, i32 0, i32 64
  %_rtB__ClutchSpeedDisengaged = load double* %187, align 1
  %_rtDW_376 = load %DW_REVS_VM_T.16** %_rtDW_, align 1
  %188 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_376, i32 0, i32 85
  store double %_rtB__ClutchSpeedDisengaged, double* %188, align 1
  %_rtB_377 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %189 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_377, i32 0, i32 352
  %_rtB__Clock_i = load double* %189, align 1
  %_rtDW_378 = load %DW_REVS_VM_T.16** %_rtDW_, align 1
  %190 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_378, i32 0, i32 86
  store double %_rtB__Clock_i, double* %190, align 1
  %_rtB_379 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %191 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_379, i32 0, i32 633
  %_rtB__LogicalOperator2 = load i8* %191, align 1
  %_rtDW_380 = load %DW_REVS_VM_T.16** %_rtDW_, align 1
  %192 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_380, i32 0, i32 1028
  store i8 %_rtB__LogicalOperator2, i8* %192, align 1
  %_rtB_381 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %193 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_381, i32 0, i32 89
  %_rtB__tcc_lockup_cmd_bool382 = load double* %193, align 1
  %_rtDW_383 = load %DW_REVS_VM_T.16** %_rtDW_, align 1
  %194 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_383, i32 0, i32 87
  store double %_rtB__tcc_lockup_cmd_bool382, double* %194, align 1
  %vm_ssIsSampleHitVar0_384.pre = load i32* %vm_ssIsSampleHitVar0_, align 1
  br label %false52

false52:                                          ; preds = %merge103, %true51
  %vm_ssIsSampleHitVar0_384 = phi i32 [ 0, %merge103 ], [ %vm_ssIsSampleHitVar0_384.pre, %true51 ]
  %195 = icmp eq i32 %vm_ssIsSampleHitVar0_384, 0
  br i1 %195, label %false54, label %true53

true53:                                           ; preds = %false52
  %_rtB_386 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %196 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_386, i32 0, i32 364
  %_rtB__Product1_f387 = load double* %196, align 1
  %_rtDW_388 = load %DW_REVS_VM_T.16** %_rtDW_, align 1
  %197 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_388, i32 0, i32 88
  store double %_rtB__Product1_f387, double* %197, align 1
  %vm_ssIsSampleHitVar0_389.pre = load i32* %vm_ssIsSampleHitVar0_, align 1
  br label %false54

false54:                                          ; preds = %false52, %true53
  %vm_ssIsSampleHitVar0_389 = phi i32 [ 0, %false52 ], [ %vm_ssIsSampleHitVar0_389.pre, %true53 ]
  %198 = icmp eq i32 %vm_ssIsSampleHitVar0_389, 0
  br i1 %198, label %false56, label %true55

true55:                                           ; preds = %false54
  %_rtB_391 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %199 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_391, i32 0, i32 374
  %_rtB__Gain_mp = load double* %199, align 1
  %_rtDW_392 = load %DW_REVS_VM_T.16** %_rtDW_, align 1
  %200 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_392, i32 0, i32 89
  store double %_rtB__Gain_mp, double* %200, align 1
  %_rtB_393 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %201 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_393, i32 0, i32 61
  %_rtB__Saturation = load double* %201, align 1
  %_rtDW_394 = load %DW_REVS_VM_T.16** %_rtDW_, align 1
  %202 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_394, i32 0, i32 3
  store double %_rtB__Saturation, double* %202, align 1
  %_rtB_395 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %203 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_395, i32 0, i32 373
  %_rtB__Sum_hs = load double* %203, align 1
  %_rtDW_396 = load %DW_REVS_VM_T.16** %_rtDW_, align 1
  %204 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_396, i32 0, i32 90
  store double %_rtB__Sum_hs, double* %204, align 1
  br label %false56

false56:                                          ; preds = %false54, %true55
  %_rtDW_397 = load %DW_REVS_VM_T.16** %_rtDW_, align 1
  %205 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_397, i32 0, i32 91
  %_rtDW__TimeStampA_b = load double* %205, align 1
  %206 = fcmp oeq double %_rtDW__TimeStampA_b, 0x7FF0000000000000
  br i1 %206, label %true57, label %false58

true57:                                           ; preds = %false56
  %vm_ssGetTVar2_412 = load double* %vm_ssGetTVar2_, align 1
  store double %vm_ssGetTVar2_412, double* %205, align 1
  %_rtDW_414 = load %DW_REVS_VM_T.16** %_rtDW_, align 1
  %207 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_414, i32 0, i32 92
  br label %merge106

false58:                                          ; preds = %false56
  %208 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_397, i32 0, i32 93
  %_rtDW__TimeStampB_k = load double* %208, align 1
  %209 = fcmp oeq double %_rtDW__TimeStampB_k, 0x7FF0000000000000
  br i1 %209, label %true59, label %false60

true59:                                           ; preds = %false58
  %vm_ssGetTVar2_409 = load double* %vm_ssGetTVar2_, align 1
  store double %vm_ssGetTVar2_409, double* %208, align 1
  %_rtDW_411 = load %DW_REVS_VM_T.16** %_rtDW_, align 1
  %210 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_411, i32 0, i32 94
  br label %merge106

false60:                                          ; preds = %false58
  %211 = fcmp olt double %_rtDW__TimeStampA_b, %_rtDW__TimeStampB_k
  %vm_ssGetTVar2_406 = load double* %vm_ssGetTVar2_, align 1
  br i1 %211, label %true61, label %false62

true61:                                           ; preds = %false60
  store double %vm_ssGetTVar2_406, double* %205, align 1
  %_rtDW_408 = load %DW_REVS_VM_T.16** %_rtDW_, align 1
  %212 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_408, i32 0, i32 92
  br label %merge106

false62:                                          ; preds = %false60
  store double %vm_ssGetTVar2_406, double* %208, align 1
  %_rtDW_405 = load %DW_REVS_VM_T.16** %_rtDW_, align 1
  %213 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_405, i32 0, i32 94
  br label %merge106

true63:                                           ; preds = %merge106
  %_rtDW_420 = load %DW_REVS_VM_T.16** %_rtDW_, align 1
  %214 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_420, i32 0, i32 95, i32 0
  %215 = bitcast double* %214 to i8*
  %_rtB_421 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %216 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_421, i32 0, i32 392, i32 0
  %217 = bitcast double* %216 to i8*
  %218 = call i8* @memcpy(i8* %215, i8* %217, i32 mul (i32 ptrtoint (double* getelementptr (double* null, i32 1) to i32), i32 10))
  %_rtB_422 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %219 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_422, i32 0, i32 393
  %_rtB__Sum1_h = load double* %219, align 1
  %_rtDW_423 = load %DW_REVS_VM_T.16** %_rtDW_, align 1
  %220 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_423, i32 0, i32 96
  store double %_rtB__Sum1_h, double* %220, align 1
  %_rtB_424 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %221 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_424, i32 0, i32 390
  %_rtB__Constant_bi = load double* %221, align 1
  %_rtDW_425 = load %DW_REVS_VM_T.16** %_rtDW_, align 1
  %222 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_425, i32 0, i32 4
  store double %_rtB__Constant_bi, double* %222, align 1
  %_rtB_426 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %223 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_426, i32 0, i32 332
  %_rtB__eng_des_acl_norm = load double* %223, align 1
  %_rtDW_427 = load %DW_REVS_VM_T.16** %_rtDW_, align 1
  %224 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_427, i32 0, i32 98
  store double %_rtB__eng_des_acl_norm, double* %224, align 1
  %_rtB_428 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %225 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_428, i32 0, i32 331
  %_rtB__eng_des_load_limit_Nm = load double* %225, align 1
  %_rtDW_429 = load %DW_REVS_VM_T.16** %_rtDW_, align 1
  %226 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_429, i32 0, i32 99
  store double %_rtB__eng_des_load_limit_Nm, double* %226, align 1
  %_rtB_430 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %227 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_430, i32 0, i32 776
  %_rtB__Compare_b = load i8* %227, align 1
  %_rtDW_431 = load %DW_REVS_VM_T.16** %_rtDW_, align 1
  %228 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_431, i32 0, i32 1031
  store i8 %_rtB__Compare_b, i8* %228, align 1
  br label %false64

false64:                                          ; preds = %merge106, %true63
  %_rtDW_432 = load %DW_REVS_VM_T.16** %_rtDW_, align 1
  %229 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_432, i32 0, i32 101
  %_rtDW__TimeStampA_c = load double* %229, align 1
  %230 = fcmp oeq double %_rtDW__TimeStampA_c, 0x7FF0000000000000
  br i1 %230, label %true65, label %false66

true65:                                           ; preds = %false64
  %vm_ssGetTVar2_447 = load double* %vm_ssGetTVar2_, align 1
  store double %vm_ssGetTVar2_447, double* %229, align 1
  %_rtDW_449 = load %DW_REVS_VM_T.16** %_rtDW_, align 1
  %231 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_449, i32 0, i32 102
  br label %merge109

false66:                                          ; preds = %false64
  %232 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_432, i32 0, i32 103
  %_rtDW__TimeStampB_p = load double* %232, align 1
  %233 = fcmp oeq double %_rtDW__TimeStampB_p, 0x7FF0000000000000
  br i1 %233, label %true67, label %false68

true67:                                           ; preds = %false66
  %vm_ssGetTVar2_444 = load double* %vm_ssGetTVar2_, align 1
  store double %vm_ssGetTVar2_444, double* %232, align 1
  %_rtDW_446 = load %DW_REVS_VM_T.16** %_rtDW_, align 1
  %234 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_446, i32 0, i32 104
  br label %merge109

false68:                                          ; preds = %false66
  %235 = fcmp olt double %_rtDW__TimeStampA_c, %_rtDW__TimeStampB_p
  %vm_ssGetTVar2_441 = load double* %vm_ssGetTVar2_, align 1
  br i1 %235, label %true69, label %false70

true69:                                           ; preds = %false68
  store double %vm_ssGetTVar2_441, double* %229, align 1
  %_rtDW_443 = load %DW_REVS_VM_T.16** %_rtDW_, align 1
  %236 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_443, i32 0, i32 102
  br label %merge109

false70:                                          ; preds = %false68
  store double %vm_ssGetTVar2_441, double* %232, align 1
  %_rtDW_440 = load %DW_REVS_VM_T.16** %_rtDW_, align 1
  %237 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_440, i32 0, i32 104
  br label %merge109

true71:                                           ; preds = %merge109
  %vm_ssGetTVar2_467 = load double* %vm_ssGetTVar2_, align 1
  store double %vm_ssGetTVar2_467, double* %285, align 1
  %_rtDW_469 = load %DW_REVS_VM_T.16** %_rtDW_, align 1
  %238 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_469, i32 0, i32 106
  br label %merge112

false72:                                          ; preds = %merge109
  %239 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_452, i32 0, i32 107
  %_rtDW__TimeStampB_o = load double* %239, align 1
  %240 = fcmp oeq double %_rtDW__TimeStampB_o, 0x7FF0000000000000
  br i1 %240, label %true73, label %false74

true73:                                           ; preds = %false72
  %vm_ssGetTVar2_464 = load double* %vm_ssGetTVar2_, align 1
  store double %vm_ssGetTVar2_464, double* %239, align 1
  %_rtDW_466 = load %DW_REVS_VM_T.16** %_rtDW_, align 1
  %241 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_466, i32 0, i32 108
  br label %merge112

false74:                                          ; preds = %false72
  %242 = fcmp olt double %_rtDW__TimeStampA_n, %_rtDW__TimeStampB_o
  %vm_ssGetTVar2_461 = load double* %vm_ssGetTVar2_, align 1
  br i1 %242, label %true75, label %false76

true75:                                           ; preds = %false74
  store double %vm_ssGetTVar2_461, double* %285, align 1
  %_rtDW_463 = load %DW_REVS_VM_T.16** %_rtDW_, align 1
  %243 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_463, i32 0, i32 106
  br label %merge112

false76:                                          ; preds = %false74
  store double %vm_ssGetTVar2_461, double* %239, align 1
  %_rtDW_460 = load %DW_REVS_VM_T.16** %_rtDW_, align 1
  %244 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_460, i32 0, i32 108
  br label %merge112

true77:                                           ; preds = %merge112
  %vm_ssGetTVar2_489 = load double* %vm_ssGetTVar2_, align 1
  store double %vm_ssGetTVar2_489, double* %289, align 1
  %_rtDW_491 = load %DW_REVS_VM_T.16** %_rtDW_, align 1
  %245 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_491, i32 0, i32 110
  br label %merge115

false78:                                          ; preds = %merge112
  %246 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_474, i32 0, i32 111
  %_rtDW__TimeStampB_hf = load double* %246, align 1
  %247 = fcmp oeq double %_rtDW__TimeStampB_hf, 0x7FF0000000000000
  br i1 %247, label %true79, label %false80

true79:                                           ; preds = %false78
  %vm_ssGetTVar2_486 = load double* %vm_ssGetTVar2_, align 1
  store double %vm_ssGetTVar2_486, double* %246, align 1
  %_rtDW_488 = load %DW_REVS_VM_T.16** %_rtDW_, align 1
  %248 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_488, i32 0, i32 112
  br label %merge115

false80:                                          ; preds = %false78
  %249 = fcmp olt double %_rtDW__TimeStampA_lw, %_rtDW__TimeStampB_hf
  %vm_ssGetTVar2_483 = load double* %vm_ssGetTVar2_, align 1
  br i1 %249, label %true81, label %false82

true81:                                           ; preds = %false80
  store double %vm_ssGetTVar2_483, double* %289, align 1
  %_rtDW_485 = load %DW_REVS_VM_T.16** %_rtDW_, align 1
  %250 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_485, i32 0, i32 110
  br label %merge115

false82:                                          ; preds = %false80
  store double %vm_ssGetTVar2_483, double* %246, align 1
  %_rtDW_482 = load %DW_REVS_VM_T.16** %_rtDW_, align 1
  %251 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_482, i32 0, i32 112
  br label %merge115

true83:                                           ; preds = %merge115
  %_rtB_500 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %252 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_500, i32 0, i32 495
  %_rtB__drive_cycle_grade_pct = load double* %252, align 1
  %_rtDW_501 = load %DW_REVS_VM_T.16** %_rtDW_, align 1
  %253 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_501, i32 0, i32 115
  store double %_rtB__drive_cycle_grade_pct, double* %253, align 1
  %vm_ssIsSampleHitVar0_502.pre = load i32* %vm_ssIsSampleHitVar0_, align 1
  br label %false84

false84:                                          ; preds = %merge115, %true83
  %vm_ssIsSampleHitVar0_502 = phi i32 [ 0, %merge115 ], [ %vm_ssIsSampleHitVar0_502.pre, %true83 ]
  %254 = icmp eq i32 %vm_ssIsSampleHitVar0_502, 0
  br i1 %254, label %false86, label %true85

true85:                                           ; preds = %false84
  %_rtB_504 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %255 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_504, i32 0, i32 702
  %_rtB__Compare_nz = load i8* %255, align 1
  %_rtDW_505 = load %DW_REVS_VM_T.16** %_rtDW_, align 1
  %256 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_505, i32 0, i32 1032
  store i8 %_rtB__Compare_nz, i8* %256, align 1
  %_rtB_506 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %257 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_506, i32 0, i32 330
  %_rtB__trans_shift_in_prog = load double* %257, align 1
  %_rtDW_507 = load %DW_REVS_VM_T.16** %_rtDW_, align 1
  %258 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_507, i32 0, i32 116
  store double %_rtB__trans_shift_in_prog, double* %258, align 1
  %_rtB_508 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %259 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_508, i32 0, i32 571
  %_rtB__Integrator1_je = load double* %259, align 1
  %_rtDW_509 = load %DW_REVS_VM_T.16** %_rtDW_, align 1
  %260 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_509, i32 0, i32 117
  store double %_rtB__Integrator1_je, double* %260, align 1
  br label %false86

false86:                                          ; preds = %false84, %true85
  %_rtB_510 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %261 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_510, i32 0, i32 501
  %_rtB__RateLimiter_g = load double* %261, align 1
  %_rtDW_511 = load %DW_REVS_VM_T.16** %_rtDW_, align 1
  %262 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_511, i32 0, i32 118
  store double %_rtB__RateLimiter_g, double* %262, align 1
  %_rtDW_513 = load %DW_REVS_VM_T.16** %_rtDW_, align 1
  %263 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_513, i32 0, i32 119
  store double %vm_ssGetTaskTimeVar1_496, double* %263, align 1
  %_rtDW_514 = load %DW_REVS_VM_T.16** %_rtDW_, align 1
  %264 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_514, i32 0, i32 120
  %_rtDW__TimeStampA_n2 = load double* %264, align 1
  %265 = fcmp oeq double %_rtDW__TimeStampA_n2, 0x7FF0000000000000
  br i1 %265, label %true87, label %false88

true87:                                           ; preds = %false86
  %vm_ssGetTVar2_529 = load double* %vm_ssGetTVar2_, align 1
  store double %vm_ssGetTVar2_529, double* %264, align 1
  %_rtDW_531 = load %DW_REVS_VM_T.16** %_rtDW_, align 1
  %266 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_531, i32 0, i32 121
  br label %merge118

false88:                                          ; preds = %false86
  %267 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_514, i32 0, i32 122
  %_rtDW__TimeStampB_p4 = load double* %267, align 1
  %268 = fcmp oeq double %_rtDW__TimeStampB_p4, 0x7FF0000000000000
  br i1 %268, label %true89, label %false90

true89:                                           ; preds = %false88
  %vm_ssGetTVar2_526 = load double* %vm_ssGetTVar2_, align 1
  store double %vm_ssGetTVar2_526, double* %267, align 1
  %_rtDW_528 = load %DW_REVS_VM_T.16** %_rtDW_, align 1
  %269 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_528, i32 0, i32 123
  br label %merge118

false90:                                          ; preds = %false88
  %270 = fcmp olt double %_rtDW__TimeStampA_n2, %_rtDW__TimeStampB_p4
  %vm_ssGetTVar2_523 = load double* %vm_ssGetTVar2_, align 1
  br i1 %270, label %true91, label %false92

true91:                                           ; preds = %false90
  store double %vm_ssGetTVar2_523, double* %264, align 1
  %_rtDW_525 = load %DW_REVS_VM_T.16** %_rtDW_, align 1
  %271 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_525, i32 0, i32 121
  br label %merge118

false92:                                          ; preds = %false90
  store double %vm_ssGetTVar2_523, double* %267, align 1
  %_rtDW_522 = load %DW_REVS_VM_T.16** %_rtDW_, align 1
  %272 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_522, i32 0, i32 123
  br label %merge118

merge94:                                          ; preds = %true23, %true25, %false26, %true21
  %storemerge535 = phi double* [ %98, %true21 ], [ %101, %true23 ], [ %104, %false26 ], [ %103, %true25 ]
  %_rtB_247 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %273 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_247, i32 0, i32 47
  %_rtB__Product3248 = load double* %273, align 1
  store double %_rtB__Product3248, double* %storemerge535, align 1
  %vm_ssIsSampleHitVar0_250 = load i32* %vm_ssIsSampleHitVar0_, align 1
  %274 = icmp eq i32 %vm_ssIsSampleHitVar0_250, 0
  br i1 %274, label %false28, label %true27

merge97:                                          ; preds = %true31, %true33, %false34, %true29
  %storemerge538 = phi double* [ %120, %true29 ], [ %123, %true31 ], [ %126, %false34 ], [ %125, %true33 ]
  %_rtB_286 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %275 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_286, i32 0, i32 245
  %_rtB__sat0 = load double* %275, align 1
  store double %_rtB__sat0, double* %storemerge538, align 1
  %_rtDW_288 = load %DW_REVS_VM_T.16** %_rtDW_, align 1
  %276 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_288, i32 0, i32 56
  %_rtDW__TimeStampA_l = load double* %276, align 1
  %277 = fcmp oeq double %_rtDW__TimeStampA_l, 0x7FF0000000000000
  br i1 %277, label %true35, label %false36

merge100:                                         ; preds = %true37, %true39, %false40, %true35
  %storemerge541 = phi double* [ %127, %true35 ], [ %130, %true37 ], [ %133, %false40 ], [ %132, %true39 ]
  %_rtB_306 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %278 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_306, i32 0, i32 246
  %_rtB__Taper = load double* %278, align 1
  store double %_rtB__Taper, double* %storemerge541, align 1
  %vm_ssIsSampleHitVar0_308 = load i32* %vm_ssIsSampleHitVar0_, align 1
  %279 = icmp eq i32 %vm_ssIsSampleHitVar0_308, 0
  br i1 %279, label %false42, label %true41

merge103:                                         ; preds = %true47, %true49, %false50, %true45
  %storemerge544 = phi double* [ %144, %true45 ], [ %147, %true47 ], [ %150, %false50 ], [ %149, %true49 ]
  %_rtB_339 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %280 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_339, i32 0, i32 292
  %_rtB__Product4_ck = load double* %280, align 1
  store double %_rtB__Product4_ck, double* %storemerge544, align 1
  %vm_ssIsSampleHitVar0_341 = load i32* %vm_ssIsSampleHitVar0_, align 1
  %281 = icmp eq i32 %vm_ssIsSampleHitVar0_341, 0
  br i1 %281, label %false52, label %true51

merge106:                                         ; preds = %true59, %true61, %false62, %true57
  %storemerge547 = phi double* [ %207, %true57 ], [ %210, %true59 ], [ %213, %false62 ], [ %212, %true61 ]
  %_rtB_415 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %282 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_415, i32 0, i32 96
  %_rtB__tc_spd_in_radps416 = load double* %282, align 1
  store double %_rtB__tc_spd_in_radps416, double* %storemerge547, align 1
  %vm_ssIsSampleHitVar0_418 = load i32* %vm_ssIsSampleHitVar0_, align 1
  %283 = icmp eq i32 %vm_ssIsSampleHitVar0_418, 0
  br i1 %283, label %false64, label %true63

merge109:                                         ; preds = %true67, %true69, %false70, %true65
  %storemerge550 = phi double* [ %231, %true65 ], [ %234, %true67 ], [ %237, %false70 ], [ %236, %true69 ]
  %_rtB_450 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %284 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_450, i32 0, i32 413
  %_rtB__Product_a = load double* %284, align 1
  store double %_rtB__Product_a, double* %storemerge550, align 1
  %_rtDW_452 = load %DW_REVS_VM_T.16** %_rtDW_, align 1
  %285 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_452, i32 0, i32 105
  %_rtDW__TimeStampA_n = load double* %285, align 1
  %286 = fcmp oeq double %_rtDW__TimeStampA_n, 0x7FF0000000000000
  br i1 %286, label %true71, label %false72

merge112:                                         ; preds = %true73, %true75, %false76, %true71
  %storemerge553 = phi double* [ %238, %true71 ], [ %241, %true73 ], [ %244, %false76 ], [ %243, %true75 ]
  %_rtB_470 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %287 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_470, i32 0, i32 96
  %_rtB__tc_spd_in_radps471 = load double* %287, align 1
  store double %_rtB__tc_spd_in_radps471, double* %storemerge553, align 1
  %_rtDW_473 = load %DW_REVS_VM_T.16** %_rtDW_, align 1
  %288 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_473, i32 0, i32 843
  store i32 0, i32* %288, align 1
  %_rtDW_474 = load %DW_REVS_VM_T.16** %_rtDW_, align 1
  %289 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_474, i32 0, i32 109
  %_rtDW__TimeStampA_lw = load double* %289, align 1
  %290 = fcmp oeq double %_rtDW__TimeStampA_lw, 0x7FF0000000000000
  br i1 %290, label %true77, label %false78

merge115:                                         ; preds = %true79, %true81, %false82, %true77
  %storemerge556 = phi double* [ %245, %true77 ], [ %248, %true79 ], [ %251, %false82 ], [ %250, %true81 ]
  %_rtB_492 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %291 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_492, i32 0, i32 46
  %_rtB__u = load double* %291, align 1
  store double %_rtB__u, double* %storemerge556, align 1
  %_rtB_494 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %292 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_494, i32 0, i32 477
  %_rtB__RateLimiter_n = load double* %292, align 1
  %_rtDW_495 = load %DW_REVS_VM_T.16** %_rtDW_, align 1
  %293 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_495, i32 0, i32 113
  store double %_rtB__RateLimiter_n, double* %293, align 1
  %vm_ssGetTaskTimeVar1_496 = load double* %vm_ssGetTaskTimeVar1_, align 1
  %_rtDW_497 = load %DW_REVS_VM_T.16** %_rtDW_, align 1
  %294 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_497, i32 0, i32 114
  store double %vm_ssGetTaskTimeVar1_496, double* %294, align 1
  %vm_ssIsSampleHitVar0_498 = load i32* %vm_ssIsSampleHitVar0_, align 1
  %295 = icmp eq i32 %vm_ssIsSampleHitVar0_498, 0
  br i1 %295, label %false84, label %true83

merge118:                                         ; preds = %true89, %true91, %false92, %true87
  %storemerge559 = phi double* [ %266, %true87 ], [ %269, %true89 ], [ %272, %false92 ], [ %271, %true91 ]
  %_rtB_532 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %296 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_532, i32 0, i32 504
  %_rtB__spd_err_mps = load double* %296, align 1
  store double %_rtB__spd_err_mps, double* %storemerge559, align 1
  ret void
}

declare double @vm_ssGetT(i8*)

declare double @vm_ssGetTaskTime(i8*, i32)

declare i32 @vm_ssIsSampleHit(i8*, i32, i32)

define void @Outputs1(i8* %"%<tSimStruct>") {
Outputs1_entry:
  %"%<tSimStruct>_" = alloca i8*
  store i8* %"%<tSimStruct>", i8** %"%<tSimStruct>_", align 1
  %maxV_ = alloca double
  %rtb_Sum3_i_ = alloca double
  %rtb_Sum3_ = alloca double
  %i_ = alloca i32
  %tmp_ = alloca double
  %_rtB_ = alloca %B_REVS_VM_T.12*
  %_rtP_ = alloca %P_REVS_VM_T.17*
  %_rtDW_ = alloca %DW_REVS_VM_T.16*
  %vm_ssIsMajorTimeStepVar0_ = alloca i32
  %0 = call i32 @vm_ssIsMajorTimeStep(i8* %"%<tSimStruct>")
  store i32 %0, i32* %vm_ssIsMajorTimeStepVar0_, align 1
  %1 = call i8* @vm_ssGetRootDWork(i8* %"%<tSimStruct>")
  %2 = bitcast i8* %1 to %DW_REVS_VM_T.16*
  store %DW_REVS_VM_T.16* %2, %DW_REVS_VM_T.16** %_rtDW_, align 1
  %3 = call i8* @vm_ssGetModelRtp(i8* %"%<tSimStruct>")
  %4 = bitcast i8* %3 to %P_REVS_VM_T.17*
  store %P_REVS_VM_T.17* %4, %P_REVS_VM_T.17** %_rtP_, align 1
  %5 = call i8* @vm__ssGetModelBlockIO(i8* %"%<tSimStruct>")
  %6 = bitcast i8* %5 to %B_REVS_VM_T.12*
  store %B_REVS_VM_T.12* %6, %B_REVS_VM_T.12** %_rtB_, align 1
  %_rtP_306 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %7 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_306, i32 0, i32 162
  %_rtP__capacityCoulombs_Value = load double* %7, align 1
  %8 = getelementptr inbounds %B_REVS_VM_T.12* %6, i32 0, i32 2
  store double %_rtP__capacityCoulombs_Value, double* %8, align 1
  %_rtP_308 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %9 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_308, i32 0, i32 161
  %_rtP__initialSoC_Value = load double* %9, align 1
  %_rtB_309 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %10 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_309, i32 0, i32 2
  %_rtB__capacityCoulombs = load double* %10, align 1
  %tmp0 = fmul double %_rtP__initialSoC_Value, %_rtB__capacityCoulombs
  %11 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_309, i32 0, i32 3
  store double %tmp0, double* %11, align 1
  %_rtP_311 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %12 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_311, i32 0, i32 1416
  %_rtP__ExtrapAbove_Value = load i8* %12, align 1
  %13 = and i8 %_rtP__ExtrapAbove_Value, 1
  %14 = icmp eq i8 %13, 0
  br i1 %14, label %false, label %true

true:                                             ; preds = %Outputs1_entry
  %15 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_311, i32 0, i32 165
  %_rtP__Constant_Value_in = load double* %15, align 1
  %_rtB_316 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %16 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_316, i32 0, i32 5
  store double %_rtP__Constant_Value_in, double* %16, align 1
  br label %merge

false:                                            ; preds = %Outputs1_entry
  %17 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_311, i32 0, i32 1331
  %_rtP__MaxIndices_Value_a = load i32* %17, align 1
  %18 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_311, i32 0, i32 166, i32 %_rtP__MaxIndices_Value_a
  %_rtP__BreakpointData_Value_el = load double* %18, align 1
  %_rtB_314 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %19 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_314, i32 0, i32 5
  store double %_rtP__BreakpointData_Value_el, double* %19, align 1
  br label %merge

true1:                                            ; preds = %merge
  %20 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_317, i32 0, i32 168
  %_rtP__Constant1_Value_c = load double* %20, align 1
  %_rtB_322 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %21 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_322, i32 0, i32 6
  store double %_rtP__Constant1_Value_c, double* %21, align 1
  br label %merge205

false2:                                           ; preds = %merge
  %22 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_317, i32 0, i32 166, i32 0
  %_rtP__BreakpointData_Value_el319 = load double* %22, align 1
  %_rtB_320 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %23 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_320, i32 0, i32 6
  store double %_rtP__BreakpointData_Value_el319, double* %23, align 1
  br label %merge205

true3:                                            ; preds = %merge205
  %24 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_323, i32 0, i32 171
  %_rtP__Constant_Value_j = load double* %24, align 1
  %_rtB_328 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %25 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_328, i32 0, i32 7
  store double %_rtP__Constant_Value_j, double* %25, align 1
  br label %merge206

false4:                                           ; preds = %merge205
  %26 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_323, i32 0, i32 1333
  %_rtP__MaxIndices_Value_e = load i32* %26, align 1
  %27 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_323, i32 0, i32 172, i32 %_rtP__MaxIndices_Value_e
  %_rtP__BreakpointData_Value_h_el = load double* %27, align 1
  %_rtB_326 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %28 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_326, i32 0, i32 7
  store double %_rtP__BreakpointData_Value_h_el, double* %28, align 1
  br label %merge206

true5:                                            ; preds = %merge206
  %29 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_329, i32 0, i32 174
  %_rtP__Constant1_Value_k = load double* %29, align 1
  %_rtB_334 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %30 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_334, i32 0, i32 8
  store double %_rtP__Constant1_Value_k, double* %30, align 1
  br label %merge207

false6:                                           ; preds = %merge206
  %31 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_329, i32 0, i32 172, i32 0
  %_rtP__BreakpointData_Value_h_el331 = load double* %31, align 1
  %_rtB_332 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %32 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_332, i32 0, i32 8
  store double %_rtP__BreakpointData_Value_h_el331, double* %32, align 1
  br label %merge207

true7:                                            ; preds = %merge207
  %33 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_337, i32 0, i32 181
  %_rtP__Constant_Value_ct = load double* %33, align 1
  %_rtB_342 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %34 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_342, i32 0, i32 13
  store double %_rtP__Constant_Value_ct, double* %34, align 1
  br label %merge208

false8:                                           ; preds = %merge207
  %35 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_337, i32 0, i32 1335
  %_rtP__MaxIndices_Value_m = load i32* %35, align 1
  %36 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_337, i32 0, i32 182, i32 %_rtP__MaxIndices_Value_m
  %_rtP__BreakpointData_Value_a_el = load double* %36, align 1
  %_rtB_340 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %37 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_340, i32 0, i32 13
  store double %_rtP__BreakpointData_Value_a_el, double* %37, align 1
  br label %merge208

true9:                                            ; preds = %merge208
  %38 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_343, i32 0, i32 184
  %_rtP__Constant1_Value_b = load double* %38, align 1
  %_rtB_348 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %39 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_348, i32 0, i32 14
  store double %_rtP__Constant1_Value_b, double* %39, align 1
  br label %merge209

false10:                                          ; preds = %merge208
  %40 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_343, i32 0, i32 182, i32 0
  %_rtP__BreakpointData_Value_a_el345 = load double* %40, align 1
  %_rtB_346 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %41 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_346, i32 0, i32 14
  store double %_rtP__BreakpointData_Value_a_el345, double* %41, align 1
  br label %merge209

true11:                                           ; preds = %merge209
  %42 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_349, i32 0, i32 185
  %_rtP__Constant_Value_ne = load double* %42, align 1
  %_rtB_354 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %43 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_354, i32 0, i32 15
  store double %_rtP__Constant_Value_ne, double* %43, align 1
  br label %merge210

false12:                                          ; preds = %merge209
  %44 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_349, i32 0, i32 1336
  %_rtP__MaxIndices_Value_en = load i32* %44, align 1
  %45 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_349, i32 0, i32 186, i32 %_rtP__MaxIndices_Value_en
  %_rtP__BreakpointData_Value_hj_el = load double* %45, align 1
  %_rtB_352 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %46 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_352, i32 0, i32 15
  store double %_rtP__BreakpointData_Value_hj_el, double* %46, align 1
  br label %merge210

true13:                                           ; preds = %merge210
  %47 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_355, i32 0, i32 188
  %_rtP__Constant1_Value_e = load double* %47, align 1
  %_rtB_360 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %48 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_360, i32 0, i32 16
  store double %_rtP__Constant1_Value_e, double* %48, align 1
  br label %merge211

false14:                                          ; preds = %merge210
  %49 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_355, i32 0, i32 186, i32 0
  %_rtP__BreakpointData_Value_hj_el357 = load double* %49, align 1
  %_rtB_358 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %50 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_358, i32 0, i32 16
  store double %_rtP__BreakpointData_Value_hj_el357, double* %50, align 1
  br label %merge211

true15:                                           ; preds = %merge211
  %51 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_363, i32 0, i32 192
  %_rtP__Constant_Value_nl = load double* %51, align 1
  %_rtB_369 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %52 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_369, i32 0, i32 21
  store double %_rtP__Constant_Value_nl, double* %52, align 1
  br label %merge212

false16:                                          ; preds = %merge211
  %53 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_363, i32 0, i32 194
  %_rtP__AxisNumber_Value_d = load double* %53, align 1
  %54 = fptosi double %_rtP__AxisNumber_Value_d to i32
  %tmp1 = add i32 %54, -1
  %55 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_363, i32 0, i32 1337, i32 %tmp1
  %_rtP__MaxIndices_Value_h_el = load i32* %55, align 1
  %56 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_363, i32 0, i32 193, i32 %_rtP__MaxIndices_Value_h_el
  %_rtP__BreakpointData_Value_g_el = load double* %56, align 1
  %_rtB_367 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %57 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_367, i32 0, i32 21
  store double %_rtP__BreakpointData_Value_g_el, double* %57, align 1
  br label %merge212

true17:                                           ; preds = %merge212
  %58 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_370, i32 0, i32 195
  %_rtP__Constant1_Value_p = load double* %58, align 1
  %_rtB_375 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %59 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_375, i32 0, i32 22
  store double %_rtP__Constant1_Value_p, double* %59, align 1
  br label %merge213

false18:                                          ; preds = %merge212
  %60 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_370, i32 0, i32 193, i32 0
  %_rtP__BreakpointData_Value_g_el372 = load double* %60, align 1
  %_rtB_373 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %61 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_373, i32 0, i32 22
  store double %_rtP__BreakpointData_Value_g_el372, double* %61, align 1
  br label %merge213

true19:                                           ; preds = %merge213
  %62 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_376, i32 0, i32 197
  %_rtP__Constant_Value_g = load double* %62, align 1
  %_rtB_382 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %63 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_382, i32 0, i32 23
  store double %_rtP__Constant_Value_g, double* %63, align 1
  br label %merge214

false20:                                          ; preds = %merge213
  %64 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_376, i32 0, i32 199
  %_rtP__AxisNumber_Value_ak = load double* %64, align 1
  %65 = fptosi double %_rtP__AxisNumber_Value_ak to i32
  %tmp2 = add i32 %65, -1
  %66 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_376, i32 0, i32 1338, i32 %tmp2
  %_rtP__MaxIndices_Value_g_el = load i32* %66, align 1
  %67 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_376, i32 0, i32 198, i32 %_rtP__MaxIndices_Value_g_el
  %_rtP__BreakpointData_Value_f_el = load double* %67, align 1
  %_rtB_380 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %68 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_380, i32 0, i32 23
  store double %_rtP__BreakpointData_Value_f_el, double* %68, align 1
  br label %merge214

true21:                                           ; preds = %merge214
  %69 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_383, i32 0, i32 200
  %_rtP__Constant1_Value_pt = load double* %69, align 1
  %_rtB_388 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %70 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_388, i32 0, i32 24
  store double %_rtP__Constant1_Value_pt, double* %70, align 1
  br label %merge215

false22:                                          ; preds = %merge214
  %71 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_383, i32 0, i32 198, i32 0
  %_rtP__BreakpointData_Value_f_el385 = load double* %71, align 1
  %_rtB_386 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %72 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_386, i32 0, i32 24
  store double %_rtP__BreakpointData_Value_f_el385, double* %72, align 1
  br label %merge215

true23:                                           ; preds = %merge215
  %73 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_391, i32 0, i32 204
  %_rtP__Constant_Value_it = load double* %73, align 1
  %_rtB_396 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %74 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_396, i32 0, i32 27
  store double %_rtP__Constant_Value_it, double* %74, align 1
  br label %merge216

false24:                                          ; preds = %merge215
  %75 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_391, i32 0, i32 1341
  %_rtP__MaxIndices_Value_n = load i32* %75, align 1
  %76 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_391, i32 0, i32 205, i32 %_rtP__MaxIndices_Value_n
  %_rtP__BreakpointData_Value_c_el = load double* %76, align 1
  %_rtB_394 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %77 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_394, i32 0, i32 27
  store double %_rtP__BreakpointData_Value_c_el, double* %77, align 1
  br label %merge216

true25:                                           ; preds = %merge216
  %78 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_397, i32 0, i32 207
  %_rtP__Constant1_Value_n = load double* %78, align 1
  %_rtB_402 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %79 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_402, i32 0, i32 28
  store double %_rtP__Constant1_Value_n, double* %79, align 1
  br label %merge217

false26:                                          ; preds = %merge216
  %80 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_397, i32 0, i32 205, i32 0
  %_rtP__BreakpointData_Value_c_el399 = load double* %80, align 1
  %_rtB_400 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %81 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_400, i32 0, i32 28
  store double %_rtP__BreakpointData_Value_c_el399, double* %81, align 1
  br label %merge217

true27:                                           ; preds = %merge217
  %82 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_405, i32 0, i32 210
  %_rtP__Constant_Value_g5 = load double* %82, align 1
  %_rtB_410 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %83 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_410, i32 0, i32 30
  store double %_rtP__Constant_Value_g5, double* %83, align 1
  br label %merge218

false28:                                          ; preds = %merge217
  %84 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_405, i32 0, i32 1343
  %_rtP__MaxIndices_Value_j = load i32* %84, align 1
  %85 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_405, i32 0, i32 211, i32 %_rtP__MaxIndices_Value_j
  %_rtP__BreakpointData_Value_o_el = load double* %85, align 1
  %_rtB_408 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %86 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_408, i32 0, i32 30
  store double %_rtP__BreakpointData_Value_o_el, double* %86, align 1
  br label %merge218

true29:                                           ; preds = %merge218
  %87 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_411, i32 0, i32 213
  %_rtP__Constant1_Value_a = load double* %87, align 1
  %_rtB_416 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %88 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_416, i32 0, i32 31
  store double %_rtP__Constant1_Value_a, double* %88, align 1
  br label %merge219

false30:                                          ; preds = %merge218
  %89 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_411, i32 0, i32 211, i32 0
  %_rtP__BreakpointData_Value_o_el413 = load double* %89, align 1
  %_rtB_414 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %90 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_414, i32 0, i32 31
  store double %_rtP__BreakpointData_Value_o_el413, double* %90, align 1
  br label %merge219

true31:                                           ; preds = %merge219
  %91 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_419, i32 0, i32 216
  %_rtP__Constant_Value_f = load double* %91, align 1
  %_rtB_425 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %92 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_425, i32 0, i32 33
  store double %_rtP__Constant_Value_f, double* %92, align 1
  br label %merge220

false32:                                          ; preds = %merge219
  %93 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_419, i32 0, i32 218
  %_rtP__AxisNumber_Value_ds = load double* %93, align 1
  %94 = fptosi double %_rtP__AxisNumber_Value_ds to i32
  %tmp3 = add i32 %94, -1
  %95 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_419, i32 0, i32 1345, i32 %tmp3
  %_rtP__MaxIndices_Value_gt_el = load i32* %95, align 1
  %96 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_419, i32 0, i32 217, i32 %_rtP__MaxIndices_Value_gt_el
  %_rtP__BreakpointData_Value_d_el = load double* %96, align 1
  %_rtB_423 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %97 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_423, i32 0, i32 33
  store double %_rtP__BreakpointData_Value_d_el, double* %97, align 1
  br label %merge220

true33:                                           ; preds = %merge220
  %98 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_426, i32 0, i32 219
  %_rtP__Constant1_Value_c3 = load double* %98, align 1
  %_rtB_431 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %99 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_431, i32 0, i32 34
  store double %_rtP__Constant1_Value_c3, double* %99, align 1
  br label %merge221

false34:                                          ; preds = %merge220
  %100 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_426, i32 0, i32 217, i32 0
  %_rtP__BreakpointData_Value_d_el428 = load double* %100, align 1
  %_rtB_429 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %101 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_429, i32 0, i32 34
  store double %_rtP__BreakpointData_Value_d_el428, double* %101, align 1
  br label %merge221

true35:                                           ; preds = %merge221
  %102 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_432, i32 0, i32 220
  %_rtP__Constant_Value_ee = load double* %102, align 1
  %_rtB_438 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %103 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_438, i32 0, i32 35
  store double %_rtP__Constant_Value_ee, double* %103, align 1
  br label %merge222

false36:                                          ; preds = %merge221
  %104 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_432, i32 0, i32 222
  %_rtP__AxisNumber_Value_i = load double* %104, align 1
  %105 = fptosi double %_rtP__AxisNumber_Value_i to i32
  %tmp4 = add i32 %105, -1
  %106 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_432, i32 0, i32 1346, i32 %tmp4
  %_rtP__MaxIndices_Value_d_el = load i32* %106, align 1
  %107 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_432, i32 0, i32 221, i32 %_rtP__MaxIndices_Value_d_el
  %_rtP__BreakpointData_Value_l_el = load double* %107, align 1
  %_rtB_436 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %108 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_436, i32 0, i32 35
  store double %_rtP__BreakpointData_Value_l_el, double* %108, align 1
  br label %merge222

true37:                                           ; preds = %merge222
  %109 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_439, i32 0, i32 223
  %_rtP__Constant1_Value_p2 = load double* %109, align 1
  %_rtB_444 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %110 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_444, i32 0, i32 36
  store double %_rtP__Constant1_Value_p2, double* %110, align 1
  br label %merge223

false38:                                          ; preds = %merge222
  %111 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_439, i32 0, i32 221, i32 0
  %_rtP__BreakpointData_Value_l_el441 = load double* %111, align 1
  %_rtB_442 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %112 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_442, i32 0, i32 36
  store double %_rtP__BreakpointData_Value_l_el441, double* %112, align 1
  br label %merge223

true39:                                           ; preds = %merge223
  %113 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_474, i32 0, i32 276
  %_rtP__Constant_Value_eu = load double* %113, align 1
  %_rtB_480 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %114 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_480, i32 0, i32 71
  store double %_rtP__Constant_Value_eu, double* %114, align 1
  br label %merge224

false40:                                          ; preds = %merge223
  %115 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_474, i32 0, i32 278
  %_rtP__AxisNumber_Value_ar = load double* %115, align 1
  %116 = fptosi double %_rtP__AxisNumber_Value_ar to i32
  %tmp6 = add i32 %116, -1
  %117 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_474, i32 0, i32 1349, i32 %tmp6
  %_rtP__MaxIndices_Value_b_el = load i32* %117, align 1
  %118 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_474, i32 0, i32 277, i32 %_rtP__MaxIndices_Value_b_el
  %_rtP__BreakpointData_Value_m_el = load double* %118, align 1
  %_rtB_478 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %119 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_478, i32 0, i32 71
  store double %_rtP__BreakpointData_Value_m_el, double* %119, align 1
  br label %merge224

true41:                                           ; preds = %merge224
  %120 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_481, i32 0, i32 279
  %_rtP__Constant1_Value_g = load double* %120, align 1
  %_rtB_486 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %121 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_486, i32 0, i32 72
  store double %_rtP__Constant1_Value_g, double* %121, align 1
  br label %merge225

false42:                                          ; preds = %merge224
  %122 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_481, i32 0, i32 277, i32 0
  %_rtP__BreakpointData_Value_m_el483 = load double* %122, align 1
  %_rtB_484 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %123 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_484, i32 0, i32 72
  store double %_rtP__BreakpointData_Value_m_el483, double* %123, align 1
  br label %merge225

true43:                                           ; preds = %merge225
  %124 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_487, i32 0, i32 281
  %_rtP__Constant_Value_b1 = load double* %124, align 1
  %_rtB_493 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %125 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_493, i32 0, i32 73
  store double %_rtP__Constant_Value_b1, double* %125, align 1
  br label %merge226

false44:                                          ; preds = %merge225
  %126 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_487, i32 0, i32 283
  %_rtP__AxisNumber_Value_hg = load double* %126, align 1
  %127 = fptosi double %_rtP__AxisNumber_Value_hg to i32
  %tmp7 = add i32 %127, -1
  %128 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_487, i32 0, i32 1350, i32 %tmp7
  %_rtP__MaxIndices_Value_j4_el = load i32* %128, align 1
  %129 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_487, i32 0, i32 282, i32 %_rtP__MaxIndices_Value_j4_el
  %_rtP__BreakpointData_Value_k_el = load double* %129, align 1
  %_rtB_491 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %130 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_491, i32 0, i32 73
  store double %_rtP__BreakpointData_Value_k_el, double* %130, align 1
  br label %merge226

true45:                                           ; preds = %merge226
  %131 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_494, i32 0, i32 284
  %_rtP__Constant1_Value_m = load double* %131, align 1
  %_rtB_499 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %132 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_499, i32 0, i32 74
  store double %_rtP__Constant1_Value_m, double* %132, align 1
  br label %merge227

false46:                                          ; preds = %merge226
  %133 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_494, i32 0, i32 282, i32 0
  %_rtP__BreakpointData_Value_k_el496 = load double* %133, align 1
  %_rtB_497 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %134 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_497, i32 0, i32 74
  store double %_rtP__BreakpointData_Value_k_el496, double* %134, align 1
  br label %merge227

true47:                                           ; preds = %merge227
  %135 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_504, i32 0, i32 291
  %_rtP__Constant_Value_co = load double* %135, align 1
  %_rtB_510 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %136 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_510, i32 0, i32 79
  store double %_rtP__Constant_Value_co, double* %136, align 1
  br label %merge228

false48:                                          ; preds = %merge227
  %137 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_504, i32 0, i32 293
  %_rtP__AxisNumber_Value_j = load double* %137, align 1
  %138 = fptosi double %_rtP__AxisNumber_Value_j to i32
  %tmp8 = add i32 %138, -1
  %139 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_504, i32 0, i32 1353, i32 %tmp8
  %_rtP__MaxIndices_Value_f_el = load i32* %139, align 1
  %140 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_504, i32 0, i32 292, i32 %_rtP__MaxIndices_Value_f_el
  %_rtP__BreakpointData_Value_l1_el = load double* %140, align 1
  %_rtB_508 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %141 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_508, i32 0, i32 79
  store double %_rtP__BreakpointData_Value_l1_el, double* %141, align 1
  br label %merge228

true49:                                           ; preds = %merge228
  %142 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_511, i32 0, i32 294
  %_rtP__Constant1_Value_pe = load double* %142, align 1
  %_rtB_516 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %143 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_516, i32 0, i32 80
  store double %_rtP__Constant1_Value_pe, double* %143, align 1
  br label %merge229

false50:                                          ; preds = %merge228
  %144 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_511, i32 0, i32 292, i32 0
  %_rtP__BreakpointData_Value_l1_el513 = load double* %144, align 1
  %_rtB_514 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %145 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_514, i32 0, i32 80
  store double %_rtP__BreakpointData_Value_l1_el513, double* %145, align 1
  br label %merge229

true51:                                           ; preds = %merge229
  %146 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_517, i32 0, i32 295
  %_rtP__Constant_Value_de = load double* %146, align 1
  %_rtB_523 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %147 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_523, i32 0, i32 81
  store double %_rtP__Constant_Value_de, double* %147, align 1
  br label %merge230

false52:                                          ; preds = %merge229
  %148 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_517, i32 0, i32 297
  %_rtP__AxisNumber_Value_p = load double* %148, align 1
  %149 = fptosi double %_rtP__AxisNumber_Value_p to i32
  %tmp9 = add i32 %149, -1
  %150 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_517, i32 0, i32 1354, i32 %tmp9
  %_rtP__MaxIndices_Value_nz_el = load i32* %150, align 1
  %151 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_517, i32 0, i32 296, i32 %_rtP__MaxIndices_Value_nz_el
  %_rtP__BreakpointData_Value_d2_el = load double* %151, align 1
  %_rtB_521 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %152 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_521, i32 0, i32 81
  store double %_rtP__BreakpointData_Value_d2_el, double* %152, align 1
  br label %merge230

true53:                                           ; preds = %merge230
  %153 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_524, i32 0, i32 298
  %_rtP__Constant1_Value_j = load double* %153, align 1
  %_rtB_529 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %154 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_529, i32 0, i32 82
  store double %_rtP__Constant1_Value_j, double* %154, align 1
  br label %merge231

false54:                                          ; preds = %merge230
  %155 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_524, i32 0, i32 296, i32 0
  %_rtP__BreakpointData_Value_d2_el526 = load double* %155, align 1
  %_rtB_527 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %156 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_527, i32 0, i32 82
  store double %_rtP__BreakpointData_Value_d2_el526, double* %156, align 1
  br label %merge231

true55:                                           ; preds = %merge231
  %157 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_542, i32 0, i32 319
  %_rtP__Constant_Value_gs = load double* %157, align 1
  %_rtB_547 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %158 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_547, i32 0, i32 97
  store double %_rtP__Constant_Value_gs, double* %158, align 1
  br label %merge232

false56:                                          ; preds = %merge231
  %159 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_542, i32 0, i32 1357
  %_rtP__MaxIndices_Value_nr = load i32* %159, align 1
  %160 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_542, i32 0, i32 320, i32 %_rtP__MaxIndices_Value_nr
  %_rtP__BreakpointData_Value_ls_el = load double* %160, align 1
  %_rtB_545 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %161 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_545, i32 0, i32 97
  store double %_rtP__BreakpointData_Value_ls_el, double* %161, align 1
  br label %merge232

true57:                                           ; preds = %merge232
  %162 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_548, i32 0, i32 322
  %_rtP__Constant1_Value_kj = load double* %162, align 1
  %_rtB_553 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %163 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_553, i32 0, i32 98
  store double %_rtP__Constant1_Value_kj, double* %163, align 1
  br label %merge233

false58:                                          ; preds = %merge232
  %164 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_548, i32 0, i32 320, i32 0
  %_rtP__BreakpointData_Value_ls_el550 = load double* %164, align 1
  %_rtB_551 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %165 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_551, i32 0, i32 98
  store double %_rtP__BreakpointData_Value_ls_el550, double* %165, align 1
  br label %merge233

true59:                                           ; preds = %merge233
  %166 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_554, i32 0, i32 326
  %_rtP__Constant_Value_js = load double* %166, align 1
  %_rtB_559 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %167 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_559, i32 0, i32 100
  store double %_rtP__Constant_Value_js, double* %167, align 1
  br label %merge234

false60:                                          ; preds = %merge233
  %168 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_554, i32 0, i32 1359
  %_rtP__MaxIndices_Value_i = load i32* %168, align 1
  %169 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_554, i32 0, i32 327, i32 %_rtP__MaxIndices_Value_i
  %_rtP__BreakpointData_Value_e_el = load double* %169, align 1
  %_rtB_557 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %170 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_557, i32 0, i32 100
  store double %_rtP__BreakpointData_Value_e_el, double* %170, align 1
  br label %merge234

true61:                                           ; preds = %merge234
  %171 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_560, i32 0, i32 329
  %_rtP__Constant1_Value_k2 = load double* %171, align 1
  %_rtB_565 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %172 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_565, i32 0, i32 101
  store double %_rtP__Constant1_Value_k2, double* %172, align 1
  br label %merge235

false62:                                          ; preds = %merge234
  %173 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_560, i32 0, i32 327, i32 0
  %_rtP__BreakpointData_Value_e_el562 = load double* %173, align 1
  %_rtB_563 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %174 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_563, i32 0, i32 101
  store double %_rtP__BreakpointData_Value_e_el562, double* %174, align 1
  br label %merge235

true63:                                           ; preds = %merge235
  %175 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_566, i32 0, i32 333
  %_rtP__Constant_Value_ji = load double* %175, align 1
  %_rtB_571 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %176 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_571, i32 0, i32 103
  store double %_rtP__Constant_Value_ji, double* %176, align 1
  br label %merge236

false64:                                          ; preds = %merge235
  %177 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_566, i32 0, i32 1361
  %_rtP__MaxIndices_Value_ey = load i32* %177, align 1
  %178 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_566, i32 0, i32 334, i32 %_rtP__MaxIndices_Value_ey
  %_rtP__BreakpointData_Value_b_el = load double* %178, align 1
  %_rtB_569 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %179 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_569, i32 0, i32 103
  store double %_rtP__BreakpointData_Value_b_el, double* %179, align 1
  br label %merge236

true65:                                           ; preds = %merge236
  %180 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_572, i32 0, i32 336
  %_rtP__Constant1_Value_ma = load double* %180, align 1
  %_rtB_577 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %181 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_577, i32 0, i32 104
  store double %_rtP__Constant1_Value_ma, double* %181, align 1
  br label %merge237

false66:                                          ; preds = %merge236
  %182 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_572, i32 0, i32 334, i32 0
  %_rtP__BreakpointData_Value_b_el574 = load double* %182, align 1
  %_rtB_575 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %183 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_575, i32 0, i32 104
  store double %_rtP__BreakpointData_Value_b_el574, double* %183, align 1
  br label %merge237

true67:                                           ; preds = %merge237
  %184 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_578, i32 0, i32 340
  %_rtP__Constant_Value_ju = load double* %184, align 1
  %_rtB_583 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %185 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_583, i32 0, i32 106
  store double %_rtP__Constant_Value_ju, double* %185, align 1
  br label %merge238

false68:                                          ; preds = %merge237
  %186 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_578, i32 0, i32 1363
  %_rtP__MaxIndices_Value_c = load i32* %186, align 1
  %187 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_578, i32 0, i32 341, i32 %_rtP__MaxIndices_Value_c
  %_rtP__BreakpointData_Value_by_el = load double* %187, align 1
  %_rtB_581 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %188 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_581, i32 0, i32 106
  store double %_rtP__BreakpointData_Value_by_el, double* %188, align 1
  br label %merge238

true69:                                           ; preds = %merge238
  %189 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_584, i32 0, i32 343
  %_rtP__Constant1_Value_gg = load double* %189, align 1
  %_rtB_589 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %190 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_589, i32 0, i32 107
  store double %_rtP__Constant1_Value_gg, double* %190, align 1
  br label %merge239

false70:                                          ; preds = %merge238
  %191 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_584, i32 0, i32 341, i32 0
  %_rtP__BreakpointData_Value_by_el586 = load double* %191, align 1
  %_rtB_587 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %192 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_587, i32 0, i32 107
  store double %_rtP__BreakpointData_Value_by_el586, double* %192, align 1
  br label %merge239

true71:                                           ; preds = %merge239
  %_rtB_669 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %193 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_669, i32 0, i32 140
  store double %_rtP__sat_UpperSat, double* %193, align 1
  br label %merge241

false72:                                          ; preds = %merge239
  %194 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_656, i32 0, i32 420
  %_rtP__sat_LowerSat = load double* %194, align 1
  %195 = fcmp olt double %_rtP__target_voltage_V1_Value, %_rtP__sat_LowerSat
  %_rtB_666 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %196 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_666, i32 0, i32 140
  br i1 %195, label %true73, label %false74

true73:                                           ; preds = %false72
  store double %_rtP__sat_LowerSat, double* %196, align 1
  br label %merge241

false74:                                          ; preds = %false72
  store double %_rtP__target_voltage_V1_Value, double* %196, align 1
  br label %merge241

true75:                                           ; preds = %merge241
  %_rtDW_698 = load %DW_REVS_VM_T.16** %_rtDW_, align 1
  %197 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_698, i32 0, i32 854
  call void @vm_srUpdateBC(i8* %197)
  br label %false76

false76:                                          ; preds = %merge241, %true75
  %_rtP_699 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %198 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_699, i32 0, i32 441
  %_rtP__Constant_Value_cw = load double* %198, align 1
  %199 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_699, i32 0, i32 442
  %_rtP__Constant1_Value_en = load double* %199, align 1
  %200 = fcmp oge double %_rtP__Constant_Value_cw, %_rtP__Constant1_Value_en
  %201 = zext i1 %200 to i8
  %_rtB_701 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %202 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_701, i32 0, i32 653
  store i8 %201, i8* %202, align 1
  %_rtP_702 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %203 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_702, i32 0, i32 443
  %_rtP__Constant_Value_dfe = load double* %203, align 1
  %204 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_702, i32 0, i32 444
  %_rtP__Constant1_Value_d = load double* %204, align 1
  %205 = fcmp oge double %_rtP__Constant_Value_dfe, %_rtP__Constant1_Value_d
  %206 = zext i1 %205 to i8
  %_rtB_704 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %207 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_704, i32 0, i32 654
  store i8 %206, i8* %207, align 1
  %_rtP_705 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %208 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_705, i32 0, i32 445
  %_rtP__Constant_Value_pu = load double* %208, align 1
  %209 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_705, i32 0, i32 446
  %_rtP__Constant1_Value_bz = load double* %209, align 1
  %210 = fcmp oge double %_rtP__Constant_Value_pu, %_rtP__Constant1_Value_bz
  %211 = zext i1 %210 to i8
  %_rtB_707 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %212 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_707, i32 0, i32 655
  store i8 %211, i8* %212, align 1
  %_rtP_708 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %213 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_708, i32 0, i32 447
  %_rtP__Constant_Value_c45 = load double* %213, align 1
  %214 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_708, i32 0, i32 448
  %_rtP__Constant1_Value_i = load double* %214, align 1
  %215 = fcmp oge double %_rtP__Constant_Value_c45, %_rtP__Constant1_Value_i
  %216 = zext i1 %215 to i8
  %_rtB_710 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %217 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_710, i32 0, i32 656
  store i8 %216, i8* %217, align 1
  %_rtP_711 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %218 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_711, i32 0, i32 449
  %_rtP__Constant_Value_gmk = load double* %218, align 1
  %219 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_711, i32 0, i32 450
  %_rtP__Constant1_Value_gr = load double* %219, align 1
  %220 = fcmp oge double %_rtP__Constant_Value_gmk, %_rtP__Constant1_Value_gr
  %221 = zext i1 %220 to i8
  %_rtB_713 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %222 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_713, i32 0, i32 657
  store i8 %221, i8* %222, align 1
  %_rtP_714 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %223 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_714, i32 0, i32 451
  %_rtP__Constant_Value_na = load double* %223, align 1
  %224 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_714, i32 0, i32 452
  %_rtP__Constant1_Value_az = load double* %224, align 1
  %225 = fcmp oge double %_rtP__Constant_Value_na, %_rtP__Constant1_Value_az
  %226 = zext i1 %225 to i8
  %_rtB_716 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %227 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_716, i32 0, i32 658
  store i8 %226, i8* %227, align 1
  %_rtP_717 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %228 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_717, i32 0, i32 453
  %_rtP__Constant_Value_hh = load double* %228, align 1
  %229 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_717, i32 0, i32 454
  %_rtP__Constant1_Value_md = load double* %229, align 1
  %230 = fcmp oge double %_rtP__Constant_Value_hh, %_rtP__Constant1_Value_md
  %231 = zext i1 %230 to i8
  %_rtB_719 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %232 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_719, i32 0, i32 659
  store i8 %231, i8* %232, align 1
  %_rtP_720 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %233 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_720, i32 0, i32 461
  %_rtP__Constant_Value_kl = load double* %233, align 1
  %234 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_720, i32 0, i32 462
  %_rtP__Constant_Value_hl = load double* %234, align 1
  %235 = fcmp oge double %_rtP__Constant_Value_kl, %_rtP__Constant_Value_hl
  %236 = zext i1 %235 to i8
  %_rtB_722 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %237 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_722, i32 0, i32 662
  store i8 %236, i8* %237, align 1
  %_rtP_723 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %238 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_723, i32 0, i32 463
  %_rtP__Constant_Value_ln = load double* %238, align 1
  %239 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_723, i32 0, i32 464
  %_rtP__Constant1_Value_nk = load double* %239, align 1
  %240 = fcmp oge double %_rtP__Constant_Value_ln, %_rtP__Constant1_Value_nk
  %241 = zext i1 %240 to i8
  %_rtB_725 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %242 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_725, i32 0, i32 663
  store i8 %241, i8* %242, align 1
  %_rtP_726 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %243 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_726, i32 0, i32 1471
  %_rtP__ExtrapAbove_Value_m = load i8* %243, align 1
  %244 = and i8 %_rtP__ExtrapAbove_Value_m, 1
  %245 = icmp eq i8 %244, 0
  br i1 %245, label %false78, label %true77

true77:                                           ; preds = %false76
  %246 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_726, i32 0, i32 465
  %_rtP__Constant_Value_el = load double* %246, align 1
  %_rtB_731 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %247 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_731, i32 0, i32 160
  store double %_rtP__Constant_Value_el, double* %247, align 1
  br label %merge242

false78:                                          ; preds = %false76
  %248 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_726, i32 0, i32 1365
  %_rtP__MaxIndices_Value_o = load i32* %248, align 1
  %249 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_726, i32 0, i32 466, i32 %_rtP__MaxIndices_Value_o
  %_rtP__BreakpointData_Value_mx_el = load double* %249, align 1
  %_rtB_729 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %250 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_729, i32 0, i32 160
  store double %_rtP__BreakpointData_Value_mx_el, double* %250, align 1
  br label %merge242

true79:                                           ; preds = %merge242
  %251 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_732, i32 0, i32 468
  %_rtP__Constant1_Value_jm = load double* %251, align 1
  %_rtB_737 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %252 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_737, i32 0, i32 161
  store double %_rtP__Constant1_Value_jm, double* %252, align 1
  br label %merge243

false80:                                          ; preds = %merge242
  %253 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_732, i32 0, i32 466, i32 0
  %_rtP__BreakpointData_Value_mx_el734 = load double* %253, align 1
  %_rtB_735 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %254 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_735, i32 0, i32 161
  store double %_rtP__BreakpointData_Value_mx_el734, double* %254, align 1
  br label %merge243

true81:                                           ; preds = %merge243
  %255 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_759, i32 0, i32 498
  %_rtP__Constant_Value_d0 = load double* %255, align 1
  %_rtB_764 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %256 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_764, i32 0, i32 178
  store double %_rtP__Constant_Value_d0, double* %256, align 1
  br label %merge244

false82:                                          ; preds = %merge243
  %257 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_759, i32 0, i32 1367
  %_rtP__MaxIndices_Value_hb = load i32* %257, align 1
  %258 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_759, i32 0, i32 499, i32 %_rtP__MaxIndices_Value_hb
  %_rtP__BreakpointData_Value_bg_el = load double* %258, align 1
  %_rtB_762 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %259 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_762, i32 0, i32 178
  store double %_rtP__BreakpointData_Value_bg_el, double* %259, align 1
  br label %merge244

true83:                                           ; preds = %merge244
  %260 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_765, i32 0, i32 501
  %_rtP__Constant1_Value_ku = load double* %260, align 1
  %_rtB_770 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %261 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_770, i32 0, i32 179
  store double %_rtP__Constant1_Value_ku, double* %261, align 1
  br label %merge245

false84:                                          ; preds = %merge244
  %262 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_765, i32 0, i32 499, i32 0
  %_rtP__BreakpointData_Value_bg_el767 = load double* %262, align 1
  %_rtB_768 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %263 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_768, i32 0, i32 179
  store double %_rtP__BreakpointData_Value_bg_el767, double* %263, align 1
  br label %merge245

true85:                                           ; preds = %merge245
  %264 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_771, i32 0, i32 502
  %_rtP__Constant_Value_jd = load double* %264, align 1
  %_rtB_776 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %265 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_776, i32 0, i32 180
  store double %_rtP__Constant_Value_jd, double* %265, align 1
  br label %merge246

false86:                                          ; preds = %merge245
  %266 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_771, i32 0, i32 1368
  %_rtP__MaxIndices_Value_bj = load i32* %266, align 1
  %267 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_771, i32 0, i32 503, i32 %_rtP__MaxIndices_Value_bj
  %_rtP__BreakpointData_Value_fe_el = load double* %267, align 1
  %_rtB_774 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %268 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_774, i32 0, i32 180
  store double %_rtP__BreakpointData_Value_fe_el, double* %268, align 1
  br label %merge246

true87:                                           ; preds = %merge246
  %269 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_777, i32 0, i32 505
  %_rtP__Constant1_Value_ci = load double* %269, align 1
  %_rtB_782 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %270 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_782, i32 0, i32 181
  store double %_rtP__Constant1_Value_ci, double* %270, align 1
  br label %merge247

false88:                                          ; preds = %merge246
  %271 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_777, i32 0, i32 503, i32 0
  %_rtP__BreakpointData_Value_fe_el779 = load double* %271, align 1
  %_rtB_780 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %272 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_780, i32 0, i32 181
  store double %_rtP__BreakpointData_Value_fe_el779, double* %272, align 1
  br label %merge247

true89:                                           ; preds = %merge247
  %273 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_786, i32 0, i32 509
  %_rtP__Constant_Value_hb = load double* %273, align 1
  %_rtB_791 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %274 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_791, i32 0, i32 183
  store double %_rtP__Constant_Value_hb, double* %274, align 1
  br label %merge248

false90:                                          ; preds = %merge247
  %275 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_786, i32 0, i32 1369
  %_rtP__MaxIndices_Value_mf = load i32* %275, align 1
  %276 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_786, i32 0, i32 510, i32 %_rtP__MaxIndices_Value_mf
  %_rtP__BreakpointData_Value_kx_el = load double* %276, align 1
  %_rtB_789 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %277 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_789, i32 0, i32 183
  store double %_rtP__BreakpointData_Value_kx_el, double* %277, align 1
  br label %merge248

true91:                                           ; preds = %merge248
  %278 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_792, i32 0, i32 512
  %_rtP__Constant1_Value_eb = load double* %278, align 1
  %_rtB_797 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %279 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_797, i32 0, i32 184
  store double %_rtP__Constant1_Value_eb, double* %279, align 1
  br label %merge249

false92:                                          ; preds = %merge248
  %280 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_792, i32 0, i32 510, i32 0
  %_rtP__BreakpointData_Value_kx_el794 = load double* %280, align 1
  %_rtB_795 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %281 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_795, i32 0, i32 184
  store double %_rtP__BreakpointData_Value_kx_el794, double* %281, align 1
  br label %merge249

true93:                                           ; preds = %merge249
  %282 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_798, i32 0, i32 513
  %_rtP__Constant_Value_h1 = load double* %282, align 1
  %_rtB_803 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %283 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_803, i32 0, i32 185
  store double %_rtP__Constant_Value_h1, double* %283, align 1
  br label %merge250

false94:                                          ; preds = %merge249
  %284 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_798, i32 0, i32 1370
  %_rtP__MaxIndices_Value_iz = load i32* %284, align 1
  %285 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_798, i32 0, i32 514, i32 %_rtP__MaxIndices_Value_iz
  %_rtP__BreakpointData_Value_cg_el = load double* %285, align 1
  %_rtB_801 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %286 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_801, i32 0, i32 185
  store double %_rtP__BreakpointData_Value_cg_el, double* %286, align 1
  br label %merge250

true95:                                           ; preds = %merge250
  %287 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_804, i32 0, i32 516
  %_rtP__Constant1_Value_cb = load double* %287, align 1
  %_rtB_809 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %288 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_809, i32 0, i32 186
  store double %_rtP__Constant1_Value_cb, double* %288, align 1
  br label %merge251

false96:                                          ; preds = %merge250
  %289 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_804, i32 0, i32 514, i32 0
  %_rtP__BreakpointData_Value_cg_el806 = load double* %289, align 1
  %_rtB_807 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %290 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_807, i32 0, i32 186
  store double %_rtP__BreakpointData_Value_cg_el806, double* %290, align 1
  br label %merge251

true97:                                           ; preds = %merge251
  %291 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_816, i32 0, i32 522
  %_rtP__Constant_Value_ow = load double* %291, align 1
  %_rtB_821 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %292 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_821, i32 0, i32 189
  store double %_rtP__Constant_Value_ow, double* %292, align 1
  br label %merge252

false98:                                          ; preds = %merge251
  %293 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_816, i32 0, i32 1371
  %_rtP__MaxIndices_Value_ee = load i32* %293, align 1
  %294 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_816, i32 0, i32 523, i32 %_rtP__MaxIndices_Value_ee
  %_rtP__BreakpointData_Value_ef_el = load double* %294, align 1
  %_rtB_819 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %295 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_819, i32 0, i32 189
  store double %_rtP__BreakpointData_Value_ef_el, double* %295, align 1
  br label %merge252

true99:                                           ; preds = %merge252
  %296 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_822, i32 0, i32 525
  %_rtP__Constant1_Value_fe = load double* %296, align 1
  %_rtB_827 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %297 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_827, i32 0, i32 190
  store double %_rtP__Constant1_Value_fe, double* %297, align 1
  br label %merge253

false100:                                         ; preds = %merge252
  %298 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_822, i32 0, i32 523, i32 0
  %_rtP__BreakpointData_Value_ef_el824 = load double* %298, align 1
  %_rtB_825 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %299 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_825, i32 0, i32 190
  store double %_rtP__BreakpointData_Value_ef_el824, double* %299, align 1
  br label %merge253

true101:                                          ; preds = %merge253
  %300 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_828, i32 0, i32 526
  %_rtP__Constant_Value_ox = load double* %300, align 1
  %_rtB_833 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %301 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_833, i32 0, i32 191
  store double %_rtP__Constant_Value_ox, double* %301, align 1
  br label %merge254

false102:                                         ; preds = %merge253
  %302 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_828, i32 0, i32 1372
  %_rtP__MaxIndices_Value_im = load i32* %302, align 1
  %303 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_828, i32 0, i32 527, i32 %_rtP__MaxIndices_Value_im
  %_rtP__BreakpointData_Value_lp_el = load double* %303, align 1
  %_rtB_831 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %304 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_831, i32 0, i32 191
  store double %_rtP__BreakpointData_Value_lp_el, double* %304, align 1
  br label %merge254

true103:                                          ; preds = %merge254
  %305 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_834, i32 0, i32 529
  %_rtP__Constant1_Value_o = load double* %305, align 1
  %_rtB_839 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %306 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_839, i32 0, i32 192
  store double %_rtP__Constant1_Value_o, double* %306, align 1
  br label %merge255

false104:                                         ; preds = %merge254
  %307 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_834, i32 0, i32 527, i32 0
  %_rtP__BreakpointData_Value_lp_el836 = load double* %307, align 1
  %_rtB_837 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %308 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_837, i32 0, i32 192
  store double %_rtP__BreakpointData_Value_lp_el836, double* %308, align 1
  br label %merge255

true105:                                          ; preds = %merge255
  %309 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_843, i32 0, i32 533
  %_rtP__Constant_Value_oi = load double* %309, align 1
  %_rtB_848 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %310 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_848, i32 0, i32 194
  store double %_rtP__Constant_Value_oi, double* %310, align 1
  br label %merge256

false106:                                         ; preds = %merge255
  %311 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_843, i32 0, i32 1373
  %_rtP__MaxIndices_Value_ft = load i32* %311, align 1
  %312 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_843, i32 0, i32 534, i32 %_rtP__MaxIndices_Value_ft
  %_rtP__BreakpointData_Value_n_el = load double* %312, align 1
  %_rtB_846 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %313 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_846, i32 0, i32 194
  store double %_rtP__BreakpointData_Value_n_el, double* %313, align 1
  br label %merge256

true107:                                          ; preds = %merge256
  %314 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_849, i32 0, i32 536
  %_rtP__Constant1_Value_iv = load double* %314, align 1
  %_rtB_854 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %315 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_854, i32 0, i32 195
  store double %_rtP__Constant1_Value_iv, double* %315, align 1
  br label %merge257

false108:                                         ; preds = %merge256
  %316 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_849, i32 0, i32 534, i32 0
  %_rtP__BreakpointData_Value_n_el851 = load double* %316, align 1
  %_rtB_852 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %317 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_852, i32 0, i32 195
  store double %_rtP__BreakpointData_Value_n_el851, double* %317, align 1
  br label %merge257

true109:                                          ; preds = %merge257
  %318 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_855, i32 0, i32 537
  %_rtP__Constant_Value_ak = load double* %318, align 1
  %_rtB_860 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %319 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_860, i32 0, i32 196
  store double %_rtP__Constant_Value_ak, double* %319, align 1
  br label %merge258

false110:                                         ; preds = %merge257
  %320 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_855, i32 0, i32 1374
  %_rtP__MaxIndices_Value_eo = load i32* %320, align 1
  %321 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_855, i32 0, i32 538, i32 %_rtP__MaxIndices_Value_eo
  %_rtP__BreakpointData_Value_i_el = load double* %321, align 1
  %_rtB_858 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %322 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_858, i32 0, i32 196
  store double %_rtP__BreakpointData_Value_i_el, double* %322, align 1
  br label %merge258

true111:                                          ; preds = %merge258
  %323 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_861, i32 0, i32 540
  %_rtP__Constant1_Value_op = load double* %323, align 1
  %_rtB_866 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %324 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_866, i32 0, i32 197
  store double %_rtP__Constant1_Value_op, double* %324, align 1
  br label %merge259

false112:                                         ; preds = %merge258
  %325 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_861, i32 0, i32 538, i32 0
  %_rtP__BreakpointData_Value_i_el863 = load double* %325, align 1
  %_rtB_864 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %326 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_864, i32 0, i32 197
  store double %_rtP__BreakpointData_Value_i_el863, double* %326, align 1
  br label %merge259

true113:                                          ; preds = %merge259
  %_rtB_896 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %327 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_896, i32 0, i32 204
  store double %_rtP__Saturation_UpperSat_b, double* %327, align 1
  br label %merge261

false114:                                         ; preds = %merge259
  %328 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_883, i32 0, i32 559
  %_rtP__Saturation_LowerSat_n = load double* %328, align 1
  %329 = fcmp olt double %_rtP__Constant1_Value_a5, %_rtP__Saturation_LowerSat_n
  %_rtB_893 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %330 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_893, i32 0, i32 204
  br i1 %329, label %true115, label %false116

true115:                                          ; preds = %false114
  store double %_rtP__Saturation_LowerSat_n, double* %330, align 1
  br label %merge261

false116:                                         ; preds = %false114
  store double %_rtP__Constant1_Value_a5, double* %330, align 1
  br label %merge261

true117:                                          ; preds = %merge261
  %_rtDW_907 = load %DW_REVS_VM_T.16** %_rtDW_, align 1
  %331 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_907, i32 0, i32 877
  call void @vm_srUpdateBC(i8* %331)
  br label %false118

false118:                                         ; preds = %merge261, %true117
  %_rtP_908 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %332 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_908, i32 0, i32 562
  %_rtP__Constant_Value_ll = load double* %332, align 1
  %333 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_908, i32 0, i32 563
  %_rtP__Constant1_Value_l = load double* %333, align 1
  %334 = fcmp oge double %_rtP__Constant_Value_ll, %_rtP__Constant1_Value_l
  %335 = zext i1 %334 to i8
  %_rtB_910 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %336 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_910, i32 0, i32 679
  store i8 %335, i8* %336, align 1
  %_rtP_911 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %337 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_911, i32 0, i32 564
  %_rtP__Constant_Value_je = load double* %337, align 1
  %338 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_911, i32 0, i32 565
  %_rtP__Constant1_Value_nf = load double* %338, align 1
  %339 = fcmp oge double %_rtP__Constant_Value_je, %_rtP__Constant1_Value_nf
  %340 = zext i1 %339 to i8
  %_rtB_913 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %341 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_913, i32 0, i32 680
  store i8 %340, i8* %341, align 1
  %_rtP_914 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %342 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_914, i32 0, i32 566
  %_rtP__Constant_Value_ad = load double* %342, align 1
  %343 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_914, i32 0, i32 567
  %_rtP__Constant1_Value_pd = load double* %343, align 1
  %344 = fcmp oge double %_rtP__Constant_Value_ad, %_rtP__Constant1_Value_pd
  %345 = zext i1 %344 to i8
  %_rtB_916 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %346 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_916, i32 0, i32 681
  store i8 %345, i8* %346, align 1
  %_rtP_917 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %347 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_917, i32 0, i32 569
  %_rtP__Constant_Value_pd1 = load double* %347, align 1
  %348 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_917, i32 0, i32 570
  %_rtP__Constant1_Value_jw = load double* %348, align 1
  %349 = fcmp oge double %_rtP__Constant_Value_pd1, %_rtP__Constant1_Value_jw
  %350 = zext i1 %349 to i8
  %_rtB_919 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %351 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_919, i32 0, i32 682
  store i8 %350, i8* %351, align 1
  %_rtP_920 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %352 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_920, i32 0, i32 571
  %_rtP__Constant_Value_lz = load double* %352, align 1
  %_rtB_921 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %353 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_921, i32 0, i32 207
  store double %_rtP__Constant_Value_lz, double* %353, align 1
  %_rtP_922 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %354 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_922, i32 0, i32 575
  %_rtP__Constant_Value_iu = load double* %354, align 1
  %_rtB_923 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %355 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_923, i32 0, i32 209
  store double %_rtP__Constant_Value_iu, double* %355, align 1
  %_rtP_924 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %356 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_924, i32 0, i32 577
  %_rtP__Constant_Value_mwh = load double* %356, align 1
  %_rtB_925 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %357 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_925, i32 0, i32 210
  store double %_rtP__Constant_Value_mwh, double* %357, align 1
  %_rtP_926 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %358 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_926, i32 0, i32 579
  %_rtP__stopstartenable_Value = load double* %358, align 1
  %_rtB_927 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %359 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_927, i32 0, i32 213
  store double %_rtP__stopstartenable_Value, double* %359, align 1
  %_rtP_928 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %360 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_928, i32 0, i32 580
  %_rtP__Constant_Value_dv = load double* %360, align 1
  %361 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_928, i32 0, i32 581
  %_rtP__Constant1_Value_fa = load double* %361, align 1
  %362 = fcmp oge double %_rtP__Constant_Value_dv, %_rtP__Constant1_Value_fa
  %363 = zext i1 %362 to i8
  %_rtB_930 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %364 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_930, i32 0, i32 686
  store i8 %363, i8* %364, align 1
  %_rtP_931 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %365 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_931, i32 0, i32 582
  %_rtP__Constant_Value_ha = load double* %365, align 1
  %366 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_931, i32 0, i32 583
  %_rtP__Constant1_Value_ba = load double* %366, align 1
  %367 = fcmp oge double %_rtP__Constant_Value_ha, %_rtP__Constant1_Value_ba
  %368 = zext i1 %367 to i8
  %_rtB_933 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %369 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_933, i32 0, i32 687
  store i8 %368, i8* %369, align 1
  %_rtP_934 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %370 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_934, i32 0, i32 1490
  %_rtP__Constant_Value_fw = load i8* %370, align 1
  %_rtB_935 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %371 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_935, i32 0, i32 688
  store i8 %_rtP__Constant_Value_fw, i8* %371, align 1
  %_rtP_936 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %372 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_936, i32 0, i32 586, i32 0
  %_rtP__Constant2_Value_n_el = load double* %372, align 1
  store double %_rtP__Constant2_Value_n_el, double* %maxV_, align 1
  br label %merge262

true119:                                          ; preds = %merge262
  %_rtP_1750 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %tmp41 = add i32 %i_1753, 1
  %373 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_1750, i32 0, i32 586, i32 %tmp41
  %_rtP__Constant2_Value_n_el1752 = load double* %373, align 1
  %374 = call double @muDoubleScalarMax(double %maxV_938, double %_rtP__Constant2_Value_n_el1752)
  store double %374, double* %maxV_, align 1
  br label %merge262

false120:                                         ; preds = %merge262
  %_rtB_939 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %375 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_939, i32 0, i32 216
  store double %maxV_938, double* %375, align 1
  %_rtP_940 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %376 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_940, i32 0, i32 1491
  %_rtP__ExtrapAbove_Value_ho = load i8* %376, align 1
  %377 = and i8 %_rtP__ExtrapAbove_Value_ho, 1
  %378 = icmp eq i8 %377, 0
  br i1 %378, label %false122, label %true121

true121:                                          ; preds = %false120
  %379 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_940, i32 0, i32 587
  %_rtP__Constant_Value_jx = load double* %379, align 1
  %_rtB_945 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %380 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_945, i32 0, i32 218
  store double %_rtP__Constant_Value_jx, double* %380, align 1
  br label %merge263

false122:                                         ; preds = %false120
  %381 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_940, i32 0, i32 1375
  %_rtP__MaxIndices_Value_du = load i32* %381, align 1
  %382 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_940, i32 0, i32 588, i32 %_rtP__MaxIndices_Value_du
  %_rtP__BreakpointData_Value_lj_el = load double* %382, align 1
  %_rtB_943 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %383 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_943, i32 0, i32 218
  store double %_rtP__BreakpointData_Value_lj_el, double* %383, align 1
  br label %merge263

true123:                                          ; preds = %merge263
  %384 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_946, i32 0, i32 590
  %_rtP__Constant1_Value_ke = load double* %384, align 1
  %_rtB_951 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %385 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_951, i32 0, i32 219
  store double %_rtP__Constant1_Value_ke, double* %385, align 1
  br label %merge264

false124:                                         ; preds = %merge263
  %386 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_946, i32 0, i32 588, i32 0
  %_rtP__BreakpointData_Value_lj_el948 = load double* %386, align 1
  %_rtB_949 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %387 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_949, i32 0, i32 219
  store double %_rtP__BreakpointData_Value_lj_el948, double* %387, align 1
  br label %merge264

true125:                                          ; preds = %merge264
  %388 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_973, i32 0, i32 621
  %_rtP__Constant_Value_mo = load double* %388, align 1
  %_rtB_978 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %389 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_978, i32 0, i32 239
  store double %_rtP__Constant_Value_mo, double* %389, align 1
  br label %merge265

false126:                                         ; preds = %merge264
  %390 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_973, i32 0, i32 1380
  %_rtP__MaxIndices_Value_ef = load i32* %390, align 1
  %391 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_973, i32 0, i32 622, i32 %_rtP__MaxIndices_Value_ef
  %_rtP__BreakpointData_Value_ljy_el = load double* %391, align 1
  %_rtB_976 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %392 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_976, i32 0, i32 239
  store double %_rtP__BreakpointData_Value_ljy_el, double* %392, align 1
  br label %merge265

true127:                                          ; preds = %merge265
  %393 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_979, i32 0, i32 624
  %_rtP__Constant1_Value_fz = load double* %393, align 1
  %_rtB_984 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %394 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_984, i32 0, i32 240
  store double %_rtP__Constant1_Value_fz, double* %394, align 1
  br label %merge266

false128:                                         ; preds = %merge265
  %395 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_979, i32 0, i32 622, i32 0
  %_rtP__BreakpointData_Value_ljy_el981 = load double* %395, align 1
  %_rtB_982 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %396 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_982, i32 0, i32 240
  store double %_rtP__BreakpointData_Value_ljy_el981, double* %396, align 1
  br label %merge266

true129:                                          ; preds = %merge266
  %397 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_990, i32 0, i32 658
  %_rtP__Constant_Value_h0 = load double* %397, align 1
  %_rtB_996 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %398 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_996, i32 0, i32 255
  store double %_rtP__Constant_Value_h0, double* %398, align 1
  br label %merge267

false130:                                         ; preds = %merge266
  %399 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_990, i32 0, i32 660
  %_rtP__AxisNumber_Value_hb = load double* %399, align 1
  %400 = fptosi double %_rtP__AxisNumber_Value_hb to i32
  %tmp20 = add i32 %400, -1
  %401 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_990, i32 0, i32 1382, i32 %tmp20
  %_rtP__MaxIndices_Value_nj_el = load i32* %401, align 1
  %402 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_990, i32 0, i32 659, i32 %_rtP__MaxIndices_Value_nj_el
  %_rtP__BreakpointData_Value_kb_el = load double* %402, align 1
  %_rtB_994 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %403 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_994, i32 0, i32 255
  store double %_rtP__BreakpointData_Value_kb_el, double* %403, align 1
  br label %merge267

true131:                                          ; preds = %merge267
  %404 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_997, i32 0, i32 661
  %_rtP__Constant1_Value_bt = load double* %404, align 1
  %_rtB_1002 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %405 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_1002, i32 0, i32 256
  store double %_rtP__Constant1_Value_bt, double* %405, align 1
  br label %merge268

false132:                                         ; preds = %merge267
  %406 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_997, i32 0, i32 659, i32 0
  %_rtP__BreakpointData_Value_kb_el999 = load double* %406, align 1
  %_rtB_1000 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %407 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_1000, i32 0, i32 256
  store double %_rtP__BreakpointData_Value_kb_el999, double* %407, align 1
  br label %merge268

true133:                                          ; preds = %merge268
  %408 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_1003, i32 0, i32 663
  %_rtP__Constant_Value_g3 = load double* %408, align 1
  %_rtB_1009 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %409 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_1009, i32 0, i32 257
  store double %_rtP__Constant_Value_g3, double* %409, align 1
  br label %merge269

false134:                                         ; preds = %merge268
  %410 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_1003, i32 0, i32 665
  %_rtP__AxisNumber_Value_f = load double* %410, align 1
  %411 = fptosi double %_rtP__AxisNumber_Value_f to i32
  %tmp21 = add i32 %411, -1
  %412 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_1003, i32 0, i32 1383, i32 %tmp21
  %_rtP__MaxIndices_Value_jl_el = load i32* %412, align 1
  %413 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_1003, i32 0, i32 664, i32 %_rtP__MaxIndices_Value_jl_el
  %_rtP__BreakpointData_Value_ii_el = load double* %413, align 1
  %_rtB_1007 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %414 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_1007, i32 0, i32 257
  store double %_rtP__BreakpointData_Value_ii_el, double* %414, align 1
  br label %merge269

true135:                                          ; preds = %merge269
  %415 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_1010, i32 0, i32 666
  %_rtP__Constant1_Value_mq = load double* %415, align 1
  %_rtB_1015 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %416 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_1015, i32 0, i32 258
  store double %_rtP__Constant1_Value_mq, double* %416, align 1
  br label %merge270

false136:                                         ; preds = %merge269
  %417 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_1010, i32 0, i32 664, i32 0
  %_rtP__BreakpointData_Value_ii_el1012 = load double* %417, align 1
  %_rtB_1013 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %418 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_1013, i32 0, i32 258
  store double %_rtP__BreakpointData_Value_ii_el1012, double* %418, align 1
  br label %merge270

true137:                                          ; preds = %merge270
  %419 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_1016, i32 0, i32 667
  %_rtP__Constant_Value_aka = load double* %419, align 1
  %_rtB_1022 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %420 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_1022, i32 0, i32 259
  store double %_rtP__Constant_Value_aka, double* %420, align 1
  br label %merge271

false138:                                         ; preds = %merge270
  %421 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_1016, i32 0, i32 669
  %_rtP__AxisNumber_Value_cs = load double* %421, align 1
  %422 = fptosi double %_rtP__AxisNumber_Value_cs to i32
  %tmp22 = add i32 %422, -1
  %423 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_1016, i32 0, i32 1384, i32 %tmp22
  %_rtP__MaxIndices_Value_od_el = load i32* %423, align 1
  %424 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_1016, i32 0, i32 668, i32 %_rtP__MaxIndices_Value_od_el
  %_rtP__BreakpointData_Value_j_el = load double* %424, align 1
  %_rtB_1020 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %425 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_1020, i32 0, i32 259
  store double %_rtP__BreakpointData_Value_j_el, double* %425, align 1
  br label %merge271

true139:                                          ; preds = %merge271
  %426 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_1023, i32 0, i32 670
  %_rtP__Constant1_Value_lq = load double* %426, align 1
  %_rtB_1028 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %427 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_1028, i32 0, i32 260
  store double %_rtP__Constant1_Value_lq, double* %427, align 1
  br label %merge272

false140:                                         ; preds = %merge271
  %428 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_1023, i32 0, i32 668, i32 0
  %_rtP__BreakpointData_Value_j_el1025 = load double* %428, align 1
  %_rtB_1026 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %429 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_1026, i32 0, i32 260
  store double %_rtP__BreakpointData_Value_j_el1025, double* %429, align 1
  br label %merge272

true141:                                          ; preds = %merge272
  %430 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_1029, i32 0, i32 671
  %_rtP__Constant_Value_lb = load double* %430, align 1
  %_rtB_1035 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %431 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_1035, i32 0, i32 261
  store double %_rtP__Constant_Value_lb, double* %431, align 1
  br label %merge273

false142:                                         ; preds = %merge272
  %432 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_1029, i32 0, i32 673
  %_rtP__AxisNumber_Value_lx = load double* %432, align 1
  %433 = fptosi double %_rtP__AxisNumber_Value_lx to i32
  %tmp23 = add i32 %433, -1
  %434 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_1029, i32 0, i32 1385, i32 %tmp23
  %_rtP__MaxIndices_Value_gp_el = load i32* %434, align 1
  %435 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_1029, i32 0, i32 672, i32 %_rtP__MaxIndices_Value_gp_el
  %_rtP__BreakpointData_Value_gr_el = load double* %435, align 1
  %_rtB_1033 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %436 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_1033, i32 0, i32 261
  store double %_rtP__BreakpointData_Value_gr_el, double* %436, align 1
  br label %merge273

true143:                                          ; preds = %merge273
  %437 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_1036, i32 0, i32 674
  %_rtP__Constant1_Value_pm = load double* %437, align 1
  %_rtB_1041 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %438 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_1041, i32 0, i32 262
  store double %_rtP__Constant1_Value_pm, double* %438, align 1
  br label %merge274

false144:                                         ; preds = %merge273
  %439 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_1036, i32 0, i32 672, i32 0
  %_rtP__BreakpointData_Value_gr_el1038 = load double* %439, align 1
  %_rtB_1039 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %440 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_1039, i32 0, i32 262
  store double %_rtP__BreakpointData_Value_gr_el1038, double* %440, align 1
  br label %merge274

true145:                                          ; preds = %merge274
  %441 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_1042, i32 0, i32 682
  %_rtP__Constant_Value_nux = load double* %441, align 1
  %_rtB_1048 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %442 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_1048, i32 0, i32 265
  store double %_rtP__Constant_Value_nux, double* %442, align 1
  br label %merge275

false146:                                         ; preds = %merge274
  %443 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_1042, i32 0, i32 684
  %_rtP__AxisNumber_Value_e = load double* %443, align 1
  %444 = fptosi double %_rtP__AxisNumber_Value_e to i32
  %tmp24 = add i32 %444, -1
  %445 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_1042, i32 0, i32 1389, i32 %tmp24
  %_rtP__MaxIndices_Value_k_el = load i32* %445, align 1
  %446 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_1042, i32 0, i32 683, i32 %_rtP__MaxIndices_Value_k_el
  %_rtP__BreakpointData_Value_b1_el = load double* %446, align 1
  %_rtB_1046 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %447 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_1046, i32 0, i32 265
  store double %_rtP__BreakpointData_Value_b1_el, double* %447, align 1
  br label %merge275

true147:                                          ; preds = %merge275
  %448 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_1049, i32 0, i32 685
  %_rtP__Constant1_Value_fr = load double* %448, align 1
  %_rtB_1054 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %449 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_1054, i32 0, i32 266
  store double %_rtP__Constant1_Value_fr, double* %449, align 1
  br label %merge276

false148:                                         ; preds = %merge275
  %450 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_1049, i32 0, i32 683, i32 0
  %_rtP__BreakpointData_Value_b1_el1051 = load double* %450, align 1
  %_rtB_1052 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %451 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_1052, i32 0, i32 266
  store double %_rtP__BreakpointData_Value_b1_el1051, double* %451, align 1
  br label %merge276

true149:                                          ; preds = %merge276
  %452 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_1055, i32 0, i32 686
  %_rtP__Constant_Value_gl = load double* %452, align 1
  %_rtB_1061 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %453 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_1061, i32 0, i32 267
  store double %_rtP__Constant_Value_gl, double* %453, align 1
  br label %merge277

false150:                                         ; preds = %merge276
  %454 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_1055, i32 0, i32 688
  %_rtP__AxisNumber_Value_a4 = load double* %454, align 1
  %455 = fptosi double %_rtP__AxisNumber_Value_a4 to i32
  %tmp25 = add i32 %455, -1
  %456 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_1055, i32 0, i32 1390, i32 %tmp25
  %_rtP__MaxIndices_Value_n4_el = load i32* %456, align 1
  %457 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_1055, i32 0, i32 687, i32 %_rtP__MaxIndices_Value_n4_el
  %_rtP__BreakpointData_Value_as_el = load double* %457, align 1
  %_rtB_1059 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %458 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_1059, i32 0, i32 267
  store double %_rtP__BreakpointData_Value_as_el, double* %458, align 1
  br label %merge277

true151:                                          ; preds = %merge277
  %459 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_1062, i32 0, i32 689
  %_rtP__Constant1_Value_px = load double* %459, align 1
  %_rtB_1067 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %460 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_1067, i32 0, i32 268
  store double %_rtP__Constant1_Value_px, double* %460, align 1
  br label %merge278

false152:                                         ; preds = %merge277
  %461 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_1062, i32 0, i32 687, i32 0
  %_rtP__BreakpointData_Value_as_el1064 = load double* %461, align 1
  %_rtB_1065 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %462 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_1065, i32 0, i32 268
  store double %_rtP__BreakpointData_Value_as_el1064, double* %462, align 1
  br label %merge278

true153:                                          ; preds = %merge278
  %463 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_1068, i32 0, i32 691
  br label %merge279

false154:                                         ; preds = %merge278
  %464 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_1068, i32 0, i32 693
  %_rtP__AxisNumber_Value_lk = load double* %464, align 1
  %465 = fptosi double %_rtP__AxisNumber_Value_lk to i32
  %tmp26 = add i32 %465, -1
  %466 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_1068, i32 0, i32 1391, i32 %tmp26
  %_rtP__MaxIndices_Value_j5_el = load i32* %466, align 1
  %467 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_1068, i32 0, i32 692, i32 %_rtP__MaxIndices_Value_j5_el
  br label %merge279

true157:                                          ; preds = %merge279
  %468 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_1096, i32 0, i32 713
  %_rtP__Constant_Value_bk = load double* %468, align 1
  %_rtB_1102 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %469 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_1102, i32 0, i32 282
  store double %_rtP__Constant_Value_bk, double* %469, align 1
  br label %merge281

false158:                                         ; preds = %merge279
  %470 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_1096, i32 0, i32 715
  %_rtP__AxisNumber_Value_ct = load double* %470, align 1
  %471 = fptosi double %_rtP__AxisNumber_Value_ct to i32
  %tmp30 = add i32 %471, -1
  %472 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_1096, i32 0, i32 1395, i32 %tmp30
  %_rtP__MaxIndices_Value_my_el = load i32* %472, align 1
  %473 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_1096, i32 0, i32 714, i32 %_rtP__MaxIndices_Value_my_el
  %_rtP__BreakpointData_Value_mz_el = load double* %473, align 1
  %_rtB_1100 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %474 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_1100, i32 0, i32 282
  store double %_rtP__BreakpointData_Value_mz_el, double* %474, align 1
  br label %merge281

true159:                                          ; preds = %merge281
  %475 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_1103, i32 0, i32 716
  %_rtP__Constant1_Value_h = load double* %475, align 1
  %_rtB_1108 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %476 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_1108, i32 0, i32 283
  store double %_rtP__Constant1_Value_h, double* %476, align 1
  br label %merge282

false160:                                         ; preds = %merge281
  %477 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_1103, i32 0, i32 714, i32 0
  %_rtP__BreakpointData_Value_mz_el1105 = load double* %477, align 1
  %_rtB_1106 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %478 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_1106, i32 0, i32 283
  store double %_rtP__BreakpointData_Value_mz_el1105, double* %478, align 1
  br label %merge282

true161:                                          ; preds = %merge282
  %479 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_1109, i32 0, i32 717
  %_rtP__Constant_Value_bls = load double* %479, align 1
  %_rtB_1115 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %480 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_1115, i32 0, i32 285
  store double %_rtP__Constant_Value_bls, double* %480, align 1
  br label %merge283

false162:                                         ; preds = %merge282
  %481 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_1109, i32 0, i32 719
  %_rtP__AxisNumber_Value_b4 = load double* %481, align 1
  %482 = fptosi double %_rtP__AxisNumber_Value_b4 to i32
  %tmp31 = add i32 %482, -1
  %483 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_1109, i32 0, i32 1396, i32 %tmp31
  %_rtP__MaxIndices_Value_go_el = load i32* %483, align 1
  %484 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_1109, i32 0, i32 718, i32 %_rtP__MaxIndices_Value_go_el
  %_rtP__BreakpointData_Value_dm_el = load double* %484, align 1
  %_rtB_1113 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %485 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_1113, i32 0, i32 285
  store double %_rtP__BreakpointData_Value_dm_el, double* %485, align 1
  br label %merge283

true163:                                          ; preds = %merge283
  %486 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_1116, i32 0, i32 720
  %_rtP__Constant1_Value_h5 = load double* %486, align 1
  %_rtB_1121 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %487 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_1121, i32 0, i32 286
  store double %_rtP__Constant1_Value_h5, double* %487, align 1
  br label %merge284

false164:                                         ; preds = %merge283
  %488 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_1116, i32 0, i32 718, i32 0
  %_rtP__BreakpointData_Value_dm_el1118 = load double* %488, align 1
  %_rtB_1119 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %489 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_1119, i32 0, i32 286
  store double %_rtP__BreakpointData_Value_dm_el1118, double* %489, align 1
  br label %merge284

true165:                                          ; preds = %merge284
  %490 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_1122, i32 0, i32 721
  %_rtP__Constant_Value_jt = load double* %490, align 1
  %_rtB_1128 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %491 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_1128, i32 0, i32 287
  store double %_rtP__Constant_Value_jt, double* %491, align 1
  br label %merge285

false166:                                         ; preds = %merge284
  %492 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_1122, i32 0, i32 723
  %_rtP__AxisNumber_Value_hgs = load double* %492, align 1
  %493 = fptosi double %_rtP__AxisNumber_Value_hgs to i32
  %tmp32 = add i32 %493, -1
  %494 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_1122, i32 0, i32 1397, i32 %tmp32
  %_rtP__MaxIndices_Value_hbn_el = load i32* %494, align 1
  %495 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_1122, i32 0, i32 722, i32 %_rtP__MaxIndices_Value_hbn_el
  %_rtP__BreakpointData_Value_ci_el = load double* %495, align 1
  %_rtB_1126 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %496 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_1126, i32 0, i32 287
  store double %_rtP__BreakpointData_Value_ci_el, double* %496, align 1
  br label %merge285

true167:                                          ; preds = %merge285
  %497 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_1129, i32 0, i32 724
  %_rtP__Constant1_Value_n2 = load double* %497, align 1
  %_rtB_1134 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %498 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_1134, i32 0, i32 288
  store double %_rtP__Constant1_Value_n2, double* %498, align 1
  br label %merge286

false168:                                         ; preds = %merge285
  %499 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_1129, i32 0, i32 722, i32 0
  %_rtP__BreakpointData_Value_ci_el1131 = load double* %499, align 1
  %_rtB_1132 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %500 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_1132, i32 0, i32 288
  store double %_rtP__BreakpointData_Value_ci_el1131, double* %500, align 1
  br label %merge286

true169:                                          ; preds = %merge286
  %501 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_1135, i32 0, i32 725
  br label %merge287

false170:                                         ; preds = %merge286
  %502 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_1135, i32 0, i32 727
  %_rtP__AxisNumber_Value_pv = load double* %502, align 1
  %503 = fptosi double %_rtP__AxisNumber_Value_pv to i32
  %tmp33 = add i32 %503, -1
  %504 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_1135, i32 0, i32 1398, i32 %tmp33
  %_rtP__MaxIndices_Value_as_el = load i32* %504, align 1
  %505 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_1135, i32 0, i32 726, i32 %_rtP__MaxIndices_Value_as_el
  br label %merge287

true173:                                          ; preds = %merge287
  %506 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_1165, i32 0, i32 750
  %_rtP__Constant_Value_cx = load double* %506, align 1
  %_rtB_1170 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %507 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_1170, i32 0, i32 305
  store double %_rtP__Constant_Value_cx, double* %507, align 1
  br label %merge289

false174:                                         ; preds = %merge287
  %508 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_1165, i32 0, i32 1402
  %_rtP__MaxIndices_Value_ot = load i32* %508, align 1
  %509 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_1165, i32 0, i32 751, i32 %_rtP__MaxIndices_Value_ot
  %_rtP__BreakpointData_Value_hv_el = load double* %509, align 1
  %_rtB_1168 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %510 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_1168, i32 0, i32 305
  store double %_rtP__BreakpointData_Value_hv_el, double* %510, align 1
  br label %merge289

true175:                                          ; preds = %merge289
  %511 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_1171, i32 0, i32 753
  %_rtP__Constant1_Value_mj = load double* %511, align 1
  %_rtB_1176 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %512 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_1176, i32 0, i32 306
  store double %_rtP__Constant1_Value_mj, double* %512, align 1
  br label %merge290

false176:                                         ; preds = %merge289
  %513 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_1171, i32 0, i32 751, i32 0
  %_rtP__BreakpointData_Value_hv_el1173 = load double* %513, align 1
  %_rtB_1174 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %514 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_1174, i32 0, i32 306
  store double %_rtP__BreakpointData_Value_hv_el1173, double* %514, align 1
  br label %merge290

true177:                                          ; preds = %merge291
  %_rtP_1731 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %515 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_1731, i32 0, i32 803, i32 %i_1748
  %_rtP__GearRatios_Value_el = load double* %515, align 1
  %_rtB_1733 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %516 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_1733, i32 0, i32 344, i32 %i_1748
  store double %_rtP__GearRatios_Value_el, double* %516, align 1
  %_rtB_1735 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %517 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_1735, i32 0, i32 344, i32 %i_1748
  %_rtB__GearRatios_el1737 = load double* %517, align 1
  %518 = fcmp une double %_rtB__GearRatios_el1737, 0.000000e+00
  %519 = zext i1 %518 to i8
  %520 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_1735, i32 0, i32 705, i32 %i_1748
  store i8 %519, i8* %520, align 1
  %_rtP_1740 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %521 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_1740, i32 0, i32 806, i32 %i_1748
  %_rtP__speedmask_Value_el = load double* %521, align 1
  %_rtB_1742 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %522 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_1742, i32 0, i32 345, i32 %i_1748
  store double %_rtP__speedmask_Value_el, double* %522, align 1
  %_rtB_1744 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %523 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_1744, i32 0, i32 345, i32 %i_1748
  %_rtB__speedmask_el = load double* %523, align 1
  %524 = fcmp oeq double %_rtB__speedmask_el, 0.000000e+00
  %525 = zext i1 %524 to i8
  %526 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_1744, i32 0, i32 706, i32 %i_1748
  store i8 %525, i8* %526, align 1
  %tmp40 = add i32 %i_1748, 1
  br label %merge291

false178:                                         ; preds = %merge291
  %_rtB_1212 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %527 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_1212, i32 0, i32 344, i32 0
  %_rtB__GearRatios_el = load double* %527, align 1
  store double %_rtB__GearRatios_el, double* %maxV_, align 1
  br label %merge292

true179:                                          ; preds = %merge292
  %tmp38 = add i32 %i_1730, 1
  %528 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_1727, i32 0, i32 344, i32 %tmp38
  %_rtB__GearRatios_el1729 = load double* %528, align 1
  %529 = call double @muDoubleScalarMax(double %maxV_1214, double %_rtB__GearRatios_el1729)
  store double %529, double* %maxV_, align 1
  br label %merge292

false180:                                         ; preds = %merge292
  %530 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_1727, i32 0, i32 346
  store double %maxV_1214, double* %530, align 1
  br label %merge293

true181:                                          ; preds = %merge293
  %_rtB_1720 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %531 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_1720, i32 0, i32 344, i32 %i_1725
  %_rtB__GearRatios_el1722 = load double* %531, align 1
  %532 = fcmp une double %_rtB__GearRatios_el1722, 0.000000e+00
  %533 = zext i1 %532 to i8
  %534 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_1720, i32 0, i32 707, i32 %i_1725
  store i8 %533, i8* %534, align 1
  %tmp37 = add i32 %i_1725, 1
  br label %merge293

false182:                                         ; preds = %merge293
  %_rtP_1217 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %535 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_1217, i32 0, i32 820
  %_rtP__Constant_Value_hbz = load double* %535, align 1
  %536 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_1217, i32 0, i32 821
  %_rtP__Constant1_Value_gx = load double* %536, align 1
  %537 = fcmp oge double %_rtP__Constant_Value_hbz, %_rtP__Constant1_Value_gx
  %538 = zext i1 %537 to i8
  %_rtB_1219 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %539 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_1219, i32 0, i32 708
  store i8 %538, i8* %539, align 1
  %_rtP_1220 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %540 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_1220, i32 0, i32 822
  %_rtP__Constant_Value_a1l = load double* %540, align 1
  %541 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_1220, i32 0, i32 823
  %_rtP__Constant1_Value_nq = load double* %541, align 1
  %542 = fcmp oge double %_rtP__Constant_Value_a1l, %_rtP__Constant1_Value_nq
  %543 = zext i1 %542 to i8
  %_rtB_1222 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %544 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_1222, i32 0, i32 709
  store i8 %543, i8* %544, align 1
  %_rtP_1223 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %545 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_1223, i32 0, i32 827
  %_rtP__const3_Value_h = load double* %545, align 1
  %_rtB_1224 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %546 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_1224, i32 0, i32 356
  store double %_rtP__const3_Value_h, double* %546, align 1
  %_rtP_1225 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %547 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_1225, i32 0, i32 1524
  %_rtP__const13_Value = load i8* %547, align 1
  %_rtB_1226 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %548 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_1226, i32 0, i32 710
  store i8 %_rtP__const13_Value, i8* %548, align 1
  %_rtP_1227 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %549 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_1227, i32 0, i32 830
  %_rtP__Constant_Value_l4 = load double* %549, align 1
  %550 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_1227, i32 0, i32 831
  %_rtP__Constant1_Value_bv = load double* %550, align 1
  %551 = fcmp oge double %_rtP__Constant_Value_l4, %_rtP__Constant1_Value_bv
  %552 = zext i1 %551 to i8
  %_rtB_1229 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %553 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_1229, i32 0, i32 711
  store i8 %552, i8* %553, align 1
  %_rtP_1230 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %554 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_1230, i32 0, i32 832
  %_rtP__Constant_Value_ky = load double* %554, align 1
  %555 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_1230, i32 0, i32 833
  %_rtP__Constant1_Value_lg = load double* %555, align 1
  %556 = fcmp oge double %_rtP__Constant_Value_ky, %_rtP__Constant1_Value_lg
  %557 = zext i1 %556 to i8
  %_rtB_1232 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %558 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_1232, i32 0, i32 712
  store i8 %557, i8* %558, align 1
  %_rtP_1233 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %559 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_1233, i32 0, i32 834
  %_rtP__Constant_Value_lh = load double* %559, align 1
  %560 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_1233, i32 0, i32 835
  %_rtP__Constant1_Value_au = load double* %560, align 1
  %561 = fcmp oge double %_rtP__Constant_Value_lh, %_rtP__Constant1_Value_au
  %562 = zext i1 %561 to i8
  %_rtB_1235 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %563 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_1235, i32 0, i32 713
  store i8 %562, i8* %563, align 1
  %_rtP_1236 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %564 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_1236, i32 0, i32 836
  %_rtP__Constant_Value_fb = load double* %564, align 1
  %565 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_1236, i32 0, i32 837
  %_rtP__Constant1_Value_g1 = load double* %565, align 1
  %566 = fcmp oge double %_rtP__Constant_Value_fb, %_rtP__Constant1_Value_g1
  %567 = zext i1 %566 to i8
  %_rtB_1238 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %568 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_1238, i32 0, i32 714
  store i8 %567, i8* %568, align 1
  %_rtP_1239 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %569 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_1239, i32 0, i32 838
  %_rtP__Constant_Value_i5 = load double* %569, align 1
  %570 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_1239, i32 0, i32 839
  %_rtP__Constant1_Value_da = load double* %570, align 1
  %571 = fcmp oge double %_rtP__Constant_Value_i5, %_rtP__Constant1_Value_da
  %572 = zext i1 %571 to i8
  %_rtB_1241 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %573 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_1241, i32 0, i32 715
  store i8 %572, i8* %573, align 1
  %_rtP_1242 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %574 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_1242, i32 0, i32 840
  %_rtP__Constant_Value_mb = load double* %574, align 1
  %575 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_1242, i32 0, i32 841
  %_rtP__Constant1_Value_as = load double* %575, align 1
  %576 = fcmp oge double %_rtP__Constant_Value_mb, %_rtP__Constant1_Value_as
  %577 = zext i1 %576 to i8
  %_rtB_1244 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %578 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_1244, i32 0, i32 716
  store i8 %577, i8* %578, align 1
  %_rtP_1245 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %579 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_1245, i32 0, i32 842
  %_rtP__Constant_Value_lw = load double* %579, align 1
  %580 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_1245, i32 0, i32 843
  %_rtP__Constant1_Value_la = load double* %580, align 1
  %581 = fcmp oge double %_rtP__Constant_Value_lw, %_rtP__Constant1_Value_la
  %582 = zext i1 %581 to i8
  %_rtB_1247 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %583 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_1247, i32 0, i32 717
  store i8 %582, i8* %583, align 1
  %_rtP_1248 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %584 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_1248, i32 0, i32 844
  %_rtP__Constant_Value_by = load double* %584, align 1
  %585 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_1248, i32 0, i32 845
  %_rtP__Constant1_Value_o5 = load double* %585, align 1
  %586 = fcmp oge double %_rtP__Constant_Value_by, %_rtP__Constant1_Value_o5
  %587 = zext i1 %586 to i8
  %_rtB_1250 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %588 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_1250, i32 0, i32 718
  store i8 %587, i8* %588, align 1
  %_rtP_1251 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %589 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_1251, i32 0, i32 846
  %_rtP__Constant_Value_az = load double* %589, align 1
  %590 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_1251, i32 0, i32 847
  %_rtP__Constant1_Value_fav = load double* %590, align 1
  %591 = fcmp oge double %_rtP__Constant_Value_az, %_rtP__Constant1_Value_fav
  %592 = zext i1 %591 to i8
  %_rtB_1253 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %593 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_1253, i32 0, i32 719
  store i8 %592, i8* %593, align 1
  %_rtP_1254 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %594 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_1254, i32 0, i32 848
  %_rtP__Constant_Value_g0o = load double* %594, align 1
  %595 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_1254, i32 0, i32 849
  %_rtP__Constant1_Value_bzc = load double* %595, align 1
  %596 = fcmp oge double %_rtP__Constant_Value_g0o, %_rtP__Constant1_Value_bzc
  %597 = zext i1 %596 to i8
  %_rtB_1256 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %598 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_1256, i32 0, i32 720
  store i8 %597, i8* %598, align 1
  %_rtP_1257 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %599 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_1257, i32 0, i32 850
  %_rtP__Constant_Value_eh = load double* %599, align 1
  %600 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_1257, i32 0, i32 851
  %_rtP__Constant1_Value_nkd = load double* %600, align 1
  %601 = fcmp oge double %_rtP__Constant_Value_eh, %_rtP__Constant1_Value_nkd
  %602 = zext i1 %601 to i8
  %_rtB_1259 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %603 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_1259, i32 0, i32 721
  store i8 %602, i8* %603, align 1
  %_rtP_1260 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %604 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_1260, i32 0, i32 852
  %_rtP__Constant_Value_hc = load double* %604, align 1
  %605 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_1260, i32 0, i32 853
  %_rtP__Constant1_Value_di = load double* %605, align 1
  %606 = fcmp oge double %_rtP__Constant_Value_hc, %_rtP__Constant1_Value_di
  %607 = zext i1 %606 to i8
  %_rtB_1262 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %608 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_1262, i32 0, i32 722
  store i8 %607, i8* %608, align 1
  %_rtP_1263 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %609 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_1263, i32 0, i32 854
  %_rtP__Constant_Value_cwf = load double* %609, align 1
  %610 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_1263, i32 0, i32 855
  %_rtP__Constant1_Value_b2 = load double* %610, align 1
  %611 = fcmp oge double %_rtP__Constant_Value_cwf, %_rtP__Constant1_Value_b2
  %612 = zext i1 %611 to i8
  %_rtB_1265 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %613 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_1265, i32 0, i32 723
  store i8 %612, i8* %613, align 1
  %_rtP_1266 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %614 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_1266, i32 0, i32 856
  %_rtP__Constant_Value_dq0 = load double* %614, align 1
  %615 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_1266, i32 0, i32 857
  %_rtP__Constant1_Value_er = load double* %615, align 1
  %616 = fcmp oge double %_rtP__Constant_Value_dq0, %_rtP__Constant1_Value_er
  %617 = zext i1 %616 to i8
  %_rtB_1268 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %618 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_1268, i32 0, i32 724
  store i8 %617, i8* %618, align 1
  %_rtP_1269 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %619 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_1269, i32 0, i32 858
  %_rtP__Constant_Value_a1c = load double* %619, align 1
  %620 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_1269, i32 0, i32 859
  %_rtP__Constant1_Value_pi = load double* %620, align 1
  %621 = fcmp oge double %_rtP__Constant_Value_a1c, %_rtP__Constant1_Value_pi
  %622 = zext i1 %621 to i8
  %_rtB_1271 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %623 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_1271, i32 0, i32 725
  store i8 %622, i8* %623, align 1
  %_rtP_1272 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %624 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_1272, i32 0, i32 860
  %_rtP__Constant_Value_mwj = load double* %624, align 1
  %625 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_1272, i32 0, i32 861
  %_rtP__Constant1_Value_cr = load double* %625, align 1
  %626 = fcmp oge double %_rtP__Constant_Value_mwj, %_rtP__Constant1_Value_cr
  %627 = zext i1 %626 to i8
  %_rtB_1274 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %628 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_1274, i32 0, i32 726
  store i8 %627, i8* %628, align 1
  %_rtP_1275 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %629 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_1275, i32 0, i32 862
  %_rtP__Constant_Value_ez = load double* %629, align 1
  %630 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_1275, i32 0, i32 863
  %_rtP__Constant1_Value_pb = load double* %630, align 1
  %631 = fcmp oge double %_rtP__Constant_Value_ez, %_rtP__Constant1_Value_pb
  %632 = zext i1 %631 to i8
  %_rtB_1277 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %633 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_1277, i32 0, i32 727
  store i8 %632, i8* %633, align 1
  %"%<tSimStruct>_1278" = load i8** %"%<tSimStruct>_", align 1
  call void @vm_ssCallAccelRunBlock(i8* %"%<tSimStruct>_1278", i32 248, i32 1434, i32 104)
  call void @vm_ssCallAccelRunBlock(i8* %"%<tSimStruct>_1278", i32 248, i32 1437, i32 104)
  %_rtP_1280 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %634 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_1280, i32 0, i32 864
  %_rtP__transdesengspd_Value = load double* %634, align 1
  %_rtB_1281 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %635 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_1281, i32 0, i32 359
  store double %_rtP__transdesengspd_Value, double* %635, align 1
  %_rtP_1282 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %636 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_1282, i32 0, i32 866
  %_rtP__Constant_Value_hdz = load double* %636, align 1
  %637 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_1282, i32 0, i32 867
  %_rtP__Constant_Value_km = load double* %637, align 1
  %638 = fcmp oge double %_rtP__Constant_Value_hdz, %_rtP__Constant_Value_km
  %639 = zext i1 %638 to i8
  %_rtB_1284 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %640 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_1284, i32 0, i32 729
  store i8 %639, i8* %640, align 1
  %_rtP_1285 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %641 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_1285, i32 0, i32 68
  %_rtP__Constant_Value_m = load double* %641, align 1
  %642 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_1285, i32 0, i32 69
  %_rtP__Constant_Value_h = load double* %642, align 1
  %643 = fcmp oge double %_rtP__Constant_Value_m, %_rtP__Constant_Value_h
  %644 = zext i1 %643 to i8
  %_rtB_1287 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %645 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_1287, i32 0, i32 853
  store i8 %644, i8* %645, align 1
  %_rtP_1288 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %646 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_1288, i32 0, i32 70
  %_rtP__Constant_Value_iv = load double* %646, align 1
  %647 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_1288, i32 0, i32 71
  %_rtP__Constant_Value_ir = load double* %647, align 1
  %648 = fcmp oge double %_rtP__Constant_Value_iv, %_rtP__Constant_Value_ir
  %649 = zext i1 %648 to i8
  %_rtB_1290 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %650 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_1290, i32 0, i32 854
  store i8 %649, i8* %650, align 1
  %vm_ssIsMajorTimeStepVar0_1291 = load i32* %vm_ssIsMajorTimeStepVar0_, align 1
  %651 = icmp eq i32 %vm_ssIsMajorTimeStepVar0_1291, 0
  br i1 %651, label %false184, label %true183

true183:                                          ; preds = %false182
  %_rtDW_1292 = load %DW_REVS_VM_T.16** %_rtDW_, align 1
  %652 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_1292, i32 0, i32 912
  call void @vm_srUpdateBC(i8* %652)
  br label %false184

false184:                                         ; preds = %false182, %true183
  %_rtP_1293 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %653 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_1293, i32 0, i32 868
  %_rtP__Constant_Value_l3 = load double* %653, align 1
  %654 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_1293, i32 0, i32 869
  %_rtP__Constant_Value_jtw = load double* %654, align 1
  %655 = fcmp oge double %_rtP__Constant_Value_l3, %_rtP__Constant_Value_jtw
  %656 = zext i1 %655 to i8
  %_rtB_1295 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %657 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_1295, i32 0, i32 730
  store i8 %656, i8* %657, align 1
  %_rtP_1296 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %658 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_1296, i32 0, i32 870
  %_rtP__Constant_Value_n1 = load double* %658, align 1
  %659 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_1296, i32 0, i32 871
  %_rtP__Constant_Value_ks = load double* %659, align 1
  %660 = fcmp oge double %_rtP__Constant_Value_n1, %_rtP__Constant_Value_ks
  %661 = zext i1 %660 to i8
  %_rtB_1298 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %662 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_1298, i32 0, i32 731
  store i8 %661, i8* %662, align 1
  %_rtP_1299 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %663 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_1299, i32 0, i32 872
  %_rtP__Constant_Value_kg = load double* %663, align 1
  %664 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_1299, i32 0, i32 873
  %_rtP__Constant1_Value_nol = load double* %664, align 1
  %665 = fcmp oge double %_rtP__Constant_Value_kg, %_rtP__Constant1_Value_nol
  %666 = zext i1 %665 to i8
  %_rtB_1301 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %667 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_1301, i32 0, i32 732
  store i8 %666, i8* %667, align 1
  %_rtP_1302 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %668 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_1302, i32 0, i32 874
  %_rtP__Constant_Value_o3 = load double* %668, align 1
  %669 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_1302, i32 0, i32 875
  %_rtP__Constant1_Value_cp = load double* %669, align 1
  %670 = fcmp oge double %_rtP__Constant_Value_o3, %_rtP__Constant1_Value_cp
  %671 = zext i1 %670 to i8
  %_rtB_1304 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %672 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_1304, i32 0, i32 733
  store i8 %671, i8* %672, align 1
  %_rtP_1305 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %673 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_1305, i32 0, i32 876
  %_rtP__Constant_Value_klb = load double* %673, align 1
  %674 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_1305, i32 0, i32 877
  %_rtP__Constant1_Value_fg = load double* %674, align 1
  %675 = fcmp oge double %_rtP__Constant_Value_klb, %_rtP__Constant1_Value_fg
  %676 = zext i1 %675 to i8
  %_rtB_1307 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %677 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_1307, i32 0, i32 734
  store i8 %676, i8* %677, align 1
  %_rtP_1308 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %678 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_1308, i32 0, i32 878
  %_rtP__Constant_Value_m5 = load double* %678, align 1
  %_rtB_1309 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %679 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_1309, i32 0, i32 361
  store double %_rtP__Constant_Value_m5, double* %679, align 1
  %_rtP_1310 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %680 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_1310, i32 0, i32 879
  %_rtP__Constant_Value_df4 = load double* %680, align 1
  %_rtB_1311 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %681 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_1311, i32 0, i32 362
  store double %_rtP__Constant_Value_df4, double* %681, align 1
  %_rtP_1312 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %682 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_1312, i32 0, i32 881
  %_rtP__Constant_Value_cx2 = load double* %682, align 1
  %683 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_1312, i32 0, i32 882
  %_rtP__Constant1_Value_jq = load double* %683, align 1
  %684 = fcmp oge double %_rtP__Constant_Value_cx2, %_rtP__Constant1_Value_jq
  %685 = zext i1 %684 to i8
  %_rtB_1314 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %686 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_1314, i32 0, i32 735
  store i8 %685, i8* %686, align 1
  %_rtP_1315 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %687 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_1315, i32 0, i32 883
  %_rtP__Constant_Value_p2d = load double* %687, align 1
  %688 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_1315, i32 0, i32 884
  %_rtP__Constant1_Value_nsr = load double* %688, align 1
  %689 = fcmp oge double %_rtP__Constant_Value_p2d, %_rtP__Constant1_Value_nsr
  %690 = zext i1 %689 to i8
  %_rtB_1317 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %691 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_1317, i32 0, i32 736
  store i8 %690, i8* %691, align 1
  %_rtP_1318 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %692 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_1318, i32 0, i32 885
  %_rtP__Constant_Value_fn = load double* %692, align 1
  %693 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_1318, i32 0, i32 886
  %_rtP__Constant1_Value_af = load double* %693, align 1
  %694 = fcmp oge double %_rtP__Constant_Value_fn, %_rtP__Constant1_Value_af
  %695 = zext i1 %694 to i8
  %_rtB_1320 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %696 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_1320, i32 0, i32 737
  store i8 %695, i8* %696, align 1
  %_rtP_1321 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %697 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_1321, i32 0, i32 887
  %_rtP__Constant_Value_lnh = load double* %697, align 1
  %_rtB_1322 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %698 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_1322, i32 0, i32 365
  store double %_rtP__Constant_Value_lnh, double* %698, align 1
  %_rtP_1323 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %699 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_1323, i32 0, i32 888
  %_rtP__Constant_Value_pm = load double* %699, align 1
  %_rtB_1324 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %700 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_1324, i32 0, i32 366
  store double %_rtP__Constant_Value_pm, double* %700, align 1
  %_rtB_1325 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %701 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_1325, i32 0, i32 367, i32 0
  %702 = bitcast double* %701 to i8*
  %_rtP_1326 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %703 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_1326, i32 0, i32 889, i32 0
  %704 = bitcast double* %703 to i8*
  %705 = call i8* @memcpy(i8* %702, i8* %704, i32 mul (i32 ptrtoint (double* getelementptr (double* null, i32 1) to i32), i32 9))
  %_rtP_1327 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %706 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_1327, i32 0, i32 1526
  %_rtP__Constant2_Value_ly = load i8* %706, align 1
  %_rtB_1328 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %707 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_1328, i32 0, i32 738
  store i8 %_rtP__Constant2_Value_ly, i8* %707, align 1
  %_rtP_1329 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %708 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_1329, i32 0, i32 891
  %_rtP__Constant_Value_mg = load double* %708, align 1
  %709 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_1329, i32 0, i32 892
  %_rtP__Constant_Value_gx = load double* %709, align 1
  %710 = fcmp oge double %_rtP__Constant_Value_mg, %_rtP__Constant_Value_gx
  %711 = zext i1 %710 to i8
  %_rtB_1331 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %712 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_1331, i32 0, i32 739
  store i8 %711, i8* %712, align 1
  %_rtP_1332 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %713 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_1332, i32 0, i32 896
  %_rtP__Constant_Value_l4g = load double* %713, align 1
  %714 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_1332, i32 0, i32 897
  %_rtP__Constant_Value_ev = load double* %714, align 1
  %715 = fcmp oge double %_rtP__Constant_Value_l4g, %_rtP__Constant_Value_ev
  %716 = zext i1 %715 to i8
  %_rtB_1334 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %717 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_1334, i32 0, i32 740
  store i8 %716, i8* %717, align 1
  %_rtP_1335 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %718 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_1335, i32 0, i32 899
  %_rtP__Constant_Value_jc = load double* %718, align 1
  %719 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_1335, i32 0, i32 900
  %_rtP__Constant1_Value_gh = load double* %719, align 1
  %720 = fcmp oge double %_rtP__Constant_Value_jc, %_rtP__Constant1_Value_gh
  %721 = zext i1 %720 to i8
  %_rtB_1337 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %722 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_1337, i32 0, i32 741
  store i8 %721, i8* %722, align 1
  %_rtP_1338 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %723 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_1338, i32 0, i32 901
  %_rtP__Constant_Value_mc = load double* %723, align 1
  %724 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_1338, i32 0, i32 902
  %_rtP__Constant1_Value_opk = load double* %724, align 1
  %725 = fcmp oge double %_rtP__Constant_Value_mc, %_rtP__Constant1_Value_opk
  %726 = zext i1 %725 to i8
  %_rtB_1340 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %727 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_1340, i32 0, i32 742
  store i8 %726, i8* %727, align 1
  %_rtP_1341 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %728 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_1341, i32 0, i32 903
  %_rtP__Constant_Value_bg = load double* %728, align 1
  %729 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_1341, i32 0, i32 904
  %_rtP__Constant1_Value_gi = load double* %729, align 1
  %730 = fcmp oge double %_rtP__Constant_Value_bg, %_rtP__Constant1_Value_gi
  %731 = zext i1 %730 to i8
  %_rtB_1343 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %732 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_1343, i32 0, i32 743
  store i8 %731, i8* %732, align 1
  %_rtP_1344 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %733 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_1344, i32 0, i32 905
  %_rtP__Constant_Value_ac = load double* %733, align 1
  %_rtB_1345 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %734 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_1345, i32 0, i32 376
  store double %_rtP__Constant_Value_ac, double* %734, align 1
  %_rtP_1346 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %735 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_1346, i32 0, i32 906
  %_rtP__Constant_Value_hel = load double* %735, align 1
  %_rtB_1347 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %736 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_1347, i32 0, i32 377
  store double %_rtP__Constant_Value_hel, double* %736, align 1
  %_rtP_1348 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %737 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_1348, i32 0, i32 907
  %_rtP__Constant_Value_adf = load double* %737, align 1
  %_rtB_1349 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %738 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_1349, i32 0, i32 378
  store double %_rtP__Constant_Value_adf, double* %738, align 1
  %_rtP_1350 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %739 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_1350, i32 0, i32 908
  %_rtP__Constant_Value_kgy = load double* %739, align 1
  %740 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_1350, i32 0, i32 909
  %_rtP__Constant_Value_or = load double* %740, align 1
  %741 = fcmp oge double %_rtP__Constant_Value_kgy, %_rtP__Constant_Value_or
  %742 = zext i1 %741 to i8
  %_rtB_1352 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %743 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_1352, i32 0, i32 745
  store i8 %742, i8* %743, align 1
  %_rtP_1353 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %744 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_1353, i32 0, i32 84
  %_rtP__Constant_Value_c = load double* %744, align 1
  %745 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_1353, i32 0, i32 85
  %_rtP__Constant_Value_hd = load double* %745, align 1
  %746 = fcmp oge double %_rtP__Constant_Value_c, %_rtP__Constant_Value_hd
  %747 = zext i1 %746 to i8
  %_rtB_1355 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %748 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_1355, i32 0, i32 851
  store i8 %747, i8* %748, align 1
  %_rtP_1356 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %749 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_1356, i32 0, i32 86
  %_rtP__Constant_Value_op = load double* %749, align 1
  %750 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_1356, i32 0, i32 87
  %_rtP__Constant_Value_ds = load double* %750, align 1
  %751 = fcmp oge double %_rtP__Constant_Value_op, %_rtP__Constant_Value_ds
  %752 = zext i1 %751 to i8
  %_rtB_1358 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %753 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_1358, i32 0, i32 852
  store i8 %752, i8* %753, align 1
  %vm_ssIsMajorTimeStepVar0_1359 = load i32* %vm_ssIsMajorTimeStepVar0_, align 1
  %754 = icmp eq i32 %vm_ssIsMajorTimeStepVar0_1359, 0
  br i1 %754, label %false186, label %true185

true185:                                          ; preds = %false184
  %_rtDW_1360 = load %DW_REVS_VM_T.16** %_rtDW_, align 1
  %755 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_1360, i32 0, i32 926
  call void @vm_srUpdateBC(i8* %755)
  br label %false186

false186:                                         ; preds = %false184, %true185
  %_rtP_1361 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %756 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_1361, i32 0, i32 910
  %_rtP__Constant_Value_ofk = load double* %756, align 1
  %757 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_1361, i32 0, i32 911
  %_rtP__Constant_Value_jg = load double* %757, align 1
  %758 = fcmp oge double %_rtP__Constant_Value_ofk, %_rtP__Constant_Value_jg
  %759 = zext i1 %758 to i8
  %_rtB_1363 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %760 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_1363, i32 0, i32 746
  store i8 %759, i8* %760, align 1
  %_rtP_1364 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %761 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_1364, i32 0, i32 912
  %_rtP__Constant_Value_c1 = load double* %761, align 1
  %762 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_1364, i32 0, i32 913
  %_rtP__Constant1_Value_id = load double* %762, align 1
  %763 = fcmp oge double %_rtP__Constant_Value_c1, %_rtP__Constant1_Value_id
  %764 = zext i1 %763 to i8
  %_rtB_1366 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %765 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_1366, i32 0, i32 747
  store i8 %764, i8* %765, align 1
  %_rtP_1367 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %766 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_1367, i32 0, i32 914
  %_rtP__Constant_Value_euh = load double* %766, align 1
  %767 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_1367, i32 0, i32 915
  %_rtP__Constant1_Value_dn = load double* %767, align 1
  %768 = fcmp oge double %_rtP__Constant_Value_euh, %_rtP__Constant1_Value_dn
  %769 = zext i1 %768 to i8
  %_rtB_1369 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %770 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_1369, i32 0, i32 748
  store i8 %769, i8* %770, align 1
  %_rtP_1370 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %771 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_1370, i32 0, i32 916
  %_rtP__Constant_Value_cj = load double* %771, align 1
  %772 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_1370, i32 0, i32 917
  %_rtP__Constant1_Value_mji = load double* %772, align 1
  %773 = fcmp oge double %_rtP__Constant_Value_cj, %_rtP__Constant1_Value_mji
  %774 = zext i1 %773 to i8
  %_rtB_1372 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %775 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_1372, i32 0, i32 749
  store i8 %774, i8* %775, align 1
  %_rtP_1373 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %776 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_1373, i32 0, i32 918
  %_rtP__Constant_Value_bj = load double* %776, align 1
  %777 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_1373, i32 0, i32 919
  %_rtP__Constant1_Value_mn = load double* %777, align 1
  %778 = fcmp oge double %_rtP__Constant_Value_bj, %_rtP__Constant1_Value_mn
  %779 = zext i1 %778 to i8
  %_rtB_1375 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %780 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_1375, i32 0, i32 750
  store i8 %779, i8* %780, align 1
  %_rtP_1376 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %781 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_1376, i32 0, i32 920
  %_rtP__Constant_Value_ps = load double* %781, align 1
  %782 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_1376, i32 0, i32 921
  %_rtP__Constant1_Value_hc = load double* %782, align 1
  %783 = fcmp oge double %_rtP__Constant_Value_ps, %_rtP__Constant1_Value_hc
  %784 = zext i1 %783 to i8
  %_rtB_1378 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %785 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_1378, i32 0, i32 751
  store i8 %784, i8* %785, align 1
  %_rtP_1379 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %786 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_1379, i32 0, i32 922
  %_rtP__Constant_Value_ep = load double* %786, align 1
  %_rtB_1380 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %787 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_1380, i32 0, i32 380
  store double %_rtP__Constant_Value_ep, double* %787, align 1
  %_rtP_1381 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %788 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_1381, i32 0, i32 923
  %_rtP__Constant2_Value_gy = load double* %788, align 1
  %_rtB_1382 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %789 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_1382, i32 0, i32 382
  store double %_rtP__Constant2_Value_gy, double* %789, align 1
  %_rtP_1383 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %790 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_1383, i32 0, i32 924
  %_rtP__Constant_Value_hn = load double* %790, align 1
  %791 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_1383, i32 0, i32 925
  %_rtP__Constant_Value_iur = load double* %791, align 1
  %792 = fcmp oge double %_rtP__Constant_Value_hn, %_rtP__Constant_Value_iur
  %793 = zext i1 %792 to i8
  %_rtB_1385 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %794 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_1385, i32 0, i32 753
  store i8 %793, i8* %794, align 1
  %_rtP_1386 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %795 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_1386, i32 0, i32 926
  %_rtP__zero_Value = load double* %795, align 1
  %_rtB_1387 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %796 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_1387, i32 0, i32 383
  store double %_rtP__zero_Value, double* %796, align 1
  %_rtP_1388 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %797 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_1388, i32 0, i32 927
  %_rtP__Constant_Value_evb = load double* %797, align 1
  %798 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_1388, i32 0, i32 928
  %_rtP__Constant_Value_j0 = load double* %798, align 1
  %799 = fcmp oge double %_rtP__Constant_Value_evb, %_rtP__Constant_Value_j0
  %800 = zext i1 %799 to i8
  %_rtB_1390 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %801 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_1390, i32 0, i32 754
  store i8 %800, i8* %801, align 1
  %_rtP_1391 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %802 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_1391, i32 0, i32 934
  %_rtP__Constant_Value_gsf = load double* %802, align 1
  %_rtB_1392 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %803 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_1392, i32 0, i32 390
  store double %_rtP__Constant_Value_gsf, double* %803, align 1
  %_rtP_1393 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %804 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_1393, i32 0, i32 959
  %_rtP__Constant_Value_ea = load double* %804, align 1
  %_rtB_1394 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %805 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_1394, i32 0, i32 404
  store double %_rtP__Constant_Value_ea, double* %805, align 1
  %_rtP_1395 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %806 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_1395, i32 0, i32 964
  %_rtP__Relay1_OnVal = load double* %806, align 1
  %807 = fcmp ugt double %_rtP__Relay1_OnVal, 0.000000e+00
  br i1 %807, label %false188, label %true187

true187:                                          ; preds = %false186
  %_rtDW_1398 = load %DW_REVS_VM_T.16** %_rtDW_, align 1
  %808 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_1398, i32 0, i32 1030
  store i8 1, i8* %808, align 1
  br label %merge294

false188:                                         ; preds = %false186
  %809 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_1395, i32 0, i32 965
  %_rtP__Relay1_OffVal = load double* %809, align 1
  %810 = fcmp ult double %_rtP__Relay1_OffVal, 0.000000e+00
  %_rtDW_1399.pre.pre = load %DW_REVS_VM_T.16** %_rtDW_, align 1
  %.phi.trans.insert.phi.trans.insert = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_1399.pre.pre, i32 0, i32 1030
  br i1 %810, label %false188.false190_crit_edge, label %true189

false188.false190_crit_edge:                      ; preds = %false188
  %_rtDW__Relay1_Mode.pre.pre = load i8* %.phi.trans.insert.phi.trans.insert, align 1
  br label %false190

true189:                                          ; preds = %false188
  store i8 0, i8* %.phi.trans.insert.phi.trans.insert, align 1
  br label %false190

false190:                                         ; preds = %false188.false190_crit_edge, %true189
  %_rtDW__Relay1_Mode.pre = phi i8 [ %_rtDW__Relay1_Mode.pre.pre, %false188.false190_crit_edge ], [ 0, %true189 ]
  %_rtDW_1399.pre = phi %DW_REVS_VM_T.16* [ %_rtDW_1399.pre.pre, %false188.false190_crit_edge ], [ %_rtDW_1399.pre.pre, %true189 ]
  %.phi.trans.insert = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_1399.pre, i32 0, i32 1030
  br label %merge294

true191:                                          ; preds = %merge294
  %811 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_1400, i32 0, i32 966
  %_rtP__Relay1_YOn = load double* %811, align 1
  %_rtB_1403 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %812 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_1403, i32 0, i32 405
  store double %_rtP__Relay1_YOn, double* %812, align 1
  br label %merge295

false192:                                         ; preds = %merge294
  %813 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_1400, i32 0, i32 967
  %_rtP__Relay1_YOff = load double* %813, align 1
  %_rtB_1401 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %814 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_1401, i32 0, i32 405
  store double %_rtP__Relay1_YOff, double* %814, align 1
  br label %merge295

true193:                                          ; preds = %merge295
  %815 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_1633, i32 0, i32 1262
  %_rtP__Constant_Value_ph = load double* %815, align 1
  %_rtB_1638 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %816 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_1638, i32 0, i32 540
  store double %_rtP__Constant_Value_ph, double* %816, align 1
  br label %merge296

false194:                                         ; preds = %merge295
  %817 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_1633, i32 0, i32 1409
  %_rtP__MaxIndices_Value_al = load i32* %817, align 1
  %818 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_1633, i32 0, i32 1263, i32 %_rtP__MaxIndices_Value_al
  %_rtP__BreakpointData_Value_p_el = load double* %818, align 1
  %_rtB_1636 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %819 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_1636, i32 0, i32 540
  store double %_rtP__BreakpointData_Value_p_el, double* %819, align 1
  br label %merge296

true195:                                          ; preds = %merge296
  %820 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_1639, i32 0, i32 1265
  %_rtP__Constant1_Value_lk = load double* %820, align 1
  %_rtB_1644 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %821 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_1644, i32 0, i32 541
  store double %_rtP__Constant1_Value_lk, double* %821, align 1
  br label %merge297

false196:                                         ; preds = %merge296
  %822 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_1639, i32 0, i32 1263, i32 0
  %_rtP__BreakpointData_Value_p_el1641 = load double* %822, align 1
  %_rtB_1642 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %823 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_1642, i32 0, i32 541
  store double %_rtP__BreakpointData_Value_p_el1641, double* %823, align 1
  br label %merge297

true197:                                          ; preds = %merge297
  %824 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_1650, i32 0, i32 1272
  %_rtP__Constant_Value_be = load double* %824, align 1
  %_rtB_1655 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %825 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_1655, i32 0, i32 544
  store double %_rtP__Constant_Value_be, double* %825, align 1
  br label %merge298

false198:                                         ; preds = %merge297
  %826 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_1650, i32 0, i32 1411
  %_rtP__MaxIndices_Value_kr = load i32* %826, align 1
  %827 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_1650, i32 0, i32 1273, i32 %_rtP__MaxIndices_Value_kr
  %_rtP__BreakpointData_Value_pn_el = load double* %827, align 1
  %_rtB_1653 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %828 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_1653, i32 0, i32 544
  store double %_rtP__BreakpointData_Value_pn_el, double* %828, align 1
  br label %merge298

true199:                                          ; preds = %merge298
  %829 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_1656, i32 0, i32 1275
  %_rtP__Constant1_Value_kp = load double* %829, align 1
  %_rtB_1661 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %830 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_1661, i32 0, i32 545
  store double %_rtP__Constant1_Value_kp, double* %830, align 1
  br label %merge299

false200:                                         ; preds = %merge298
  %831 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_1656, i32 0, i32 1273, i32 0
  %_rtP__BreakpointData_Value_pn_el1658 = load double* %831, align 1
  %_rtB_1659 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %832 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_1659, i32 0, i32 545
  store double %_rtP__BreakpointData_Value_pn_el1658, double* %832, align 1
  br label %merge299

true201:                                          ; preds = %merge299
  %833 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_1692, i32 0, i32 1297
  %_rtP__Constant_Value_di3 = load double* %833, align 1
  %_rtB_1697 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %834 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_1697, i32 0, i32 558
  store double %_rtP__Constant_Value_di3, double* %834, align 1
  br label %merge300

false202:                                         ; preds = %merge299
  %835 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_1692, i32 0, i32 1413
  %_rtP__MaxIndices_Value_ao = load i32* %835, align 1
  %836 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_1692, i32 0, i32 1298, i32 %_rtP__MaxIndices_Value_ao
  %_rtP__BreakpointData_Value_g1_el = load double* %836, align 1
  %_rtB_1695 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %837 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_1695, i32 0, i32 558
  store double %_rtP__BreakpointData_Value_g1_el, double* %837, align 1
  br label %merge300

true203:                                          ; preds = %merge300
  %838 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_1698, i32 0, i32 1300
  %_rtP__Constant1_Value_ao = load double* %838, align 1
  %_rtB_1703 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %839 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_1703, i32 0, i32 559
  store double %_rtP__Constant1_Value_ao, double* %839, align 1
  br label %merge301

false204:                                         ; preds = %merge300
  %840 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_1698, i32 0, i32 1298, i32 0
  %_rtP__BreakpointData_Value_g1_el1700 = load double* %840, align 1
  %_rtB_1701 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %841 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_1701, i32 0, i32 559
  store double %_rtP__BreakpointData_Value_g1_el1700, double* %841, align 1
  br label %merge301

merge:                                            ; preds = %true, %false
  %_rtP_317 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %842 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_317, i32 0, i32 1417
  %_rtP__ExtrapBelow_Value = load i8* %842, align 1
  %843 = and i8 %_rtP__ExtrapBelow_Value, 1
  %844 = icmp eq i8 %843, 0
  br i1 %844, label %false2, label %true1

merge205:                                         ; preds = %true1, %false2
  %_rtP_323 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %845 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_323, i32 0, i32 1418
  %_rtP__ExtrapAbove_Value_f = load i8* %845, align 1
  %846 = and i8 %_rtP__ExtrapAbove_Value_f, 1
  %847 = icmp eq i8 %846, 0
  br i1 %847, label %false4, label %true3

merge206:                                         ; preds = %true3, %false4
  %_rtP_329 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %848 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_329, i32 0, i32 1419
  %_rtP__ExtrapBelow_Value_n = load i8* %848, align 1
  %849 = and i8 %_rtP__ExtrapBelow_Value_n, 1
  %850 = icmp eq i8 %849, 0
  br i1 %850, label %false6, label %true5

merge207:                                         ; preds = %true5, %false6
  %_rtP_335 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %851 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_335, i32 0, i32 1420
  %_rtP__useaverage_Value = load i8* %851, align 1
  %_rtB_336 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %852 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_336, i32 0, i32 617
  store i8 %_rtP__useaverage_Value, i8* %852, align 1
  %_rtP_337 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %853 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_337, i32 0, i32 1421
  %_rtP__ExtrapAbove_Value_p = load i8* %853, align 1
  %854 = and i8 %_rtP__ExtrapAbove_Value_p, 1
  %855 = icmp eq i8 %854, 0
  br i1 %855, label %false8, label %true7

merge208:                                         ; preds = %true7, %false8
  %_rtP_343 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %856 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_343, i32 0, i32 1422
  %_rtP__ExtrapBelow_Value_l = load i8* %856, align 1
  %857 = and i8 %_rtP__ExtrapBelow_Value_l, 1
  %858 = icmp eq i8 %857, 0
  br i1 %858, label %false10, label %true9

merge209:                                         ; preds = %true9, %false10
  %_rtP_349 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %859 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_349, i32 0, i32 1423
  %_rtP__ExtrapAbove_Value_e = load i8* %859, align 1
  %860 = and i8 %_rtP__ExtrapAbove_Value_e, 1
  %861 = icmp eq i8 %860, 0
  br i1 %861, label %false12, label %true11

merge210:                                         ; preds = %true11, %false12
  %_rtP_355 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %862 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_355, i32 0, i32 1424
  %_rtP__ExtrapBelow_Value_a = load i8* %862, align 1
  %863 = and i8 %_rtP__ExtrapBelow_Value_a, 1
  %864 = icmp eq i8 %863, 0
  br i1 %864, label %false14, label %true13

merge211:                                         ; preds = %true13, %false14
  %_rtP_361 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %865 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_361, i32 0, i32 1425
  %_rtP__rotationalinertia5_Value = load i8* %865, align 1
  %_rtB_362 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %866 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_362, i32 0, i32 618
  store i8 %_rtP__rotationalinertia5_Value, i8* %866, align 1
  %_rtP_363 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %867 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_363, i32 0, i32 1426
  %_rtP__ExtrapAbove_Value_ps = load i8* %867, align 1
  %868 = and i8 %_rtP__ExtrapAbove_Value_ps, 1
  %869 = icmp eq i8 %868, 0
  br i1 %869, label %false16, label %true15

merge212:                                         ; preds = %true15, %false16
  %_rtP_370 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %870 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_370, i32 0, i32 1427
  %_rtP__ExtrapBelow_Value_f = load i8* %870, align 1
  %871 = and i8 %_rtP__ExtrapBelow_Value_f, 1
  %872 = icmp eq i8 %871, 0
  br i1 %872, label %false18, label %true17

merge213:                                         ; preds = %true17, %false18
  %_rtP_376 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %873 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_376, i32 0, i32 1428
  %_rtP__ExtrapAbove_Value_l = load i8* %873, align 1
  %874 = and i8 %_rtP__ExtrapAbove_Value_l, 1
  %875 = icmp eq i8 %874, 0
  br i1 %875, label %false20, label %true19

merge214:                                         ; preds = %true19, %false20
  %_rtP_383 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %876 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_383, i32 0, i32 1429
  %_rtP__ExtrapBelow_Value_p = load i8* %876, align 1
  %877 = and i8 %_rtP__ExtrapBelow_Value_p, 1
  %878 = icmp eq i8 %877, 0
  br i1 %878, label %false22, label %true21

merge215:                                         ; preds = %true21, %false22
  %_rtP_389 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %879 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_389, i32 0, i32 1430
  %_rtP__rotationalinertia5_Value_j = load i8* %879, align 1
  %_rtB_390 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %880 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_390, i32 0, i32 619
  store i8 %_rtP__rotationalinertia5_Value_j, i8* %880, align 1
  %_rtP_391 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %881 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_391, i32 0, i32 1431
  %_rtP__ExtrapAbove_Value_h = load i8* %881, align 1
  %882 = and i8 %_rtP__ExtrapAbove_Value_h, 1
  %883 = icmp eq i8 %882, 0
  br i1 %883, label %false24, label %true23

merge216:                                         ; preds = %true23, %false24
  %_rtP_397 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %884 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_397, i32 0, i32 1432
  %_rtP__ExtrapBelow_Value_g = load i8* %884, align 1
  %885 = and i8 %_rtP__ExtrapBelow_Value_g, 1
  %886 = icmp eq i8 %885, 0
  br i1 %886, label %false26, label %true25

merge217:                                         ; preds = %true25, %false26
  %_rtP_403 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %887 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_403, i32 0, i32 1433
  %_rtP__rotationalinertia5_Value_d = load i8* %887, align 1
  %_rtB_404 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %888 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_404, i32 0, i32 620
  store i8 %_rtP__rotationalinertia5_Value_d, i8* %888, align 1
  %_rtP_405 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %889 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_405, i32 0, i32 1434
  %_rtP__ExtrapAbove_Value_j = load i8* %889, align 1
  %890 = and i8 %_rtP__ExtrapAbove_Value_j, 1
  %891 = icmp eq i8 %890, 0
  br i1 %891, label %false28, label %true27

merge218:                                         ; preds = %true27, %false28
  %_rtP_411 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %892 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_411, i32 0, i32 1435
  %_rtP__ExtrapBelow_Value_o = load i8* %892, align 1
  %893 = and i8 %_rtP__ExtrapBelow_Value_o, 1
  %894 = icmp eq i8 %893, 0
  br i1 %894, label %false30, label %true29

merge219:                                         ; preds = %true29, %false30
  %_rtP_417 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %895 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_417, i32 0, i32 1436
  %_rtP__rotationalinertia5_Value_g = load i8* %895, align 1
  %_rtB_418 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %896 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_418, i32 0, i32 621
  store i8 %_rtP__rotationalinertia5_Value_g, i8* %896, align 1
  %_rtP_419 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %897 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_419, i32 0, i32 1437
  %_rtP__ExtrapAbove_Value_c = load i8* %897, align 1
  %898 = and i8 %_rtP__ExtrapAbove_Value_c, 1
  %899 = icmp eq i8 %898, 0
  br i1 %899, label %false32, label %true31

merge220:                                         ; preds = %true31, %false32
  %_rtP_426 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %900 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_426, i32 0, i32 1438
  %_rtP__ExtrapBelow_Value_nt = load i8* %900, align 1
  %901 = and i8 %_rtP__ExtrapBelow_Value_nt, 1
  %902 = icmp eq i8 %901, 0
  br i1 %902, label %false34, label %true33

merge221:                                         ; preds = %true33, %false34
  %_rtP_432 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %903 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_432, i32 0, i32 1439
  %_rtP__ExtrapAbove_Value_b = load i8* %903, align 1
  %904 = and i8 %_rtP__ExtrapAbove_Value_b, 1
  %905 = icmp eq i8 %904, 0
  br i1 %905, label %false36, label %true35

merge222:                                         ; preds = %true35, %false36
  %_rtP_439 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %906 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_439, i32 0, i32 1440
  %_rtP__ExtrapBelow_Value_pa = load i8* %906, align 1
  %907 = and i8 %_rtP__ExtrapBelow_Value_pa, 1
  %908 = icmp eq i8 %907, 0
  br i1 %908, label %false38, label %true37

merge223:                                         ; preds = %true37, %false38
  %_rtP_445 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %909 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_445, i32 0, i32 227
  %_rtP__Constant_Value_nx = load double* %909, align 1
  %910 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_445, i32 0, i32 228
  %_rtP__Constant_Value_mj = load double* %910, align 1
  %911 = fcmp oge double %_rtP__Constant_Value_nx, %_rtP__Constant_Value_mj
  %912 = zext i1 %911 to i8
  %_rtB_447 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %913 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_447, i32 0, i32 622
  store i8 %912, i8* %913, align 1
  %_rtP_448 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %914 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_448, i32 0, i32 1441
  %_rtP__autoneutralenable_Value = load i8* %914, align 1
  %_rtB_449 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %915 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_449, i32 0, i32 623
  store i8 %_rtP__autoneutralenable_Value, i8* %915, align 1
  %_rtP_450 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %916 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_450, i32 0, i32 245
  %_rtP__Constant_Value_b = load double* %916, align 1
  %_rtB_451 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %917 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_451, i32 0, i32 50
  store double %_rtP__Constant_Value_b, double* %917, align 1
  %_rtP_452 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %918 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_452, i32 0, i32 249
  %_rtP__Constant_Value_p2 = load double* %918, align 1
  %_rtB_453 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %919 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_453, i32 0, i32 52
  store double %_rtP__Constant_Value_p2, double* %919, align 1
  %_rtP_454 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %920 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_454, i32 0, i32 251
  %_rtP__Constant_Value_hs = load double* %920, align 1
  %_rtB_455 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %921 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_455, i32 0, i32 53
  store double %_rtP__Constant_Value_hs, double* %921, align 1
  %_rtP_456 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %922 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_456, i32 0, i32 252
  %_rtP__Variable1_Value = load double* %922, align 1
  %_rtB_457 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %923 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_457, i32 0, i32 54
  store double %_rtP__Variable1_Value, double* %923, align 1
  %_rtB_458 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %924 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_458, i32 0, i32 55
  store double 0.000000e+00, double* %924, align 1
  %_rtP_459 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %925 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_459, i32 0, i32 255
  %_rtP__Gain_Gain_f = load double* %925, align 1
  %926 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_459, i32 0, i32 254
  %_rtP__crankspeed_Value = load double* %926, align 1
  %tmp5 = fmul double %_rtP__Gain_Gain_f, %_rtP__crankspeed_Value
  %_rtB_461 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %927 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_461, i32 0, i32 56
  store double %tmp5, double* %927, align 1
  %_rtP_462 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %928 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_462, i32 0, i32 256
  %_rtP__Constant_Value_gv = load double* %928, align 1
  %_rtB_463 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %929 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_463, i32 0, i32 58
  store double %_rtP__Constant_Value_gv, double* %929, align 1
  %_rtP_464 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %930 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_464, i32 0, i32 264
  %_rtP__Constant_Value_as = load double* %930, align 1
  %_rtB_465 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %931 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_465, i32 0, i32 62
  store double %_rtP__Constant_Value_as, double* %931, align 1
  %_rtP_466 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %932 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_466, i32 0, i32 1447
  %_rtP__const1_Value = load i8* %932, align 1
  %_rtB_467 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %933 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_467, i32 0, i32 632
  store i8 %_rtP__const1_Value, i8* %933, align 1
  %_rtP_468 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %934 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_468, i32 0, i32 268
  %_rtP__Variable1_Value_f = load double* %934, align 1
  %_rtB_469 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %935 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_469, i32 0, i32 65
  store double %_rtP__Variable1_Value_f, double* %935, align 1
  %_rtB_470 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %936 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_470, i32 0, i32 66
  store double 0.000000e+00, double* %936, align 1
  %_rtP_471 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %937 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_471, i32 0, i32 271
  %_rtP__Variable1_Value_p = load double* %937, align 1
  %_rtB_472 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %938 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_472, i32 0, i32 68
  store double %_rtP__Variable1_Value_p, double* %938, align 1
  %_rtB_473 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %939 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_473, i32 0, i32 69
  store double 0.000000e+00, double* %939, align 1
  %_rtP_474 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %940 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_474, i32 0, i32 1448
  %_rtP__ExtrapAbove_Value_fl = load i8* %940, align 1
  %941 = and i8 %_rtP__ExtrapAbove_Value_fl, 1
  %942 = icmp eq i8 %941, 0
  br i1 %942, label %false40, label %true39

merge224:                                         ; preds = %true39, %false40
  %_rtP_481 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %943 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_481, i32 0, i32 1449
  %_rtP__ExtrapBelow_Value_ay = load i8* %943, align 1
  %944 = and i8 %_rtP__ExtrapBelow_Value_ay, 1
  %945 = icmp eq i8 %944, 0
  br i1 %945, label %false42, label %true41

merge225:                                         ; preds = %true41, %false42
  %_rtP_487 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %946 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_487, i32 0, i32 1450
  %_rtP__ExtrapAbove_Value_cs = load i8* %946, align 1
  %947 = and i8 %_rtP__ExtrapAbove_Value_cs, 1
  %948 = icmp eq i8 %947, 0
  br i1 %948, label %false44, label %true43

merge226:                                         ; preds = %true43, %false44
  %_rtP_494 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %949 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_494, i32 0, i32 1451
  %_rtP__ExtrapBelow_Value_nw = load i8* %949, align 1
  %950 = and i8 %_rtP__ExtrapBelow_Value_nw, 1
  %951 = icmp eq i8 %950, 0
  br i1 %951, label %false46, label %true45

merge227:                                         ; preds = %true45, %false46
  %_rtP_500 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %952 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_500, i32 0, i32 289
  %_rtP__Variable1_Value_k = load double* %952, align 1
  %_rtB_501 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %953 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_501, i32 0, i32 77
  store double %_rtP__Variable1_Value_k, double* %953, align 1
  %_rtP_502 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %954 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_502, i32 0, i32 290
  %_rtP__Variable2_Value = load double* %954, align 1
  %_rtB_503 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %955 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_503, i32 0, i32 78
  store double %_rtP__Variable2_Value, double* %955, align 1
  %_rtP_504 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %956 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_504, i32 0, i32 1452
  %_rtP__ExtrapAbove_Value_c0 = load i8* %956, align 1
  %957 = and i8 %_rtP__ExtrapAbove_Value_c0, 1
  %958 = icmp eq i8 %957, 0
  br i1 %958, label %false48, label %true47

merge228:                                         ; preds = %true47, %false48
  %_rtP_511 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %959 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_511, i32 0, i32 1453
  %_rtP__ExtrapBelow_Value_e = load i8* %959, align 1
  %960 = and i8 %_rtP__ExtrapBelow_Value_e, 1
  %961 = icmp eq i8 %960, 0
  br i1 %961, label %false50, label %true49

merge229:                                         ; preds = %true49, %false50
  %_rtP_517 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %962 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_517, i32 0, i32 1454
  %_rtP__ExtrapAbove_Value_ew = load i8* %962, align 1
  %963 = and i8 %_rtP__ExtrapAbove_Value_ew, 1
  %964 = icmp eq i8 %963, 0
  br i1 %964, label %false52, label %true51

merge230:                                         ; preds = %true51, %false52
  %_rtP_524 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %965 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_524, i32 0, i32 1455
  %_rtP__ExtrapBelow_Value_eu = load i8* %965, align 1
  %966 = and i8 %_rtP__ExtrapBelow_Value_eu, 1
  %967 = icmp eq i8 %966, 0
  br i1 %967, label %false54, label %true53

merge231:                                         ; preds = %true53, %false54
  %_rtP_530 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %968 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_530, i32 0, i32 302
  %_rtP__Variable1_Value_n = load double* %968, align 1
  %_rtB_531 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %969 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_531, i32 0, i32 84
  store double %_rtP__Variable1_Value_n, double* %969, align 1
  %_rtP_532 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %970 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_532, i32 0, i32 303
  %_rtP__Variable2_Value_p = load double* %970, align 1
  %_rtB_533 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %971 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_533, i32 0, i32 85
  store double %_rtP__Variable2_Value_p, double* %971, align 1
  %_rtP_534 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %972 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_534, i32 0, i32 307
  %_rtP__Constant_Value_fc = load double* %972, align 1
  %_rtB_535 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %973 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_535, i32 0, i32 87
  store double %_rtP__Constant_Value_fc, double* %973, align 1
  %_rtP_536 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %974 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_536, i32 0, i32 309
  %_rtP__const3_Value = load double* %974, align 1
  %_rtB_537 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %975 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_537, i32 0, i32 88
  store double %_rtP__const3_Value, double* %975, align 1
  %_rtP_538 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %976 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_538, i32 0, i32 314
  %_rtP__Constant_Value_id = load double* %976, align 1
  %_rtB_539 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %977 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_539, i32 0, i32 92
  store double %_rtP__Constant_Value_id, double* %977, align 1
  %_rtP_540 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %978 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_540, i32 0, i32 316
  %_rtP__ICValue_Value = load double* %978, align 1
  %_rtB_541 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %979 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_541, i32 0, i32 94
  store double %_rtP__ICValue_Value, double* %979, align 1
  %_rtP_542 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %980 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_542, i32 0, i32 1456
  %_rtP__ExtrapAbove_Value_ci = load i8* %980, align 1
  %981 = and i8 %_rtP__ExtrapAbove_Value_ci, 1
  %982 = icmp eq i8 %981, 0
  br i1 %982, label %false56, label %true55

merge232:                                         ; preds = %true55, %false56
  %_rtP_548 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %983 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_548, i32 0, i32 1457
  %_rtP__ExtrapBelow_Value_gz = load i8* %983, align 1
  %984 = and i8 %_rtP__ExtrapBelow_Value_gz, 1
  %985 = icmp eq i8 %984, 0
  br i1 %985, label %false58, label %true57

merge233:                                         ; preds = %true57, %false58
  %_rtP_554 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %986 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_554, i32 0, i32 1458
  %_rtP__ExtrapAbove_Value_d = load i8* %986, align 1
  %987 = and i8 %_rtP__ExtrapAbove_Value_d, 1
  %988 = icmp eq i8 %987, 0
  br i1 %988, label %false60, label %true59

merge234:                                         ; preds = %true59, %false60
  %_rtP_560 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %989 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_560, i32 0, i32 1459
  %_rtP__ExtrapBelow_Value_i = load i8* %989, align 1
  %990 = and i8 %_rtP__ExtrapBelow_Value_i, 1
  %991 = icmp eq i8 %990, 0
  br i1 %991, label %false62, label %true61

merge235:                                         ; preds = %true61, %false62
  %_rtP_566 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %992 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_566, i32 0, i32 1460
  %_rtP__ExtrapAbove_Value_fg = load i8* %992, align 1
  %993 = and i8 %_rtP__ExtrapAbove_Value_fg, 1
  %994 = icmp eq i8 %993, 0
  br i1 %994, label %false64, label %true63

merge236:                                         ; preds = %true63, %false64
  %_rtP_572 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %995 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_572, i32 0, i32 1461
  %_rtP__ExtrapBelow_Value_c = load i8* %995, align 1
  %996 = and i8 %_rtP__ExtrapBelow_Value_c, 1
  %997 = icmp eq i8 %996, 0
  br i1 %997, label %false66, label %true65

merge237:                                         ; preds = %true65, %false66
  %_rtP_578 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %998 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_578, i32 0, i32 1462
  %_rtP__ExtrapAbove_Value_lf = load i8* %998, align 1
  %999 = and i8 %_rtP__ExtrapAbove_Value_lf, 1
  %1000 = icmp eq i8 %999, 0
  br i1 %1000, label %false68, label %true67

merge238:                                         ; preds = %true67, %false68
  %_rtP_584 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %1001 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_584, i32 0, i32 1463
  %_rtP__ExtrapBelow_Value_aj = load i8* %1001, align 1
  %1002 = and i8 %_rtP__ExtrapBelow_Value_aj, 1
  %1003 = icmp eq i8 %1002, 0
  br i1 %1003, label %false70, label %true69

merge239:                                         ; preds = %true69, %false70
  %_rtP_590 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %1004 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_590, i32 0, i32 347
  %_rtP__Constant_Value_mh = load double* %1004, align 1
  %1005 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_590, i32 0, i32 348
  %_rtP__Constant_Value_ik = load double* %1005, align 1
  %1006 = fcmp oge double %_rtP__Constant_Value_mh, %_rtP__Constant_Value_ik
  %1007 = zext i1 %1006 to i8
  %_rtB_592 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %1008 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_592, i32 0, i32 634
  store i8 %1007, i8* %1008, align 1
  %_rtP_593 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %1009 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_593, i32 0, i32 349
  %_rtP__rotationalinertia_Value = load double* %1009, align 1
  %_rtB_594 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %1010 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_594, i32 0, i32 110
  store double %_rtP__rotationalinertia_Value, double* %1010, align 1
  %_rtP_595 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %1011 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_595, i32 0, i32 350
  %_rtP__rotationalinertia_Value_a = load double* %1011, align 1
  %_rtB_596 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %1012 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_596, i32 0, i32 111
  store double %_rtP__rotationalinertia_Value_a, double* %1012, align 1
  %_rtP_597 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %1013 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_597, i32 0, i32 351
  %_rtP__rotationalinertia_Value_j = load double* %1013, align 1
  %_rtB_598 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %1014 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_598, i32 0, i32 112
  store double %_rtP__rotationalinertia_Value_j, double* %1014, align 1
  %_rtP_599 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %1015 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_599, i32 0, i32 352
  %_rtP__rotationalinertia_Value_e = load double* %1015, align 1
  %_rtB_600 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %1016 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_600, i32 0, i32 113
  store double %_rtP__rotationalinertia_Value_e, double* %1016, align 1
  %_rtB_601 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %1017 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_601, i32 0, i32 110
  %_rtB__rotationalinertia = load double* %1017, align 1
  %1018 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_601, i32 0, i32 111
  %_rtB__rotationalinertia_g = load double* %1018, align 1
  %tmp10 = fadd double %_rtB__rotationalinertia, %_rtB__rotationalinertia_g
  %1019 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_601, i32 0, i32 112
  %_rtB__rotationalinertia_ga = load double* %1019, align 1
  %tmp11 = fadd double %tmp10, %_rtB__rotationalinertia_ga
  %1020 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_601, i32 0, i32 113
  %_rtB__rotationalinertia_a = load double* %1020, align 1
  %tmp12 = fadd double %tmp11, %_rtB__rotationalinertia_a
  store double %tmp12, double* %rtb_Sum3_, align 1
  %_rtP_605 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %1021 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_605, i32 0, i32 353
  %_rtP__Constant_Value_my = load double* %1021, align 1
  %1022 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_605, i32 0, i32 354
  %_rtP__Constant_Value_gm = load double* %1022, align 1
  %1023 = fcmp oge double %_rtP__Constant_Value_my, %_rtP__Constant_Value_gm
  %1024 = zext i1 %1023 to i8
  %1025 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_601, i32 0, i32 635
  store i8 %1024, i8* %1025, align 1
  %_rtP_608 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %1026 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_608, i32 0, i32 355
  %_rtP__Constant_Value_er = load double* %1026, align 1
  %1027 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_608, i32 0, i32 356
  %_rtP__Constant_Value_h3 = load double* %1027, align 1
  %1028 = fcmp oge double %_rtP__Constant_Value_er, %_rtP__Constant_Value_h3
  %1029 = zext i1 %1028 to i8
  %_rtB_610 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %1030 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_610, i32 0, i32 636
  store i8 %1029, i8* %1030, align 1
  %_rtP_611 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %1031 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_611, i32 0, i32 357
  %_rtP__Constant_Value_pd = load double* %1031, align 1
  %1032 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_611, i32 0, i32 358
  %_rtP__Constant_Value_bl = load double* %1032, align 1
  %1033 = fcmp oge double %_rtP__Constant_Value_pd, %_rtP__Constant_Value_bl
  %1034 = zext i1 %1033 to i8
  %_rtB_613 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %1035 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_613, i32 0, i32 637
  store i8 %1034, i8* %1035, align 1
  %_rtP_614 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %1036 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_614, i32 0, i32 359
  %_rtP__Constant_Value_bf = load double* %1036, align 1
  %1037 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_614, i32 0, i32 360
  %_rtP__Constant_Value_pv = load double* %1037, align 1
  %1038 = fcmp oge double %_rtP__Constant_Value_bf, %_rtP__Constant_Value_pv
  %1039 = zext i1 %1038 to i8
  %_rtB_616 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %1040 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_616, i32 0, i32 638
  store i8 %1039, i8* %1040, align 1
  %_rtP_617 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %1041 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_617, i32 0, i32 361
  %_rtP__Constant_Value_k = load double* %1041, align 1
  %1042 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_617, i32 0, i32 362
  %_rtP__Constant_Value_k5 = load double* %1042, align 1
  %1043 = fcmp oge double %_rtP__Constant_Value_k, %_rtP__Constant_Value_k5
  %1044 = zext i1 %1043 to i8
  %_rtB_619 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %1045 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_619, i32 0, i32 639
  store i8 %1044, i8* %1045, align 1
  %_rtP_620 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %1046 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_620, i32 0, i32 363
  %_rtP__Constant_Value_m1 = load double* %1046, align 1
  %1047 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_620, i32 0, i32 364
  %_rtP__Constant_Value_kh = load double* %1047, align 1
  %1048 = fcmp oge double %_rtP__Constant_Value_m1, %_rtP__Constant_Value_kh
  %1049 = zext i1 %1048 to i8
  %_rtB_622 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %1050 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_622, i32 0, i32 640
  store i8 %1049, i8* %1050, align 1
  %_rtP_623 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %1051 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_623, i32 0, i32 365
  %_rtP__Constant_Value_e2 = load double* %1051, align 1
  %1052 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_623, i32 0, i32 366
  %_rtP__Constant_Value_c4 = load double* %1052, align 1
  %1053 = fcmp oge double %_rtP__Constant_Value_e2, %_rtP__Constant_Value_c4
  %1054 = zext i1 %1053 to i8
  %_rtB_625 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %1055 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_625, i32 0, i32 641
  store i8 %1054, i8* %1055, align 1
  %_rtP_626 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %1056 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_626, i32 0, i32 367
  %_rtP__Constant_Value_ns = load double* %1056, align 1
  %1057 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_626, i32 0, i32 368
  %_rtP__Constant_Value_l0 = load double* %1057, align 1
  %1058 = fcmp oge double %_rtP__Constant_Value_ns, %_rtP__Constant_Value_l0
  %1059 = zext i1 %1058 to i8
  %_rtB_628 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %1060 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_628, i32 0, i32 642
  store i8 %1059, i8* %1060, align 1
  %_rtP_629 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %1061 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_629, i32 0, i32 369
  %_rtP__cranking_speed_radps_Value = load double* %1061, align 1
  %_rtB_630 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %1062 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_630, i32 0, i32 114
  store double %_rtP__cranking_speed_radps_Value, double* %1062, align 1
  %_rtP_631 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %1063 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_631, i32 0, i32 372
  %_rtP__minvolts_Value = load double* %1063, align 1
  %_rtB_632 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %1064 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_632, i32 0, i32 115
  store double %_rtP__minvolts_Value, double* %1064, align 1
  %_rtP_633 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %1065 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_633, i32 0, i32 376
  %_rtP__Constant_Value_fj = load double* %1065, align 1
  %_rtB_634 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %1066 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_634, i32 0, i32 117
  store double %_rtP__Constant_Value_fj, double* %1066, align 1
  %_rtP_635 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %1067 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_635, i32 0, i32 378
  %_rtP__Constant_Value_i1 = load double* %1067, align 1
  %_rtB_636 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %1068 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_636, i32 0, i32 118
  store double %_rtP__Constant_Value_i1, double* %1068, align 1
  %_rtP_637 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %1069 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_637, i32 0, i32 380
  %_rtP__Gain_Gain_l = load double* %1069, align 1
  %1070 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_637, i32 0, i32 379
  %_rtP__cranking_speed_radps_Value_n = load double* %1070, align 1
  %tmp13 = fmul double %_rtP__Gain_Gain_l, %_rtP__cranking_speed_radps_Value_n
  %_rtB_639 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %1071 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_639, i32 0, i32 119
  store double %tmp13, double* %1071, align 1
  %_rtP_640 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %1072 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_640, i32 0, i32 382
  %_rtP__Constant_Value_od = load double* %1072, align 1
  %_rtB_641 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %1073 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_641, i32 0, i32 120
  store double %_rtP__Constant_Value_od, double* %1073, align 1
  %_rtP_642 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %1074 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_642, i32 0, i32 389
  %_rtP__efficiency_norm1_Value = load double* %1074, align 1
  %_rtB_643 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %1075 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_643, i32 0, i32 123
  store double %_rtP__efficiency_norm1_Value, double* %1075, align 1
  %_rtP_644 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %1076 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_644, i32 0, i32 392
  %_rtP__efficiency_norm_Value = load double* %1076, align 1
  %_rtB_645 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %1077 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_645, i32 0, i32 126
  store double %_rtP__efficiency_norm_Value, double* %1077, align 1
  %_rtP_646 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %1078 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_646, i32 0, i32 395
  %_rtP__activation_speed_radps2_Value = load double* %1078, align 1
  %_rtB_647 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %1079 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_647, i32 0, i32 128
  store double %_rtP__activation_speed_radps2_Value, double* %1079, align 1
  %_rtP_648 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %1080 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_648, i32 0, i32 396
  %_rtP__deactivation_speed_radps_Value = load double* %1080, align 1
  %_rtB_649 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %1081 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_649, i32 0, i32 129
  store double %_rtP__deactivation_speed_radps_Value, double* %1081, align 1
  %_rtP_650 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %1082 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_650, i32 0, i32 400
  %_rtP__Constant_Value_il = load double* %1082, align 1
  %_rtB_651 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %1083 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_651, i32 0, i32 131
  store double %_rtP__Constant_Value_il, double* %1083, align 1
  %_rtP_652 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %1084 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_652, i32 0, i32 406
  %_rtP__Constant_Value_hj = load double* %1084, align 1
  %_rtB_653 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %1085 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_653, i32 0, i32 134
  store double %_rtP__Constant_Value_hj, double* %1085, align 1
  %_rtP_654 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %1086 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_654, i32 0, i32 409
  %_rtP__Constant2_Value = load double* %1086, align 1
  %_rtB_655 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %1087 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_655, i32 0, i32 135
  store double %_rtP__Constant2_Value, double* %1087, align 1
  %_rtP_656 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %1088 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_656, i32 0, i32 418
  %_rtP__target_voltage_V1_Value = load double* %1088, align 1
  %1089 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_656, i32 0, i32 419
  %_rtP__sat_UpperSat = load double* %1089, align 1
  %1090 = fcmp ogt double %_rtP__target_voltage_V1_Value, %_rtP__sat_UpperSat
  br i1 %1090, label %true71, label %false72

merge241:                                         ; preds = %false74, %true73, %true71
  %_rtP_670 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %1091 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_670, i32 0, i32 421
  %_rtP__target_voltage_V2_Value = load double* %1091, align 1
  %_rtB_671 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %1092 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_671, i32 0, i32 141
  store double %_rtP__target_voltage_V2_Value, double* %1092, align 1
  %_rtP_672 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %1093 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_672, i32 0, i32 422
  %_rtP__target_voltage_V3_Value = load double* %1093, align 1
  %_rtB_673 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %1094 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_673, i32 0, i32 143
  store double %_rtP__target_voltage_V3_Value, double* %1094, align 1
  %_rtP_674 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %1095 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_674, i32 0, i32 423
  %_rtP__target_voltage_V4_Value = load double* %1095, align 1
  %_rtB_675 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %1096 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_675, i32 0, i32 144
  store double %_rtP__target_voltage_V4_Value, double* %1096, align 1
  %_rtP_676 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %1097 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_676, i32 0, i32 425
  %_rtP__target_voltage_V_Value = load double* %1097, align 1
  %_rtB_677 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %1098 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_677, i32 0, i32 147
  store double %_rtP__target_voltage_V_Value, double* %1098, align 1
  %_rtP_678 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %1099 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_678, i32 0, i32 426
  %_rtP__target_voltage_V5_Value = load double* %1099, align 1
  %_rtB_679 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %1100 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_679, i32 0, i32 148
  store double %_rtP__target_voltage_V5_Value, double* %1100, align 1
  %_rtP_680 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %1101 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_680, i32 0, i32 436
  %_rtP__efficiency_norm_Value_c = load double* %1101, align 1
  %_rtB_681 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %1102 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_681, i32 0, i32 154
  store double %_rtP__efficiency_norm_Value_c, double* %1102, align 1
  %_rtP_682 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %1103 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_682, i32 0, i32 437
  %_rtP__inertiakgm2_Value = load double* %1103, align 1
  %_rtB_683 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %1104 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_683, i32 0, i32 156
  store double %_rtP__inertiakgm2_Value, double* %1104, align 1
  %_rtP_684 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %1105 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_684, i32 0, i32 438
  %_rtP__inertia_kgm2_Value = load double* %1105, align 1
  %_rtB_685 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %1106 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_685, i32 0, i32 157
  store double %_rtP__inertia_kgm2_Value, double* %1106, align 1
  %_rtB_686 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %1107 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_686, i32 0, i32 156
  %_rtB__inertiakgm2 = load double* %1107, align 1
  %1108 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_686, i32 0, i32 157
  %_rtB__inertia_kgm2 = load double* %1108, align 1
  %tmp14 = fadd double %_rtB__inertiakgm2, %_rtB__inertia_kgm2
  store double %tmp14, double* %rtb_Sum3_i_, align 1
  %_rtP_688 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %1109 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_688, i32 0, i32 439
  %_rtP__Constant_Value_nu = load double* %1109, align 1
  %1110 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_688, i32 0, i32 440
  %_rtP__Constant_Value_io = load double* %1110, align 1
  %1111 = fcmp oge double %_rtP__Constant_Value_nu, %_rtP__Constant_Value_io
  %1112 = zext i1 %1111 to i8
  %1113 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_686, i32 0, i32 652
  store i8 %1112, i8* %1113, align 1
  %_rtP_691 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %1114 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_691, i32 0, i32 10
  %_rtP__Constant_Value = load double* %1114, align 1
  %1115 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_691, i32 0, i32 11
  %_rtP__Constant_Value_o = load double* %1115, align 1
  %1116 = fcmp oge double %_rtP__Constant_Value, %_rtP__Constant_Value_o
  %1117 = zext i1 %1116 to i8
  %_rtB_693 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %1118 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_693, i32 0, i32 860
  store i8 %1117, i8* %1118, align 1
  %_rtP_694 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %1119 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_694, i32 0, i32 12
  %_rtP__Constant_Value_p = load double* %1119, align 1
  %1120 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_694, i32 0, i32 13
  %_rtP__Constant_Value_d = load double* %1120, align 1
  %1121 = fcmp oge double %_rtP__Constant_Value_p, %_rtP__Constant_Value_d
  %1122 = zext i1 %1121 to i8
  %_rtB_696 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %1123 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_696, i32 0, i32 861
  store i8 %1122, i8* %1123, align 1
  %vm_ssIsMajorTimeStepVar0_697 = load i32* %vm_ssIsMajorTimeStepVar0_, align 1
  %1124 = icmp eq i32 %vm_ssIsMajorTimeStepVar0_697, 0
  br i1 %1124, label %false76, label %true75

merge242:                                         ; preds = %true77, %false78
  %_rtP_732 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %1125 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_732, i32 0, i32 1472
  %_rtP__ExtrapBelow_Value_j = load i8* %1125, align 1
  %1126 = and i8 %_rtP__ExtrapBelow_Value_j, 1
  %1127 = icmp eq i8 %1126, 0
  br i1 %1127, label %false80, label %true79

merge243:                                         ; preds = %true79, %false80
  %_rtP_738 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %1128 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_738, i32 0, i32 474
  %_rtP__Constant_Value_ef = load double* %1128, align 1
  %1129 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_738, i32 0, i32 475
  %_rtP__Constant_Value_cei = load double* %1129, align 1
  %1130 = fcmp oge double %_rtP__Constant_Value_ef, %_rtP__Constant_Value_cei
  %1131 = zext i1 %1130 to i8
  %_rtB_740 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %1132 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_740, i32 0, i32 664
  store i8 %1131, i8* %1132, align 1
  %_rtP_741 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %1133 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_741, i32 0, i32 477
  %_rtP__Constant_Value_ld = load double* %1133, align 1
  %1134 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_741, i32 0, i32 478
  %_rtP__Constant_Value_on = load double* %1134, align 1
  %1135 = fcmp oge double %_rtP__Constant_Value_ld, %_rtP__Constant_Value_on
  %1136 = zext i1 %1135 to i8
  %_rtB_743 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %1137 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_743, i32 0, i32 665
  store i8 %1136, i8* %1137, align 1
  %_rtP_744 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %1138 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_744, i32 0, i32 481
  %_rtP__Constant_Value_dx = load double* %1138, align 1
  %1139 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_744, i32 0, i32 482
  %_rtP__Constant_Value_oa = load double* %1139, align 1
  %1140 = fcmp oge double %_rtP__Constant_Value_dx, %_rtP__Constant_Value_oa
  %1141 = zext i1 %1140 to i8
  %_rtB_746 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %1142 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_746, i32 0, i32 666
  store i8 %1141, i8* %1142, align 1
  %_rtP_747 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %1143 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_747, i32 0, i32 483
  %_rtP__Constant_Value_ek = load double* %1143, align 1
  %1144 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_747, i32 0, i32 484
  %_rtP__Constant_Value_mf = load double* %1144, align 1
  %1145 = fcmp oge double %_rtP__Constant_Value_ek, %_rtP__Constant_Value_mf
  %1146 = zext i1 %1145 to i8
  %_rtB_749 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %1147 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_749, i32 0, i32 667
  store i8 %1146, i8* %1147, align 1
  %_rtP_750 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %1148 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_750, i32 0, i32 1473
  %_rtP__Constant2_Value_pv = load i8* %1148, align 1
  %_rtB_751 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %1149 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_751, i32 0, i32 668
  store i8 %_rtP__Constant2_Value_pv, i8* %1149, align 1
  %_rtB_752 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %1150 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_752, i32 0, i32 171, i32 0
  %1151 = bitcast double* %1150 to i8*
  %_rtP_753 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %1152 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_753, i32 0, i32 492, i32 0
  %1153 = bitcast double* %1152 to i8*
  %1154 = call i8* @memcpy(i8* %1151, i8* %1153, i32 mul (i32 ptrtoint (double* getelementptr (double* null, i32 1) to i32), i32 10))
  %_rtP_754 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %1155 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_754, i32 0, i32 493
  %_rtP__Constant2_Value_g = load double* %1155, align 1
  %_rtB_755 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %1156 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_755, i32 0, i32 174
  store double %_rtP__Constant2_Value_g, double* %1156, align 1
  %_rtP_756 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %1157 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_756, i32 0, i32 496
  %_rtP__Constant_Value_lc = load double* %1157, align 1
  %1158 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_756, i32 0, i32 497
  %_rtP__Constant1_Value_ie = load double* %1158, align 1
  %1159 = fcmp oge double %_rtP__Constant_Value_lc, %_rtP__Constant1_Value_ie
  %1160 = zext i1 %1159 to i8
  %_rtB_758 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %1161 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_758, i32 0, i32 669
  store i8 %1160, i8* %1161, align 1
  %_rtP_759 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %1162 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_759, i32 0, i32 1474
  %_rtP__ExtrapAbove_Value_mi = load i8* %1162, align 1
  %1163 = and i8 %_rtP__ExtrapAbove_Value_mi, 1
  %1164 = icmp eq i8 %1163, 0
  br i1 %1164, label %false82, label %true81

merge244:                                         ; preds = %true81, %false82
  %_rtP_765 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %1165 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_765, i32 0, i32 1475
  %_rtP__ExtrapBelow_Value_k = load i8* %1165, align 1
  %1166 = and i8 %_rtP__ExtrapBelow_Value_k, 1
  %1167 = icmp eq i8 %1166, 0
  br i1 %1167, label %false84, label %true83

merge245:                                         ; preds = %true83, %false84
  %_rtP_771 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %1168 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_771, i32 0, i32 1476
  %_rtP__ExtrapAbove_Value_hj = load i8* %1168, align 1
  %1169 = and i8 %_rtP__ExtrapAbove_Value_hj, 1
  %1170 = icmp eq i8 %1169, 0
  br i1 %1170, label %false86, label %true85

merge246:                                         ; preds = %true85, %false86
  %_rtP_777 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %1171 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_777, i32 0, i32 1477
  %_rtP__ExtrapBelow_Value_j1 = load i8* %1171, align 1
  %1172 = and i8 %_rtP__ExtrapBelow_Value_j1, 1
  %1173 = icmp eq i8 %1172, 0
  br i1 %1173, label %false88, label %true87

merge247:                                         ; preds = %true87, %false88
  %_rtP_783 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %1174 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_783, i32 0, i32 507
  %_rtP__Constant_Value_elo = load double* %1174, align 1
  %1175 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_783, i32 0, i32 508
  %_rtP__Constant1_Value_f = load double* %1175, align 1
  %1176 = fcmp oge double %_rtP__Constant_Value_elo, %_rtP__Constant1_Value_f
  %1177 = zext i1 %1176 to i8
  %_rtB_785 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %1178 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_785, i32 0, i32 670
  store i8 %1177, i8* %1178, align 1
  %_rtP_786 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %1179 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_786, i32 0, i32 1478
  %_rtP__ExtrapAbove_Value_l4 = load i8* %1179, align 1
  %1180 = and i8 %_rtP__ExtrapAbove_Value_l4, 1
  %1181 = icmp eq i8 %1180, 0
  br i1 %1181, label %false90, label %true89

merge248:                                         ; preds = %true89, %false90
  %_rtP_792 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %1182 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_792, i32 0, i32 1479
  %_rtP__ExtrapBelow_Value_jb = load i8* %1182, align 1
  %1183 = and i8 %_rtP__ExtrapBelow_Value_jb, 1
  %1184 = icmp eq i8 %1183, 0
  br i1 %1184, label %false92, label %true91

merge249:                                         ; preds = %true91, %false92
  %_rtP_798 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %1185 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_798, i32 0, i32 1480
  %_rtP__ExtrapAbove_Value_a = load i8* %1185, align 1
  %1186 = and i8 %_rtP__ExtrapAbove_Value_a, 1
  %1187 = icmp eq i8 %1186, 0
  br i1 %1187, label %false94, label %true93

merge250:                                         ; preds = %true93, %false94
  %_rtP_804 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %1188 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_804, i32 0, i32 1481
  %_rtP__ExtrapBelow_Value_il = load i8* %1188, align 1
  %1189 = and i8 %_rtP__ExtrapBelow_Value_il, 1
  %1190 = icmp eq i8 %1189, 0
  br i1 %1190, label %false96, label %true95

merge251:                                         ; preds = %true95, %false96
  %_rtP_810 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %1191 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_810, i32 0, i32 518
  %_rtP__Constant_Value_lv1 = load double* %1191, align 1
  %1192 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_810, i32 0, i32 519
  %_rtP__Constant1_Value_k4 = load double* %1192, align 1
  %1193 = fcmp oge double %_rtP__Constant_Value_lv1, %_rtP__Constant1_Value_k4
  %1194 = zext i1 %1193 to i8
  %_rtB_812 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %1195 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_812, i32 0, i32 671
  store i8 %1194, i8* %1195, align 1
  %_rtP_813 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %1196 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_813, i32 0, i32 520
  %_rtP__Constant_Value_dr = load double* %1196, align 1
  %1197 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_813, i32 0, i32 521
  %_rtP__Constant1_Value_ca = load double* %1197, align 1
  %1198 = fcmp oge double %_rtP__Constant_Value_dr, %_rtP__Constant1_Value_ca
  %1199 = zext i1 %1198 to i8
  %_rtB_815 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %1200 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_815, i32 0, i32 672
  store i8 %1199, i8* %1200, align 1
  %_rtP_816 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %1201 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_816, i32 0, i32 1482
  %_rtP__ExtrapAbove_Value_ep = load i8* %1201, align 1
  %1202 = and i8 %_rtP__ExtrapAbove_Value_ep, 1
  %1203 = icmp eq i8 %1202, 0
  br i1 %1203, label %false98, label %true97

merge252:                                         ; preds = %true97, %false98
  %_rtP_822 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %1204 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_822, i32 0, i32 1483
  %_rtP__ExtrapBelow_Value_m = load i8* %1204, align 1
  %1205 = and i8 %_rtP__ExtrapBelow_Value_m, 1
  %1206 = icmp eq i8 %1205, 0
  br i1 %1206, label %false100, label %true99

merge253:                                         ; preds = %true99, %false100
  %_rtP_828 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %1207 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_828, i32 0, i32 1484
  %_rtP__ExtrapAbove_Value_n = load i8* %1207, align 1
  %1208 = and i8 %_rtP__ExtrapAbove_Value_n, 1
  %1209 = icmp eq i8 %1208, 0
  br i1 %1209, label %false102, label %true101

merge254:                                         ; preds = %true101, %false102
  %_rtP_834 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %1210 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_834, i32 0, i32 1485
  %_rtP__ExtrapBelow_Value_ko = load i8* %1210, align 1
  %1211 = and i8 %_rtP__ExtrapBelow_Value_ko, 1
  %1212 = icmp eq i8 %1211, 0
  br i1 %1212, label %false104, label %true103

merge255:                                         ; preds = %true103, %false104
  %_rtP_840 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %1213 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_840, i32 0, i32 531
  %_rtP__Constant_Value_a1 = load double* %1213, align 1
  %1214 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_840, i32 0, i32 532
  %_rtP__Constant1_Value_ga = load double* %1214, align 1
  %1215 = fcmp oge double %_rtP__Constant_Value_a1, %_rtP__Constant1_Value_ga
  %1216 = zext i1 %1215 to i8
  %_rtB_842 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %1217 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_842, i32 0, i32 673
  store i8 %1216, i8* %1217, align 1
  %_rtP_843 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %1218 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_843, i32 0, i32 1486
  %_rtP__ExtrapAbove_Value_fa = load i8* %1218, align 1
  %1219 = and i8 %_rtP__ExtrapAbove_Value_fa, 1
  %1220 = icmp eq i8 %1219, 0
  br i1 %1220, label %false106, label %true105

merge256:                                         ; preds = %true105, %false106
  %_rtP_849 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %1221 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_849, i32 0, i32 1487
  %_rtP__ExtrapBelow_Value_gy = load i8* %1221, align 1
  %1222 = and i8 %_rtP__ExtrapBelow_Value_gy, 1
  %1223 = icmp eq i8 %1222, 0
  br i1 %1223, label %false108, label %true107

merge257:                                         ; preds = %true107, %false108
  %_rtP_855 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %1224 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_855, i32 0, i32 1488
  %_rtP__ExtrapAbove_Value_bs = load i8* %1224, align 1
  %1225 = and i8 %_rtP__ExtrapAbove_Value_bs, 1
  %1226 = icmp eq i8 %1225, 0
  br i1 %1226, label %false110, label %true109

merge258:                                         ; preds = %true109, %false110
  %_rtP_861 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %1227 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_861, i32 0, i32 1489
  %_rtP__ExtrapBelow_Value_in = load i8* %1227, align 1
  %1228 = and i8 %_rtP__ExtrapBelow_Value_in, 1
  %1229 = icmp eq i8 %1228, 0
  br i1 %1229, label %false112, label %true111

merge259:                                         ; preds = %true111, %false112
  %_rtP_867 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %1230 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_867, i32 0, i32 542
  %_rtP__Constant_Value_dq = load double* %1230, align 1
  %1231 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_867, i32 0, i32 543
  %_rtP__Constant1_Value_jn = load double* %1231, align 1
  %1232 = fcmp oge double %_rtP__Constant_Value_dq, %_rtP__Constant1_Value_jn
  %1233 = zext i1 %1232 to i8
  %_rtB_869 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %1234 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_869, i32 0, i32 674
  store i8 %1233, i8* %1234, align 1
  %_rtP_870 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %1235 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_870, i32 0, i32 544
  %_rtP__Constant_Value_pe = load double* %1235, align 1
  %1236 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_870, i32 0, i32 545
  %_rtP__Constant1_Value_bh = load double* %1236, align 1
  %1237 = fcmp oge double %_rtP__Constant_Value_pe, %_rtP__Constant1_Value_bh
  %1238 = zext i1 %1237 to i8
  %_rtB_872 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %1239 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_872, i32 0, i32 675
  store i8 %1238, i8* %1239, align 1
  %_rtP_873 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %1240 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_873, i32 0, i32 546
  %_rtP__Constant_Value_gz = load double* %1240, align 1
  %1241 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_873, i32 0, i32 547
  %_rtP__Constant1_Value_nt = load double* %1241, align 1
  %1242 = fcmp oge double %_rtP__Constant_Value_gz, %_rtP__Constant1_Value_nt
  %1243 = zext i1 %1242 to i8
  %_rtB_875 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %1244 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_875, i32 0, i32 676
  store i8 %1243, i8* %1244, align 1
  %_rtP_876 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %1245 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_876, i32 0, i32 550
  %_rtP__Constant_Value_c4l = load double* %1245, align 1
  %1246 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_876, i32 0, i32 551
  %_rtP__Constant1_Value_kw = load double* %1246, align 1
  %1247 = fcmp oge double %_rtP__Constant_Value_c4l, %_rtP__Constant1_Value_kw
  %1248 = zext i1 %1247 to i8
  %_rtB_878 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %1249 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_878, i32 0, i32 677
  store i8 %1248, i8* %1249, align 1
  %_rtP_879 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %1250 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_879, i32 0, i32 553
  %_rtP__Constant2_Value_k = load double* %1250, align 1
  %_rtB_880 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %1251 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_880, i32 0, i32 201
  store double %_rtP__Constant2_Value_k, double* %1251, align 1
  %_rtP_881 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %1252 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_881, i32 0, i32 554
  %_rtP__Constant8_Value = load double* %1252, align 1
  %_rtB_882 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %1253 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_882, i32 0, i32 202
  store double %_rtP__Constant8_Value, double* %1253, align 1
  %_rtP_883 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %1254 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_883, i32 0, i32 552
  %_rtP__Constant1_Value_a5 = load double* %1254, align 1
  %1255 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_883, i32 0, i32 558
  %_rtP__Saturation_UpperSat_b = load double* %1255, align 1
  %1256 = fcmp ogt double %_rtP__Constant1_Value_a5, %_rtP__Saturation_UpperSat_b
  br i1 %1256, label %true113, label %false114

merge261:                                         ; preds = %false116, %true115, %true113
  %_rtP_897 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %1257 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_897, i32 0, i32 560
  %_rtP__Constant_Value_j3 = load double* %1257, align 1
  %1258 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_897, i32 0, i32 561
  %_rtP__Constant_Value_kp = load double* %1258, align 1
  %1259 = fcmp oge double %_rtP__Constant_Value_j3, %_rtP__Constant_Value_kp
  %1260 = zext i1 %1259 to i8
  %_rtB_899 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %1261 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_899, i32 0, i32 678
  store i8 %1260, i8* %1261, align 1
  %_rtP_900 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %1262 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_900, i32 0, i32 46
  %_rtP__Constant_Value_e = load double* %1262, align 1
  %1263 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_900, i32 0, i32 47
  %_rtP__Constant_Value_n = load double* %1263, align 1
  %1264 = fcmp oge double %_rtP__Constant_Value_e, %_rtP__Constant_Value_n
  %1265 = zext i1 %1264 to i8
  %_rtB_902 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %1266 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_902, i32 0, i32 858
  store i8 %1265, i8* %1266, align 1
  %_rtP_903 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %1267 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_903, i32 0, i32 48
  %_rtP__Constant_Value_df = load double* %1267, align 1
  %1268 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_903, i32 0, i32 49
  %_rtP__Constant_Value_i = load double* %1268, align 1
  %1269 = fcmp oge double %_rtP__Constant_Value_df, %_rtP__Constant_Value_i
  %1270 = zext i1 %1269 to i8
  %_rtB_905 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %1271 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_905, i32 0, i32 859
  store i8 %1270, i8* %1271, align 1
  br i1 %1124, label %false118, label %true117

merge262:                                         ; preds = %true119, %false118
  %maxV_938 = phi double [ %_rtP__Constant2_Value_n_el, %false118 ], [ %374, %true119 ]
  %i_1753 = phi i32 [ 0, %false118 ], [ %tmp41, %true119 ]
  store i32 %i_1753, i32* %i_, align 1
  %1272 = icmp slt i32 %i_1753, 8
  br i1 %1272, label %true119, label %false120

merge263:                                         ; preds = %true121, %false122
  %_rtP_946 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %1273 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_946, i32 0, i32 1492
  %_rtP__ExtrapBelow_Value_h = load i8* %1273, align 1
  %1274 = and i8 %_rtP__ExtrapBelow_Value_h, 1
  %1275 = icmp eq i8 %1274, 0
  br i1 %1275, label %false124, label %true123

merge264:                                         ; preds = %true123, %false124
  %_rtP_952 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %1276 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_952, i32 0, i32 593
  %_rtP__Constant_Value_oe = load double* %1276, align 1
  %_rtB_953 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %1277 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_953, i32 0, i32 221
  store double %_rtP__Constant_Value_oe, double* %1277, align 1
  %_rtP_954 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %1278 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_954, i32 0, i32 597
  %_rtP__Constant2_Value_p = load double* %1278, align 1
  %_rtB_955 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %1279 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_955, i32 0, i32 222
  store double %_rtP__Constant2_Value_p, double* %1279, align 1
  %rtb_Sum3_957 = load double* %rtb_Sum3_, align 1
  %tmp16 = fadd double %tmp14, %rtb_Sum3_957
  %_rtB_958 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %1280 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_958, i32 0, i32 222
  %_rtB__Constant2_p = load double* %1280, align 1
  %tmp17 = fadd double %tmp16, %_rtB__Constant2_p
  %1281 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_958, i32 0, i32 223
  store double %tmp17, double* %1281, align 1
  %_rtP_960 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %1282 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_960, i32 0, i32 598
  %_rtP__downstreamcompensation_Gain = load double* %1282, align 1
  %_rtB_961 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %1283 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_961, i32 0, i32 223
  %_rtB__Sum2_p = load double* %1283, align 1
  %tmp18 = fmul double %_rtP__downstreamcompensation_Gain, %_rtB__Sum2_p
  %1284 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_961, i32 0, i32 224
  store double %tmp18, double* %1284, align 1
  %_rtP_963 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %1285 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_963, i32 0, i32 608
  %_rtP__activation_speed_radps_Value = load double* %1285, align 1
  %_rtB_964 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %1286 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_964, i32 0, i32 229
  store double %_rtP__activation_speed_radps_Value, double* %1286, align 1
  %_rtP_965 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %1287 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_965, i32 0, i32 612
  %_rtP__Constant_Value_pw = load double* %1287, align 1
  %_rtB_966 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %1288 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_966, i32 0, i32 231
  store double %_rtP__Constant_Value_pw, double* %1288, align 1
  %_rtP_967 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %1289 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_967, i32 0, i32 614
  %_rtP__Constant_Value_cg = load double* %1289, align 1
  %_rtB_968 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %1290 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_968, i32 0, i32 232
  store double %_rtP__Constant_Value_cg, double* %1290, align 1
  %_rtP_969 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %1291 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_969, i32 0, i32 615
  %_rtP__deactivation_speed_radps_Value_f = load double* %1291, align 1
  %_rtB_970 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %1292 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_970, i32 0, i32 233
  store double %_rtP__deactivation_speed_radps_Value_f, double* %1292, align 1
  %_rtP_971 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %1293 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_971, i32 0, i32 616
  %_rtP__softlandingoffsetradps_Value = load double* %1293, align 1
  %_rtB_972 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %1294 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_972, i32 0, i32 235
  store double %_rtP__softlandingoffsetradps_Value, double* %1294, align 1
  %_rtP_973 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %1295 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_973, i32 0, i32 1497
  %_rtP__ExtrapAbove_Value_lff = load i8* %1295, align 1
  %1296 = and i8 %_rtP__ExtrapAbove_Value_lff, 1
  %1297 = icmp eq i8 %1296, 0
  br i1 %1297, label %false126, label %true125

merge265:                                         ; preds = %true125, %false126
  %_rtP_979 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %1298 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_979, i32 0, i32 1498
  %_rtP__ExtrapBelow_Value_mf = load i8* %1298, align 1
  %1299 = and i8 %_rtP__ExtrapBelow_Value_mf, 1
  %1300 = icmp eq i8 %1299, 0
  br i1 %1300, label %false128, label %true127

merge266:                                         ; preds = %true127, %false128
  %_rtP_985 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %1301 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_985, i32 0, i32 645
  %_rtP__Constant_Value_dj = load double* %1301, align 1
  %_rtB_986 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %1302 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_986, i32 0, i32 250
  store double %_rtP__Constant_Value_dj, double* %1302, align 1
  %_rtP_987 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %1303 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_987, i32 0, i32 646
  %_rtP__neg_Gain = load double* %1303, align 1
  %_rtB_988 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %1304 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_988, i32 0, i32 250
  %_rtB__Constant_f = load double* %1304, align 1
  %tmp19 = fmul double %_rtP__neg_Gain, %_rtB__Constant_f
  %1305 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_988, i32 0, i32 251
  store double %tmp19, double* %1305, align 1
  %_rtP_990 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %1306 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_990, i32 0, i32 1499
  %_rtP__ExtrapAbove_Value_ni = load i8* %1306, align 1
  %1307 = and i8 %_rtP__ExtrapAbove_Value_ni, 1
  %1308 = icmp eq i8 %1307, 0
  br i1 %1308, label %false130, label %true129

merge267:                                         ; preds = %true129, %false130
  %_rtP_997 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %1309 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_997, i32 0, i32 1500
  %_rtP__ExtrapBelow_Value_kn = load i8* %1309, align 1
  %1310 = and i8 %_rtP__ExtrapBelow_Value_kn, 1
  %1311 = icmp eq i8 %1310, 0
  br i1 %1311, label %false132, label %true131

merge268:                                         ; preds = %true131, %false132
  %_rtP_1003 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %1312 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_1003, i32 0, i32 1501
  %_rtP__ExtrapAbove_Value_k = load i8* %1312, align 1
  %1313 = and i8 %_rtP__ExtrapAbove_Value_k, 1
  %1314 = icmp eq i8 %1313, 0
  br i1 %1314, label %false134, label %true133

merge269:                                         ; preds = %true133, %false134
  %_rtP_1010 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %1315 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_1010, i32 0, i32 1502
  %_rtP__ExtrapBelow_Value_d = load i8* %1315, align 1
  %1316 = and i8 %_rtP__ExtrapBelow_Value_d, 1
  %1317 = icmp eq i8 %1316, 0
  br i1 %1317, label %false136, label %true135

merge270:                                         ; preds = %true135, %false136
  %_rtP_1016 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %1318 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_1016, i32 0, i32 1503
  %_rtP__ExtrapAbove_Value_hi = load i8* %1318, align 1
  %1319 = and i8 %_rtP__ExtrapAbove_Value_hi, 1
  %1320 = icmp eq i8 %1319, 0
  br i1 %1320, label %false138, label %true137

merge271:                                         ; preds = %true137, %false138
  %_rtP_1023 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %1321 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_1023, i32 0, i32 1504
  %_rtP__ExtrapBelow_Value_mz = load i8* %1321, align 1
  %1322 = and i8 %_rtP__ExtrapBelow_Value_mz, 1
  %1323 = icmp eq i8 %1322, 0
  br i1 %1323, label %false140, label %true139

merge272:                                         ; preds = %true139, %false140
  %_rtP_1029 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %1324 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_1029, i32 0, i32 1505
  %_rtP__ExtrapAbove_Value_aj = load i8* %1324, align 1
  %1325 = and i8 %_rtP__ExtrapAbove_Value_aj, 1
  %1326 = icmp eq i8 %1325, 0
  br i1 %1326, label %false142, label %true141

merge273:                                         ; preds = %true141, %false142
  %_rtP_1036 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %1327 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_1036, i32 0, i32 1506
  %_rtP__ExtrapBelow_Value_e5 = load i8* %1327, align 1
  %1328 = and i8 %_rtP__ExtrapBelow_Value_e5, 1
  %1329 = icmp eq i8 %1328, 0
  br i1 %1329, label %false144, label %true143

merge274:                                         ; preds = %true143, %false144
  %_rtP_1042 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %1330 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_1042, i32 0, i32 1507
  %_rtP__ExtrapAbove_Value_g = load i8* %1330, align 1
  %1331 = and i8 %_rtP__ExtrapAbove_Value_g, 1
  %1332 = icmp eq i8 %1331, 0
  br i1 %1332, label %false146, label %true145

merge275:                                         ; preds = %true145, %false146
  %_rtP_1049 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %1333 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_1049, i32 0, i32 1508
  %_rtP__ExtrapBelow_Value_jj = load i8* %1333, align 1
  %1334 = and i8 %_rtP__ExtrapBelow_Value_jj, 1
  %1335 = icmp eq i8 %1334, 0
  br i1 %1335, label %false148, label %true147

merge276:                                         ; preds = %true147, %false148
  %_rtP_1055 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %1336 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_1055, i32 0, i32 1509
  %_rtP__ExtrapAbove_Value_kz = load i8* %1336, align 1
  %1337 = and i8 %_rtP__ExtrapAbove_Value_kz, 1
  %1338 = icmp eq i8 %1337, 0
  br i1 %1338, label %false150, label %true149

merge277:                                         ; preds = %true149, %false150
  %_rtP_1062 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %1339 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_1062, i32 0, i32 1510
  %_rtP__ExtrapBelow_Value_ir = load i8* %1339, align 1
  %1340 = and i8 %_rtP__ExtrapBelow_Value_ir, 1
  %1341 = icmp eq i8 %1340, 0
  br i1 %1341, label %false152, label %true151

merge278:                                         ; preds = %true151, %false152
  %_rtP_1068 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %1342 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_1068, i32 0, i32 1511
  %_rtP__ExtrapAbove_Value_b5 = load i8* %1342, align 1
  %1343 = and i8 %_rtP__ExtrapAbove_Value_b5, 1
  %1344 = icmp eq i8 %1343, 0
  br i1 %1344, label %false154, label %true153

merge279:                                         ; preds = %true153, %false154
  %storemerge1754.in = phi double* [ %467, %false154 ], [ %463, %true153 ]
  %storemerge1754 = load double* %storemerge1754.in, align 1
  store double %storemerge1754, double* %maxV_, align 1
  %1345 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_1068, i32 0, i32 1512
  %_rtP__ExtrapBelow_Value_c2 = load i8* %1345, align 1
  %1346 = and i8 %_rtP__ExtrapBelow_Value_c2, 1
  %1347 = icmp eq i8 %1346, 0
  %1348 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_1068, i32 0, i32 692, i32 0
  %1349 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_1068, i32 0, i32 694
  %storemerge1755.in = select i1 %1347, double* %1348, double* %1349
  %storemerge1755 = load double* %storemerge1755.in, align 1
  store double %storemerge1755, double* %tmp_, align 1
  %1350 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_1068, i32 0, i32 690
  %_rtP__Constant_Value_bx = load double* %1350, align 1
  %1351 = call double @muDoubleScalarMin(double %_rtP__Constant_Value_bx, double %storemerge1754)
  %1352 = call double @muDoubleScalarMax(double %1351, double %storemerge1755)
  %_rtB_1080 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %1353 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_1080, i32 0, i32 269
  store double %1352, double* %1353, align 1
  %_rtB_1081 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %1354 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_1081, i32 0, i32 221
  %_rtB__Constant_jv = load double* %1354, align 1
  %tmp27 = fdiv double 1.000000e+00, %_rtB__Constant_jv
  %1355 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_1081, i32 0, i32 271
  store double %tmp27, double* %1355, align 1
  %_rtP_1083 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %1356 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_1083, i32 0, i32 1513
  %_rtP__Constant4_Value = load i8* %1356, align 1
  %_rtB_1084 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %1357 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_1084, i32 0, i32 694
  store i8 %_rtP__Constant4_Value, i8* %1357, align 1
  %_rtB_1085 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %1358 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_1085, i32 0, i32 221
  %_rtB__Constant_jv1086 = load double* %1358, align 1
  %tmp28 = fdiv double 1.000000e+00, %_rtB__Constant_jv1086
  %1359 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_1085, i32 0, i32 272
  store double %tmp28, double* %1359, align 1
  %_rtP_1088 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %1360 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_1088, i32 0, i32 701
  %_rtP__engageduration_Value = load double* %1360, align 1
  %_rtB_1089 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %1361 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_1089, i32 0, i32 274
  store double %_rtP__engageduration_Value, double* %1361, align 1
  %_rtP_1090 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %1362 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_1090, i32 0, i32 702
  %_rtP__PumpInertia_Value = load double* %1362, align 1
  %_rtB_1091 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %1363 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_1091, i32 0, i32 275
  store double %_rtP__PumpInertia_Value, double* %1363, align 1
  %_rtB_1092 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %1364 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_1092, i32 0, i32 223
  %_rtB__Sum2_p1093 = load double* %1364, align 1
  %1365 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_1092, i32 0, i32 275
  %_rtB__PumpInertia = load double* %1365, align 1
  %tmp29 = fadd double %_rtB__Sum2_p1093, %_rtB__PumpInertia
  %1366 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_1092, i32 0, i32 276
  store double %tmp29, double* %1366, align 1
  %_rtP_1096 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %1367 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_1096, i32 0, i32 1514
  %_rtP__ExtrapAbove_Value_j3 = load i8* %1367, align 1
  %1368 = and i8 %_rtP__ExtrapAbove_Value_j3, 1
  %1369 = icmp eq i8 %1368, 0
  br i1 %1369, label %false158, label %true157

merge281:                                         ; preds = %true157, %false158
  %_rtP_1103 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %1370 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_1103, i32 0, i32 1515
  %_rtP__ExtrapBelow_Value_pj = load i8* %1370, align 1
  %1371 = and i8 %_rtP__ExtrapBelow_Value_pj, 1
  %1372 = icmp eq i8 %1371, 0
  br i1 %1372, label %false160, label %true159

merge282:                                         ; preds = %true159, %false160
  %_rtP_1109 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %1373 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_1109, i32 0, i32 1516
  %_rtP__ExtrapAbove_Value_l1 = load i8* %1373, align 1
  %1374 = and i8 %_rtP__ExtrapAbove_Value_l1, 1
  %1375 = icmp eq i8 %1374, 0
  br i1 %1375, label %false162, label %true161

merge283:                                         ; preds = %true161, %false162
  %_rtP_1116 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %1376 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_1116, i32 0, i32 1517
  %_rtP__ExtrapBelow_Value_lz = load i8* %1376, align 1
  %1377 = and i8 %_rtP__ExtrapBelow_Value_lz, 1
  %1378 = icmp eq i8 %1377, 0
  br i1 %1378, label %false164, label %true163

merge284:                                         ; preds = %true163, %false164
  %_rtP_1122 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %1379 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_1122, i32 0, i32 1518
  %_rtP__ExtrapAbove_Value_c4 = load i8* %1379, align 1
  %1380 = and i8 %_rtP__ExtrapAbove_Value_c4, 1
  %1381 = icmp eq i8 %1380, 0
  br i1 %1381, label %false166, label %true165

merge285:                                         ; preds = %true165, %false166
  %_rtP_1129 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %1382 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_1129, i32 0, i32 1519
  %_rtP__ExtrapBelow_Value_a5 = load i8* %1382, align 1
  %1383 = and i8 %_rtP__ExtrapBelow_Value_a5, 1
  %1384 = icmp eq i8 %1383, 0
  br i1 %1384, label %false168, label %true167

merge286:                                         ; preds = %true167, %false168
  %_rtP_1135 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %1385 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_1135, i32 0, i32 1520
  %_rtP__ExtrapAbove_Value_lt = load i8* %1385, align 1
  %1386 = and i8 %_rtP__ExtrapAbove_Value_lt, 1
  %1387 = icmp eq i8 %1386, 0
  br i1 %1387, label %false170, label %true169

merge287:                                         ; preds = %true169, %false170
  %storemerge1756.in = phi double* [ %505, %false170 ], [ %501, %true169 ]
  %storemerge1756 = load double* %storemerge1756.in, align 1
  store double %storemerge1756, double* %maxV_, align 1
  %1388 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_1135, i32 0, i32 1521
  %_rtP__ExtrapBelow_Value_hf = load i8* %1388, align 1
  %1389 = and i8 %_rtP__ExtrapBelow_Value_hf, 1
  %1390 = icmp eq i8 %1389, 0
  %1391 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_1135, i32 0, i32 726, i32 0
  %1392 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_1135, i32 0, i32 728
  %storemerge1757.in = select i1 %1390, double* %1391, double* %1392
  %storemerge1757 = load double* %storemerge1757.in, align 1
  store double %storemerge1757, double* %tmp_, align 1
  %1393 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_1135, i32 0, i32 690
  %_rtP__Constant_Value_bx1145 = load double* %1393, align 1
  %1394 = call double @muDoubleScalarMin(double %_rtP__Constant_Value_bx1145, double %storemerge1756)
  %1395 = call double @muDoubleScalarMax(double %1394, double %storemerge1757)
  %_rtB_1148 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %1396 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_1148, i32 0, i32 289
  store double %1395, double* %1396, align 1
  %_rtP_1149 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %1397 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_1149, i32 0, i32 738
  %_rtP__Constant_Value_jm = load double* %1397, align 1
  %_rtB_1150 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %1398 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_1150, i32 0, i32 293
  store double %_rtP__Constant_Value_jm, double* %1398, align 1
  %_rtP_1151 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %1399 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_1151, i32 0, i32 740
  %_rtP__engageduration_Value_k = load double* %1399, align 1
  %_rtB_1152 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %1400 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_1152, i32 0, i32 294
  store double %_rtP__engageduration_Value_k, double* %1400, align 1
  %_rtP_1153 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %1401 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_1153, i32 0, i32 741
  %_rtP__TurbineInertia1_Value = load double* %1401, align 1
  %_rtB_1154 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %1402 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_1154, i32 0, i32 295
  store double %_rtP__TurbineInertia1_Value, double* %1402, align 1
  %_rtP_1155 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %1403 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_1155, i32 0, i32 742
  %_rtP__Constant1_Value_ka = load double* %1403, align 1
  %_rtB_1156 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %1404 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_1156, i32 0, i32 296
  store double %_rtP__Constant1_Value_ka, double* %1404, align 1
  %_rtP_1157 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %1405 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_1157, i32 0, i32 743
  %_rtP__Constant_Value_ie = load double* %1405, align 1
  %_rtB_1158 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %1406 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_1158, i32 0, i32 299
  store double %_rtP__Constant_Value_ie, double* %1406, align 1
  %_rtP_1159 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %1407 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_1159, i32 0, i32 744
  %_rtP__Constant2_Value_i = load double* %1407, align 1
  %_rtB_1160 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %1408 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_1160, i32 0, i32 300
  store double %_rtP__Constant2_Value_i, double* %1408, align 1
  %_rtP_1161 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %1409 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_1161, i32 0, i32 747
  %_rtP__Constant3_Value = load double* %1409, align 1
  %_rtB_1162 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %1410 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_1162, i32 0, i32 301
  store double %_rtP__Constant3_Value, double* %1410, align 1
  %_rtP_1163 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %1411 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_1163, i32 0, i32 748
  %_rtP__Constant1_Value_lh = load double* %1411, align 1
  %_rtB_1164 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %1412 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_1164, i32 0, i32 302
  store double %_rtP__Constant1_Value_lh, double* %1412, align 1
  %_rtP_1165 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %1413 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_1165, i32 0, i32 1522
  %_rtP__ExtrapAbove_Value_cu = load i8* %1413, align 1
  %1414 = and i8 %_rtP__ExtrapAbove_Value_cu, 1
  %1415 = icmp eq i8 %1414, 0
  br i1 %1415, label %false174, label %true173

merge289:                                         ; preds = %true173, %false174
  %_rtP_1171 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %1416 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_1171, i32 0, i32 1523
  %_rtP__ExtrapBelow_Value_b = load i8* %1416, align 1
  %1417 = and i8 %_rtP__ExtrapBelow_Value_b, 1
  %1418 = icmp eq i8 %1417, 0
  br i1 %1418, label %false176, label %true175

merge290:                                         ; preds = %true175, %false176
  %_rtP_1177 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %1419 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_1177, i32 0, i32 756
  %_rtP__Constant3_Value_h = load double* %1419, align 1
  %_rtB_1178 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %1420 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_1178, i32 0, i32 309
  store double %_rtP__Constant3_Value_h, double* %1420, align 1
  %_rtP_1179 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %1421 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_1179, i32 0, i32 758
  %_rtP__Constant_Value_of = load double* %1421, align 1
  %1422 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_1179, i32 0, i32 759
  %_rtP__Constant1_Value_jy = load double* %1422, align 1
  %1423 = fcmp oge double %_rtP__Constant_Value_of, %_rtP__Constant1_Value_jy
  %1424 = zext i1 %1423 to i8
  %_rtB_1181 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %1425 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_1181, i32 0, i32 695
  store i8 %1424, i8* %1425, align 1
  %_rtP_1182 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %1426 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_1182, i32 0, i32 760
  %_rtP__Constant_Value_ku = load double* %1426, align 1
  %1427 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_1182, i32 0, i32 761
  %_rtP__Constant1_Value_ef = load double* %1427, align 1
  %1428 = fcmp oge double %_rtP__Constant_Value_ku, %_rtP__Constant1_Value_ef
  %1429 = zext i1 %1428 to i8
  %_rtB_1184 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %1430 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_1184, i32 0, i32 696
  store i8 %1429, i8* %1430, align 1
  %_rtP_1185 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %1431 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_1185, i32 0, i32 762
  %_rtP__Constant_Value_kf = load double* %1431, align 1
  %1432 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_1185, i32 0, i32 763
  %_rtP__Constant1_Value_f2 = load double* %1432, align 1
  %1433 = fcmp oge double %_rtP__Constant_Value_kf, %_rtP__Constant1_Value_f2
  %1434 = zext i1 %1433 to i8
  %_rtB_1187 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %1435 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_1187, i32 0, i32 697
  store i8 %1434, i8* %1435, align 1
  %_rtB_1188 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %1436 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_1188, i32 0, i32 322, i32 0
  %1437 = bitcast double* %1436 to i8*
  %_rtP_1189 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %1438 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_1189, i32 0, i32 771, i32 0
  %1439 = bitcast double* %1438 to i8*
  %1440 = call i8* @memcpy(i8* %1437, i8* %1439, i32 mul (i32 ptrtoint (double* getelementptr (double* null, i32 1) to i32), i32 9))
  %_rtP_1190 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %1441 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_1190, i32 0, i32 774
  %_rtP__Constant_Value_iox = load double* %1441, align 1
  %1442 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_1190, i32 0, i32 775
  %_rtP__Constant1_Value_pw = load double* %1442, align 1
  %1443 = fcmp oge double %_rtP__Constant_Value_iox, %_rtP__Constant1_Value_pw
  %1444 = zext i1 %1443 to i8
  %_rtB_1192 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %1445 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_1192, i32 0, i32 698
  store i8 %1444, i8* %1445, align 1
  %_rtP_1193 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %1446 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_1193, i32 0, i32 776
  %_rtP__Constant_Value_kf4 = load double* %1446, align 1
  %1447 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_1193, i32 0, i32 777
  %_rtP__Constant1_Value_fi = load double* %1447, align 1
  %1448 = fcmp oge double %_rtP__Constant_Value_kf4, %_rtP__Constant1_Value_fi
  %1449 = zext i1 %1448 to i8
  %_rtB_1195 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %1450 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_1195, i32 0, i32 699
  store i8 %1449, i8* %1450, align 1
  %_rtP_1196 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %1451 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_1196, i32 0, i32 778
  %_rtP__Constant_Value_di = load double* %1451, align 1
  %1452 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_1196, i32 0, i32 779
  %_rtP__Constant1_Value_ob = load double* %1452, align 1
  %1453 = fcmp oge double %_rtP__Constant_Value_di, %_rtP__Constant1_Value_ob
  %1454 = zext i1 %1453 to i8
  %_rtB_1198 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %1455 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_1198, i32 0, i32 700
  store i8 %1454, i8* %1455, align 1
  %_rtP_1199 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %1456 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_1199, i32 0, i32 781
  %_rtP__Constant_Value_he = load double* %1456, align 1
  %1457 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_1199, i32 0, i32 782
  %_rtP__Constant1_Value_hl = load double* %1457, align 1
  %1458 = fcmp oge double %_rtP__Constant_Value_he, %_rtP__Constant1_Value_hl
  %1459 = zext i1 %1458 to i8
  %_rtB_1201 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %1460 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_1201, i32 0, i32 701
  store i8 %1459, i8* %1460, align 1
  %_rtP_1202 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %1461 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_1202, i32 0, i32 786
  %_rtP__Constant_Value_i2 = load double* %1461, align 1
  %1462 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_1202, i32 0, i32 787
  %_rtP__Constant1_Value_bc = load double* %1462, align 1
  %1463 = fcmp oge double %_rtP__Constant_Value_i2, %_rtP__Constant1_Value_bc
  %1464 = zext i1 %1463 to i8
  %_rtB_1204 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %1465 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_1204, i32 0, i32 703
  store i8 %1464, i8* %1465, align 1
  %"%<tSimStruct>_1205" = load i8** %"%<tSimStruct>_", align 1
  call void @vm_ssCallAccelRunBlock(i8* %"%<tSimStruct>_1205", i32 248, i32 1302, i32 104)
  %_rtP_1206 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %1466 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_1206, i32 0, i32 788
  %_rtP__comp_iner_enable1_Value = load double* %1466, align 1
  %_rtB_1207 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %1467 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_1207, i32 0, i32 331
  store double %_rtP__comp_iner_enable1_Value, double* %1467, align 1
  %_rtP_1208 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %1468 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_1208, i32 0, i32 795
  %_rtP__Constant_Value_o0 = load double* %1468, align 1
  %1469 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_1208, i32 0, i32 796
  %_rtP__Constant1_Value_no = load double* %1469, align 1
  %1470 = fcmp oge double %_rtP__Constant_Value_o0, %_rtP__Constant1_Value_no
  %1471 = zext i1 %1470 to i8
  %_rtB_1210 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %1472 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_1210, i32 0, i32 704
  store i8 %1471, i8* %1472, align 1
  br label %merge291

merge291:                                         ; preds = %true177, %merge290
  %i_1748 = phi i32 [ 0, %merge290 ], [ %tmp40, %true177 ]
  store i32 %i_1748, i32* %i_, align 1
  %1473 = icmp slt i32 %i_1748, 9
  br i1 %1473, label %true177, label %false178

merge292:                                         ; preds = %true179, %false178
  %maxV_1214 = phi double [ %_rtB__GearRatios_el, %false178 ], [ %529, %true179 ]
  %i_1730 = phi i32 [ 0, %false178 ], [ %tmp38, %true179 ]
  store i32 %i_1730, i32* %i_, align 1
  %1474 = icmp slt i32 %i_1730, 8
  %_rtB_1727 = load %B_REVS_VM_T.12** %_rtB_, align 1
  br i1 %1474, label %true179, label %false180

merge293:                                         ; preds = %true181, %false180
  %i_1725 = phi i32 [ 0, %false180 ], [ %tmp37, %true181 ]
  store i32 %i_1725, i32* %i_, align 1
  %1475 = icmp slt i32 %i_1725, 9
  br i1 %1475, label %true181, label %false182

merge294:                                         ; preds = %true187, %false190
  %_rtDW__Relay1_Mode = phi i8 [ 1, %true187 ], [ %_rtDW__Relay1_Mode.pre, %false190 ]
  %_rtDW_1399 = phi %DW_REVS_VM_T.16* [ %_rtDW_1398, %true187 ], [ %_rtDW_1399.pre, %false190 ]
  %1476 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_1399, i32 0, i32 1030
  %1477 = and i8 %_rtDW__Relay1_Mode, 1
  %1478 = icmp eq i8 %1477, 0
  %_rtP_1400 = load %P_REVS_VM_T.17** %_rtP_, align 1
  br i1 %1478, label %false192, label %true191

merge295:                                         ; preds = %true191, %false192
  %_rtP_1404 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %1479 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_1404, i32 0, i32 983
  %_rtP__Constant1_Value_ir = load double* %1479, align 1
  %_rtB_1405 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %1480 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_1405, i32 0, i32 412
  store double %_rtP__Constant1_Value_ir, double* %1480, align 1
  %_rtP_1406 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %1481 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_1406, i32 0, i32 986
  %_rtP__Constant_Value_ks0 = load double* %1481, align 1
  %_rtB_1407 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %1482 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_1407, i32 0, i32 414
  store double %_rtP__Constant_Value_ks0, double* %1482, align 1
  %_rtP_1408 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %1483 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_1408, i32 0, i32 987
  %_rtP__transientcorrectionfactor_Value = load double* %1483, align 1
  %1484 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_1408, i32 0, i32 988
  %_rtP__Bias2_Bias = load double* %1484, align 1
  %tmp36 = fadd double %_rtP__transientcorrectionfactor_Value, %_rtP__Bias2_Bias
  %_rtB_1410 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %1485 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_1410, i32 0, i32 415
  store double %tmp36, double* %1485, align 1
  %_rtP_1411 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %1486 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_1411, i32 0, i32 998
  %_rtP__Constant_Value_et = load double* %1486, align 1
  %_rtB_1412 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %1487 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_1412, i32 0, i32 425
  store double %_rtP__Constant_Value_et, double* %1487, align 1
  %_rtP_1413 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %1488 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_1413, i32 0, i32 1002
  %_rtP__Constant_Value_ls = load double* %1488, align 1
  %1489 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_1413, i32 0, i32 1003
  %_rtP__Constant1_Value_gd = load double* %1489, align 1
  %1490 = fcmp oge double %_rtP__Constant_Value_ls, %_rtP__Constant1_Value_gd
  %1491 = zext i1 %1490 to i8
  %_rtB_1415 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %1492 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_1415, i32 0, i32 757
  store i8 %1491, i8* %1492, align 1
  %_rtP_1416 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %1493 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_1416, i32 0, i32 1004
  %_rtP__Constant_Value_al = load double* %1493, align 1
  %1494 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_1416, i32 0, i32 1005
  %_rtP__Constant1_Value_bg = load double* %1494, align 1
  %1495 = fcmp oge double %_rtP__Constant_Value_al, %_rtP__Constant1_Value_bg
  %1496 = zext i1 %1495 to i8
  %_rtB_1418 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %1497 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_1418, i32 0, i32 758
  store i8 %1496, i8* %1497, align 1
  %_rtP_1419 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %1498 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_1419, i32 0, i32 1006
  %_rtP__Constant_Value_nsy = load double* %1498, align 1
  %1499 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_1419, i32 0, i32 1007
  %_rtP__Constant1_Value_hd = load double* %1499, align 1
  %1500 = fcmp oge double %_rtP__Constant_Value_nsy, %_rtP__Constant1_Value_hd
  %1501 = zext i1 %1500 to i8
  %_rtB_1421 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %1502 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_1421, i32 0, i32 759
  store i8 %1501, i8* %1502, align 1
  %_rtP_1422 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %1503 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_1422, i32 0, i32 1008
  %_rtP__Constant_Value_evh = load double* %1503, align 1
  %1504 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_1422, i32 0, i32 1009
  %_rtP__Constant1_Value_b1 = load double* %1504, align 1
  %1505 = fcmp oge double %_rtP__Constant_Value_evh, %_rtP__Constant1_Value_b1
  %1506 = zext i1 %1505 to i8
  %_rtB_1424 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %1507 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_1424, i32 0, i32 760
  store i8 %1506, i8* %1507, align 1
  %_rtP_1425 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %1508 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_1425, i32 0, i32 1011
  %_rtP__Constant_Value_dz = load double* %1508, align 1
  %1509 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_1425, i32 0, i32 1012
  %_rtP__Constant1_Value_ie0 = load double* %1509, align 1
  %1510 = fcmp oge double %_rtP__Constant_Value_dz, %_rtP__Constant1_Value_ie0
  %1511 = zext i1 %1510 to i8
  %_rtB_1427 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %1512 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_1427, i32 0, i32 761
  store i8 %1511, i8* %1512, align 1
  %_rtP_1428 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %1513 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_1428, i32 0, i32 1013
  %_rtP__Constant_Value_lu = load double* %1513, align 1
  %1514 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_1428, i32 0, i32 1014
  %_rtP__Constant1_Value_ai = load double* %1514, align 1
  %1515 = fcmp oge double %_rtP__Constant_Value_lu, %_rtP__Constant1_Value_ai
  %1516 = zext i1 %1515 to i8
  %_rtB_1430 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %1517 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_1430, i32 0, i32 762
  store i8 %1516, i8* %1517, align 1
  %_rtP_1431 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %1518 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_1431, i32 0, i32 1015
  %_rtP__Constant_Value_ly = load double* %1518, align 1
  %1519 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_1431, i32 0, i32 1016
  %_rtP__Constant1_Value_kei = load double* %1519, align 1
  %1520 = fcmp oge double %_rtP__Constant_Value_ly, %_rtP__Constant1_Value_kei
  %1521 = zext i1 %1520 to i8
  %_rtB_1433 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %1522 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_1433, i32 0, i32 763
  store i8 %1521, i8* %1522, align 1
  %_rtP_1434 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %1523 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_1434, i32 0, i32 1017
  %_rtP__Constant_Value_nw = load double* %1523, align 1
  %1524 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_1434, i32 0, i32 1018
  %_rtP__Constant1_Value_ky = load double* %1524, align 1
  %1525 = fcmp oge double %_rtP__Constant_Value_nw, %_rtP__Constant1_Value_ky
  %1526 = zext i1 %1525 to i8
  %_rtB_1436 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %1527 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_1436, i32 0, i32 764
  store i8 %1526, i8* %1527, align 1
  %_rtP_1437 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %1528 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_1437, i32 0, i32 1019
  %_rtP__Constant_Value_bp = load double* %1528, align 1
  %1529 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_1437, i32 0, i32 1020
  %_rtP__Constant1_Value_jp = load double* %1529, align 1
  %1530 = fcmp oge double %_rtP__Constant_Value_bp, %_rtP__Constant1_Value_jp
  %1531 = zext i1 %1530 to i8
  %_rtB_1439 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %1532 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_1439, i32 0, i32 765
  store i8 %1531, i8* %1532, align 1
  %_rtP_1440 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %1533 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_1440, i32 0, i32 1021
  %_rtP__Constant_Value_kl2 = load double* %1533, align 1
  %1534 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_1440, i32 0, i32 1022
  %_rtP__Constant1_Value_p1 = load double* %1534, align 1
  %1535 = fcmp oge double %_rtP__Constant_Value_kl2, %_rtP__Constant1_Value_p1
  %1536 = zext i1 %1535 to i8
  %_rtB_1442 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %1537 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_1442, i32 0, i32 766
  store i8 %1536, i8* %1537, align 1
  %_rtP_1443 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %1538 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_1443, i32 0, i32 1023
  %_rtP__Constant_Value_bc = load double* %1538, align 1
  %1539 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_1443, i32 0, i32 1024
  %_rtP__Constant1_Value_cj = load double* %1539, align 1
  %1540 = fcmp oge double %_rtP__Constant_Value_bc, %_rtP__Constant1_Value_cj
  %1541 = zext i1 %1540 to i8
  %_rtB_1445 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %1542 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_1445, i32 0, i32 767
  store i8 %1541, i8* %1542, align 1
  %_rtP_1446 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %1543 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_1446, i32 0, i32 1025
  %_rtP__Constant_Value_lhs = load double* %1543, align 1
  %1544 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_1446, i32 0, i32 1026
  %_rtP__Constant1_Value_ds = load double* %1544, align 1
  %1545 = fcmp oge double %_rtP__Constant_Value_lhs, %_rtP__Constant1_Value_ds
  %1546 = zext i1 %1545 to i8
  %_rtB_1448 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %1547 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_1448, i32 0, i32 768
  store i8 %1546, i8* %1547, align 1
  %_rtP_1449 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %1548 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_1449, i32 0, i32 1028
  %_rtP__Constant_Value_du = load double* %1548, align 1
  %1549 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_1449, i32 0, i32 1029
  %_rtP__Constant1_Value_hn = load double* %1549, align 1
  %1550 = fcmp oge double %_rtP__Constant_Value_du, %_rtP__Constant1_Value_hn
  %1551 = zext i1 %1550 to i8
  %_rtB_1451 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %1552 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_1451, i32 0, i32 769
  store i8 %1551, i8* %1552, align 1
  %_rtP_1452 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %1553 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_1452, i32 0, i32 1031
  %_rtP__Constant_Value_cr = load double* %1553, align 1
  %1554 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_1452, i32 0, i32 1032
  %_rtP__Constant1_Value_hi = load double* %1554, align 1
  %1555 = fcmp oge double %_rtP__Constant_Value_cr, %_rtP__Constant1_Value_hi
  %1556 = zext i1 %1555 to i8
  %_rtB_1454 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %1557 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_1454, i32 0, i32 770
  store i8 %1556, i8* %1557, align 1
  %_rtP_1455 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %1558 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_1455, i32 0, i32 1034
  %_rtP__Constant_Value_ka = load double* %1558, align 1
  %1559 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_1455, i32 0, i32 1035
  %_rtP__Constant1_Value_p3 = load double* %1559, align 1
  %1560 = fcmp oge double %_rtP__Constant_Value_ka, %_rtP__Constant1_Value_p3
  %1561 = zext i1 %1560 to i8
  %_rtB_1457 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %1562 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_1457, i32 0, i32 771
  store i8 %1561, i8* %1562, align 1
  %_rtP_1458 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %1563 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_1458, i32 0, i32 1036
  %_rtP__Constant_Value_pg = load double* %1563, align 1
  %1564 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_1458, i32 0, i32 1037
  %_rtP__Constant1_Value_h0 = load double* %1564, align 1
  %1565 = fcmp oge double %_rtP__Constant_Value_pg, %_rtP__Constant1_Value_h0
  %1566 = zext i1 %1565 to i8
  %_rtB_1460 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %1567 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_1460, i32 0, i32 772
  store i8 %1566, i8* %1567, align 1
  %_rtP_1461 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %1568 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_1461, i32 0, i32 1038
  %_rtP__Constant_Value_fr = load double* %1568, align 1
  %1569 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_1461, i32 0, i32 1039
  %_rtP__Constant1_Value_nh = load double* %1569, align 1
  %1570 = fcmp oge double %_rtP__Constant_Value_fr, %_rtP__Constant1_Value_nh
  %1571 = zext i1 %1570 to i8
  %_rtB_1463 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %1572 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_1463, i32 0, i32 773
  store i8 %1571, i8* %1572, align 1
  %_rtP_1464 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %1573 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_1464, i32 0, i32 1041
  %_rtP__Constant_Value_dri = load double* %1573, align 1
  %1574 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_1464, i32 0, i32 1042
  %_rtP__Constant1_Value_ph = load double* %1574, align 1
  %1575 = fcmp oge double %_rtP__Constant_Value_dri, %_rtP__Constant1_Value_ph
  %1576 = zext i1 %1575 to i8
  %_rtB_1466 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %1577 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_1466, i32 0, i32 774
  store i8 %1576, i8* %1577, align 1
  %_rtP_1467 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %1578 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_1467, i32 0, i32 1043
  %_rtP__Constant_Value_js0 = load double* %1578, align 1
  %1579 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_1467, i32 0, i32 1044
  %_rtP__Constant1_Value_nv = load double* %1579, align 1
  %1580 = fcmp oge double %_rtP__Constant_Value_js0, %_rtP__Constant1_Value_nv
  %1581 = zext i1 %1580 to i8
  %_rtB_1469 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %1582 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_1469, i32 0, i32 775
  store i8 %1581, i8* %1582, align 1
  %_rtP_1470 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %1583 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_1470, i32 0, i32 1045
  %_rtP__Constant2_Value_l = load double* %1583, align 1
  %_rtB_1471 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %1584 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_1471, i32 0, i32 437
  store double %_rtP__Constant2_Value_l, double* %1584, align 1
  %_rtP_1472 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %1585 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_1472, i32 0, i32 1046
  %_rtP__Constant3_Value_b = load double* %1585, align 1
  %_rtB_1473 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %1586 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_1473, i32 0, i32 438
  store double %_rtP__Constant3_Value_b, double* %1586, align 1
  %_rtP_1474 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %1587 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_1474, i32 0, i32 1047
  %_rtP__Constant_Value_ip = load double* %1587, align 1
  %_rtB_1475 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %1588 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_1475, i32 0, i32 439
  store double %_rtP__Constant_Value_ip, double* %1588, align 1
  %_rtP_1476 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %1589 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_1476, i32 0, i32 1052
  %_rtP__Constant_Value_ih = load double* %1589, align 1
  %_rtB_1477 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %1590 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_1477, i32 0, i32 441
  store double %_rtP__Constant_Value_ih, double* %1590, align 1
  %_rtP_1478 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %1591 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_1478, i32 0, i32 1053
  %_rtP__Constant_Value_dr5 = load double* %1591, align 1
  %1592 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_1478, i32 0, i32 1054
  %_rtP__Constant1_Value_im = load double* %1592, align 1
  %1593 = fcmp oge double %_rtP__Constant_Value_dr5, %_rtP__Constant1_Value_im
  %1594 = zext i1 %1593 to i8
  %_rtB_1480 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %1595 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_1480, i32 0, i32 777
  store i8 %1594, i8* %1595, align 1
  %_rtP_1481 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %1596 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_1481, i32 0, i32 1055
  %_rtP__Constant_Value_ml = load double* %1596, align 1
  %1597 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_1481, i32 0, i32 1056
  %_rtP__Constant1_Value_jv = load double* %1597, align 1
  %1598 = fcmp oge double %_rtP__Constant_Value_ml, %_rtP__Constant1_Value_jv
  %1599 = zext i1 %1598 to i8
  %_rtB_1483 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %1600 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_1483, i32 0, i32 778
  store i8 %1599, i8* %1600, align 1
  %_rtP_1484 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %1601 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_1484, i32 0, i32 1059
  %_rtP__Constant_Value_nr = load double* %1601, align 1
  %1602 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_1484, i32 0, i32 1060
  %_rtP__Constant1_Value_h1 = load double* %1602, align 1
  %1603 = fcmp oge double %_rtP__Constant_Value_nr, %_rtP__Constant1_Value_h1
  %1604 = zext i1 %1603 to i8
  %_rtB_1486 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %1605 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_1486, i32 0, i32 780
  store i8 %1604, i8* %1605, align 1
  %_rtP_1487 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %1606 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_1487, i32 0, i32 1061
  %_rtP__Constant_Value_ig = load double* %1606, align 1
  %1607 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_1487, i32 0, i32 1062
  %_rtP__Constant1_Value_kd = load double* %1607, align 1
  %1608 = fcmp oge double %_rtP__Constant_Value_ig, %_rtP__Constant1_Value_kd
  %1609 = zext i1 %1608 to i8
  %_rtB_1489 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %1610 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_1489, i32 0, i32 781
  store i8 %1609, i8* %1610, align 1
  %_rtP_1490 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %1611 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_1490, i32 0, i32 1065
  %_rtP__Constant_Value_gsz = load double* %1611, align 1
  %1612 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_1490, i32 0, i32 1066
  %_rtP__Constant1_Value_kud = load double* %1612, align 1
  %1613 = fcmp oge double %_rtP__Constant_Value_gsz, %_rtP__Constant1_Value_kud
  %1614 = zext i1 %1613 to i8
  %_rtB_1492 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %1615 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_1492, i32 0, i32 783
  store i8 %1614, i8* %1615, align 1
  %_rtP_1493 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %1616 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_1493, i32 0, i32 1067
  %_rtP__Constant_Value_acs = load double* %1616, align 1
  %1617 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_1493, i32 0, i32 1068
  %_rtP__Constant1_Value_dm = load double* %1617, align 1
  %1618 = fcmp oge double %_rtP__Constant_Value_acs, %_rtP__Constant1_Value_dm
  %1619 = zext i1 %1618 to i8
  %_rtB_1495 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %1620 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_1495, i32 0, i32 784
  store i8 %1619, i8* %1620, align 1
  %_rtP_1496 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %1621 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_1496, i32 0, i32 1069
  %_rtP__Constant_Value_lq = load double* %1621, align 1
  %1622 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_1496, i32 0, i32 1070
  %_rtP__Constant1_Value_imd = load double* %1622, align 1
  %1623 = fcmp oge double %_rtP__Constant_Value_lq, %_rtP__Constant1_Value_imd
  %1624 = zext i1 %1623 to i8
  %_rtB_1498 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %1625 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_1498, i32 0, i32 785
  store i8 %1624, i8* %1625, align 1
  %_rtP_1499 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %1626 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_1499, i32 0, i32 1071
  %_rtP__Constant_Value_mm = load double* %1626, align 1
  %1627 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_1499, i32 0, i32 1072
  %_rtP__Constant1_Value_mv = load double* %1627, align 1
  %1628 = fcmp oge double %_rtP__Constant_Value_mm, %_rtP__Constant1_Value_mv
  %1629 = zext i1 %1628 to i8
  %_rtB_1501 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %1630 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_1501, i32 0, i32 786
  store i8 %1629, i8* %1630, align 1
  %_rtP_1502 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %1631 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_1502, i32 0, i32 1077
  %_rtP__Constant_Value_ob = load double* %1631, align 1
  %1632 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_1502, i32 0, i32 1078
  %_rtP__Constant1_Value_hb = load double* %1632, align 1
  %1633 = fcmp oge double %_rtP__Constant_Value_ob, %_rtP__Constant1_Value_hb
  %1634 = zext i1 %1633 to i8
  %_rtB_1504 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %1635 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_1504, i32 0, i32 787
  store i8 %1634, i8* %1635, align 1
  %_rtP_1505 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %1636 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_1505, i32 0, i32 1079
  %_rtP__Constant_Value_nk = load double* %1636, align 1
  %_rtB_1506 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %1637 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_1506, i32 0, i32 449
  store double %_rtP__Constant_Value_nk, double* %1637, align 1
  %_rtP_1507 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %1638 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_1507, i32 0, i32 1080
  %_rtP__Constant1_Value_jj = load double* %1638, align 1
  %_rtB_1508 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %1639 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_1508, i32 0, i32 450
  store double %_rtP__Constant1_Value_jj, double* %1639, align 1
  %_rtP_1509 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %1640 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_1509, i32 0, i32 1082
  %_rtP__Constant_Value_ob4 = load double* %1640, align 1
  %_rtB_1510 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %1641 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_1510, i32 0, i32 452
  store double %_rtP__Constant_Value_ob4, double* %1641, align 1
  %_rtP_1511 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %1642 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_1511, i32 0, i32 1083
  %_rtP__Constant_Value_gw = load double* %1642, align 1
  %1643 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_1511, i32 0, i32 1084
  %_rtP__Constant1_Value_kf = load double* %1643, align 1
  %1644 = fcmp oge double %_rtP__Constant_Value_gw, %_rtP__Constant1_Value_kf
  %1645 = zext i1 %1644 to i8
  %_rtB_1513 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %1646 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_1513, i32 0, i32 788
  store i8 %1645, i8* %1646, align 1
  %_rtP_1514 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %1647 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_1514, i32 0, i32 1085
  %_rtP__Constant_Value_n4e = load double* %1647, align 1
  %1648 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_1514, i32 0, i32 1086
  %_rtP__Constant1_Value_o2 = load double* %1648, align 1
  %1649 = fcmp oge double %_rtP__Constant_Value_n4e, %_rtP__Constant1_Value_o2
  %1650 = zext i1 %1649 to i8
  %_rtB_1516 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %1651 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_1516, i32 0, i32 789
  store i8 %1650, i8* %1651, align 1
  %_rtP_1517 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %1652 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_1517, i32 0, i32 1087
  %_rtP__Constant_Value_mt = load double* %1652, align 1
  %1653 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_1517, i32 0, i32 1088
  %_rtP__Constant1_Value_faa = load double* %1653, align 1
  %1654 = fcmp oge double %_rtP__Constant_Value_mt, %_rtP__Constant1_Value_faa
  %1655 = zext i1 %1654 to i8
  %_rtB_1519 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %1656 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_1519, i32 0, i32 790
  store i8 %1655, i8* %1656, align 1
  %_rtP_1520 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %1657 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_1520, i32 0, i32 1089
  %_rtP__Constant_Value_blm = load double* %1657, align 1
  %1658 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_1520, i32 0, i32 1090
  %_rtP__Constant1_Value_jg = load double* %1658, align 1
  %1659 = fcmp oge double %_rtP__Constant_Value_blm, %_rtP__Constant1_Value_jg
  %1660 = zext i1 %1659 to i8
  %_rtB_1522 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %1661 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_1522, i32 0, i32 791
  store i8 %1660, i8* %1661, align 1
  %_rtP_1523 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %1662 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_1523, i32 0, i32 1091
  %_rtP__Constant_Value_bfc = load double* %1662, align 1
  %1663 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_1523, i32 0, i32 1092
  %_rtP__Constant1_Value_ad = load double* %1663, align 1
  %1664 = fcmp oge double %_rtP__Constant_Value_bfc, %_rtP__Constant1_Value_ad
  %1665 = zext i1 %1664 to i8
  %_rtB_1525 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %1666 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_1525, i32 0, i32 792
  store i8 %1665, i8* %1666, align 1
  %_rtP_1526 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %1667 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_1526, i32 0, i32 1093
  %_rtP__Constant_Value_bgn = load double* %1667, align 1
  %1668 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_1526, i32 0, i32 1094
  %_rtP__Constant1_Value_nb = load double* %1668, align 1
  %1669 = fcmp oge double %_rtP__Constant_Value_bgn, %_rtP__Constant1_Value_nb
  %1670 = zext i1 %1669 to i8
  %_rtB_1528 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %1671 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_1528, i32 0, i32 793
  store i8 %1670, i8* %1671, align 1
  %_rtP_1529 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %1672 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_1529, i32 0, i32 1095
  %_rtP__Constant_Value_dy = load double* %1672, align 1
  %1673 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_1529, i32 0, i32 1096
  %_rtP__Constant1_Value_ei = load double* %1673, align 1
  %1674 = fcmp oge double %_rtP__Constant_Value_dy, %_rtP__Constant1_Value_ei
  %1675 = zext i1 %1674 to i8
  %_rtB_1531 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %1676 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_1531, i32 0, i32 794
  store i8 %1675, i8* %1676, align 1
  %_rtP_1532 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %1677 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_1532, i32 0, i32 1098
  %_rtP__Constant_Value_ep3 = load double* %1677, align 1
  %1678 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_1532, i32 0, i32 1099
  %_rtP__Constant1_Value_p4 = load double* %1678, align 1
  %1679 = fcmp oge double %_rtP__Constant_Value_ep3, %_rtP__Constant1_Value_p4
  %1680 = zext i1 %1679 to i8
  %_rtB_1534 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %1681 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_1534, i32 0, i32 795
  store i8 %1680, i8* %1681, align 1
  %_rtP_1535 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %1682 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_1535, i32 0, i32 1100
  %_rtP__Constant_Value_oc = load double* %1682, align 1
  %1683 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_1535, i32 0, i32 1101
  %_rtP__Constant1_Value_mw = load double* %1683, align 1
  %1684 = fcmp oge double %_rtP__Constant_Value_oc, %_rtP__Constant1_Value_mw
  %1685 = zext i1 %1684 to i8
  %_rtB_1537 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %1686 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_1537, i32 0, i32 796
  store i8 %1685, i8* %1686, align 1
  %_rtP_1538 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %1687 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_1538, i32 0, i32 1102
  %_rtP__Constant_Value_hi = load double* %1687, align 1
  %1688 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_1538, i32 0, i32 1103
  %_rtP__Constant1_Value_cp0 = load double* %1688, align 1
  %1689 = fcmp oge double %_rtP__Constant_Value_hi, %_rtP__Constant1_Value_cp0
  %1690 = zext i1 %1689 to i8
  %_rtB_1540 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %1691 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_1540, i32 0, i32 797
  store i8 %1690, i8* %1691, align 1
  %_rtP_1541 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %1692 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_1541, i32 0, i32 1106
  %_rtP__Constant_Value_cee = load double* %1692, align 1
  %1693 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_1541, i32 0, i32 1107
  %_rtP__Constant1_Value_hp = load double* %1693, align 1
  %1694 = fcmp oge double %_rtP__Constant_Value_cee, %_rtP__Constant1_Value_hp
  %1695 = zext i1 %1694 to i8
  %_rtB_1543 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %1696 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_1543, i32 0, i32 798
  store i8 %1695, i8* %1696, align 1
  %_rtP_1544 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %1697 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_1544, i32 0, i32 1108
  %_rtP__Constant_Value_mi = load double* %1697, align 1
  %1698 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_1544, i32 0, i32 1109
  %_rtP__Constant1_Value_cq = load double* %1698, align 1
  %1699 = fcmp oge double %_rtP__Constant_Value_mi, %_rtP__Constant1_Value_cq
  %1700 = zext i1 %1699 to i8
  %_rtB_1546 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %1701 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_1546, i32 0, i32 799
  store i8 %1700, i8* %1701, align 1
  %_rtP_1547 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %1702 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_1547, i32 0, i32 1110
  %_rtP__Constant_Value_mr = load double* %1702, align 1
  %1703 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_1547, i32 0, i32 1111
  %_rtP__Constant1_Value_opr = load double* %1703, align 1
  %1704 = fcmp oge double %_rtP__Constant_Value_mr, %_rtP__Constant1_Value_opr
  %1705 = zext i1 %1704 to i8
  %_rtB_1549 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %1706 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_1549, i32 0, i32 800
  store i8 %1705, i8* %1706, align 1
  %_rtP_1550 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %1707 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_1550, i32 0, i32 1114
  %_rtP__Constant_Value_fco = load double* %1707, align 1
  %1708 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_1550, i32 0, i32 1115
  %_rtP__Constant1_Value_br = load double* %1708, align 1
  %1709 = fcmp oge double %_rtP__Constant_Value_fco, %_rtP__Constant1_Value_br
  %1710 = zext i1 %1709 to i8
  %_rtB_1552 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %1711 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_1552, i32 0, i32 801
  store i8 %1710, i8* %1711, align 1
  %_rtP_1553 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %1712 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_1553, i32 0, i32 1116
  %_rtP__Constant_Value_hw = load double* %1712, align 1
  %1713 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_1553, i32 0, i32 1117
  %_rtP__Constant1_Value_bg5 = load double* %1713, align 1
  %1714 = fcmp oge double %_rtP__Constant_Value_hw, %_rtP__Constant1_Value_bg5
  %1715 = zext i1 %1714 to i8
  %_rtB_1555 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %1716 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_1555, i32 0, i32 802
  store i8 %1715, i8* %1716, align 1
  %_rtP_1556 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %1717 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_1556, i32 0, i32 1120
  %_rtP__Constant_Value_bo = load double* %1717, align 1
  %1718 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_1556, i32 0, i32 1121
  %_rtP__Constant1_Value_m3 = load double* %1718, align 1
  %1719 = fcmp oge double %_rtP__Constant_Value_bo, %_rtP__Constant1_Value_m3
  %1720 = zext i1 %1719 to i8
  %_rtB_1558 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %1721 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_1558, i32 0, i32 803
  store i8 %1720, i8* %1721, align 1
  %_rtP_1559 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %1722 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_1559, i32 0, i32 1180
  %_rtP__Constant_Value_hwu = load double* %1722, align 1
  %1723 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_1559, i32 0, i32 1181
  %_rtP__Constant1_Value_in = load double* %1723, align 1
  %1724 = fcmp oge double %_rtP__Constant_Value_hwu, %_rtP__Constant1_Value_in
  %1725 = zext i1 %1724 to i8
  %_rtB_1561 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %1726 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_1561, i32 0, i32 816
  store i8 %1725, i8* %1726, align 1
  %_rtP_1562 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %1727 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_1562, i32 0, i32 1182
  %_rtP__Constant_Value_hav = load double* %1727, align 1
  %_rtB_1563 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %1728 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_1563, i32 0, i32 496
  store double %_rtP__Constant_Value_hav, double* %1728, align 1
  %_rtP_1564 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %1729 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_1564, i32 0, i32 1532
  %_rtP__Constant_Value_cog = load i8* %1729, align 1
  %_rtB_1565 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %1730 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_1565, i32 0, i32 817
  store i8 %_rtP__Constant_Value_cog, i8* %1730, align 1
  %_rtP_1566 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %1731 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_1566, i32 0, i32 1186
  %_rtP__Constant_Value_n4m = load double* %1731, align 1
  %_rtB_1567 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %1732 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_1567, i32 0, i32 499
  store double %_rtP__Constant_Value_n4m, double* %1732, align 1
  %_rtP_1568 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %1733 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_1568, i32 0, i32 1189
  %_rtP__Constant_Value_bp3 = load double* %1733, align 1
  %_rtB_1569 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %1734 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_1569, i32 0, i32 502
  store double %_rtP__Constant_Value_bp3, double* %1734, align 1
  %_rtP_1570 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %1735 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_1570, i32 0, i32 1533
  %_rtP__enabledistancecompensation_Value = load i8* %1735, align 1
  %_rtB_1571 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %1736 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_1571, i32 0, i32 818
  store i8 %_rtP__enabledistancecompensation_Value, i8* %1736, align 1
  %_rtP_1572 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %1737 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_1572, i32 0, i32 1534
  %_rtP__enablelatebraking_Value = load i8* %1737, align 1
  %_rtB_1573 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %1738 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_1573, i32 0, i32 819
  store i8 %_rtP__enablelatebraking_Value, i8* %1738, align 1
  %_rtP_1574 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %1739 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_1574, i32 0, i32 1199
  %_rtP__Constant_Value_ic = load double* %1739, align 1
  %_rtB_1575 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %1740 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_1575, i32 0, i32 506
  store double %_rtP__Constant_Value_ic, double* %1740, align 1
  %_rtP_1576 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %1741 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_1576, i32 0, i32 1209
  %_rtP__Constant_Value_d01 = load double* %1741, align 1
  %1742 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_1576, i32 0, i32 1210
  %_rtP__Constant1_Value_pih = load double* %1742, align 1
  %1743 = fcmp oge double %_rtP__Constant_Value_d01, %_rtP__Constant1_Value_pih
  %1744 = zext i1 %1743 to i8
  %_rtB_1578 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %1745 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_1578, i32 0, i32 821
  store i8 %1744, i8* %1745, align 1
  %_rtP_1579 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %1746 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_1579, i32 0, i32 1215
  %_rtP__Constant_Value_jb = load double* %1746, align 1
  %1747 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_1579, i32 0, i32 1216
  %_rtP__Constant1_Value_iq = load double* %1747, align 1
  %1748 = fcmp oge double %_rtP__Constant_Value_jb, %_rtP__Constant1_Value_iq
  %1749 = zext i1 %1748 to i8
  %_rtB_1581 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %1750 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_1581, i32 0, i32 822
  store i8 %1749, i8* %1750, align 1
  %_rtP_1582 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %1751 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_1582, i32 0, i32 1219
  %_rtP__startanticipatesecs_Value = load double* %1751, align 1
  %_rtB_1583 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %1752 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_1583, i32 0, i32 513
  store double %_rtP__startanticipatesecs_Value, double* %1752, align 1
  %_rtP_1584 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %1753 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_1584, i32 0, i32 1223
  %_rtP__Constant_Value_hr = load double* %1753, align 1
  %1754 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_1584, i32 0, i32 1224
  %_rtP__Constant1_Value_eh = load double* %1754, align 1
  %1755 = fcmp oge double %_rtP__Constant_Value_hr, %_rtP__Constant1_Value_eh
  %1756 = zext i1 %1755 to i8
  %_rtB_1586 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %1757 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_1586, i32 0, i32 824
  store i8 %1756, i8* %1757, align 1
  %_rtP_1587 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %1758 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_1587, i32 0, i32 1225
  %_rtP__Constant_Value_m2 = load double* %1758, align 1
  %1759 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_1587, i32 0, i32 1226
  %_rtP__Constant1_Value_oo = load double* %1759, align 1
  %1760 = fcmp oge double %_rtP__Constant_Value_m2, %_rtP__Constant1_Value_oo
  %1761 = zext i1 %1760 to i8
  %_rtB_1589 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %1762 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_1589, i32 0, i32 825
  store i8 %1761, i8* %1762, align 1
  %_rtP_1590 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %1763 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_1590, i32 0, i32 1227
  %_rtP__Constant_Value_el4 = load double* %1763, align 1
  %1764 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_1590, i32 0, i32 1228
  %_rtP__Constant1_Value_go = load double* %1764, align 1
  %1765 = fcmp oge double %_rtP__Constant_Value_el4, %_rtP__Constant1_Value_go
  %1766 = zext i1 %1765 to i8
  %_rtB_1592 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %1767 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_1592, i32 0, i32 826
  store i8 %1766, i8* %1767, align 1
  %_rtP_1593 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %1768 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_1593, i32 0, i32 1229
  %_rtP__Constant_Value_mgs = load double* %1768, align 1
  %1769 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_1593, i32 0, i32 1230
  %_rtP__Constant1_Value_ks = load double* %1769, align 1
  %1770 = fcmp oge double %_rtP__Constant_Value_mgs, %_rtP__Constant1_Value_ks
  %1771 = zext i1 %1770 to i8
  %_rtB_1595 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %1772 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_1595, i32 0, i32 827
  store i8 %1771, i8* %1772, align 1
  %_rtP_1596 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %1773 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_1596, i32 0, i32 1231
  %_rtP__Constant_Value_fju = load double* %1773, align 1
  %1774 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_1596, i32 0, i32 1232
  %_rtP__Constant1_Value_dq = load double* %1774, align 1
  %1775 = fcmp oge double %_rtP__Constant_Value_fju, %_rtP__Constant1_Value_dq
  %1776 = zext i1 %1775 to i8
  %_rtB_1598 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %1777 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_1598, i32 0, i32 828
  store i8 %1776, i8* %1777, align 1
  %_rtP_1599 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %1778 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_1599, i32 0, i32 1235
  %_rtP__Constant_Value_ej = load double* %1778, align 1
  %_rtB_1600 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %1779 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_1600, i32 0, i32 516
  store double %_rtP__Constant_Value_ej, double* %1779, align 1
  %_rtP_1601 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %1780 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_1601, i32 0, i32 1236
  %_rtP__Constant_Value_mt0 = load double* %1780, align 1
  %_rtB_1602 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %1781 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_1602, i32 0, i32 519
  store double %_rtP__Constant_Value_mt0, double* %1781, align 1
  %_rtP_1603 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %1782 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_1603, i32 0, i32 1237
  %_rtP__Constant_Value_az5 = load double* %1782, align 1
  %_rtB_1604 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %1783 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_1604, i32 0, i32 520
  store double %_rtP__Constant_Value_az5, double* %1783, align 1
  %_rtP_1605 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %1784 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_1605, i32 0, i32 1238
  %_rtP__Constant_Value_au = load double* %1784, align 1
  %_rtB_1606 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %1785 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_1606, i32 0, i32 521
  store double %_rtP__Constant_Value_au, double* %1785, align 1
  %_rtP_1607 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %1786 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_1607, i32 0, i32 1239
  %_rtP__Constant_Value_ew = load double* %1786, align 1
  %_rtB_1608 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %1787 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_1608, i32 0, i32 522
  store double %_rtP__Constant_Value_ew, double* %1787, align 1
  %_rtP_1609 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %1788 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_1609, i32 0, i32 1240
  %_rtP__unity_Value = load double* %1788, align 1
  %_rtB_1610 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %1789 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_1610, i32 0, i32 524
  store double %_rtP__unity_Value, double* %1789, align 1
  %_rtP_1611 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %1790 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_1611, i32 0, i32 1243
  %_rtP__Constant_Value_fh = load double* %1790, align 1
  %_rtB_1612 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %1791 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_1612, i32 0, i32 525
  store double %_rtP__Constant_Value_fh, double* %1791, align 1
  %_rtP_1613 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %1792 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_1613, i32 0, i32 1535
  %_rtP__enabledistancecompensation_Value_i = load i8* %1792, align 1
  %_rtB_1614 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %1793 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_1614, i32 0, i32 831
  store i8 %_rtP__enabledistancecompensation_Value_i, i8* %1793, align 1
  %_rtP_1615 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %1794 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_1615, i32 0, i32 1244
  %_rtP__Constant_Value_oj = load double* %1794, align 1
  %_rtB_1616 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %1795 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_1616, i32 0, i32 527
  store double %_rtP__Constant_Value_oj, double* %1795, align 1
  %_rtP_1617 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %1796 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_1617, i32 0, i32 1246
  %_rtP__Constant_Value_gxz = load double* %1796, align 1
  %_rtB_1618 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %1797 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_1618, i32 0, i32 529
  store double %_rtP__Constant_Value_gxz, double* %1797, align 1
  %_rtP_1619 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %1798 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_1619, i32 0, i32 1247
  %_rtP__Constant_Value_kfo = load double* %1798, align 1
  %_rtB_1620 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %1799 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_1620, i32 0, i32 530
  store double %_rtP__Constant_Value_kfo, double* %1799, align 1
  %_rtP_1621 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %1800 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_1621, i32 0, i32 1248
  %_rtP__Constant_Value_k2 = load double* %1800, align 1
  %_rtB_1622 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %1801 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_1622, i32 0, i32 531
  store double %_rtP__Constant_Value_k2, double* %1801, align 1
  %_rtP_1623 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %1802 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_1623, i32 0, i32 1249
  %_rtP__Constant_Value_kfm = load double* %1802, align 1
  %1803 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_1623, i32 0, i32 1250
  %_rtP__Constant1_Value_ow = load double* %1803, align 1
  %1804 = fcmp oge double %_rtP__Constant_Value_kfm, %_rtP__Constant1_Value_ow
  %1805 = zext i1 %1804 to i8
  %_rtB_1625 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %1806 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_1625, i32 0, i32 835
  store i8 %1805, i8* %1806, align 1
  %_rtP_1626 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %1807 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_1626, i32 0, i32 1251
  %_rtP__Constant_Value_i2t = load double* %1807, align 1
  %1808 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_1626, i32 0, i32 1252
  %_rtP__Constant1_Value_inx = load double* %1808, align 1
  %1809 = fcmp oge double %_rtP__Constant_Value_i2t, %_rtP__Constant1_Value_inx
  %1810 = zext i1 %1809 to i8
  %_rtB_1628 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %1811 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_1628, i32 0, i32 836
  store i8 %1810, i8* %1811, align 1
  %_rtP_1629 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %1812 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_1629, i32 0, i32 1257
  %_rtP__Constant_Value_ikb = load double* %1812, align 1
  %_rtB_1630 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %1813 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_1630, i32 0, i32 537
  store double %_rtP__Constant_Value_ikb, double* %1813, align 1
  %_rtP_1631 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %1814 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_1631, i32 0, i32 1261
  %_rtP__GravitationalAccelerationmsec2_Value = load double* %1814, align 1
  %_rtB_1632 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %1815 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_1632, i32 0, i32 539
  store double %_rtP__GravitationalAccelerationmsec2_Value, double* %1815, align 1
  %_rtP_1633 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %1816 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_1633, i32 0, i32 1536
  %_rtP__ExtrapAbove_Value_dz = load i8* %1816, align 1
  %1817 = and i8 %_rtP__ExtrapAbove_Value_dz, 1
  %1818 = icmp eq i8 %1817, 0
  br i1 %1818, label %false194, label %true193

merge296:                                         ; preds = %true193, %false194
  %_rtP_1639 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %1819 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_1639, i32 0, i32 1537
  %_rtP__ExtrapBelow_Value_n4 = load i8* %1819, align 1
  %1820 = and i8 %_rtP__ExtrapBelow_Value_n4, 1
  %1821 = icmp eq i8 %1820, 0
  br i1 %1821, label %false196, label %true195

merge297:                                         ; preds = %true195, %false196
  %_rtP_1645 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %1822 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_1645, i32 0, i32 1268
  %_rtP__StaticVehicleMasskg_Value_p = load double* %1822, align 1
  %_rtB_1646 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %1823 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_1646, i32 0, i32 542
  store double %_rtP__StaticVehicleMasskg_Value_p, double* %1823, align 1
  %_rtP_1647 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %1824 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_1647, i32 0, i32 1270
  %_rtP__Constant_Value_hn0 = load double* %1824, align 1
  %1825 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_1647, i32 0, i32 1271
  %_rtP__Constant_Value_hg = load double* %1825, align 1
  %1826 = fcmp oge double %_rtP__Constant_Value_hn0, %_rtP__Constant_Value_hg
  %1827 = zext i1 %1826 to i8
  %_rtB_1649 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %1828 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_1649, i32 0, i32 837
  store i8 %1827, i8* %1828, align 1
  %_rtP_1650 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %1829 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_1650, i32 0, i32 1538
  %_rtP__ExtrapAbove_Value_dd = load i8* %1829, align 1
  %1830 = and i8 %_rtP__ExtrapAbove_Value_dd, 1
  %1831 = icmp eq i8 %1830, 0
  br i1 %1831, label %false198, label %true197

merge298:                                         ; preds = %true197, %false198
  %_rtP_1656 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %1832 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_1656, i32 0, i32 1539
  %_rtP__ExtrapBelow_Value_fl = load i8* %1832, align 1
  %1833 = and i8 %_rtP__ExtrapBelow_Value_fl, 1
  %1834 = icmp eq i8 %1833, 0
  br i1 %1834, label %false200, label %true199

merge299:                                         ; preds = %true199, %false200
  %_rtP_1662 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %1835 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_1662, i32 0, i32 1278
  %_rtP__StaticVehicleMasskg_Value_m = load double* %1835, align 1
  %_rtB_1663 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %1836 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_1663, i32 0, i32 546
  store double %_rtP__StaticVehicleMasskg_Value_m, double* %1836, align 1
  %_rtP_1664 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %1837 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_1664, i32 0, i32 1279
  %_rtP__CoastdownCoefficientA_Value = load double* %1837, align 1
  %_rtB_1665 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %1838 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_1665, i32 0, i32 547
  store double %_rtP__CoastdownCoefficientA_Value, double* %1838, align 1
  %_rtP_1666 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %1839 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_1666, i32 0, i32 1280
  %_rtP__CoastdownCoefficientB_Value = load double* %1839, align 1
  %_rtB_1667 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %1840 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_1667, i32 0, i32 549
  store double %_rtP__CoastdownCoefficientB_Value, double* %1840, align 1
  %_rtP_1668 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %1841 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_1668, i32 0, i32 1281
  %_rtP__CoastdownCoefficientC_Value = load double* %1841, align 1
  %_rtB_1669 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %1842 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_1669, i32 0, i32 550
  store double %_rtP__CoastdownCoefficientC_Value, double* %1842, align 1
  %_rtP_1670 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %1843 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_1670, i32 0, i32 1540
  %_rtP__const_Value_b = load i8* %1843, align 1
  %_rtB_1671 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %1844 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_1671, i32 0, i32 838
  store i8 %_rtP__const_Value_b, i8* %1844, align 1
  %_rtP_1672 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %1845 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_1672, i32 0, i32 1285
  %_rtP__Constant_Value_pv0 = load double* %1845, align 1
  %1846 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_1672, i32 0, i32 1286
  %_rtP__Constant_Value_lx = load double* %1846, align 1
  %1847 = fcmp oge double %_rtP__Constant_Value_pv0, %_rtP__Constant_Value_lx
  %1848 = zext i1 %1847 to i8
  %_rtB_1674 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %1849 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_1674, i32 0, i32 839
  store i8 %1848, i8* %1849, align 1
  %_rtP_1675 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %1850 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_1675, i32 0, i32 1287
  %_rtP__zero_Value_gs = load double* %1850, align 1
  %_rtB_1676 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %1851 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_1676, i32 0, i32 552
  store double %_rtP__zero_Value_gs, double* %1851, align 1
  %_rtP_1677 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %1852 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_1677, i32 0, i32 1288
  %_rtP__Constant_Value_ba = load double* %1852, align 1
  %1853 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_1677, i32 0, i32 1289
  %_rtP__Constant_Value_nrm = load double* %1853, align 1
  %1854 = fcmp oge double %_rtP__Constant_Value_ba, %_rtP__Constant_Value_nrm
  %1855 = zext i1 %1854 to i8
  %_rtB_1679 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %1856 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_1679, i32 0, i32 840
  store i8 %1855, i8* %1856, align 1
  %_rtP_1680 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %1857 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_1680, i32 0, i32 1540
  %_rtP__const_Value_b1681 = load i8* %1857, align 1
  %1858 = and i8 %_rtP__const_Value_b1681, 1
  %1859 = xor i8 %1858, 1
  %_rtB_1682 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %1860 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_1682, i32 0, i32 841
  store i8 %1859, i8* %1860, align 1
  %_rtP_1683 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %1861 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_1683, i32 0, i32 1291
  %_rtP__AirDensitykgm3_Value = load double* %1861, align 1
  %_rtB_1684 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %1862 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_1684, i32 0, i32 553
  store double %_rtP__AirDensitykgm3_Value, double* %1862, align 1
  %_rtP_1685 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %1863 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_1685, i32 0, i32 1292
  %_rtP__FrontalAream2_Value = load double* %1863, align 1
  %_rtB_1686 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %1864 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_1686, i32 0, i32 554
  store double %_rtP__FrontalAream2_Value, double* %1864, align 1
  %_rtP_1687 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %1865 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_1687, i32 0, i32 1293
  %_rtP__DragCoefficient_Value = load double* %1865, align 1
  %_rtB_1688 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %1866 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_1688, i32 0, i32 555
  store double %_rtP__DragCoefficient_Value, double* %1866, align 1
  %_rtP_1689 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %1867 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_1689, i32 0, i32 1295
  %_rtP__Constant_Value_pq = load double* %1867, align 1
  %1868 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_1689, i32 0, i32 1296
  %_rtP__Constant_Value_gk = load double* %1868, align 1
  %1869 = fcmp oge double %_rtP__Constant_Value_pq, %_rtP__Constant_Value_gk
  %1870 = zext i1 %1869 to i8
  %_rtB_1691 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %1871 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_1691, i32 0, i32 842
  store i8 %1870, i8* %1871, align 1
  %_rtP_1692 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %1872 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_1692, i32 0, i32 1543
  %_rtP__ExtrapAbove_Value_ciy = load i8* %1872, align 1
  %1873 = and i8 %_rtP__ExtrapAbove_Value_ciy, 1
  %1874 = icmp eq i8 %1873, 0
  br i1 %1874, label %false202, label %true201

merge300:                                         ; preds = %true201, %false202
  %_rtP_1698 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %1875 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_1698, i32 0, i32 1544
  %_rtP__ExtrapBelow_Value_m0 = load i8* %1875, align 1
  %1876 = and i8 %_rtP__ExtrapBelow_Value_m0, 1
  %1877 = icmp eq i8 %1876, 0
  br i1 %1877, label %false204, label %true203

merge301:                                         ; preds = %true203, %false204
  %_rtP_1704 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %1878 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_1704, i32 0, i32 1303
  %_rtP__DynamicVehicleMasskg_Value = load double* %1878, align 1
  %_rtB_1705 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %1879 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_1705, i32 0, i32 560
  store double %_rtP__DynamicVehicleMasskg_Value, double* %1879, align 1
  %_rtP_1706 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %1880 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_1706, i32 0, i32 1304
  %_rtP__Constant_Value_ep3p = load double* %1880, align 1
  %1881 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_1706, i32 0, i32 1305
  %_rtP__Constant_Value_gy = load double* %1881, align 1
  %1882 = fcmp oge double %_rtP__Constant_Value_ep3p, %_rtP__Constant_Value_gy
  %1883 = zext i1 %1882 to i8
  %_rtB_1708 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %1884 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_1708, i32 0, i32 843
  store i8 %1883, i8* %1884, align 1
  %_rtP_1709 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %1885 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_1709, i32 0, i32 1310
  %_rtP__Constant_Value_gu = load double* %1885, align 1
  %_rtB_1710 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %1886 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_1710, i32 0, i32 567
  store double %_rtP__Constant_Value_gu, double* %1886, align 1
  %_rtP_1711 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %1887 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_1711, i32 0, i32 1311
  %_rtP__Constant_Value_dn = load double* %1887, align 1
  %1888 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_1711, i32 0, i32 1312
  %_rtP__Constant1_Value_p1g = load double* %1888, align 1
  %1889 = fcmp oge double %_rtP__Constant_Value_dn, %_rtP__Constant1_Value_p1g
  %1890 = zext i1 %1889 to i8
  %_rtB_1713 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %1891 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_1713, i32 0, i32 844
  store i8 %1890, i8* %1891, align 1
  %_rtP_1714 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %1892 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_1714, i32 0, i32 1313
  %_rtP__Constant_Value_hf = load double* %1892, align 1
  %1893 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_1714, i32 0, i32 1314
  %_rtP__Constant1_Value_bj = load double* %1893, align 1
  %1894 = fcmp oge double %_rtP__Constant_Value_hf, %_rtP__Constant1_Value_bj
  %1895 = zext i1 %1894 to i8
  %_rtB_1716 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %1896 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_1716, i32 0, i32 845
  store i8 %1895, i8* %1896, align 1
  %_rtP_1717 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %1897 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_1717, i32 0, i32 1318
  %_rtP__Constant_Value_dnd = load double* %1897, align 1
  %1898 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_1717, i32 0, i32 1319
  %_rtP__Constant1_Value_b5 = load double* %1898, align 1
  %1899 = fcmp oge double %_rtP__Constant_Value_dnd, %_rtP__Constant1_Value_b5
  %1900 = zext i1 %1899 to i8
  %_rtB_1719 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %1901 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_1719, i32 0, i32 846
  store i8 %1900, i8* %1901, align 1
  ret void
}

declare i32 @vm_ssIsMajorTimeStep(i8*)

declare void @vm_srUpdateBC(i8*)

declare double @muDoubleScalarMin(double, double)

declare double @muDoubleScalarMax(double, double)

define void @Outputs0(i8* %"%<tSimStruct>") {
Outputs0_entry:
  %"%<tSimStruct>_" = alloca i8*
  store i8* %"%<tSimStruct>", i8** %"%<tSimStruct>_", align 1
  %riseValLimit_ = alloca double
  %rateLimiterRate_ = alloca double
  %didZcEventOccur_ = alloca i8
  %rowIdx_ = alloca i32
  %lastU_ = alloca double*
  %minV_ = alloca double
  %frac_ = alloca double
  %bpIndices_ = alloca [4 x i32]
  %fractions_ = alloca [4 x double]
  %frac_0_ = alloca double
  %bpIndices_0_ = alloca [3 x i32]
  %fractions_0_ = alloca [3 x double]
  %frac_1_ = alloca double
  %bpIndices_1_ = alloca [4 x i32]
  %fractions_1_ = alloca [4 x double]
  %rtb_Integrator_i_ = alloca double
  %rtb_Subtract1_ = alloca double
  %rtb_cycle_phase_num_ = alloca double
  %rtb_Lookup_d_ = alloca double
  %rtb_Lookup_lb_ = alloca double
  %rtb_Lookup_b_ = alloca double
  %rtb_Lookup_i5_ = alloca double
  %rtb_AxleSpeedradsec_ = alloca double
  %rtb_Product3_ = alloca double
  %rtb_driver_in_gear_ = alloca double
  %rtb_Compare_mz_ = alloca i8
  %rtb_eng_spd_radps_ = alloca double
  %rtb_LogicalOperator6_ = alloca i8
  %rtb_LogicalOperator2_k_ = alloca i8
  %rtb_Memory_ = alloca double
  %rtb_gear_num_ = alloca double
  %rtb_eng_load_norm_ = alloca double
  %rtb_LogicalOperator8_ = alloca i8
  %rtb_Sum2_ = alloca double
  %rtb_ProportionalGain_ = alloca double
  %rtb_LogicalOperator1_j_ = alloca i8
  %rtb_DerivativeGain_ = alloca double
  %rtb_Integrator_pt_ = alloca double
  %rtb_Compare_c4_ = alloca i8
  %rtb_Saturation2_ = alloca double
  %rtb_driver_brk_norm_ = alloca double
  %rtb_Sum_e_ = alloca double
  %rtb_ProportionalGain_o_ = alloca double
  %rtb_DerivativeGain_g_ = alloca double
  %rtb_Integrator_nk_ = alloca double
  %rtb_Sum_ht_ = alloca double
  %rtb_DeadZone_ = alloca double
  %rtb_IntegralGain_ = alloca double
  %rtb_Lookup_j1_ = alloca double
  %rtb_Sum2_n_ = alloca double
  %rtb_reduceonly_ = alloca double
  %rtb_enginer_ = alloca double
  %rtb_Kp_ = alloca double
  %rtb_Integrator_d_ = alloca double
  %rtb_Subtract_h_ = alloca double
  %rtb_Add_l4_ = alloca double
  %rtb_reduceonly1_ = alloca double
  %rtb_eps_ = alloca double
  %rtb_Integrator_iq_ = alloca double
  %rtb_Product3_e_ = alloca double
  %rtb_FullThrottleTorqueLimit_ = alloca double
  %rtb_ClosedThrottleTorqueLimit_ = alloca double
  %rtb_Sum7_ = alloca double
  %rtb_pos2_ = alloca double
  %rtb_Sum2_j_ = alloca double
  %rtb_eng_load_Nm_ = alloca double
  %rtb_Subtract2_ = alloca double
  %rtb_Derivative_n_ = alloca double
  %rtb_Product5_ = alloca double
  %rtb_Sum6_k_ = alloca double
  %rtb_Sum5_ = alloca double
  %rtb_Sum_ms_ = alloca double
  %rtb_TorqueSW_ = alloca double
  %rtb_Product5_a_ = alloca double
  %rtb_Derivative_ = alloca double
  %rtb_DataTypeConversion_c_ = alloca i32
  %rtb_DataTypeConversion_j_ = alloca i32
  %rtb_driver_acl_norm_ = alloca double
  %rtb_eps3_ = alloca double
  %rtb_RelationalOperator2_p_ = alloca [9 x i8]
  %tmp_ = alloca i8
  %i_ = alloca i32
  %rtb_Sum_d_ = alloca double
  %rtb_unlocked_load_Nm_ = alloca double
  %rtb_Product2_f_ = alloca double
  %rtb_uDLookupTable1_ = alloca double
  %rtb_Product6_f_ = alloca double
  %rtb_Fcn_ls_ = alloca i32
  %rtb_Divide_ = alloca double
  %rtb_LogicalOperator_j_ = alloca i8
  %rtb_Derivative_k_ = alloca double
  %rtb_Sum4_ = alloca double
  %rtb_uppersaturation_ = alloca i8
  %rtb_Sum1_f_ = alloca double
  %rtb_Sum_h_ = alloca double
  %rtb_Sum_gx_ = alloca double
  %rtb_Derivative_h_ = alloca double
  %rtb_Constant1_bp_ = alloca double
  %rtb_Product2_h_ = alloca double
  %rtb_drive_cycle_grade_pct_ = alloca double
  %rtb_normalizedtorquetoslipnorm_ = alloca double
  %rtb_Sum1_o_ = alloca double
  %rtb_DynamicMasskg_ = alloca double
  %rtb_trans_shift_in_prog_ = alloca double
  %rtb_Switch_kj_ = alloca double
  %rtb_Add_i_ = alloca double
  %rtb_sat01_ = alloca double
  %rtb_Sum1_h_ = alloca double
  %rtb_Compare_mb_ = alloca i8
  %rtb_Integrator1_nd_ = alloca double
  %rtb_gradetonorm_l_ = alloca double
  %rtb_Lookup_b5_ = alloca double
  %rtb_RoadLoadN_ = alloca double
  %rtb_uDLookupTable_ = alloca double
  %rtb_Sum2_hx_ = alloca double
  %rtb_Lookup_ = alloca double
  %rtb_Lookup_o_ = alloca double
  %rtb_desired_net_torquevector_ = alloca double
  %rtb_Sign_m_ = alloca double
  %rtb_maxinputtorque_ = alloca [9 x double]
  %i_0_ = alloca i32
  %u0_ = alloca double
  %u0_0_ = alloca double
  %tmp_0_ = alloca i8
  %_rtB_ = alloca %B_REVS_VM_T.12*
  %_rtP_ = alloca %P_REVS_VM_T.17*
  %_rtX_ = alloca %X_REVS_VM_T.18*
  %_rtZCE_ = alloca %PrevZCX_REVS_VM_T.20*
  %_rtDW_ = alloca %DW_REVS_VM_T.16*
  %vm_ssIsSampleHitVar0_ = alloca i32
  %vm_ssIsMajorTimeStepVar1_ = alloca i32
  %vm_ssGetTaskTimeVar2_ = alloca double
  %vm_ssGetTStartVar3_ = alloca double
  %vm_ssGetTaskTimeVar4_ = alloca double
  %vm_ssGetTVar5_ = alloca double
  %u0_4 = alloca i32
  %_rtB_5 = alloca double
  %"%<tSimStruct>_2787" = load i8** %"%<tSimStruct>_", align 1
  %0 = call double @vm_ssGetT(i8* %"%<tSimStruct>_2787")
  store double %0, double* %vm_ssGetTVar5_, align 1
  %"%<tSimStruct>_2788" = load i8** %"%<tSimStruct>_", align 1
  %1 = call double @vm_ssGetTaskTime(i8* %"%<tSimStruct>_2788", i32 0)
  store double %1, double* %vm_ssGetTaskTimeVar4_, align 1
  %"%<tSimStruct>_2789" = load i8** %"%<tSimStruct>_", align 1
  %2 = call double @vm_ssGetTStart(i8* %"%<tSimStruct>_2789")
  store double %2, double* %vm_ssGetTStartVar3_, align 1
  %"%<tSimStruct>_2790" = load i8** %"%<tSimStruct>_", align 1
  %3 = call double @vm_ssGetTaskTime(i8* %"%<tSimStruct>_2790", i32 1)
  store double %3, double* %vm_ssGetTaskTimeVar2_, align 1
  %"%<tSimStruct>_2791" = load i8** %"%<tSimStruct>_", align 1
  %4 = call i32 @vm_ssIsMajorTimeStep(i8* %"%<tSimStruct>_2791")
  store i32 %4, i32* %vm_ssIsMajorTimeStepVar1_, align 1
  %"%<tSimStruct>_2792" = load i8** %"%<tSimStruct>_", align 1
  %5 = call i32 @vm_ssIsSampleHit(i8* %"%<tSimStruct>_2792", i32 1, i32 0)
  store i32 %5, i32* %vm_ssIsSampleHitVar0_, align 1
  %"%<tSimStruct>_2793" = load i8** %"%<tSimStruct>_", align 1
  %6 = call i8* @vm_ssGetRootDWork(i8* %"%<tSimStruct>_2793")
  %7 = bitcast i8* %6 to %DW_REVS_VM_T.16*
  store %DW_REVS_VM_T.16* %7, %DW_REVS_VM_T.16** %_rtDW_, align 1
  %"%<tSimStruct>_2794" = load i8** %"%<tSimStruct>_", align 1
  %8 = call i8* @vm_ssGetPrevZCSigState(i8* %"%<tSimStruct>_2794")
  %9 = bitcast i8* %8 to %PrevZCX_REVS_VM_T.20*
  store %PrevZCX_REVS_VM_T.20* %9, %PrevZCX_REVS_VM_T.20** %_rtZCE_, align 1
  %"%<tSimStruct>_2795" = load i8** %"%<tSimStruct>_", align 1
  %10 = call i8* @vm_ssGetX(i8* %"%<tSimStruct>_2795")
  %11 = bitcast i8* %10 to %X_REVS_VM_T.18*
  store %X_REVS_VM_T.18* %11, %X_REVS_VM_T.18** %_rtX_, align 1
  %"%<tSimStruct>_2796" = load i8** %"%<tSimStruct>_", align 1
  %12 = call i8* @vm_ssGetModelRtp(i8* %"%<tSimStruct>_2796")
  %13 = bitcast i8* %12 to %P_REVS_VM_T.17*
  store %P_REVS_VM_T.17* %13, %P_REVS_VM_T.17** %_rtP_, align 1
  %"%<tSimStruct>_2797" = load i8** %"%<tSimStruct>_", align 1
  %14 = call i8* @vm__ssGetModelBlockIO(i8* %"%<tSimStruct>_2797")
  %15 = bitcast i8* %14 to %B_REVS_VM_T.12*
  store %B_REVS_VM_T.12* %15, %B_REVS_VM_T.12** %_rtB_, align 1
  %vm_ssIsSampleHitVar0_2798 = load i32* %vm_ssIsSampleHitVar0_, align 1
  store i32 %vm_ssIsSampleHitVar0_2798, i32* %i_0_, align 1
  %16 = icmp eq i32 %vm_ssIsSampleHitVar0_2798, 0
  br i1 %16, label %false, label %true

true:                                             ; preds = %Outputs0_entry
  %_rtDW_2800 = load %DW_REVS_VM_T.16** %_rtDW_, align 1
  %17 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_2800, i32 0, i32 5
  %_rtDW__Memory_52_PreviousInput = load double* %17, align 1
  %18 = getelementptr inbounds %B_REVS_VM_T.12* %15, i32 0, i32 0
  store double %_rtDW__Memory_52_PreviousInput, double* %18, align 1
  %_rtDW_2802 = load %DW_REVS_VM_T.16** %_rtDW_, align 1
  %19 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_2802, i32 0, i32 6
  %_rtDW__Memory_58_PreviousInput = load double* %19, align 1
  %_rtB_2803 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %20 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_2803, i32 0, i32 1
  store double %_rtDW__Memory_58_PreviousInput, double* %20, align 1
  %"%<tSimStruct>_2804" = load i8** %"%<tSimStruct>_", align 1
  call void @vm_ssCallAccelRunBlock(i8* %"%<tSimStruct>_2804", i32 248, i32 2, i32 104)
  br label %false

false:                                            ; preds = %Outputs0_entry, %true
  %_rtDW_2805 = load %DW_REVS_VM_T.16** %_rtDW_, align 1
  %21 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_2805, i32 0, i32 839
  %_rtDW__Integrator_IWORK = load i32* %21, align 1
  %22 = icmp eq i32 %_rtDW__Integrator_IWORK, 0
  br i1 %22, label %false7, label %true6

true6:                                            ; preds = %false
  %_rtB_2806 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %23 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_2806, i32 0, i32 3
  %_rtB__Product1 = load double* %23, align 1
  %_rtX_2807 = load %X_REVS_VM_T.18** %_rtX_, align 1
  %24 = getelementptr inbounds %X_REVS_VM_T.18* %_rtX_2807, i32 0, i32 0
  store double %_rtB__Product1, double* %24, align 1
  br label %false7

false7:                                           ; preds = %false, %true6
  %_rtX_2808 = load %X_REVS_VM_T.18** %_rtX_, align 1
  %25 = getelementptr inbounds %X_REVS_VM_T.18* %_rtX_2808, i32 0, i32 0
  %_rtX__Integrator_CSTATE = load double* %25, align 1
  %_rtP_2809 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %26 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_2809, i32 0, i32 163
  %_rtP__Integrator_UpperSat = load double* %26, align 1
  %27 = fcmp ult double %_rtX__Integrator_CSTATE, %_rtP__Integrator_UpperSat
  br i1 %27, label %false9, label %true8

true8:                                            ; preds = %false7
  %28 = fcmp une double %_rtX__Integrator_CSTATE, %_rtP__Integrator_UpperSat
  br i1 %28, label %true14, label %merge

false9:                                           ; preds = %false7
  %29 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_2809, i32 0, i32 164
  %_rtP__Integrator_LowerSat = load double* %29, align 1
  %30 = fcmp ole double %_rtX__Integrator_CSTATE, %_rtP__Integrator_LowerSat
  %31 = fcmp une double %_rtX__Integrator_CSTATE, %_rtP__Integrator_LowerSat
  %or.cond = and i1 %30, %31
  br i1 %or.cond, label %true12, label %merge

true12:                                           ; preds = %false9
  store double %_rtP__Integrator_LowerSat, double* %25, align 1
  %"%<tSimStruct>_2820" = load i8** %"%<tSimStruct>_", align 1
  call void @vm_ssSetSolverNeedsReset(i8* %"%<tSimStruct>_2820")
  br label %merge

true14:                                           ; preds = %true8
  store double %_rtP__Integrator_UpperSat, double* %25, align 1
  %"%<tSimStruct>_2828" = load i8** %"%<tSimStruct>_", align 1
  call void @vm_ssSetSolverNeedsReset(i8* %"%<tSimStruct>_2828")
  br label %merge

true16:                                           ; preds = %merge
  %_rtDW_2848 = load %DW_REVS_VM_T.16** %_rtDW_, align 1
  %32 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_2848, i32 0, i32 7
  %_rtDW__Memory2_PreviousInput = load double* %32, align 1
  %_rtB_2849 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %33 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_2849, i32 0, i32 9
  store double %_rtDW__Memory2_PreviousInput, double* %33, align 1
  br label %false17

false17:                                          ; preds = %merge, %true16
  %_rtB_2850 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %34 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_2850, i32 0, i32 617
  %_rtB__useaverage = load i8* %34, align 1
  %35 = and i8 %_rtB__useaverage, 1
  %36 = icmp eq i8 %35, 0
  br i1 %36, label %false19, label %true18

true18:                                           ; preds = %false17
  %tmp1 = fadd double %4434, %4443
  %_rtP_2859 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %37 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_2859, i32 0, i32 40
  %_rtP__Gain_Gain = load double* %37, align 1
  %tmp2 = fmul double %tmp1, %_rtP__Gain_Gain
  %38 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_2850, i32 0, i32 10
  store double %tmp2, double* %38, align 1
  br label %merge2502

false19:                                          ; preds = %false17
  %39 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_2850, i32 0, i32 9
  %_rtB__batt_curr_A = load double* %39, align 1
  %_rtP_2852 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %40 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_2852, i32 0, i32 39
  %_rtP__Switch1_Threshold = load double* %40, align 1
  %41 = fcmp ult double %_rtB__batt_curr_A, %_rtP__Switch1_Threshold
  %42 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_2850, i32 0, i32 10
  br i1 %41, label %false21, label %true20

true20:                                           ; preds = %false19
  store double %4434, double* %42, align 1
  br label %merge2502

false21:                                          ; preds = %false19
  store double %4443, double* %42, align 1
  br label %merge2502

true22:                                           ; preds = %merge2502
  %43 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_2868, i32 0, i32 13
  %_rtB__Switch_m = load double* %43, align 1
  %44 = call double @muDoubleScalarMin(double %_rtB__soc_norm2880, double %_rtB__Switch_m)
  %_rtB_2882 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %45 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_2882, i32 0, i32 14
  %_rtB__Switch1_d = load double* %45, align 1
  %46 = call double @muDoubleScalarMax(double %44, double %_rtB__Switch1_d)
  %_rtP_2883 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %47 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_2883, i32 0, i32 38, i32 0
  %48 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_2883, i32 0, i32 37, i32 0
  %_rtDW_2885 = load %DW_REVS_VM_T.16** %_rtDW_, align 1
  %49 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_2885, i32 0, i32 829
  %50 = call double @look1_plinlxpw(double %46, double* %47, double* %48, i32* %49, i32 8)
  %_rtB_2886 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %51 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_2886, i32 0, i32 17
  store double %50, double* %51, align 1
  br label %merge2503

false23:                                          ; preds = %merge2502
  %52 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_2868, i32 0, i32 15
  %_rtB__Switch_g = load double* %52, align 1
  %53 = call double @muDoubleScalarMin(double %_rtB__soc_norm2880, double %_rtB__Switch_g)
  %_rtB_2874 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %54 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_2874, i32 0, i32 16
  %_rtB__Switch1_md = load double* %54, align 1
  %55 = call double @muDoubleScalarMax(double %53, double %_rtB__Switch1_md)
  %_rtP_2875 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %56 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_2875, i32 0, i32 36, i32 0
  %57 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_2875, i32 0, i32 35, i32 0
  %_rtDW_2877 = load %DW_REVS_VM_T.16** %_rtDW_, align 1
  %58 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_2877, i32 0, i32 830
  %59 = call double @look1_plinlxpw(double %55, double* %56, double* %57, i32* %58, i32 8)
  %_rtB_2878 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %60 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_2878, i32 0, i32 17
  store double %59, double* %60, align 1
  br label %merge2503

true24:                                           ; preds = %merge2503
  %_rtDW_2900 = load %DW_REVS_VM_T.16** %_rtDW_, align 1
  %61 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_2900, i32 0, i32 8
  %_rtDW__Memory_51_PreviousInput = load double* %61, align 1
  %_rtB_2901 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %62 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_2901, i32 0, i32 20
  store double %_rtDW__Memory_51_PreviousInput, double* %62, align 1
  %vm_ssIsSampleHitVar0_2902.pre = load i32* %vm_ssIsSampleHitVar0_, align 1
  br label %false25

false25:                                          ; preds = %merge2503, %true24
  %vm_ssIsSampleHitVar0_2902 = phi i32 [ 0, %merge2503 ], [ %vm_ssIsSampleHitVar0_2902.pre, %true24 ]
  store i32 %vm_ssIsSampleHitVar0_2902, i32* %i_0_, align 1
  %63 = icmp eq i32 %vm_ssIsSampleHitVar0_2902, 0
  br i1 %63, label %false27, label %true26

true26:                                           ; preds = %false25
  %_rtDW_2904 = load %DW_REVS_VM_T.16** %_rtDW_, align 1
  %64 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_2904, i32 0, i32 9
  %_rtDW__Memory_54_PreviousInput = load double* %64, align 1
  store double %_rtDW__Memory_54_PreviousInput, double* %rtb_cycle_phase_num_, align 1
  %_rtB_2907 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %65 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_2907, i32 0, i32 23
  %_rtB__Switch_n = load double* %65, align 1
  %66 = call double @muDoubleScalarMin(double %_rtDW__Memory_54_PreviousInput, double %_rtB__Switch_n)
  %_rtB_2908 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %67 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_2908, i32 0, i32 24
  %_rtB__Switch1_g = load double* %67, align 1
  %68 = call double @muDoubleScalarMax(double %66, double %_rtB__Switch1_g)
  %_rtB_2909 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %69 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_2909, i32 0, i32 25
  store double %68, double* %69, align 1
  br label %false27

false27:                                          ; preds = %false25, %true26
  %_rtB_2910 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %70 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_2910, i32 0, i32 19
  %_rtB__Gain3 = load double* %70, align 1
  %71 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_2910, i32 0, i32 21
  %_rtB__Switch_b = load double* %71, align 1
  %72 = call double @muDoubleScalarMin(double %_rtB__Gain3, double %_rtB__Switch_b)
  %_rtB_2912 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %73 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_2912, i32 0, i32 22
  %_rtB__Switch1_d3 = load double* %73, align 1
  %74 = call double @muDoubleScalarMax(double %72, double %_rtB__Switch1_d3)
  %_rtB_2913 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %75 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_2913, i32 0, i32 25
  %_rtB__MinMax1 = load double* %75, align 1
  %_rtP_2914 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %76 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_2914, i32 0, i32 202, i32 0
  %77 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_2914, i32 0, i32 203, i32 0
  %78 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_2914, i32 0, i32 201, i32 0
  %_rtDW_2917 = load %DW_REVS_VM_T.16** %_rtDW_, align 1
  %79 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_2917, i32 0, i32 777, i32 0
  %80 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_2914, i32 0, i32 1339, i32 0
  %81 = call double @look2_plinlxpw(double %74, double %_rtB__MinMax1, double* %76, double* %77, double* %78, i32* %79, i32* %80, i32 20)
  store double %81, double* %rtb_Lookup_d_, align 1
  %_rtB_2919 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %82 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_2919, i32 0, i32 618
  %_rtB__rotationalinertia5 = load i8* %82, align 1
  %83 = uitofp i8 %_rtB__rotationalinertia5 to double
  %84 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_2919, i32 0, i32 20
  %_rtB__driver_ign_keyon = load double* %84, align 1
  %tmp9 = fmul double %83, %_rtB__driver_ign_keyon
  %tmp10 = fmul double %tmp9, %81
  %85 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_2919, i32 0, i32 26
  store double %tmp10, double* %85, align 1
  %_rtB_2923 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %86 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_2923, i32 0, i32 19
  %_rtB__Gain32924 = load double* %86, align 1
  %87 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_2923, i32 0, i32 27
  %_rtB__Switch_ob = load double* %87, align 1
  %88 = call double @muDoubleScalarMin(double %_rtB__Gain32924, double %_rtB__Switch_ob)
  %_rtB_2926 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %89 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_2926, i32 0, i32 28
  %_rtB__Switch1_p = load double* %89, align 1
  %90 = call double @muDoubleScalarMax(double %88, double %_rtB__Switch1_p)
  %_rtP_2927 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %91 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_2927, i32 0, i32 209, i32 0
  %92 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_2927, i32 0, i32 208, i32 0
  %_rtDW_2929 = load %DW_REVS_VM_T.16** %_rtDW_, align 1
  %93 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_2929, i32 0, i32 778
  %94 = call double @look1_plinlxpw(double %90, double* %91, double* %92, i32* %93, i32 18)
  store double %94, double* %rtb_Lookup_lb_, align 1
  %_rtB_2930 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %95 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_2930, i32 0, i32 619
  %_rtB__rotationalinertia5_c = load i8* %95, align 1
  %96 = uitofp i8 %_rtB__rotationalinertia5_c to double
  %97 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_2930, i32 0, i32 20
  %_rtB__driver_ign_keyon2932 = load double* %97, align 1
  %tmp11 = fmul double %96, %_rtB__driver_ign_keyon2932
  %tmp12 = fmul double %tmp11, %94
  %98 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_2930, i32 0, i32 29
  store double %tmp12, double* %98, align 1
  %_rtB_2935 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %99 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_2935, i32 0, i32 19
  %_rtB__Gain32936 = load double* %99, align 1
  %100 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_2935, i32 0, i32 30
  %_rtB__Switch_o3 = load double* %100, align 1
  %101 = call double @muDoubleScalarMin(double %_rtB__Gain32936, double %_rtB__Switch_o3)
  %_rtB_2938 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %102 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_2938, i32 0, i32 31
  %_rtB__Switch1_e = load double* %102, align 1
  %103 = call double @muDoubleScalarMax(double %101, double %_rtB__Switch1_e)
  %_rtP_2939 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %104 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_2939, i32 0, i32 215, i32 0
  %105 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_2939, i32 0, i32 214, i32 0
  %_rtDW_2941 = load %DW_REVS_VM_T.16** %_rtDW_, align 1
  %106 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_2941, i32 0, i32 779
  %107 = call double @look1_plinlxpw(double %103, double* %104, double* %105, i32* %106, i32 18)
  store double %107, double* %rtb_Lookup_b_, align 1
  %_rtB_2942 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %108 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_2942, i32 0, i32 620
  %_rtB__rotationalinertia5_j = load i8* %108, align 1
  %109 = uitofp i8 %_rtB__rotationalinertia5_j to double
  %110 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_2942, i32 0, i32 20
  %_rtB__driver_ign_keyon2944 = load double* %110, align 1
  %tmp13 = fmul double %109, %_rtB__driver_ign_keyon2944
  %tmp14 = fmul double %tmp13, %107
  %111 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_2942, i32 0, i32 32
  store double %tmp14, double* %111, align 1
  %vm_ssIsSampleHitVar0_2947 = load i32* %vm_ssIsSampleHitVar0_, align 1
  store i32 %vm_ssIsSampleHitVar0_2947, i32* %i_0_, align 1
  %112 = icmp eq i32 %vm_ssIsSampleHitVar0_2947, 0
  br i1 %112, label %false29, label %true28

true28:                                           ; preds = %false27
  %rtb_cycle_phase_num_2949 = load double* %rtb_cycle_phase_num_, align 1
  %_rtB_2950 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %113 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_2950, i32 0, i32 35
  %_rtB__Switch_d4 = load double* %113, align 1
  %114 = call double @muDoubleScalarMin(double %rtb_cycle_phase_num_2949, double %_rtB__Switch_d4)
  %_rtB_2951 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %115 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_2951, i32 0, i32 36
  %_rtB__Switch1_k = load double* %115, align 1
  %116 = call double @muDoubleScalarMax(double %114, double %_rtB__Switch1_k)
  %_rtB_2952 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %117 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_2952, i32 0, i32 37
  store double %116, double* %117, align 1
  br label %false29

false29:                                          ; preds = %false27, %true28
  %_rtB_2953 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %118 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_2953, i32 0, i32 19
  %_rtB__Gain32954 = load double* %118, align 1
  %119 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_2953, i32 0, i32 33
  %_rtB__Switch_e = load double* %119, align 1
  %120 = call double @muDoubleScalarMin(double %_rtB__Gain32954, double %_rtB__Switch_e)
  %_rtB_2956 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %121 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_2956, i32 0, i32 34
  %_rtB__Switch1_m3 = load double* %121, align 1
  %122 = call double @muDoubleScalarMax(double %120, double %_rtB__Switch1_m3)
  %_rtB_2957 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %123 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_2957, i32 0, i32 37
  %_rtB__MinMax1_d = load double* %123, align 1
  %_rtP_2958 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %124 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_2958, i32 0, i32 225, i32 0
  %125 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_2958, i32 0, i32 226, i32 0
  %126 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_2958, i32 0, i32 224, i32 0
  %_rtDW_2961 = load %DW_REVS_VM_T.16** %_rtDW_, align 1
  %127 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_2961, i32 0, i32 780, i32 0
  %128 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_2958, i32 0, i32 1347, i32 0
  %129 = call double @look2_plinlxpw(double %122, double %_rtB__MinMax1_d, double* %124, double* %125, double* %126, i32* %127, i32* %128, i32 19)
  store double %129, double* %rtb_Lookup_i5_, align 1
  %_rtB_2963 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %130 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_2963, i32 0, i32 621
  %_rtB__rotationalinertia5_b = load i8* %130, align 1
  %131 = uitofp i8 %_rtB__rotationalinertia5_b to double
  %132 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_2963, i32 0, i32 20
  %_rtB__driver_ign_keyon2965 = load double* %132, align 1
  %tmp15 = fmul double %131, %_rtB__driver_ign_keyon2965
  %tmp16 = fmul double %tmp15, %129
  %133 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_2963, i32 0, i32 38
  store double %tmp16, double* %133, align 1
  %_rtB_2968 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %134 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_2968, i32 0, i32 26
  %_rtB__Product5 = load double* %134, align 1
  %135 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_2968, i32 0, i32 29
  %_rtB__Product5_j = load double* %135, align 1
  %tmp17 = fadd double %_rtB__Product5, %_rtB__Product5_j
  %136 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_2968, i32 0, i32 32
  %_rtB__Product5_h = load double* %136, align 1
  %tmp18 = fadd double %tmp17, %_rtB__Product5_h
  %137 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_2968, i32 0, i32 38
  %_rtB__Product5_o = load double* %137, align 1
  %tmp19 = fadd double %tmp18, %_rtB__Product5_o
  %138 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_2968, i32 0, i32 39
  store double %tmp19, double* %138, align 1
  %vm_ssIsSampleHitVar0_2973 = load i32* %vm_ssIsSampleHitVar0_, align 1
  store i32 %vm_ssIsSampleHitVar0_2973, i32* %i_0_, align 1
  %139 = icmp eq i32 %vm_ssIsSampleHitVar0_2973, 0
  %vm_ssIsMajorTimeStepVar1_2975 = load i32* %vm_ssIsMajorTimeStepVar1_, align 1
  %140 = icmp eq i32 %vm_ssIsMajorTimeStepVar1_2975, 0
  %or.cond10094 = or i1 %139, %140
  br i1 %or.cond10094, label %false31, label %true32

false31:                                          ; preds = %false35, %true36, %false41, %true34, %false29
  %_rtDW_2986 = load %DW_REVS_VM_T.16** %_rtDW_, align 1
  %141 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_2986, i32 0, i32 1033
  %_rtDW__Subsystem_MODE2987 = load i8* %141, align 1
  %142 = and i8 %_rtDW__Subsystem_MODE2987, 1
  %143 = icmp eq i8 %142, 0
  br i1 %143, label %false43, label %true42

true32:                                           ; preds = %false29
  %_rtB_2976 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %144 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_2976, i32 0, i32 622
  %_rtB__Compare = load i8* %144, align 1
  %145 = and i8 %_rtB__Compare, 1
  %146 = icmp eq i8 %145, 0
  %_rtDW_2977 = load %DW_REVS_VM_T.16** %_rtDW_, align 1
  %147 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_2977, i32 0, i32 1033
  %_rtDW__Subsystem_MODE = load i8* %147, align 1
  %148 = and i8 %_rtDW__Subsystem_MODE, 1
  %149 = icmp eq i8 %148, 0
  br i1 %146, label %false35, label %true34

true34:                                           ; preds = %true32
  br i1 %149, label %true38, label %false31

false35:                                          ; preds = %true32
  br i1 %149, label %false31, label %true36

true36:                                           ; preds = %false35
  %"%<tSimStruct>_2978" = load i8** %"%<tSimStruct>_", align 1
  call void @vm_ssSetSolverNeedsReset(i8* %"%<tSimStruct>_2978")
  %_rtDW_2979 = load %DW_REVS_VM_T.16** %_rtDW_, align 1
  %150 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_2979, i32 0, i32 1033
  store i8 0, i8* %150, align 1
  br label %false31

true38:                                           ; preds = %true34
  %vm_ssGetTaskTimeVar2_2982 = load double* %vm_ssGetTaskTimeVar2_, align 1
  %vm_ssGetTStartVar3_2983 = load double* %vm_ssGetTStartVar3_, align 1
  %151 = fcmp une double %vm_ssGetTaskTimeVar2_2982, %vm_ssGetTStartVar3_2983
  br i1 %151, label %true40, label %false41

true40:                                           ; preds = %true38
  %"%<tSimStruct>_2984" = load i8** %"%<tSimStruct>_", align 1
  call void @vm_ssSetSolverNeedsReset(i8* %"%<tSimStruct>_2984")
  %_rtDW_2985.pre = load %DW_REVS_VM_T.16** %_rtDW_, align 1
  br label %false41

false41:                                          ; preds = %true40, %true38
  %_rtDW_2985 = phi %DW_REVS_VM_T.16* [ %_rtDW_2985.pre, %true40 ], [ %_rtDW_2977, %true38 ]
  %152 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_2985, i32 0, i32 1033
  store i8 1, i8* %152, align 1
  br label %false31

true42:                                           ; preds = %false31
  %vm_ssIsSampleHitVar0_2988 = load i32* %vm_ssIsSampleHitVar0_, align 1
  store i32 %vm_ssIsSampleHitVar0_2988, i32* %i_0_, align 1
  %153 = icmp eq i32 %vm_ssIsSampleHitVar0_2988, 0
  br i1 %153, label %false45, label %true44

false43:                                          ; preds = %true48, %false47, %false31
  %vm_ssIsSampleHitVar0_3007 = load i32* %vm_ssIsSampleHitVar0_, align 1
  store i32 %vm_ssIsSampleHitVar0_3007, i32* %i_0_, align 1
  %154 = icmp eq i32 %vm_ssIsSampleHitVar0_3007, 0
  br i1 %154, label %false51, label %true50

true44:                                           ; preds = %true42
  %"%<tSimStruct>_2990" = load i8** %"%<tSimStruct>_", align 1
  call void @vm_ssCallAccelRunBlock(i8* %"%<tSimStruct>_2990", i32 1, i32 0, i32 104)
  br label %false45

false45:                                          ; preds = %true42, %true44
  %"%<tSimStruct>_2991" = load i8** %"%<tSimStruct>_", align 1
  %_rtB_2992 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %155 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_2992, i32 0, i32 19
  %_rtB__Gain32993 = load double* %155, align 1
  %156 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_2992, i32 0, i32 39
  %_rtB__Sum5 = load double* %156, align 1
  %157 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_2992, i32 0, i32 898
  %_rtP_2996 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %158 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_2996, i32 0, i32 1582
  %_rtX_2997 = load %X_REVS_VM_T.18** %_rtX_, align 1
  %159 = getelementptr inbounds %X_REVS_VM_T.18* %_rtX_2997, i32 0, i32 113
  call void @REVS_VM_ElecEnergyVA(i8* %"%<tSimStruct>_2991", double %_rtB__Gain32993, double %_rtB__Sum5, %B_ElecEnergyVA_REVS_VM_T.0* %157, %P_ElecEnergyVA_REVS_VM_T.2* %158, %X_ElecEnergyVA_REVS_VM_T.3* %159)
  %vm_ssIsSampleHitVar0_2998 = load i32* %vm_ssIsSampleHitVar0_, align 1
  store i32 %vm_ssIsSampleHitVar0_2998, i32* %i_0_, align 1
  %160 = icmp eq i32 %vm_ssIsSampleHitVar0_2998, 0
  br i1 %160, label %false47, label %true46

true46:                                           ; preds = %false45
  %"%<tSimStruct>_3000" = load i8** %"%<tSimStruct>_", align 1
  call void @vm_ssCallAccelRunBlock(i8* %"%<tSimStruct>_3000", i32 1, i32 2, i32 104)
  %"%<tSimStruct>_3001" = load i8** %"%<tSimStruct>_", align 1
  call void @vm_ssCallAccelRunBlock(i8* %"%<tSimStruct>_3001", i32 1, i32 3, i32 104)
  %"%<tSimStruct>_3002" = load i8** %"%<tSimStruct>_", align 1
  call void @vm_ssCallAccelRunBlock(i8* %"%<tSimStruct>_3002", i32 1, i32 4, i32 104)
  %"%<tSimStruct>_3003" = load i8** %"%<tSimStruct>_", align 1
  call void @vm_ssCallAccelRunBlock(i8* %"%<tSimStruct>_3003", i32 1, i32 5, i32 104)
  %"%<tSimStruct>_3004" = load i8** %"%<tSimStruct>_", align 1
  call void @vm_ssCallAccelRunBlock(i8* %"%<tSimStruct>_3004", i32 1, i32 6, i32 104)
  br label %false47

false47:                                          ; preds = %false45, %true46
  %vm_ssIsMajorTimeStepVar1_3005 = load i32* %vm_ssIsMajorTimeStepVar1_, align 1
  %161 = icmp eq i32 %vm_ssIsMajorTimeStepVar1_3005, 0
  br i1 %161, label %false43, label %true48

true48:                                           ; preds = %false47
  %_rtDW_3006 = load %DW_REVS_VM_T.16** %_rtDW_, align 1
  %162 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_3006, i32 0, i32 844
  call void @vm_srUpdateBC(i8* %162)
  br label %false43

true50:                                           ; preds = %false43
  %_rtDW_3009 = load %DW_REVS_VM_T.16** %_rtDW_, align 1
  %163 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_3009, i32 0, i32 10
  %_rtDW__Memory2_PreviousInput_b = load double* %163, align 1
  %_rtB_3010 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %164 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_3010, i32 0, i32 40
  store double %_rtDW__Memory2_PreviousInput_b, double* %164, align 1
  %_rtB_3011 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %165 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_3011, i32 0, i32 40
  %_rtB__Memory2 = load double* %165, align 1
  %_rtP_3012 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %166 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_3012, i32 0, i32 231, i32 0
  %167 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_3012, i32 0, i32 230, i32 0
  %_rtDW_3014 = load %DW_REVS_VM_T.16** %_rtDW_, align 1
  %168 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_3014, i32 0, i32 781
  %169 = call double @look1_plinlcpw(double %_rtB__Memory2, double* %166, double* %167, i32* %168, i32 8)
  %_rtB_3015 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %170 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_3015, i32 0, i32 41
  store double %169, double* %170, align 1
  %_rtP_3016 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %171 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_3016, i32 0, i32 232
  %_rtP__FinalDriveGearRatio_Value = load double* %171, align 1
  %_rtB_3017 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %172 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_3017, i32 0, i32 42
  store double %_rtP__FinalDriveGearRatio_Value, double* %172, align 1
  %_rtP_3018 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %173 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_3018, i32 0, i32 233
  %_rtP__TireRadiusm_Value = load double* %173, align 1
  %174 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_3018, i32 0, i32 234
  %_rtP__sateps_UpperSat = load double* %174, align 1
  %175 = fcmp ogt double %_rtP__TireRadiusm_Value, %_rtP__sateps_UpperSat
  br i1 %175, label %true52, label %false53

false51:                                          ; preds = %true52, %true54, %false55, %false43
  %_rtX_3032 = load %X_REVS_VM_T.18** %_rtX_, align 1
  %176 = getelementptr inbounds %X_REVS_VM_T.18* %_rtX_3032, i32 0, i32 3
  %_rtX__Integrator_CSTATE_d = load double* %176, align 1
  %_rtP_3033 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %177 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_3033, i32 0, i32 237
  %_rtP__Integrator_UpperSat_k = load double* %177, align 1
  %178 = fcmp ult double %_rtX__Integrator_CSTATE_d, %_rtP__Integrator_UpperSat_k
  br i1 %178, label %false57, label %true56

true52:                                           ; preds = %true50
  %_rtB_3031 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %179 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_3031, i32 0, i32 43
  store double %_rtP__sateps_UpperSat, double* %179, align 1
  br label %false51

false53:                                          ; preds = %true50
  %180 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_3018, i32 0, i32 235
  %_rtP__sateps_LowerSat = load double* %180, align 1
  %181 = fcmp olt double %_rtP__TireRadiusm_Value, %_rtP__sateps_LowerSat
  %_rtB_3028 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %182 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_3028, i32 0, i32 43
  br i1 %181, label %true54, label %false55

true54:                                           ; preds = %false53
  store double %_rtP__sateps_LowerSat, double* %182, align 1
  br label %false51

false55:                                          ; preds = %false53
  store double %_rtP__TireRadiusm_Value, double* %182, align 1
  br label %false51

true56:                                           ; preds = %false51
  %183 = fcmp une double %_rtX__Integrator_CSTATE_d, %_rtP__Integrator_UpperSat_k
  br i1 %183, label %true62, label %merge2507

false57:                                          ; preds = %false51
  %184 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_3033, i32 0, i32 238
  %_rtP__Integrator_LowerSat_f = load double* %184, align 1
  %185 = fcmp ole double %_rtX__Integrator_CSTATE_d, %_rtP__Integrator_LowerSat_f
  %186 = fcmp une double %_rtX__Integrator_CSTATE_d, %_rtP__Integrator_LowerSat_f
  %or.cond10095 = and i1 %185, %186
  br i1 %or.cond10095, label %true60, label %merge2507

true60:                                           ; preds = %false57
  store double %_rtP__Integrator_LowerSat_f, double* %176, align 1
  %"%<tSimStruct>_3044" = load i8** %"%<tSimStruct>_", align 1
  call void @vm_ssSetSolverNeedsReset(i8* %"%<tSimStruct>_3044")
  br label %merge2507

true62:                                           ; preds = %true56
  store double %_rtP__Integrator_UpperSat_k, double* %176, align 1
  %"%<tSimStruct>_3052" = load i8** %"%<tSimStruct>_", align 1
  call void @vm_ssSetSolverNeedsReset(i8* %"%<tSimStruct>_3052")
  br label %merge2507

true64:                                           ; preds = %merge2507
  %187 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_3062, i32 0, i32 46
  store double %_rtP__u_UpperSat_j, double* %187, align 1
  br label %merge2509

false65:                                          ; preds = %merge2507
  %188 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_3063, i32 0, i32 242
  %_rtP__u_LowerSat_o = load double* %188, align 1
  %189 = fcmp olt double %_rtB__Sum2, %_rtP__u_LowerSat_o
  %190 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_3062, i32 0, i32 46
  br i1 %189, label %true66, label %false67

true66:                                           ; preds = %false65
  store double %_rtP__u_LowerSat_o, double* %190, align 1
  br label %merge2509

false67:                                          ; preds = %false65
  store double %_rtB__Sum2, double* %190, align 1
  br label %merge2509

true68:                                           ; preds = %merge2509
  %_rtDW_3083 = load %DW_REVS_VM_T.16** %_rtDW_, align 1
  %191 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_3083, i32 0, i32 11
  %_rtDW__Memory_50_PreviousInput = load double* %191, align 1
  store double %_rtDW__Memory_50_PreviousInput, double* %rtb_driver_in_gear_, align 1
  %192 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_3083, i32 0, i32 12
  %_rtDW__Memory_PreviousInput = load double* %192, align 1
  %193 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_3079, i32 0, i32 48
  store double %_rtDW__Memory_PreviousInput, double* %193, align 1
  %_rtDW_3086 = load %DW_REVS_VM_T.16** %_rtDW_, align 1
  %194 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_3086, i32 0, i32 11
  %_rtDW__Memory_50_PreviousInput3087 = load double* %194, align 1
  %_rtB_3088 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %195 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_3088, i32 0, i32 48
  %_rtB__Memory = load double* %195, align 1
  %tmp26 = fmul double %_rtDW__Memory_50_PreviousInput3087, %_rtB__Memory
  %196 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_3088, i32 0, i32 49
  store double %tmp26, double* %196, align 1
  %_rtB_3090 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %197 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_3090, i32 0, i32 1
  %_rtB__veh_spd_mps = load double* %197, align 1
  %198 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_3090, i32 0, i32 50
  %_rtB__Constant = load double* %198, align 1
  %199 = fcmp ole double %_rtB__veh_spd_mps, %_rtB__Constant
  %200 = zext i1 %199 to i8
  store i8 %200, i8* %rtb_Compare_mz_, align 1
  %201 = uitofp i1 %199 to double
  %202 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_3090, i32 0, i32 51
  store double %201, double* %202, align 1
  br label %false69

false69:                                          ; preds = %merge2509, %true68
  %vm_ssIsMajorTimeStepVar1_3094 = load i32* %vm_ssIsMajorTimeStepVar1_, align 1
  %203 = icmp eq i32 %vm_ssIsMajorTimeStepVar1_3094, 0
  br i1 %203, label %false71, label %true70

true70:                                           ; preds = %false69
  store i8 0, i8* %tmp_, align 1
  %_rtZCE_3095 = load %PrevZCX_REVS_VM_T.20** %_rtZCE_, align 1
  %204 = getelementptr inbounds %PrevZCX_REVS_VM_T.20* %_rtZCE_3095, i32 0, i32 0
  %_rtB_3096 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %205 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_3096, i32 0, i32 51
  %_rtB__DataTypeConversion2 = load double* %205, align 1
  %206 = call i32 @rt_ZCFcn(i32 -1, i8* %204, double %_rtB__DataTypeConversion2)
  %207 = icmp eq i32 %206, 0
  br i1 %207, label %false73, label %true72

false71:                                          ; preds = %true74, %false73, %false69
  %_rtX_3102 = load %X_REVS_VM_T.18** %_rtX_, align 1
  %208 = getelementptr inbounds %X_REVS_VM_T.18* %_rtX_3102, i32 0, i32 5
  %_rtX__Integrator1_CSTATE = load double* %208, align 1
  %_rtP_3103 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %209 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_3103, i32 0, i32 247
  %_rtP__Integrator1_UpperSat_a = load double* %209, align 1
  %210 = fcmp ult double %_rtX__Integrator1_CSTATE, %_rtP__Integrator1_UpperSat_a
  br i1 %210, label %false77, label %true76

true72:                                           ; preds = %true70
  store i8 1, i8* %tmp_, align 1
  %_rtP_3098 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %211 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_3098, i32 0, i32 246
  %_rtP__Integrator1_IC_ms = load double* %211, align 1
  %_rtX_3099 = load %X_REVS_VM_T.18** %_rtX_, align 1
  %212 = getelementptr inbounds %X_REVS_VM_T.18* %_rtX_3099, i32 0, i32 5
  store double %_rtP__Integrator1_IC_ms, double* %212, align 1
  br label %false73

false73:                                          ; preds = %true70, %true72
  %tmp_3100 = load i8* %tmp_, align 1
  %213 = and i8 %tmp_3100, 1
  %214 = icmp eq i8 %213, 0
  br i1 %214, label %false71, label %true74

true74:                                           ; preds = %false73
  %"%<tSimStruct>_3101" = load i8** %"%<tSimStruct>_", align 1
  call void @vm_ssSetSolverNeedsReset(i8* %"%<tSimStruct>_3101")
  br label %false71

true76:                                           ; preds = %false71
  %215 = fcmp une double %_rtX__Integrator1_CSTATE, %_rtP__Integrator1_UpperSat_a
  br i1 %215, label %true82, label %merge2510

false77:                                          ; preds = %false71
  %216 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_3103, i32 0, i32 248
  %_rtP__Integrator1_LowerSat_m = load double* %216, align 1
  %217 = fcmp ole double %_rtX__Integrator1_CSTATE, %_rtP__Integrator1_LowerSat_m
  %218 = fcmp une double %_rtX__Integrator1_CSTATE, %_rtP__Integrator1_LowerSat_m
  %or.cond10096 = and i1 %217, %218
  br i1 %or.cond10096, label %true80, label %merge2510

true80:                                           ; preds = %false77
  store double %_rtP__Integrator1_LowerSat_m, double* %208, align 1
  %"%<tSimStruct>_3114" = load i8** %"%<tSimStruct>_", align 1
  call void @vm_ssSetSolverNeedsReset(i8* %"%<tSimStruct>_3114")
  br label %merge2510

true82:                                           ; preds = %true76
  store double %_rtP__Integrator1_UpperSat_a, double* %208, align 1
  %"%<tSimStruct>_3122" = load i8** %"%<tSimStruct>_", align 1
  call void @vm_ssSetSolverNeedsReset(i8* %"%<tSimStruct>_3122")
  br label %merge2510

true84:                                           ; preds = %merge2510
  %_rtDW_3125 = load %DW_REVS_VM_T.16** %_rtDW_, align 1
  %219 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_3125, i32 0, i32 1019
  %_rtDW__Memory_53_PreviousInput = load i8* %219, align 1
  %_rtB_3126 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %220 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_3126, i32 0, i32 624
  store i8 %_rtDW__Memory_53_PreviousInput, i8* %220, align 1
  %_rtB_3127 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %221 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_3127, i32 0, i32 624
  %_rtB__accel_anticipate_bool = load i8* %221, align 1
  %222 = and i8 %_rtB__accel_anticipate_bool, 1
  %223 = xor i8 %222, 1
  %224 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_3127, i32 0, i32 625
  store i8 %223, i8* %224, align 1
  %vm_ssIsSampleHitVar0_3129.pre = load i32* %vm_ssIsSampleHitVar0_, align 1
  br label %false85

false85:                                          ; preds = %merge2510, %true84
  %vm_ssIsSampleHitVar0_3129 = phi i32 [ 0, %merge2510 ], [ %vm_ssIsSampleHitVar0_3129.pre, %true84 ]
  store i32 %vm_ssIsSampleHitVar0_3129, i32* %i_0_, align 1
  %225 = icmp eq i32 %vm_ssIsSampleHitVar0_3129, 0
  br i1 %225, label %false87, label %true86

true86:                                           ; preds = %false85
  %_rtDW_3131 = load %DW_REVS_VM_T.16** %_rtDW_, align 1
  %226 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_3131, i32 0, i32 1020
  %_rtDW__Memory_1_PreviousInput = load i8* %226, align 1
  %_rtB_3132 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %227 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_3132, i32 0, i32 626
  store i8 %_rtDW__Memory_1_PreviousInput, i8* %227, align 1
  %_rtDW_3133 = load %DW_REVS_VM_T.16** %_rtDW_, align 1
  %228 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_3133, i32 0, i32 13
  %_rtDW__Memory_2_PreviousInput = load double* %228, align 1
  store double %_rtDW__Memory_2_PreviousInput, double* %rtb_eng_spd_radps_, align 1
  %_rtB_3134 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %229 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_3134, i32 0, i32 626
  %_rtB__ctrl_eng_on = load i8* %229, align 1
  %rtb_Compare_mz_3135 = load i8* %rtb_Compare_mz_, align 1
  %230 = and i8 %_rtB__ctrl_eng_on, 1
  %231 = and i8 %230, %rtb_Compare_mz_3135
  %232 = icmp ne i8 %231, 0
  %233 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_3134, i32 0, i32 56
  %_rtB__Gain = load double* %233, align 1
  %234 = fcmp olt double %_rtDW__Memory_2_PreviousInput, %_rtB__Gain
  %235 = and i1 %232, %234
  %236 = zext i1 %235 to i8
  %237 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_3134, i32 0, i32 627
  store i8 %236, i8* %237, align 1
  br label %false87

false87:                                          ; preds = %false85, %true86
  %_rtB_3140 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %238 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_3140, i32 0, i32 52
  %_rtB__Constant_g = load double* %238, align 1
  %_rtP_3141 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %239 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_3141, i32 0, i32 250
  %_rtP__Switch_Threshold_db = load double* %239, align 1
  %240 = fcmp ogt double %_rtB__Constant_g, %_rtP__Switch_Threshold_db
  br i1 %240, label %true88, label %false89

true88:                                           ; preds = %false87
  %241 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_3141, i32 0, i32 56
  %_rtP__normalize_Gain_h = load double* %241, align 1
  %_rtX_3145 = load %X_REVS_VM_T.18** %_rtX_, align 1
  %242 = getelementptr inbounds %X_REVS_VM_T.18* %_rtX_3145, i32 0, i32 5
  %_rtX__Integrator1_CSTATE3146 = load double* %242, align 1
  %tmp27 = fmul double %_rtP__normalize_Gain_h, %_rtX__Integrator1_CSTATE3146
  br label %merge2511

false89:                                          ; preds = %false87
  %_rtX_3142 = load %X_REVS_VM_T.18** %_rtX_, align 1
  %243 = getelementptr inbounds %X_REVS_VM_T.18* %_rtX_3142, i32 0, i32 5
  %_rtX__Integrator1_CSTATE3143 = load double* %243, align 1
  br label %merge2511

true90:                                           ; preds = %merge2511
  store double %1, double* %4506, align 1
  %_rtP_3180 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %244 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_3180, i32 0, i32 259
  %_rtP__IC_Value = load double* %244, align 1
  %_rtB_3181 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %245 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_3181, i32 0, i32 59
  store double %_rtP__IC_Value, double* %245, align 1
  br label %merge2514

false91:                                          ; preds = %merge2511
  %_rtB_3161 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %246 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_3161, i32 0, i32 57
  %_rtB__gear_num = load double* %246, align 1
  %247 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_3161, i32 0, i32 40
  %_rtB__Memory23163 = load double* %247, align 1
  %248 = fcmp oeq double %_rtB__gear_num, %_rtB__Memory23163
  %249 = zext i1 %248 to i32
  store i32 %249, i32* %i_0_, align 1
  %250 = sitofp i32 %249 to double
  %_rtP_3165 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %251 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_3165, i32 0, i32 257
  %_rtP__Saturation1_UpperSat = load double* %251, align 1
  %252 = fcmp ogt double %250, %_rtP__Saturation1_UpperSat
  br i1 %252, label %merge2513, label %false93

false93:                                          ; preds = %false91
  %253 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_3165, i32 0, i32 258
  %_rtP__Saturation1_LowerSat = load double* %253, align 1
  %254 = fcmp olt double %250, %_rtP__Saturation1_LowerSat
  %_rtP__Saturation1_LowerSat. = select i1 %254, double %_rtP__Saturation1_LowerSat, double %250
  br label %merge2513

true96:                                           ; preds = %merge2514
  %_rtB_3207 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %255 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_3207, i32 0, i32 59
  %_rtB__IC3208 = load double* %255, align 1
  %256 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_3207, i32 0, i32 60
  store double %_rtB__IC3208, double* %256, align 1
  br label %merge2517

false97:                                          ; preds = %merge2514
  %tmp30 = fsub double %1, %_rtDW__LastMajorTime
  store double %tmp30, double* %u0_0_, align 1
  %_rtP_3187 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %257 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_3187, i32 0, i32 260
  %_rtP__RateLimiter_RisingLim = load double* %257, align 1
  %tmp31 = fmul double %tmp30, %_rtP__RateLimiter_RisingLim
  store double %tmp31, double* %riseValLimit_, align 1
  %_rtB_3188 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %258 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_3188, i32 0, i32 59
  %_rtB__IC = load double* %258, align 1
  %259 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_3182, i32 0, i32 15
  %_rtDW__PrevY = load double* %259, align 1
  %tmp32 = fsub double %_rtB__IC, %_rtDW__PrevY
  store double %tmp32, double* %rateLimiterRate_, align 1
  %260 = fcmp ogt double %tmp32, %tmp31
  br i1 %260, label %true98, label %false99

true98:                                           ; preds = %false97
  %tmp35 = fadd double %_rtDW__PrevY, %tmp31
  %261 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_3188, i32 0, i32 60
  store double %tmp35, double* %261, align 1
  br label %merge2517

false99:                                          ; preds = %false97
  %262 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_3187, i32 0, i32 261
  %_rtP__RateLimiter_FallingLim = load double* %262, align 1
  %tmp33 = fmul double %tmp30, %_rtP__RateLimiter_FallingLim
  store double %tmp33, double* %u0_0_, align 1
  %263 = fcmp olt double %tmp32, %tmp33
  br i1 %263, label %true100, label %false101

true100:                                          ; preds = %false99
  %_rtDW__PrevY3200 = load double* %259, align 1
  %tmp34 = fadd double %_rtDW__PrevY3200, %tmp33
  %264 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_3188, i32 0, i32 60
  store double %tmp34, double* %264, align 1
  br label %merge2517

false101:                                         ; preds = %false99
  %_rtB__IC3197 = load double* %258, align 1
  %265 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_3188, i32 0, i32 60
  store double %_rtB__IC3197, double* %265, align 1
  br label %merge2517

true102:                                          ; preds = %merge2517
  %266 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_3210, i32 0, i32 61
  store double %_rtP__Saturation_UpperSat, double* %266, align 1
  br label %merge2519

false103:                                         ; preds = %merge2517
  %267 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_3211, i32 0, i32 263
  %_rtP__Saturation_LowerSat = load double* %267, align 1
  %268 = fcmp olt double %_rtB__RateLimiter, %_rtP__Saturation_LowerSat
  %269 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_3210, i32 0, i32 61
  br i1 %268, label %true104, label %false105

true104:                                          ; preds = %false103
  store double %_rtP__Saturation_LowerSat, double* %269, align 1
  br label %merge2519

false105:                                         ; preds = %false103
  store double %_rtB__RateLimiter, double* %269, align 1
  br label %merge2519

true106:                                          ; preds = %merge2519
  %_rtDW_3226 = load %DW_REVS_VM_T.16** %_rtDW_, align 1
  %270 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_3226, i32 0, i32 1021
  %_rtDW__Memory2_PreviousInput_o = load i8* %270, align 1
  %_rtB_3227 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %271 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_3227, i32 0, i32 629
  store i8 %_rtDW__Memory2_PreviousInput_o, i8* %271, align 1
  br label %false107

false107:                                         ; preds = %merge2519, %true106
  %_rtB_3228 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %272 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_3228, i32 0, i32 61
  %_rtB__Saturation = load double* %272, align 1
  %273 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_3228, i32 0, i32 62
  %_rtB__Constant_i = load double* %273, align 1
  %274 = fcmp oeq double %_rtB__Saturation, %_rtB__Constant_i
  %275 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_3228, i32 0, i32 629
  %_rtB__Memory2_g = load i8* %275, align 1
  %276 = and i8 %_rtB__Memory2_g, 1
  %277 = icmp ne i8 %276, 0
  %278 = or i1 %274, %277
  %279 = zext i1 %278 to i8
  %280 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_3228, i32 0, i32 630
  store i8 %279, i8* %280, align 1
  %_rtDW_3232 = load %DW_REVS_VM_T.16** %_rtDW_, align 1
  %281 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_3232, i32 0, i32 17
  %_rtDW__IC1_FirstOutputTime = load double* %281, align 1
  %282 = fcmp oeq double %_rtDW__IC1_FirstOutputTime, 0xFFF0000000000000
  %283 = fcmp oeq double %_rtDW__IC1_FirstOutputTime, %1
  %284 = or i1 %282, %283
  br i1 %284, label %true108, label %false109

true108:                                          ; preds = %false107
  store double %1, double* %281, align 1
  %_rtP_3240 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %285 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_3240, i32 0, i32 265
  %_rtP__IC1_Value = load double* %285, align 1
  %_rtB_3241 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %286 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_3241, i32 0, i32 63
  store double %_rtP__IC1_Value, double* %286, align 1
  br label %merge2520

false109:                                         ; preds = %false107
  %_rtB_3237 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %287 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_3237, i32 0, i32 63
  store double %tmp25, double* %287, align 1
  br label %merge2520

true110:                                          ; preds = %merge2520
  store i8 0, i8* %tmp_, align 1
  %_rtB_3243 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %288 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_3243, i32 0, i32 630
  %_rtB__LogicalOperator = load i8* %288, align 1
  %289 = and i8 %_rtB__LogicalOperator, 1
  %290 = icmp eq i8 %289, 0
  %_rtZCE_3244 = load %PrevZCX_REVS_VM_T.20** %_rtZCE_, align 1
  %291 = getelementptr inbounds %PrevZCX_REVS_VM_T.20* %_rtZCE_3244, i32 0, i32 1
  %_rtZCE__clutchinputspeedintegratorintegratewhenslipping_Reset_ZCE = load i8* %291, align 1
  %292 = icmp ne i8 %_rtZCE__clutchinputspeedintegratorintegratewhenslipping_Reset_ZCE, 0
  %293 = and i1 %290, %292
  %294 = zext i1 %293 to i8
  store i8 %294, i8* %didZcEventOccur_, align 1
  store i8 %_rtB__LogicalOperator, i8* %291, align 1
  %295 = and i8 %294, 1
  %296 = icmp ne i8 %295, 0
  %_rtDW_3249 = load %DW_REVS_VM_T.16** %_rtDW_, align 1
  %297 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_3249, i32 0, i32 840
  %_rtDW__clutchinputspeedintegratorintegratewhenslipping_IWORK = load i32* %297, align 1
  %298 = icmp ne i32 %_rtDW__clutchinputspeedintegratorintegratewhenslipping_IWORK, 0
  %299 = or i1 %296, %298
  br i1 %299, label %true112, label %false113

false111:                                         ; preds = %true114, %false113, %merge2520
  %_rtX_3254 = load %X_REVS_VM_T.18** %_rtX_, align 1
  %300 = getelementptr inbounds %X_REVS_VM_T.18* %_rtX_3254, i32 0, i32 6
  %_rtX__clutchinputspeedintegratorintegratewhenslipping_CSTATE = load double* %300, align 1
  %_rtP_3255 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %301 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_3255, i32 0, i32 266
  %_rtP__clutchinputspeedintegratorintegratewhenslipping_UpperSat = load double* %301, align 1
  %302 = fcmp ult double %_rtX__clutchinputspeedintegratorintegratewhenslipping_CSTATE, %_rtP__clutchinputspeedintegratorintegratewhenslipping_UpperSat
  br i1 %302, label %false117, label %true116

true112:                                          ; preds = %true110
  store i8 1, i8* %tmp_, align 1
  %_rtB_3250 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %303 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_3250, i32 0, i32 63
  %_rtB__IC1 = load double* %303, align 1
  %_rtX_3251 = load %X_REVS_VM_T.18** %_rtX_, align 1
  %304 = getelementptr inbounds %X_REVS_VM_T.18* %_rtX_3251, i32 0, i32 6
  store double %_rtB__IC1, double* %304, align 1
  br label %false113

false113:                                         ; preds = %true112, %true110
  %tmp_3252 = load i8* %tmp_, align 1
  %305 = and i8 %tmp_3252, 1
  %306 = icmp eq i8 %305, 0
  br i1 %306, label %false111, label %true114

true114:                                          ; preds = %false113
  %"%<tSimStruct>_3253" = load i8** %"%<tSimStruct>_", align 1
  call void @vm_ssSetSolverNeedsReset(i8* %"%<tSimStruct>_3253")
  br label %false111

true116:                                          ; preds = %false111
  %307 = fcmp une double %_rtX__clutchinputspeedintegratorintegratewhenslipping_CSTATE, %_rtP__clutchinputspeedintegratorintegratewhenslipping_UpperSat
  br i1 %307, label %true122, label %merge2521

false117:                                         ; preds = %false111
  %308 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_3255, i32 0, i32 267
  %_rtP__clutchinputspeedintegratorintegratewhenslipping_LowerSat = load double* %308, align 1
  %309 = fcmp ole double %_rtX__clutchinputspeedintegratorintegratewhenslipping_CSTATE, %_rtP__clutchinputspeedintegratorintegratewhenslipping_LowerSat
  %310 = fcmp une double %_rtX__clutchinputspeedintegratorintegratewhenslipping_CSTATE, %_rtP__clutchinputspeedintegratorintegratewhenslipping_LowerSat
  %or.cond10097 = and i1 %309, %310
  br i1 %or.cond10097, label %true120, label %merge2521

true120:                                          ; preds = %false117
  store double %_rtP__clutchinputspeedintegratorintegratewhenslipping_LowerSat, double* %300, align 1
  %"%<tSimStruct>_3266" = load i8** %"%<tSimStruct>_", align 1
  call void @vm_ssSetSolverNeedsReset(i8* %"%<tSimStruct>_3266")
  br label %merge2521

true122:                                          ; preds = %true116
  store double %_rtP__clutchinputspeedintegratorintegratewhenslipping_UpperSat, double* %300, align 1
  %"%<tSimStruct>_3274" = load i8** %"%<tSimStruct>_", align 1
  call void @vm_ssSetSolverNeedsReset(i8* %"%<tSimStruct>_3274")
  br label %merge2521

true124:                                          ; preds = %merge2521
  %311 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_3275, i32 0, i32 64
  store double %tmp25, double* %311, align 1
  br label %merge2522

false125:                                         ; preds = %merge2521
  %_rtX_3277 = load %X_REVS_VM_T.18** %_rtX_, align 1
  %312 = getelementptr inbounds %X_REVS_VM_T.18* %_rtX_3277, i32 0, i32 6
  %_rtX__clutchinputspeedintegratorintegratewhenslipping_CSTATE3278 = load double* %312, align 1
  %313 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_3275, i32 0, i32 64
  store double %_rtX__clutchinputspeedintegratorintegratewhenslipping_CSTATE3278, double* %313, align 1
  br label %merge2522

true126:                                          ; preds = %merge2522
  %_rtDW_3284 = load %DW_REVS_VM_T.16** %_rtDW_, align 1
  %314 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_3284, i32 0, i32 1022
  %_rtDW__Memory1_PreviousInput_lm = load i8* %314, align 1
  %_rtB_3285 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %315 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_3285, i32 0, i32 631
  store i8 %_rtDW__Memory1_PreviousInput_lm, i8* %315, align 1
  %_rtDW_3286 = load %DW_REVS_VM_T.16** %_rtDW_, align 1
  %316 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_3286, i32 0, i32 18
  %_rtDW__Memory_33_PreviousInput = load double* %316, align 1
  %_rtB_3287 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %317 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_3287, i32 0, i32 67
  store double %_rtDW__Memory_33_PreviousInput, double* %317, align 1
  %_rtB_3288 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %318 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_3288, i32 0, i32 66
  %_rtB__Fcn_j = load double* %318, align 1
  %319 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_3288, i32 0, i32 67
  %_rtB__gb_curr_gear = load double* %319, align 1
  %_rtDW_3290 = load %DW_REVS_VM_T.16** %_rtDW_, align 1
  %320 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_3290, i32 0, i32 0
  %_rtDW__DelayInput1_DSTATE = load double* %320, align 1
  %notlhs = fcmp oeq double %_rtB__Fcn_j, 0.000000e+00
  %notrhs = fcmp uge double %_rtB__gb_curr_gear, %_rtDW__DelayInput1_DSTATE
  %321 = or i1 %notrhs, %notlhs
  %322 = zext i1 %321 to i8
  store i8 %322, i8* %rtb_LogicalOperator6_, align 1
  %323 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_3288, i32 0, i32 69
  %_rtB__Fcn_b = load double* %323, align 1
  %324 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_3290, i32 0, i32 1
  %_rtDW__DelayInput1_DSTATE_n = load double* %324, align 1
  %notlhs9684 = fcmp oeq double %_rtB__Fcn_b, 0.000000e+00
  %notrhs9685 = fcmp ule double %_rtB__gb_curr_gear, %_rtDW__DelayInput1_DSTATE_n
  %325 = or i1 %notrhs9685, %notlhs9684
  %326 = zext i1 %325 to i8
  store i8 %326, i8* %rtb_LogicalOperator2_k_, align 1
  %327 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_3290, i32 0, i32 19
  %_rtDW__Memory_PreviousInput_e = load double* %327, align 1
  store double %_rtDW__Memory_PreviousInput_e, double* %rtb_Memory_, align 1
  %328 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_3290, i32 0, i32 20
  %_rtDW__Memory_31_PreviousInput = load double* %328, align 1
  %329 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_3288, i32 0, i32 70
  store double %_rtDW__Memory_31_PreviousInput, double* %329, align 1
  %_rtDW_3298 = load %DW_REVS_VM_T.16** %_rtDW_, align 1
  %330 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_3298, i32 0, i32 21
  %_rtDW__Memory_12_PreviousInput = load double* %330, align 1
  store double %_rtDW__Memory_12_PreviousInput, double* %rtb_gear_num_, align 1
  %331 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_3298, i32 0, i32 22
  %_rtDW__Memory_10_PreviousInput = load double* %331, align 1
  store double %_rtDW__Memory_10_PreviousInput, double* %rtb_eng_load_norm_, align 1
  %_rtB_3302 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %332 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_3302, i32 0, i32 71
  %_rtB__Switch_be = load double* %332, align 1
  %333 = call double @muDoubleScalarMin(double %_rtDW__Memory_12_PreviousInput, double %_rtB__Switch_be)
  %_rtB_3303 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %334 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_3303, i32 0, i32 72
  %_rtB__Switch1_i = load double* %334, align 1
  %335 = call double @muDoubleScalarMax(double %333, double %_rtB__Switch1_i)
  %_rtDW_3304 = load %DW_REVS_VM_T.16** %_rtDW_, align 1
  %336 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_3304, i32 0, i32 22
  %_rtDW__Memory_10_PreviousInput3305 = load double* %336, align 1
  %_rtB_3306 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %337 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_3306, i32 0, i32 73
  %_rtB__Switch_bn = load double* %337, align 1
  %338 = call double @muDoubleScalarMin(double %_rtDW__Memory_10_PreviousInput3305, double %_rtB__Switch_bn)
  %_rtB_3307 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %339 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_3307, i32 0, i32 74
  %_rtB__Switch1_f = load double* %339, align 1
  %340 = call double @muDoubleScalarMax(double %338, double %_rtB__Switch1_f)
  %_rtP_3308 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %341 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_3308, i32 0, i32 286, i32 0
  %342 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_3308, i32 0, i32 287, i32 0
  %343 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_3308, i32 0, i32 285, i32 0
  %_rtDW_3311 = load %DW_REVS_VM_T.16** %_rtDW_, align 1
  %344 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_3311, i32 0, i32 782, i32 0
  %345 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_3308, i32 0, i32 1351, i32 0
  %346 = call double @look2_plinlxpw(double %335, double %340, double* %341, double* %342, double* %343, i32* %344, i32* %345, i32 8)
  %_rtB_3313 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %347 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_3313, i32 0, i32 75
  store double %346, double* %347, align 1
  %_rtDW_3314 = load %DW_REVS_VM_T.16** %_rtDW_, align 1
  %348 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_3314, i32 0, i32 23
  %_rtDW__Memory_21_PreviousInput = load double* %348, align 1
  %_rtB_3315 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %349 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_3315, i32 0, i32 76
  store double %_rtDW__Memory_21_PreviousInput, double* %349, align 1
  %350 = fcmp une double %_rtDW__Memory_PreviousInput_e, 0.000000e+00
  %_rtB_3317 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %351 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_3317, i32 0, i32 70
  %_rtB__gb_spd_out_radps = load double* %351, align 1
  %352 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_3317, i32 0, i32 75
  %_rtB__Lookup = load double* %352, align 1
  %353 = fcmp ogt double %_rtB__gb_spd_out_radps, %_rtB__Lookup
  %354 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_3317, i32 0, i32 76
  %_rtB__trans_curr_gear = load double* %354, align 1
  %355 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_3317, i32 0, i32 78
  %_rtB__var_sig2 = load double* %355, align 1
  %356 = fcmp ogt double %_rtB__trans_curr_gear, %_rtB__var_sig2
  %357 = and i1 %353, %356
  %358 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_3317, i32 0, i32 77
  %_rtB__var_sig1_i = load double* %358, align 1
  %359 = fcmp oge double %_rtB__trans_curr_gear, %_rtB__var_sig1_i
  %360 = or i1 %357, %359
  %361 = or i1 %350, %360
  %362 = zext i1 %361 to i8
  store i8 %362, i8* %rtb_LogicalOperator8_, align 1
  %363 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_3317, i32 0, i32 79
  %_rtB__Switch_bm = load double* %363, align 1
  %364 = call double @muDoubleScalarMin(double %_rtDW__Memory_12_PreviousInput, double %_rtB__Switch_bm)
  %_rtB_3326 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %365 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_3326, i32 0, i32 80
  %_rtB__Switch1_gd = load double* %365, align 1
  %366 = call double @muDoubleScalarMax(double %364, double %_rtB__Switch1_gd)
  %_rtB_3328 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %367 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_3328, i32 0, i32 81
  %_rtB__Switch_a = load double* %367, align 1
  %368 = call double @muDoubleScalarMin(double %_rtDW__Memory_10_PreviousInput, double %_rtB__Switch_a)
  %_rtB_3329 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %369 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_3329, i32 0, i32 82
  %_rtB__Switch1_po = load double* %369, align 1
  %370 = call double @muDoubleScalarMax(double %368, double %_rtB__Switch1_po)
  %_rtP_3330 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %371 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_3330, i32 0, i32 300, i32 0
  %372 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_3330, i32 0, i32 301, i32 0
  %373 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_3330, i32 0, i32 299, i32 0
  %_rtDW_3333 = load %DW_REVS_VM_T.16** %_rtDW_, align 1
  %374 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_3333, i32 0, i32 783, i32 0
  %375 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_3330, i32 0, i32 1355, i32 0
  %376 = call double @look2_plinlxpw(double %366, double %370, double* %371, double* %372, double* %373, i32* %374, i32* %375, i32 8)
  %_rtB_3335 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %377 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_3335, i32 0, i32 83
  store double %376, double* %377, align 1
  %_rtB_3336 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %378 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_3336, i32 0, i32 632
  %_rtB__const1 = load i8* %378, align 1
  %rtb_LogicalOperator6_3337 = load i8* %rtb_LogicalOperator6_, align 1
  %rtb_LogicalOperator2_k_3338 = load i8* %rtb_LogicalOperator2_k_, align 1
  %379 = and i8 %_rtB__const1, 1
  %380 = and i8 %379, %rtb_LogicalOperator6_3337
  %381 = and i8 %380, %rtb_LogicalOperator2_k_3338
  %382 = and i8 %381, %362
  %383 = icmp ne i8 %382, 0
  %384 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_3336, i32 0, i32 70
  %_rtB__gb_spd_out_radps3341 = load double* %384, align 1
  %385 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_3336, i32 0, i32 83
  %_rtB__Lookup_o = load double* %385, align 1
  %386 = fcmp olt double %_rtB__gb_spd_out_radps3341, %_rtB__Lookup_o
  %387 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_3336, i32 0, i32 76
  %_rtB__trans_curr_gear3344 = load double* %387, align 1
  %388 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_3336, i32 0, i32 84
  %_rtB__var_sig1_m = load double* %388, align 1
  %389 = fcmp olt double %_rtB__trans_curr_gear3344, %_rtB__var_sig1_m
  %390 = and i1 %386, %389
  %391 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_3336, i32 0, i32 85
  %_rtB__var_sig2_g = load double* %391, align 1
  %392 = fcmp ole double %_rtB__trans_curr_gear3344, %_rtB__var_sig2_g
  %393 = or i1 %390, %392
  %394 = xor i1 %393, true
  %395 = and i1 %383, %394
  %396 = uitofp i1 %395 to double
  %397 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_3336, i32 0, i32 86
  store double %396, double* %397, align 1
  br label %false127

false127:                                         ; preds = %merge2522, %true126
  %vm_ssIsMajorTimeStepVar1_3350 = load i32* %vm_ssIsMajorTimeStepVar1_, align 1
  %398 = icmp eq i32 %vm_ssIsMajorTimeStepVar1_3350, 0
  br i1 %398, label %false129, label %true128

true128:                                          ; preds = %false127
  store i8 0, i8* %tmp_, align 1
  %_rtZCE_3351 = load %PrevZCX_REVS_VM_T.20** %_rtZCE_, align 1
  %399 = getelementptr inbounds %PrevZCX_REVS_VM_T.20* %_rtZCE_3351, i32 0, i32 2
  %_rtB_3352 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %400 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_3352, i32 0, i32 86
  %_rtB__DataTypeConversion2_d = load double* %400, align 1
  %401 = call i32 @rt_ZCFcn(i32 -1, i8* %399, double %_rtB__DataTypeConversion2_d)
  %402 = icmp eq i32 %401, 0
  br i1 %402, label %false131, label %true130

false129:                                         ; preds = %true132, %false131, %false127
  %_rtX_3358 = load %X_REVS_VM_T.18** %_rtX_, align 1
  %403 = getelementptr inbounds %X_REVS_VM_T.18* %_rtX_3358, i32 0, i32 7
  %_rtX__Integrator1_CSTATE_a = load double* %403, align 1
  %_rtP_3359 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %404 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_3359, i32 0, i32 305
  %_rtP__Integrator1_UpperSat_h = load double* %404, align 1
  %405 = fcmp ult double %_rtX__Integrator1_CSTATE_a, %_rtP__Integrator1_UpperSat_h
  br i1 %405, label %false135, label %true134

true130:                                          ; preds = %true128
  store i8 1, i8* %tmp_, align 1
  %_rtP_3354 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %406 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_3354, i32 0, i32 304
  %_rtP__Integrator1_IC_d = load double* %406, align 1
  %_rtX_3355 = load %X_REVS_VM_T.18** %_rtX_, align 1
  %407 = getelementptr inbounds %X_REVS_VM_T.18* %_rtX_3355, i32 0, i32 7
  store double %_rtP__Integrator1_IC_d, double* %407, align 1
  br label %false131

false131:                                         ; preds = %true128, %true130
  %tmp_3356 = load i8* %tmp_, align 1
  %408 = and i8 %tmp_3356, 1
  %409 = icmp eq i8 %408, 0
  br i1 %409, label %false129, label %true132

true132:                                          ; preds = %false131
  %"%<tSimStruct>_3357" = load i8** %"%<tSimStruct>_", align 1
  call void @vm_ssSetSolverNeedsReset(i8* %"%<tSimStruct>_3357")
  br label %false129

true134:                                          ; preds = %false129
  %410 = fcmp une double %_rtX__Integrator1_CSTATE_a, %_rtP__Integrator1_UpperSat_h
  br i1 %410, label %true140, label %merge2523

false135:                                         ; preds = %false129
  %411 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_3359, i32 0, i32 306
  %_rtP__Integrator1_LowerSat_e = load double* %411, align 1
  %412 = fcmp ole double %_rtX__Integrator1_CSTATE_a, %_rtP__Integrator1_LowerSat_e
  %413 = fcmp une double %_rtX__Integrator1_CSTATE_a, %_rtP__Integrator1_LowerSat_e
  %or.cond10098 = and i1 %412, %413
  br i1 %or.cond10098, label %true138, label %merge2523

true138:                                          ; preds = %false135
  store double %_rtP__Integrator1_LowerSat_e, double* %403, align 1
  %"%<tSimStruct>_3370" = load i8** %"%<tSimStruct>_", align 1
  call void @vm_ssSetSolverNeedsReset(i8* %"%<tSimStruct>_3370")
  br label %merge2523

true140:                                          ; preds = %true134
  store double %_rtP__Integrator1_UpperSat_h, double* %403, align 1
  %"%<tSimStruct>_3378" = load i8** %"%<tSimStruct>_", align 1
  call void @vm_ssSetSolverNeedsReset(i8* %"%<tSimStruct>_3378")
  br label %merge2523

true142:                                          ; preds = %merge2523
  %414 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_3380, i32 0, i32 57
  %_rtP__normalize_Gain_a = load double* %414, align 1
  %_rtX_3384 = load %X_REVS_VM_T.18** %_rtX_, align 1
  %415 = getelementptr inbounds %X_REVS_VM_T.18* %_rtX_3384, i32 0, i32 7
  %_rtX__Integrator1_CSTATE_a3385 = load double* %415, align 1
  %tmp36 = fmul double %_rtP__normalize_Gain_a, %_rtX__Integrator1_CSTATE_a3385
  br label %merge2524

false143:                                         ; preds = %merge2523
  %_rtX_3381 = load %X_REVS_VM_T.18** %_rtX_, align 1
  %416 = getelementptr inbounds %X_REVS_VM_T.18* %_rtX_3381, i32 0, i32 7
  %_rtX__Integrator1_CSTATE_a3382 = load double* %416, align 1
  br label %merge2524

true144:                                          ; preds = %merge2524
  %417 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_3389, i32 0, i32 90
  store double %_rtP__Saturation_UpperSat_m, double* %417, align 1
  br label %merge2526

false145:                                         ; preds = %merge2524
  %418 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_3390, i32 0, i32 311
  %_rtP__Saturation_LowerSat_g = load double* %418, align 1
  %419 = fcmp olt double %_rtB__tcc_lockup_cmd_bool, %_rtP__Saturation_LowerSat_g
  %420 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_3389, i32 0, i32 90
  br i1 %419, label %true146, label %false147

true146:                                          ; preds = %false145
  store double %_rtP__Saturation_LowerSat_g, double* %420, align 1
  br label %merge2526

false147:                                         ; preds = %false145
  store double %_rtB__tcc_lockup_cmd_bool, double* %420, align 1
  br label %merge2526

true148:                                          ; preds = %merge2526
  %_rtB_3428 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %421 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_3428, i32 0, i32 90
  %_rtB__Saturation_a3429 = load double* %421, align 1
  %422 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_3428, i32 0, i32 91
  store double %_rtB__Saturation_a3429, double* %422, align 1
  br label %merge2529

false149:                                         ; preds = %merge2526
  %vm_ssGetTaskTimeVar4_3404 = load double* %vm_ssGetTaskTimeVar4_, align 1
  %tmp37 = fsub double %vm_ssGetTaskTimeVar4_3404, %_rtDW__LastMajorTime_m
  store double %tmp37, double* %u0_0_, align 1
  %_rtP_3408 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %423 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_3408, i32 0, i32 312
  %_rtP__RateLimiter_RisingLim_a = load double* %423, align 1
  %tmp38 = fmul double %tmp37, %_rtP__RateLimiter_RisingLim_a
  store double %tmp38, double* %riseValLimit_, align 1
  %_rtB_3409 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %424 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_3409, i32 0, i32 90
  %_rtB__Saturation_a = load double* %424, align 1
  %425 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_3403, i32 0, i32 24
  %_rtDW__PrevY_d = load double* %425, align 1
  %tmp39 = fsub double %_rtB__Saturation_a, %_rtDW__PrevY_d
  store double %tmp39, double* %rateLimiterRate_, align 1
  %426 = fcmp ogt double %tmp39, %tmp38
  br i1 %426, label %true150, label %false151

true150:                                          ; preds = %false149
  %tmp42 = fadd double %_rtDW__PrevY_d, %tmp38
  %427 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_3409, i32 0, i32 91
  store double %tmp42, double* %427, align 1
  br label %merge2529

false151:                                         ; preds = %false149
  %428 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_3408, i32 0, i32 313
  %_rtP__RateLimiter_FallingLim_f = load double* %428, align 1
  %tmp40 = fmul double %tmp37, %_rtP__RateLimiter_FallingLim_f
  store double %tmp40, double* %u0_0_, align 1
  %429 = fcmp olt double %tmp39, %tmp40
  br i1 %429, label %true152, label %false153

true152:                                          ; preds = %false151
  %_rtDW__PrevY_d3421 = load double* %425, align 1
  %tmp41 = fadd double %_rtDW__PrevY_d3421, %tmp40
  %430 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_3409, i32 0, i32 91
  store double %tmp41, double* %430, align 1
  br label %merge2529

false153:                                         ; preds = %false151
  %_rtB__Saturation_a3418 = load double* %424, align 1
  %431 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_3409, i32 0, i32 91
  store double %_rtB__Saturation_a3418, double* %431, align 1
  br label %merge2529

true154:                                          ; preds = %merge2529
  %_rtDW_3437 = load %DW_REVS_VM_T.16** %_rtDW_, align 1
  %432 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_3437, i32 0, i32 26
  %_rtDW__Memory_PreviousInput_k = load double* %432, align 1
  %_rtB_3438 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %433 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_3438, i32 0, i32 93
  store double %_rtDW__Memory_PreviousInput_k, double* %433, align 1
  br label %false155

false155:                                         ; preds = %merge2529, %true154
  %_rtB_3439 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %434 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_3439, i32 0, i32 93
  %_rtB__Memory_c = load double* %434, align 1
  %435 = fcmp une double %_rtB__Memory_c, 0.000000e+00
  br i1 %435, label %true156, label %false157

true156:                                          ; preds = %false155
  %436 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_3439, i32 0, i32 64
  %_rtB__ClutchSpeedDisengaged = load double* %436, align 1
  %437 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_3439, i32 0, i32 95
  store double %_rtB__ClutchSpeedDisengaged, double* %437, align 1
  br label %merge2530

false157:                                         ; preds = %false155
  %438 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_3439, i32 0, i32 94
  %_rtB__ICValue = load double* %438, align 1
  %439 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_3439, i32 0, i32 95
  store double %_rtB__ICValue, double* %439, align 1
  br label %merge2530

true158:                                          ; preds = %merge2530
  store i8 0, i8* %tmp_, align 1
  %_rtB_3445 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %440 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_3445, i32 0, i32 633
  %_rtB__LogicalOperator2 = load i8* %440, align 1
  %441 = and i8 %_rtB__LogicalOperator2, 1
  %442 = icmp eq i8 %441, 0
  %_rtZCE_3446 = load %PrevZCX_REVS_VM_T.20** %_rtZCE_, align 1
  %443 = getelementptr inbounds %PrevZCX_REVS_VM_T.20* %_rtZCE_3446, i32 0, i32 3
  %_rtZCE__torqueconverterinputspeedintegratorintegratewhenslipping_Reset_ZCE = load i8* %443, align 1
  %444 = icmp ne i8 %_rtZCE__torqueconverterinputspeedintegratorintegratewhenslipping_Reset_ZCE, 0
  %445 = and i1 %442, %444
  %446 = zext i1 %445 to i8
  store i8 %446, i8* %didZcEventOccur_, align 1
  store i8 %_rtB__LogicalOperator2, i8* %443, align 1
  %447 = and i8 %446, 1
  %448 = icmp ne i8 %447, 0
  %_rtDW_3451 = load %DW_REVS_VM_T.16** %_rtDW_, align 1
  %449 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_3451, i32 0, i32 841
  %_rtDW__torqueconverterinputspeedintegratorintegratewhenslipping_IWORK = load i32* %449, align 1
  %450 = icmp ne i32 %_rtDW__torqueconverterinputspeedintegratorintegratewhenslipping_IWORK, 0
  %451 = or i1 %448, %450
  br i1 %451, label %true160, label %false161

false159:                                         ; preds = %true162, %false161, %merge2530
  %_rtX_3456 = load %X_REVS_VM_T.18** %_rtX_, align 1
  %452 = getelementptr inbounds %X_REVS_VM_T.18* %_rtX_3456, i32 0, i32 8
  %_rtX__torqueconverterinputspeedintegratorintegratewhenslipping_CSTATE = load double* %452, align 1
  %_rtP_3457 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %453 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_3457, i32 0, i32 317
  %_rtP__torqueconverterinputspeedintegratorintegratewhenslipping_UpperSat = load double* %453, align 1
  %454 = fcmp ult double %_rtX__torqueconverterinputspeedintegratorintegratewhenslipping_CSTATE, %_rtP__torqueconverterinputspeedintegratorintegratewhenslipping_UpperSat
  br i1 %454, label %false165, label %true164

true160:                                          ; preds = %true158
  store i8 1, i8* %tmp_, align 1
  %_rtB_3452 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %455 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_3452, i32 0, i32 95
  %_rtB__ICSwitch = load double* %455, align 1
  %_rtX_3453 = load %X_REVS_VM_T.18** %_rtX_, align 1
  %456 = getelementptr inbounds %X_REVS_VM_T.18* %_rtX_3453, i32 0, i32 8
  store double %_rtB__ICSwitch, double* %456, align 1
  br label %false161

false161:                                         ; preds = %true160, %true158
  %tmp_3454 = load i8* %tmp_, align 1
  %457 = and i8 %tmp_3454, 1
  %458 = icmp eq i8 %457, 0
  br i1 %458, label %false159, label %true162

true162:                                          ; preds = %false161
  %"%<tSimStruct>_3455" = load i8** %"%<tSimStruct>_", align 1
  call void @vm_ssSetSolverNeedsReset(i8* %"%<tSimStruct>_3455")
  br label %false159

true164:                                          ; preds = %false159
  %459 = fcmp une double %_rtX__torqueconverterinputspeedintegratorintegratewhenslipping_CSTATE, %_rtP__torqueconverterinputspeedintegratorintegratewhenslipping_UpperSat
  br i1 %459, label %true170, label %merge2531

false165:                                         ; preds = %false159
  %460 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_3457, i32 0, i32 318
  %_rtP__torqueconverterinputspeedintegratorintegratewhenslipping_LowerSat = load double* %460, align 1
  %461 = fcmp ole double %_rtX__torqueconverterinputspeedintegratorintegratewhenslipping_CSTATE, %_rtP__torqueconverterinputspeedintegratorintegratewhenslipping_LowerSat
  %462 = fcmp une double %_rtX__torqueconverterinputspeedintegratorintegratewhenslipping_CSTATE, %_rtP__torqueconverterinputspeedintegratorintegratewhenslipping_LowerSat
  %or.cond10099 = and i1 %461, %462
  br i1 %or.cond10099, label %true168, label %merge2531

true168:                                          ; preds = %false165
  store double %_rtP__torqueconverterinputspeedintegratorintegratewhenslipping_LowerSat, double* %452, align 1
  %"%<tSimStruct>_3468" = load i8** %"%<tSimStruct>_", align 1
  call void @vm_ssSetSolverNeedsReset(i8* %"%<tSimStruct>_3468")
  br label %merge2531

true170:                                          ; preds = %true164
  store double %_rtP__torqueconverterinputspeedintegratorintegratewhenslipping_UpperSat, double* %452, align 1
  %"%<tSimStruct>_3476" = load i8** %"%<tSimStruct>_", align 1
  call void @vm_ssSetSolverNeedsReset(i8* %"%<tSimStruct>_3476")
  br label %merge2531

true172:                                          ; preds = %merge2531
  %463 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_3477, i32 0, i32 64
  %_rtB__ClutchSpeedDisengaged3483 = load double* %463, align 1
  %464 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_3477, i32 0, i32 96
  store double %_rtB__ClutchSpeedDisengaged3483, double* %464, align 1
  br label %merge2532

false173:                                         ; preds = %merge2531
  %_rtX_3479 = load %X_REVS_VM_T.18** %_rtX_, align 1
  %465 = getelementptr inbounds %X_REVS_VM_T.18* %_rtX_3479, i32 0, i32 8
  %_rtX__torqueconverterinputspeedintegratorintegratewhenslipping_CSTATE3480 = load double* %465, align 1
  %466 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_3477, i32 0, i32 96
  store double %_rtX__torqueconverterinputspeedintegratorintegratewhenslipping_CSTATE3480, double* %466, align 1
  br label %merge2532

false175:                                         ; preds = %false179, %true180, %false185, %true178, %merge2532
  %_rtDW_3550 = load %DW_REVS_VM_T.16** %_rtDW_, align 1
  %467 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_3550, i32 0, i32 1034
  %_rtDW__Subsystem_MODE_f3551 = load i8* %467, align 1
  %468 = and i8 %_rtDW__Subsystem_MODE_f3551, 1
  %469 = icmp eq i8 %468, 0
  br i1 %469, label %false187, label %true186

true176:                                          ; preds = %merge2532
  %_rtB_3540 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %470 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_3540, i32 0, i32 634
  %_rtB__Compare_o = load i8* %470, align 1
  %471 = and i8 %_rtB__Compare_o, 1
  %472 = icmp eq i8 %471, 0
  %_rtDW_3541 = load %DW_REVS_VM_T.16** %_rtDW_, align 1
  %473 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_3541, i32 0, i32 1034
  %_rtDW__Subsystem_MODE_f = load i8* %473, align 1
  %474 = and i8 %_rtDW__Subsystem_MODE_f, 1
  %475 = icmp eq i8 %474, 0
  br i1 %472, label %false179, label %true178

true178:                                          ; preds = %true176
  br i1 %475, label %true182, label %false175

false179:                                         ; preds = %true176
  br i1 %475, label %false175, label %true180

true180:                                          ; preds = %false179
  %"%<tSimStruct>_3542" = load i8** %"%<tSimStruct>_", align 1
  call void @vm_ssSetSolverNeedsReset(i8* %"%<tSimStruct>_3542")
  %_rtDW_3543 = load %DW_REVS_VM_T.16** %_rtDW_, align 1
  %476 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_3543, i32 0, i32 1034
  store i8 0, i8* %476, align 1
  br label %false175

true182:                                          ; preds = %true178
  %vm_ssGetTaskTimeVar2_3546 = load double* %vm_ssGetTaskTimeVar2_, align 1
  %vm_ssGetTStartVar3_3547 = load double* %vm_ssGetTStartVar3_, align 1
  %477 = fcmp une double %vm_ssGetTaskTimeVar2_3546, %vm_ssGetTStartVar3_3547
  br i1 %477, label %true184, label %false185

true184:                                          ; preds = %true182
  %"%<tSimStruct>_3548" = load i8** %"%<tSimStruct>_", align 1
  call void @vm_ssSetSolverNeedsReset(i8* %"%<tSimStruct>_3548")
  %_rtDW_3549.pre = load %DW_REVS_VM_T.16** %_rtDW_, align 1
  br label %false185

false185:                                         ; preds = %true184, %true182
  %_rtDW_3549 = phi %DW_REVS_VM_T.16* [ %_rtDW_3549.pre, %true184 ], [ %_rtDW_3541, %true182 ]
  %478 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_3549, i32 0, i32 1034
  store i8 1, i8* %478, align 1
  br label %false175

true186:                                          ; preds = %false175
  %"%<tSimStruct>_3552" = load i8** %"%<tSimStruct>_", align 1
  %_rtB_3553 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %479 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_3553, i32 0, i32 109
  %_rtB__Sum4 = load double* %479, align 1
  %480 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_3553, i32 0, i32 96
  %_rtB__tc_spd_in_radps3555 = load double* %480, align 1
  %481 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_3553, i32 0, i32 897
  %_rtP_3557 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %482 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_3557, i32 0, i32 1581
  %_rtX_3558 = load %X_REVS_VM_T.18** %_rtX_, align 1
  %483 = getelementptr inbounds %X_REVS_VM_T.18* %_rtX_3558, i32 0, i32 112
  call void @REVS_VM_MechEnergyNmradps(i8* %"%<tSimStruct>_3552", double %_rtB__Sum4, double %_rtB__tc_spd_in_radps3555, %B_MechEnergyNmradps_REVS_VM_T.4* %481, %P_MechEnergyNmradps_REVS_VM_T.6* %482, %X_MechEnergyNmradps_REVS_VM_T.7* %483)
  %vm_ssIsSampleHitVar0_3559 = load i32* %vm_ssIsSampleHitVar0_, align 1
  store i32 %vm_ssIsSampleHitVar0_3559, i32* %i_0_, align 1
  %484 = icmp eq i32 %vm_ssIsSampleHitVar0_3559, 0
  br i1 %484, label %false189, label %true188

false187:                                         ; preds = %true190, %false189, %false175
  %vm_ssIsSampleHitVar0_3569 = load i32* %vm_ssIsSampleHitVar0_, align 1
  store i32 %vm_ssIsSampleHitVar0_3569, i32* %i_0_, align 1
  %485 = icmp eq i32 %vm_ssIsSampleHitVar0_3569, 0
  %vm_ssIsMajorTimeStepVar1_3571 = load i32* %vm_ssIsMajorTimeStepVar1_, align 1
  %486 = icmp eq i32 %vm_ssIsMajorTimeStepVar1_3571, 0
  %or.cond10103 = or i1 %485, %486
  br i1 %or.cond10103, label %false193, label %true194

true188:                                          ; preds = %true186
  %"%<tSimStruct>_3561" = load i8** %"%<tSimStruct>_", align 1
  call void @vm_ssCallAccelRunBlock(i8* %"%<tSimStruct>_3561", i32 3, i32 1, i32 104)
  %"%<tSimStruct>_3562" = load i8** %"%<tSimStruct>_", align 1
  call void @vm_ssCallAccelRunBlock(i8* %"%<tSimStruct>_3562", i32 3, i32 2, i32 104)
  %"%<tSimStruct>_3563" = load i8** %"%<tSimStruct>_", align 1
  call void @vm_ssCallAccelRunBlock(i8* %"%<tSimStruct>_3563", i32 3, i32 3, i32 104)
  %"%<tSimStruct>_3564" = load i8** %"%<tSimStruct>_", align 1
  call void @vm_ssCallAccelRunBlock(i8* %"%<tSimStruct>_3564", i32 3, i32 4, i32 104)
  %"%<tSimStruct>_3565" = load i8** %"%<tSimStruct>_", align 1
  call void @vm_ssCallAccelRunBlock(i8* %"%<tSimStruct>_3565", i32 3, i32 5, i32 104)
  %"%<tSimStruct>_3566" = load i8** %"%<tSimStruct>_", align 1
  call void @vm_ssCallAccelRunBlock(i8* %"%<tSimStruct>_3566", i32 3, i32 6, i32 104)
  br label %false189

false189:                                         ; preds = %true186, %true188
  %vm_ssIsMajorTimeStepVar1_3567 = load i32* %vm_ssIsMajorTimeStepVar1_, align 1
  %487 = icmp eq i32 %vm_ssIsMajorTimeStepVar1_3567, 0
  br i1 %487, label %false187, label %true190

true190:                                          ; preds = %false189
  %_rtDW_3568 = load %DW_REVS_VM_T.16** %_rtDW_, align 1
  %488 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_3568, i32 0, i32 845
  call void @vm_srUpdateBC(i8* %488)
  br label %false187

false193:                                         ; preds = %false197, %true198, %false203, %true196, %false187
  %_rtDW_3582 = load %DW_REVS_VM_T.16** %_rtDW_, align 1
  %489 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_3582, i32 0, i32 1035
  %_rtDW__Subsystem_MODE_h3583 = load i8* %489, align 1
  %490 = and i8 %_rtDW__Subsystem_MODE_h3583, 1
  %491 = icmp eq i8 %490, 0
  br i1 %491, label %false205, label %true204

true194:                                          ; preds = %false187
  %_rtB_3572 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %492 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_3572, i32 0, i32 635
  %_rtB__Compare_ox = load i8* %492, align 1
  %493 = and i8 %_rtB__Compare_ox, 1
  %494 = icmp eq i8 %493, 0
  %_rtDW_3573 = load %DW_REVS_VM_T.16** %_rtDW_, align 1
  %495 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_3573, i32 0, i32 1035
  %_rtDW__Subsystem_MODE_h = load i8* %495, align 1
  %496 = and i8 %_rtDW__Subsystem_MODE_h, 1
  %497 = icmp eq i8 %496, 0
  br i1 %494, label %false197, label %true196

true196:                                          ; preds = %true194
  br i1 %497, label %true200, label %false193

false197:                                         ; preds = %true194
  br i1 %497, label %false193, label %true198

true198:                                          ; preds = %false197
  %"%<tSimStruct>_3574" = load i8** %"%<tSimStruct>_", align 1
  call void @vm_ssSetSolverNeedsReset(i8* %"%<tSimStruct>_3574")
  %_rtDW_3575 = load %DW_REVS_VM_T.16** %_rtDW_, align 1
  %498 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_3575, i32 0, i32 1035
  store i8 0, i8* %498, align 1
  br label %false193

true200:                                          ; preds = %true196
  %vm_ssGetTaskTimeVar2_3578 = load double* %vm_ssGetTaskTimeVar2_, align 1
  %vm_ssGetTStartVar3_3579 = load double* %vm_ssGetTStartVar3_, align 1
  %499 = fcmp une double %vm_ssGetTaskTimeVar2_3578, %vm_ssGetTStartVar3_3579
  br i1 %499, label %true202, label %false203

true202:                                          ; preds = %true200
  %"%<tSimStruct>_3580" = load i8** %"%<tSimStruct>_", align 1
  call void @vm_ssSetSolverNeedsReset(i8* %"%<tSimStruct>_3580")
  %_rtDW_3581.pre = load %DW_REVS_VM_T.16** %_rtDW_, align 1
  br label %false203

false203:                                         ; preds = %true202, %true200
  %_rtDW_3581 = phi %DW_REVS_VM_T.16* [ %_rtDW_3581.pre, %true202 ], [ %_rtDW_3573, %true200 ]
  %500 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_3581, i32 0, i32 1035
  store i8 1, i8* %500, align 1
  br label %false193

true204:                                          ; preds = %false193
  %vm_ssIsSampleHitVar0_3584 = load i32* %vm_ssIsSampleHitVar0_, align 1
  store i32 %vm_ssIsSampleHitVar0_3584, i32* %i_0_, align 1
  %501 = icmp eq i32 %vm_ssIsSampleHitVar0_3584, 0
  br i1 %501, label %false207, label %true206

false205:                                         ; preds = %true210, %false209, %false193
  %vm_ssIsSampleHitVar0_3604 = load i32* %vm_ssIsSampleHitVar0_, align 1
  store i32 %vm_ssIsSampleHitVar0_3604, i32* %i_0_, align 1
  %502 = icmp eq i32 %vm_ssIsSampleHitVar0_3604, 0
  %vm_ssIsMajorTimeStepVar1_3606 = load i32* %vm_ssIsMajorTimeStepVar1_, align 1
  %503 = icmp eq i32 %vm_ssIsMajorTimeStepVar1_3606, 0
  %or.cond10105 = or i1 %502, %503
  br i1 %or.cond10105, label %false213, label %true214

true206:                                          ; preds = %true204
  %"%<tSimStruct>_3586" = load i8** %"%<tSimStruct>_", align 1
  call void @vm_ssCallAccelRunBlock(i8* %"%<tSimStruct>_3586", i32 5, i32 0, i32 104)
  br label %false207

false207:                                         ; preds = %true204, %true206
  %"%<tSimStruct>_3587" = load i8** %"%<tSimStruct>_", align 1
  %_rtB_3588 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %504 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_3588, i32 0, i32 19
  %_rtB__Gain33589 = load double* %504, align 1
  %505 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_3588, i32 0, i32 32
  %_rtB__Product5_h3591 = load double* %505, align 1
  %506 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_3588, i32 0, i32 896
  %_rtP_3593 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %507 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_3593, i32 0, i32 1580
  %_rtX_3594 = load %X_REVS_VM_T.18** %_rtX_, align 1
  %508 = getelementptr inbounds %X_REVS_VM_T.18* %_rtX_3594, i32 0, i32 111
  call void @REVS_VM_ElecEnergyVA(i8* %"%<tSimStruct>_3587", double %_rtB__Gain33589, double %_rtB__Product5_h3591, %B_ElecEnergyVA_REVS_VM_T.0* %506, %P_ElecEnergyVA_REVS_VM_T.2* %507, %X_ElecEnergyVA_REVS_VM_T.3* %508)
  %vm_ssIsSampleHitVar0_3595 = load i32* %vm_ssIsSampleHitVar0_, align 1
  store i32 %vm_ssIsSampleHitVar0_3595, i32* %i_0_, align 1
  %509 = icmp eq i32 %vm_ssIsSampleHitVar0_3595, 0
  br i1 %509, label %false209, label %true208

true208:                                          ; preds = %false207
  %"%<tSimStruct>_3597" = load i8** %"%<tSimStruct>_", align 1
  call void @vm_ssCallAccelRunBlock(i8* %"%<tSimStruct>_3597", i32 5, i32 2, i32 104)
  %"%<tSimStruct>_3598" = load i8** %"%<tSimStruct>_", align 1
  call void @vm_ssCallAccelRunBlock(i8* %"%<tSimStruct>_3598", i32 5, i32 3, i32 104)
  %"%<tSimStruct>_3599" = load i8** %"%<tSimStruct>_", align 1
  call void @vm_ssCallAccelRunBlock(i8* %"%<tSimStruct>_3599", i32 5, i32 4, i32 104)
  %"%<tSimStruct>_3600" = load i8** %"%<tSimStruct>_", align 1
  call void @vm_ssCallAccelRunBlock(i8* %"%<tSimStruct>_3600", i32 5, i32 5, i32 104)
  %"%<tSimStruct>_3601" = load i8** %"%<tSimStruct>_", align 1
  call void @vm_ssCallAccelRunBlock(i8* %"%<tSimStruct>_3601", i32 5, i32 6, i32 104)
  br label %false209

false209:                                         ; preds = %false207, %true208
  %vm_ssIsMajorTimeStepVar1_3602 = load i32* %vm_ssIsMajorTimeStepVar1_, align 1
  %510 = icmp eq i32 %vm_ssIsMajorTimeStepVar1_3602, 0
  br i1 %510, label %false205, label %true210

true210:                                          ; preds = %false209
  %_rtDW_3603 = load %DW_REVS_VM_T.16** %_rtDW_, align 1
  %511 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_3603, i32 0, i32 846
  call void @vm_srUpdateBC(i8* %511)
  br label %false205

false213:                                         ; preds = %false217, %true218, %false223, %true216, %false205
  %_rtDW_3617 = load %DW_REVS_VM_T.16** %_rtDW_, align 1
  %512 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_3617, i32 0, i32 1036
  %_rtDW__Subsystem_MODE_k3618 = load i8* %512, align 1
  %513 = and i8 %_rtDW__Subsystem_MODE_k3618, 1
  %514 = icmp eq i8 %513, 0
  br i1 %514, label %false225, label %true224

true214:                                          ; preds = %false205
  %_rtB_3607 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %515 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_3607, i32 0, i32 636
  %_rtB__Compare_g = load i8* %515, align 1
  %516 = and i8 %_rtB__Compare_g, 1
  %517 = icmp eq i8 %516, 0
  %_rtDW_3608 = load %DW_REVS_VM_T.16** %_rtDW_, align 1
  %518 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_3608, i32 0, i32 1036
  %_rtDW__Subsystem_MODE_k = load i8* %518, align 1
  %519 = and i8 %_rtDW__Subsystem_MODE_k, 1
  %520 = icmp eq i8 %519, 0
  br i1 %517, label %false217, label %true216

true216:                                          ; preds = %true214
  br i1 %520, label %true220, label %false213

false217:                                         ; preds = %true214
  br i1 %520, label %false213, label %true218

true218:                                          ; preds = %false217
  %"%<tSimStruct>_3609" = load i8** %"%<tSimStruct>_", align 1
  call void @vm_ssSetSolverNeedsReset(i8* %"%<tSimStruct>_3609")
  %_rtDW_3610 = load %DW_REVS_VM_T.16** %_rtDW_, align 1
  %521 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_3610, i32 0, i32 1036
  store i8 0, i8* %521, align 1
  br label %false213

true220:                                          ; preds = %true216
  %vm_ssGetTaskTimeVar2_3613 = load double* %vm_ssGetTaskTimeVar2_, align 1
  %vm_ssGetTStartVar3_3614 = load double* %vm_ssGetTStartVar3_, align 1
  %522 = fcmp une double %vm_ssGetTaskTimeVar2_3613, %vm_ssGetTStartVar3_3614
  br i1 %522, label %true222, label %false223

true222:                                          ; preds = %true220
  %"%<tSimStruct>_3615" = load i8** %"%<tSimStruct>_", align 1
  call void @vm_ssSetSolverNeedsReset(i8* %"%<tSimStruct>_3615")
  %_rtDW_3616.pre = load %DW_REVS_VM_T.16** %_rtDW_, align 1
  br label %false223

false223:                                         ; preds = %true222, %true220
  %_rtDW_3616 = phi %DW_REVS_VM_T.16* [ %_rtDW_3616.pre, %true222 ], [ %_rtDW_3608, %true220 ]
  %523 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_3616, i32 0, i32 1036
  store i8 1, i8* %523, align 1
  br label %false213

true224:                                          ; preds = %false213
  %_rtB_3619 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %524 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_3619, i32 0, i32 96
  %_rtB__tc_spd_in_radps3620 = load double* %524, align 1
  %tmp54 = fmul double %_rtB__tc_spd_in_radps3620, %_rtB__tc_spd_in_radps3620
  %525 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_3619, i32 0, i32 112
  %_rtB__rotationalinertia_ga = load double* %525, align 1
  %tmp55 = fmul double %tmp54, %_rtB__rotationalinertia_ga
  %_rtP_3624 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %526 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_3624, i32 0, i32 1
  %_rtP__onehalf_Gain = load double* %526, align 1
  %tmp56 = fmul double %tmp55, %_rtP__onehalf_Gain
  %527 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_3619, i32 0, i32 616
  store double %tmp56, double* %527, align 1
  %vm_ssIsSampleHitVar0_3626 = load i32* %vm_ssIsSampleHitVar0_, align 1
  store i32 %vm_ssIsSampleHitVar0_3626, i32* %i_0_, align 1
  %528 = icmp eq i32 %vm_ssIsSampleHitVar0_3626, 0
  br i1 %528, label %false227, label %true226

false225:                                         ; preds = %true230, %false229, %false213
  %vm_ssIsSampleHitVar0_3648 = load i32* %vm_ssIsSampleHitVar0_, align 1
  store i32 %vm_ssIsSampleHitVar0_3648, i32* %i_0_, align 1
  %529 = icmp eq i32 %vm_ssIsSampleHitVar0_3648, 0
  %vm_ssIsMajorTimeStepVar1_3650 = load i32* %vm_ssIsMajorTimeStepVar1_, align 1
  %530 = icmp eq i32 %vm_ssIsMajorTimeStepVar1_3650, 0
  %or.cond10107 = or i1 %529, %530
  br i1 %or.cond10107, label %false233, label %true234

true226:                                          ; preds = %true224
  %"%<tSimStruct>_3628" = load i8** %"%<tSimStruct>_", align 1
  call void @vm_ssCallAccelRunBlock(i8* %"%<tSimStruct>_3628", i32 7, i32 3, i32 104)
  br label %false227

false227:                                         ; preds = %true224, %true226
  %"%<tSimStruct>_3629" = load i8** %"%<tSimStruct>_", align 1
  %_rtB_3630 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %531 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_3630, i32 0, i32 105
  %_rtB__Gain_h3631 = load double* %531, align 1
  %532 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_3630, i32 0, i32 96
  %_rtB__tc_spd_in_radps3633 = load double* %532, align 1
  %533 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_3630, i32 0, i32 895
  %_rtP_3635 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %534 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_3635, i32 0, i32 1579
  %_rtX_3636 = load %X_REVS_VM_T.18** %_rtX_, align 1
  %535 = getelementptr inbounds %X_REVS_VM_T.18* %_rtX_3636, i32 0, i32 110
  call void @REVS_VM_MechEnergyNmradps(i8* %"%<tSimStruct>_3629", double %_rtB__Gain_h3631, double %_rtB__tc_spd_in_radps3633, %B_MechEnergyNmradps_REVS_VM_T.4* %533, %P_MechEnergyNmradps_REVS_VM_T.6* %534, %X_MechEnergyNmradps_REVS_VM_T.7* %535)
  %vm_ssIsSampleHitVar0_3637 = load i32* %vm_ssIsSampleHitVar0_, align 1
  store i32 %vm_ssIsSampleHitVar0_3637, i32* %i_0_, align 1
  %536 = icmp eq i32 %vm_ssIsSampleHitVar0_3637, 0
  br i1 %536, label %false229, label %true228

true228:                                          ; preds = %false227
  %"%<tSimStruct>_3639" = load i8** %"%<tSimStruct>_", align 1
  call void @vm_ssCallAccelRunBlock(i8* %"%<tSimStruct>_3639", i32 7, i32 5, i32 104)
  %"%<tSimStruct>_3640" = load i8** %"%<tSimStruct>_", align 1
  call void @vm_ssCallAccelRunBlock(i8* %"%<tSimStruct>_3640", i32 7, i32 6, i32 104)
  %"%<tSimStruct>_3641" = load i8** %"%<tSimStruct>_", align 1
  call void @vm_ssCallAccelRunBlock(i8* %"%<tSimStruct>_3641", i32 7, i32 7, i32 104)
  %"%<tSimStruct>_3642" = load i8** %"%<tSimStruct>_", align 1
  call void @vm_ssCallAccelRunBlock(i8* %"%<tSimStruct>_3642", i32 7, i32 8, i32 104)
  %"%<tSimStruct>_3643" = load i8** %"%<tSimStruct>_", align 1
  call void @vm_ssCallAccelRunBlock(i8* %"%<tSimStruct>_3643", i32 7, i32 9, i32 104)
  %"%<tSimStruct>_3644" = load i8** %"%<tSimStruct>_", align 1
  call void @vm_ssCallAccelRunBlock(i8* %"%<tSimStruct>_3644", i32 7, i32 10, i32 104)
  %"%<tSimStruct>_3645" = load i8** %"%<tSimStruct>_", align 1
  call void @vm_ssCallAccelRunBlock(i8* %"%<tSimStruct>_3645", i32 7, i32 11, i32 104)
  br label %false229

false229:                                         ; preds = %false227, %true228
  %vm_ssIsMajorTimeStepVar1_3646 = load i32* %vm_ssIsMajorTimeStepVar1_, align 1
  %537 = icmp eq i32 %vm_ssIsMajorTimeStepVar1_3646, 0
  br i1 %537, label %false225, label %true230

true230:                                          ; preds = %false229
  %_rtDW_3647 = load %DW_REVS_VM_T.16** %_rtDW_, align 1
  %538 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_3647, i32 0, i32 847
  call void @vm_srUpdateBC(i8* %538)
  br label %false225

false233:                                         ; preds = %false237, %true238, %false243, %true236, %false225
  %_rtDW_3661 = load %DW_REVS_VM_T.16** %_rtDW_, align 1
  %539 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_3661, i32 0, i32 1037
  %_rtDW__Subsystem_MODE_j3662 = load i8* %539, align 1
  %540 = and i8 %_rtDW__Subsystem_MODE_j3662, 1
  %541 = icmp eq i8 %540, 0
  br i1 %541, label %false245, label %true244

true234:                                          ; preds = %false225
  %_rtB_3651 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %542 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_3651, i32 0, i32 637
  %_rtB__Compare_n = load i8* %542, align 1
  %543 = and i8 %_rtB__Compare_n, 1
  %544 = icmp eq i8 %543, 0
  %_rtDW_3652 = load %DW_REVS_VM_T.16** %_rtDW_, align 1
  %545 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_3652, i32 0, i32 1037
  %_rtDW__Subsystem_MODE_j = load i8* %545, align 1
  %546 = and i8 %_rtDW__Subsystem_MODE_j, 1
  %547 = icmp eq i8 %546, 0
  br i1 %544, label %false237, label %true236

true236:                                          ; preds = %true234
  br i1 %547, label %true240, label %false233

false237:                                         ; preds = %true234
  br i1 %547, label %false233, label %true238

true238:                                          ; preds = %false237
  %"%<tSimStruct>_3653" = load i8** %"%<tSimStruct>_", align 1
  call void @vm_ssSetSolverNeedsReset(i8* %"%<tSimStruct>_3653")
  %_rtDW_3654 = load %DW_REVS_VM_T.16** %_rtDW_, align 1
  %548 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_3654, i32 0, i32 1037
  store i8 0, i8* %548, align 1
  br label %false233

true240:                                          ; preds = %true236
  %vm_ssGetTaskTimeVar2_3657 = load double* %vm_ssGetTaskTimeVar2_, align 1
  %vm_ssGetTStartVar3_3658 = load double* %vm_ssGetTStartVar3_, align 1
  %549 = fcmp une double %vm_ssGetTaskTimeVar2_3657, %vm_ssGetTStartVar3_3658
  br i1 %549, label %true242, label %false243

true242:                                          ; preds = %true240
  %"%<tSimStruct>_3659" = load i8** %"%<tSimStruct>_", align 1
  call void @vm_ssSetSolverNeedsReset(i8* %"%<tSimStruct>_3659")
  %_rtDW_3660.pre = load %DW_REVS_VM_T.16** %_rtDW_, align 1
  br label %false243

false243:                                         ; preds = %true242, %true240
  %_rtDW_3660 = phi %DW_REVS_VM_T.16* [ %_rtDW_3660.pre, %true242 ], [ %_rtDW_3652, %true240 ]
  %550 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_3660, i32 0, i32 1037
  store i8 1, i8* %550, align 1
  br label %false233

true244:                                          ; preds = %false233
  %vm_ssIsSampleHitVar0_3663 = load i32* %vm_ssIsSampleHitVar0_, align 1
  store i32 %vm_ssIsSampleHitVar0_3663, i32* %i_0_, align 1
  %551 = icmp eq i32 %vm_ssIsSampleHitVar0_3663, 0
  br i1 %551, label %false247, label %true246

false245:                                         ; preds = %true250, %false249, %false233
  %vm_ssIsSampleHitVar0_3683 = load i32* %vm_ssIsSampleHitVar0_, align 1
  store i32 %vm_ssIsSampleHitVar0_3683, i32* %i_0_, align 1
  %552 = icmp eq i32 %vm_ssIsSampleHitVar0_3683, 0
  %vm_ssIsMajorTimeStepVar1_3685 = load i32* %vm_ssIsMajorTimeStepVar1_, align 1
  %553 = icmp eq i32 %vm_ssIsMajorTimeStepVar1_3685, 0
  %or.cond10109 = or i1 %552, %553
  br i1 %or.cond10109, label %false253, label %true254

true246:                                          ; preds = %true244
  %"%<tSimStruct>_3665" = load i8** %"%<tSimStruct>_", align 1
  call void @vm_ssCallAccelRunBlock(i8* %"%<tSimStruct>_3665", i32 9, i32 0, i32 104)
  br label %false247

false247:                                         ; preds = %true244, %true246
  %"%<tSimStruct>_3666" = load i8** %"%<tSimStruct>_", align 1
  %_rtB_3667 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %554 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_3667, i32 0, i32 19
  %_rtB__Gain33668 = load double* %554, align 1
  %555 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_3667, i32 0, i32 38
  %_rtB__Product5_o3670 = load double* %555, align 1
  %556 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_3667, i32 0, i32 894
  %_rtP_3672 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %557 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_3672, i32 0, i32 1578
  %_rtX_3673 = load %X_REVS_VM_T.18** %_rtX_, align 1
  %558 = getelementptr inbounds %X_REVS_VM_T.18* %_rtX_3673, i32 0, i32 109
  call void @REVS_VM_ElecEnergyVA(i8* %"%<tSimStruct>_3666", double %_rtB__Gain33668, double %_rtB__Product5_o3670, %B_ElecEnergyVA_REVS_VM_T.0* %556, %P_ElecEnergyVA_REVS_VM_T.2* %557, %X_ElecEnergyVA_REVS_VM_T.3* %558)
  %vm_ssIsSampleHitVar0_3674 = load i32* %vm_ssIsSampleHitVar0_, align 1
  store i32 %vm_ssIsSampleHitVar0_3674, i32* %i_0_, align 1
  %559 = icmp eq i32 %vm_ssIsSampleHitVar0_3674, 0
  br i1 %559, label %false249, label %true248

true248:                                          ; preds = %false247
  %"%<tSimStruct>_3676" = load i8** %"%<tSimStruct>_", align 1
  call void @vm_ssCallAccelRunBlock(i8* %"%<tSimStruct>_3676", i32 9, i32 2, i32 104)
  %"%<tSimStruct>_3677" = load i8** %"%<tSimStruct>_", align 1
  call void @vm_ssCallAccelRunBlock(i8* %"%<tSimStruct>_3677", i32 9, i32 3, i32 104)
  %"%<tSimStruct>_3678" = load i8** %"%<tSimStruct>_", align 1
  call void @vm_ssCallAccelRunBlock(i8* %"%<tSimStruct>_3678", i32 9, i32 4, i32 104)
  %"%<tSimStruct>_3679" = load i8** %"%<tSimStruct>_", align 1
  call void @vm_ssCallAccelRunBlock(i8* %"%<tSimStruct>_3679", i32 9, i32 5, i32 104)
  %"%<tSimStruct>_3680" = load i8** %"%<tSimStruct>_", align 1
  call void @vm_ssCallAccelRunBlock(i8* %"%<tSimStruct>_3680", i32 9, i32 6, i32 104)
  br label %false249

false249:                                         ; preds = %false247, %true248
  %vm_ssIsMajorTimeStepVar1_3681 = load i32* %vm_ssIsMajorTimeStepVar1_, align 1
  %560 = icmp eq i32 %vm_ssIsMajorTimeStepVar1_3681, 0
  br i1 %560, label %false245, label %true250

true250:                                          ; preds = %false249
  %_rtDW_3682 = load %DW_REVS_VM_T.16** %_rtDW_, align 1
  %561 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_3682, i32 0, i32 848
  call void @vm_srUpdateBC(i8* %561)
  br label %false245

false253:                                         ; preds = %false257, %true258, %false263, %true256, %false245
  %_rtDW_3696 = load %DW_REVS_VM_T.16** %_rtDW_, align 1
  %562 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_3696, i32 0, i32 1038
  %_rtDW__Subsystem_MODE_i3697 = load i8* %562, align 1
  %563 = and i8 %_rtDW__Subsystem_MODE_i3697, 1
  %564 = icmp eq i8 %563, 0
  br i1 %564, label %false265, label %true264

true254:                                          ; preds = %false245
  %_rtB_3686 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %565 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_3686, i32 0, i32 638
  %_rtB__Compare_m = load i8* %565, align 1
  %566 = and i8 %_rtB__Compare_m, 1
  %567 = icmp eq i8 %566, 0
  %_rtDW_3687 = load %DW_REVS_VM_T.16** %_rtDW_, align 1
  %568 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_3687, i32 0, i32 1038
  %_rtDW__Subsystem_MODE_i = load i8* %568, align 1
  %569 = and i8 %_rtDW__Subsystem_MODE_i, 1
  %570 = icmp eq i8 %569, 0
  br i1 %567, label %false257, label %true256

true256:                                          ; preds = %true254
  br i1 %570, label %true260, label %false253

false257:                                         ; preds = %true254
  br i1 %570, label %false253, label %true258

true258:                                          ; preds = %false257
  %"%<tSimStruct>_3688" = load i8** %"%<tSimStruct>_", align 1
  call void @vm_ssSetSolverNeedsReset(i8* %"%<tSimStruct>_3688")
  %_rtDW_3689 = load %DW_REVS_VM_T.16** %_rtDW_, align 1
  %571 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_3689, i32 0, i32 1038
  store i8 0, i8* %571, align 1
  br label %false253

true260:                                          ; preds = %true256
  %vm_ssGetTaskTimeVar2_3692 = load double* %vm_ssGetTaskTimeVar2_, align 1
  %vm_ssGetTStartVar3_3693 = load double* %vm_ssGetTStartVar3_, align 1
  %572 = fcmp une double %vm_ssGetTaskTimeVar2_3692, %vm_ssGetTStartVar3_3693
  br i1 %572, label %true262, label %false263

true262:                                          ; preds = %true260
  %"%<tSimStruct>_3694" = load i8** %"%<tSimStruct>_", align 1
  call void @vm_ssSetSolverNeedsReset(i8* %"%<tSimStruct>_3694")
  %_rtDW_3695.pre = load %DW_REVS_VM_T.16** %_rtDW_, align 1
  br label %false263

false263:                                         ; preds = %true262, %true260
  %_rtDW_3695 = phi %DW_REVS_VM_T.16* [ %_rtDW_3695.pre, %true262 ], [ %_rtDW_3687, %true260 ]
  %573 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_3695, i32 0, i32 1038
  store i8 1, i8* %573, align 1
  br label %false253

true264:                                          ; preds = %false253
  %_rtB_3698 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %574 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_3698, i32 0, i32 96
  %_rtB__tc_spd_in_radps3699 = load double* %574, align 1
  %tmp57 = fmul double %_rtB__tc_spd_in_radps3699, %_rtB__tc_spd_in_radps3699
  %575 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_3698, i32 0, i32 113
  %_rtB__rotationalinertia_a = load double* %575, align 1
  %tmp58 = fmul double %tmp57, %_rtB__rotationalinertia_a
  %_rtP_3703 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %576 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_3703, i32 0, i32 2
  %_rtP__onehalf_Gain_d = load double* %576, align 1
  %tmp59 = fmul double %tmp58, %_rtP__onehalf_Gain_d
  %577 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_3698, i32 0, i32 615
  store double %tmp59, double* %577, align 1
  %vm_ssIsSampleHitVar0_3705 = load i32* %vm_ssIsSampleHitVar0_, align 1
  store i32 %vm_ssIsSampleHitVar0_3705, i32* %i_0_, align 1
  %578 = icmp eq i32 %vm_ssIsSampleHitVar0_3705, 0
  br i1 %578, label %false267, label %true266

false265:                                         ; preds = %true270, %false269, %false253
  %vm_ssIsSampleHitVar0_3727 = load i32* %vm_ssIsSampleHitVar0_, align 1
  store i32 %vm_ssIsSampleHitVar0_3727, i32* %i_0_, align 1
  %579 = icmp eq i32 %vm_ssIsSampleHitVar0_3727, 0
  %vm_ssIsMajorTimeStepVar1_3729 = load i32* %vm_ssIsMajorTimeStepVar1_, align 1
  %580 = icmp eq i32 %vm_ssIsMajorTimeStepVar1_3729, 0
  %or.cond10111 = or i1 %579, %580
  br i1 %or.cond10111, label %false273, label %true274

true266:                                          ; preds = %true264
  %"%<tSimStruct>_3707" = load i8** %"%<tSimStruct>_", align 1
  call void @vm_ssCallAccelRunBlock(i8* %"%<tSimStruct>_3707", i32 11, i32 3, i32 104)
  br label %false267

false267:                                         ; preds = %true264, %true266
  %"%<tSimStruct>_3708" = load i8** %"%<tSimStruct>_", align 1
  %_rtB_3709 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %581 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_3709, i32 0, i32 108
  %_rtB__Gain_i3710 = load double* %581, align 1
  %582 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_3709, i32 0, i32 96
  %_rtB__tc_spd_in_radps3712 = load double* %582, align 1
  %583 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_3709, i32 0, i32 893
  %_rtP_3714 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %584 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_3714, i32 0, i32 1577
  %_rtX_3715 = load %X_REVS_VM_T.18** %_rtX_, align 1
  %585 = getelementptr inbounds %X_REVS_VM_T.18* %_rtX_3715, i32 0, i32 108
  call void @REVS_VM_MechEnergyNmradps(i8* %"%<tSimStruct>_3708", double %_rtB__Gain_i3710, double %_rtB__tc_spd_in_radps3712, %B_MechEnergyNmradps_REVS_VM_T.4* %583, %P_MechEnergyNmradps_REVS_VM_T.6* %584, %X_MechEnergyNmradps_REVS_VM_T.7* %585)
  %vm_ssIsSampleHitVar0_3716 = load i32* %vm_ssIsSampleHitVar0_, align 1
  store i32 %vm_ssIsSampleHitVar0_3716, i32* %i_0_, align 1
  %586 = icmp eq i32 %vm_ssIsSampleHitVar0_3716, 0
  br i1 %586, label %false269, label %true268

true268:                                          ; preds = %false267
  %"%<tSimStruct>_3718" = load i8** %"%<tSimStruct>_", align 1
  call void @vm_ssCallAccelRunBlock(i8* %"%<tSimStruct>_3718", i32 11, i32 5, i32 104)
  %"%<tSimStruct>_3719" = load i8** %"%<tSimStruct>_", align 1
  call void @vm_ssCallAccelRunBlock(i8* %"%<tSimStruct>_3719", i32 11, i32 6, i32 104)
  %"%<tSimStruct>_3720" = load i8** %"%<tSimStruct>_", align 1
  call void @vm_ssCallAccelRunBlock(i8* %"%<tSimStruct>_3720", i32 11, i32 7, i32 104)
  %"%<tSimStruct>_3721" = load i8** %"%<tSimStruct>_", align 1
  call void @vm_ssCallAccelRunBlock(i8* %"%<tSimStruct>_3721", i32 11, i32 8, i32 104)
  %"%<tSimStruct>_3722" = load i8** %"%<tSimStruct>_", align 1
  call void @vm_ssCallAccelRunBlock(i8* %"%<tSimStruct>_3722", i32 11, i32 9, i32 104)
  %"%<tSimStruct>_3723" = load i8** %"%<tSimStruct>_", align 1
  call void @vm_ssCallAccelRunBlock(i8* %"%<tSimStruct>_3723", i32 11, i32 10, i32 104)
  %"%<tSimStruct>_3724" = load i8** %"%<tSimStruct>_", align 1
  call void @vm_ssCallAccelRunBlock(i8* %"%<tSimStruct>_3724", i32 11, i32 11, i32 104)
  br label %false269

false269:                                         ; preds = %false267, %true268
  %vm_ssIsMajorTimeStepVar1_3725 = load i32* %vm_ssIsMajorTimeStepVar1_, align 1
  %587 = icmp eq i32 %vm_ssIsMajorTimeStepVar1_3725, 0
  br i1 %587, label %false265, label %true270

true270:                                          ; preds = %false269
  %_rtDW_3726 = load %DW_REVS_VM_T.16** %_rtDW_, align 1
  %588 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_3726, i32 0, i32 849
  call void @vm_srUpdateBC(i8* %588)
  br label %false265

false273:                                         ; preds = %false277, %true278, %false283, %true276, %false265
  %_rtDW_3740 = load %DW_REVS_VM_T.16** %_rtDW_, align 1
  %589 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_3740, i32 0, i32 1039
  %_rtDW__Subsystem_MODE_m3741 = load i8* %589, align 1
  %590 = and i8 %_rtDW__Subsystem_MODE_m3741, 1
  %591 = icmp eq i8 %590, 0
  br i1 %591, label %false285, label %true284

true274:                                          ; preds = %false265
  %_rtB_3730 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %592 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_3730, i32 0, i32 639
  %_rtB__Compare_g3 = load i8* %592, align 1
  %593 = and i8 %_rtB__Compare_g3, 1
  %594 = icmp eq i8 %593, 0
  %_rtDW_3731 = load %DW_REVS_VM_T.16** %_rtDW_, align 1
  %595 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_3731, i32 0, i32 1039
  %_rtDW__Subsystem_MODE_m = load i8* %595, align 1
  %596 = and i8 %_rtDW__Subsystem_MODE_m, 1
  %597 = icmp eq i8 %596, 0
  br i1 %594, label %false277, label %true276

true276:                                          ; preds = %true274
  br i1 %597, label %true280, label %false273

false277:                                         ; preds = %true274
  br i1 %597, label %false273, label %true278

true278:                                          ; preds = %false277
  %"%<tSimStruct>_3732" = load i8** %"%<tSimStruct>_", align 1
  call void @vm_ssSetSolverNeedsReset(i8* %"%<tSimStruct>_3732")
  %_rtDW_3733 = load %DW_REVS_VM_T.16** %_rtDW_, align 1
  %598 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_3733, i32 0, i32 1039
  store i8 0, i8* %598, align 1
  br label %false273

true280:                                          ; preds = %true276
  %vm_ssGetTaskTimeVar2_3736 = load double* %vm_ssGetTaskTimeVar2_, align 1
  %vm_ssGetTStartVar3_3737 = load double* %vm_ssGetTStartVar3_, align 1
  %599 = fcmp une double %vm_ssGetTaskTimeVar2_3736, %vm_ssGetTStartVar3_3737
  br i1 %599, label %true282, label %false283

true282:                                          ; preds = %true280
  %"%<tSimStruct>_3738" = load i8** %"%<tSimStruct>_", align 1
  call void @vm_ssSetSolverNeedsReset(i8* %"%<tSimStruct>_3738")
  %_rtDW_3739.pre = load %DW_REVS_VM_T.16** %_rtDW_, align 1
  br label %false283

false283:                                         ; preds = %true282, %true280
  %_rtDW_3739 = phi %DW_REVS_VM_T.16* [ %_rtDW_3739.pre, %true282 ], [ %_rtDW_3731, %true280 ]
  %600 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_3739, i32 0, i32 1039
  store i8 1, i8* %600, align 1
  br label %false273

true284:                                          ; preds = %false273
  %vm_ssIsSampleHitVar0_3742 = load i32* %vm_ssIsSampleHitVar0_, align 1
  store i32 %vm_ssIsSampleHitVar0_3742, i32* %i_0_, align 1
  %601 = icmp eq i32 %vm_ssIsSampleHitVar0_3742, 0
  br i1 %601, label %false287, label %true286

false285:                                         ; preds = %true290, %false289, %false273
  %vm_ssIsSampleHitVar0_3762 = load i32* %vm_ssIsSampleHitVar0_, align 1
  store i32 %vm_ssIsSampleHitVar0_3762, i32* %i_0_, align 1
  %602 = icmp eq i32 %vm_ssIsSampleHitVar0_3762, 0
  %vm_ssIsMajorTimeStepVar1_3764 = load i32* %vm_ssIsMajorTimeStepVar1_, align 1
  %603 = icmp eq i32 %vm_ssIsMajorTimeStepVar1_3764, 0
  %or.cond10113 = or i1 %602, %603
  br i1 %or.cond10113, label %false293, label %true294

true286:                                          ; preds = %true284
  %"%<tSimStruct>_3744" = load i8** %"%<tSimStruct>_", align 1
  call void @vm_ssCallAccelRunBlock(i8* %"%<tSimStruct>_3744", i32 13, i32 0, i32 104)
  br label %false287

false287:                                         ; preds = %true284, %true286
  %"%<tSimStruct>_3745" = load i8** %"%<tSimStruct>_", align 1
  %_rtB_3746 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %604 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_3746, i32 0, i32 19
  %_rtB__Gain33747 = load double* %604, align 1
  %605 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_3746, i32 0, i32 26
  %_rtB__Product53749 = load double* %605, align 1
  %606 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_3746, i32 0, i32 892
  %_rtP_3751 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %607 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_3751, i32 0, i32 1576
  %_rtX_3752 = load %X_REVS_VM_T.18** %_rtX_, align 1
  %608 = getelementptr inbounds %X_REVS_VM_T.18* %_rtX_3752, i32 0, i32 107
  call void @REVS_VM_ElecEnergyVA(i8* %"%<tSimStruct>_3745", double %_rtB__Gain33747, double %_rtB__Product53749, %B_ElecEnergyVA_REVS_VM_T.0* %606, %P_ElecEnergyVA_REVS_VM_T.2* %607, %X_ElecEnergyVA_REVS_VM_T.3* %608)
  %vm_ssIsSampleHitVar0_3753 = load i32* %vm_ssIsSampleHitVar0_, align 1
  store i32 %vm_ssIsSampleHitVar0_3753, i32* %i_0_, align 1
  %609 = icmp eq i32 %vm_ssIsSampleHitVar0_3753, 0
  br i1 %609, label %false289, label %true288

true288:                                          ; preds = %false287
  %"%<tSimStruct>_3755" = load i8** %"%<tSimStruct>_", align 1
  call void @vm_ssCallAccelRunBlock(i8* %"%<tSimStruct>_3755", i32 13, i32 2, i32 104)
  %"%<tSimStruct>_3756" = load i8** %"%<tSimStruct>_", align 1
  call void @vm_ssCallAccelRunBlock(i8* %"%<tSimStruct>_3756", i32 13, i32 3, i32 104)
  %"%<tSimStruct>_3757" = load i8** %"%<tSimStruct>_", align 1
  call void @vm_ssCallAccelRunBlock(i8* %"%<tSimStruct>_3757", i32 13, i32 4, i32 104)
  %"%<tSimStruct>_3758" = load i8** %"%<tSimStruct>_", align 1
  call void @vm_ssCallAccelRunBlock(i8* %"%<tSimStruct>_3758", i32 13, i32 5, i32 104)
  %"%<tSimStruct>_3759" = load i8** %"%<tSimStruct>_", align 1
  call void @vm_ssCallAccelRunBlock(i8* %"%<tSimStruct>_3759", i32 13, i32 6, i32 104)
  br label %false289

false289:                                         ; preds = %false287, %true288
  %vm_ssIsMajorTimeStepVar1_3760 = load i32* %vm_ssIsMajorTimeStepVar1_, align 1
  %610 = icmp eq i32 %vm_ssIsMajorTimeStepVar1_3760, 0
  br i1 %610, label %false285, label %true290

true290:                                          ; preds = %false289
  %_rtDW_3761 = load %DW_REVS_VM_T.16** %_rtDW_, align 1
  %611 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_3761, i32 0, i32 850
  call void @vm_srUpdateBC(i8* %611)
  br label %false285

false293:                                         ; preds = %false297, %true298, %false303, %true296, %false285
  %_rtDW_3775 = load %DW_REVS_VM_T.16** %_rtDW_, align 1
  %612 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_3775, i32 0, i32 1040
  %_rtDW__Subsystem_MODE_c3776 = load i8* %612, align 1
  %613 = and i8 %_rtDW__Subsystem_MODE_c3776, 1
  %614 = icmp eq i8 %613, 0
  br i1 %614, label %false305, label %true304

true294:                                          ; preds = %false285
  %_rtB_3765 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %615 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_3765, i32 0, i32 640
  %_rtB__Compare_mh = load i8* %615, align 1
  %616 = and i8 %_rtB__Compare_mh, 1
  %617 = icmp eq i8 %616, 0
  %_rtDW_3766 = load %DW_REVS_VM_T.16** %_rtDW_, align 1
  %618 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_3766, i32 0, i32 1040
  %_rtDW__Subsystem_MODE_c = load i8* %618, align 1
  %619 = and i8 %_rtDW__Subsystem_MODE_c, 1
  %620 = icmp eq i8 %619, 0
  br i1 %617, label %false297, label %true296

true296:                                          ; preds = %true294
  br i1 %620, label %true300, label %false293

false297:                                         ; preds = %true294
  br i1 %620, label %false293, label %true298

true298:                                          ; preds = %false297
  %"%<tSimStruct>_3767" = load i8** %"%<tSimStruct>_", align 1
  call void @vm_ssSetSolverNeedsReset(i8* %"%<tSimStruct>_3767")
  %_rtDW_3768 = load %DW_REVS_VM_T.16** %_rtDW_, align 1
  %621 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_3768, i32 0, i32 1040
  store i8 0, i8* %621, align 1
  br label %false293

true300:                                          ; preds = %true296
  %vm_ssGetTaskTimeVar2_3771 = load double* %vm_ssGetTaskTimeVar2_, align 1
  %vm_ssGetTStartVar3_3772 = load double* %vm_ssGetTStartVar3_, align 1
  %622 = fcmp une double %vm_ssGetTaskTimeVar2_3771, %vm_ssGetTStartVar3_3772
  br i1 %622, label %true302, label %false303

true302:                                          ; preds = %true300
  %"%<tSimStruct>_3773" = load i8** %"%<tSimStruct>_", align 1
  call void @vm_ssSetSolverNeedsReset(i8* %"%<tSimStruct>_3773")
  %_rtDW_3774.pre = load %DW_REVS_VM_T.16** %_rtDW_, align 1
  br label %false303

false303:                                         ; preds = %true302, %true300
  %_rtDW_3774 = phi %DW_REVS_VM_T.16* [ %_rtDW_3774.pre, %true302 ], [ %_rtDW_3766, %true300 ]
  %623 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_3774, i32 0, i32 1040
  store i8 1, i8* %623, align 1
  br label %false293

true304:                                          ; preds = %false293
  %_rtB_3777 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %624 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_3777, i32 0, i32 96
  %_rtB__tc_spd_in_radps3778 = load double* %624, align 1
  %tmp60 = fmul double %_rtB__tc_spd_in_radps3778, %_rtB__tc_spd_in_radps3778
  %625 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_3777, i32 0, i32 110
  %_rtB__rotationalinertia = load double* %625, align 1
  %tmp61 = fmul double %tmp60, %_rtB__rotationalinertia
  %_rtP_3782 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %626 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_3782, i32 0, i32 3
  %_rtP__onehalf_Gain_m = load double* %626, align 1
  %tmp62 = fmul double %tmp61, %_rtP__onehalf_Gain_m
  %627 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_3777, i32 0, i32 614
  store double %tmp62, double* %627, align 1
  %vm_ssIsSampleHitVar0_3784 = load i32* %vm_ssIsSampleHitVar0_, align 1
  store i32 %vm_ssIsSampleHitVar0_3784, i32* %i_0_, align 1
  %628 = icmp eq i32 %vm_ssIsSampleHitVar0_3784, 0
  br i1 %628, label %false307, label %true306

false305:                                         ; preds = %true310, %false309, %false293
  %vm_ssIsSampleHitVar0_3806 = load i32* %vm_ssIsSampleHitVar0_, align 1
  store i32 %vm_ssIsSampleHitVar0_3806, i32* %i_0_, align 1
  %629 = icmp eq i32 %vm_ssIsSampleHitVar0_3806, 0
  %vm_ssIsMajorTimeStepVar1_3808 = load i32* %vm_ssIsMajorTimeStepVar1_, align 1
  %630 = icmp eq i32 %vm_ssIsMajorTimeStepVar1_3808, 0
  %or.cond10115 = or i1 %629, %630
  br i1 %or.cond10115, label %false313, label %true314

true306:                                          ; preds = %true304
  %"%<tSimStruct>_3786" = load i8** %"%<tSimStruct>_", align 1
  call void @vm_ssCallAccelRunBlock(i8* %"%<tSimStruct>_3786", i32 15, i32 3, i32 104)
  br label %false307

false307:                                         ; preds = %true304, %true306
  %"%<tSimStruct>_3787" = load i8** %"%<tSimStruct>_", align 1
  %_rtB_3788 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %631 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_3788, i32 0, i32 99
  %_rtB__Gain_l3789 = load double* %631, align 1
  %632 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_3788, i32 0, i32 96
  %_rtB__tc_spd_in_radps3791 = load double* %632, align 1
  %633 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_3788, i32 0, i32 891
  %_rtP_3793 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %634 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_3793, i32 0, i32 1575
  %_rtX_3794 = load %X_REVS_VM_T.18** %_rtX_, align 1
  %635 = getelementptr inbounds %X_REVS_VM_T.18* %_rtX_3794, i32 0, i32 106
  call void @REVS_VM_MechEnergyNmradps(i8* %"%<tSimStruct>_3787", double %_rtB__Gain_l3789, double %_rtB__tc_spd_in_radps3791, %B_MechEnergyNmradps_REVS_VM_T.4* %633, %P_MechEnergyNmradps_REVS_VM_T.6* %634, %X_MechEnergyNmradps_REVS_VM_T.7* %635)
  %vm_ssIsSampleHitVar0_3795 = load i32* %vm_ssIsSampleHitVar0_, align 1
  store i32 %vm_ssIsSampleHitVar0_3795, i32* %i_0_, align 1
  %636 = icmp eq i32 %vm_ssIsSampleHitVar0_3795, 0
  br i1 %636, label %false309, label %true308

true308:                                          ; preds = %false307
  %"%<tSimStruct>_3797" = load i8** %"%<tSimStruct>_", align 1
  call void @vm_ssCallAccelRunBlock(i8* %"%<tSimStruct>_3797", i32 15, i32 5, i32 104)
  %"%<tSimStruct>_3798" = load i8** %"%<tSimStruct>_", align 1
  call void @vm_ssCallAccelRunBlock(i8* %"%<tSimStruct>_3798", i32 15, i32 6, i32 104)
  %"%<tSimStruct>_3799" = load i8** %"%<tSimStruct>_", align 1
  call void @vm_ssCallAccelRunBlock(i8* %"%<tSimStruct>_3799", i32 15, i32 7, i32 104)
  %"%<tSimStruct>_3800" = load i8** %"%<tSimStruct>_", align 1
  call void @vm_ssCallAccelRunBlock(i8* %"%<tSimStruct>_3800", i32 15, i32 8, i32 104)
  %"%<tSimStruct>_3801" = load i8** %"%<tSimStruct>_", align 1
  call void @vm_ssCallAccelRunBlock(i8* %"%<tSimStruct>_3801", i32 15, i32 9, i32 104)
  %"%<tSimStruct>_3802" = load i8** %"%<tSimStruct>_", align 1
  call void @vm_ssCallAccelRunBlock(i8* %"%<tSimStruct>_3802", i32 15, i32 10, i32 104)
  %"%<tSimStruct>_3803" = load i8** %"%<tSimStruct>_", align 1
  call void @vm_ssCallAccelRunBlock(i8* %"%<tSimStruct>_3803", i32 15, i32 11, i32 104)
  br label %false309

false309:                                         ; preds = %false307, %true308
  %vm_ssIsMajorTimeStepVar1_3804 = load i32* %vm_ssIsMajorTimeStepVar1_, align 1
  %637 = icmp eq i32 %vm_ssIsMajorTimeStepVar1_3804, 0
  br i1 %637, label %false305, label %true310

true310:                                          ; preds = %false309
  %_rtDW_3805 = load %DW_REVS_VM_T.16** %_rtDW_, align 1
  %638 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_3805, i32 0, i32 851
  call void @vm_srUpdateBC(i8* %638)
  br label %false305

false313:                                         ; preds = %false317, %true318, %false323, %true316, %false305
  %_rtDW_3819 = load %DW_REVS_VM_T.16** %_rtDW_, align 1
  %639 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_3819, i32 0, i32 1041
  %_rtDW__Subsystem_MODE_g3820 = load i8* %639, align 1
  %640 = and i8 %_rtDW__Subsystem_MODE_g3820, 1
  %641 = icmp eq i8 %640, 0
  br i1 %641, label %false325, label %true324

true314:                                          ; preds = %false305
  %_rtB_3809 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %642 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_3809, i32 0, i32 641
  %_rtB__Compare_ge = load i8* %642, align 1
  %643 = and i8 %_rtB__Compare_ge, 1
  %644 = icmp eq i8 %643, 0
  %_rtDW_3810 = load %DW_REVS_VM_T.16** %_rtDW_, align 1
  %645 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_3810, i32 0, i32 1041
  %_rtDW__Subsystem_MODE_g = load i8* %645, align 1
  %646 = and i8 %_rtDW__Subsystem_MODE_g, 1
  %647 = icmp eq i8 %646, 0
  br i1 %644, label %false317, label %true316

true316:                                          ; preds = %true314
  br i1 %647, label %true320, label %false313

false317:                                         ; preds = %true314
  br i1 %647, label %false313, label %true318

true318:                                          ; preds = %false317
  %"%<tSimStruct>_3811" = load i8** %"%<tSimStruct>_", align 1
  call void @vm_ssSetSolverNeedsReset(i8* %"%<tSimStruct>_3811")
  %_rtDW_3812 = load %DW_REVS_VM_T.16** %_rtDW_, align 1
  %648 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_3812, i32 0, i32 1041
  store i8 0, i8* %648, align 1
  br label %false313

true320:                                          ; preds = %true316
  %vm_ssGetTaskTimeVar2_3815 = load double* %vm_ssGetTaskTimeVar2_, align 1
  %vm_ssGetTStartVar3_3816 = load double* %vm_ssGetTStartVar3_, align 1
  %649 = fcmp une double %vm_ssGetTaskTimeVar2_3815, %vm_ssGetTStartVar3_3816
  br i1 %649, label %true322, label %false323

true322:                                          ; preds = %true320
  %"%<tSimStruct>_3817" = load i8** %"%<tSimStruct>_", align 1
  call void @vm_ssSetSolverNeedsReset(i8* %"%<tSimStruct>_3817")
  %_rtDW_3818.pre = load %DW_REVS_VM_T.16** %_rtDW_, align 1
  br label %false323

false323:                                         ; preds = %true322, %true320
  %_rtDW_3818 = phi %DW_REVS_VM_T.16* [ %_rtDW_3818.pre, %true322 ], [ %_rtDW_3810, %true320 ]
  %650 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_3818, i32 0, i32 1041
  store i8 1, i8* %650, align 1
  br label %false313

true324:                                          ; preds = %false313
  %vm_ssIsSampleHitVar0_3821 = load i32* %vm_ssIsSampleHitVar0_, align 1
  store i32 %vm_ssIsSampleHitVar0_3821, i32* %i_0_, align 1
  %651 = icmp eq i32 %vm_ssIsSampleHitVar0_3821, 0
  br i1 %651, label %false327, label %true326

false325:                                         ; preds = %true330, %false329, %false313
  %vm_ssIsSampleHitVar0_3841 = load i32* %vm_ssIsSampleHitVar0_, align 1
  store i32 %vm_ssIsSampleHitVar0_3841, i32* %i_0_, align 1
  %652 = icmp eq i32 %vm_ssIsSampleHitVar0_3841, 0
  %vm_ssIsMajorTimeStepVar1_3843 = load i32* %vm_ssIsMajorTimeStepVar1_, align 1
  %653 = icmp eq i32 %vm_ssIsMajorTimeStepVar1_3843, 0
  %or.cond10117 = or i1 %652, %653
  br i1 %or.cond10117, label %false333, label %true334

true326:                                          ; preds = %true324
  %"%<tSimStruct>_3823" = load i8** %"%<tSimStruct>_", align 1
  call void @vm_ssCallAccelRunBlock(i8* %"%<tSimStruct>_3823", i32 17, i32 0, i32 104)
  br label %false327

false327:                                         ; preds = %true324, %true326
  %"%<tSimStruct>_3824" = load i8** %"%<tSimStruct>_", align 1
  %_rtB_3825 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %654 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_3825, i32 0, i32 19
  %_rtB__Gain33826 = load double* %654, align 1
  %655 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_3825, i32 0, i32 29
  %_rtB__Product5_j3828 = load double* %655, align 1
  %656 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_3825, i32 0, i32 890
  %_rtP_3830 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %657 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_3830, i32 0, i32 1574
  %_rtX_3831 = load %X_REVS_VM_T.18** %_rtX_, align 1
  %658 = getelementptr inbounds %X_REVS_VM_T.18* %_rtX_3831, i32 0, i32 105
  call void @REVS_VM_ElecEnergyVA(i8* %"%<tSimStruct>_3824", double %_rtB__Gain33826, double %_rtB__Product5_j3828, %B_ElecEnergyVA_REVS_VM_T.0* %656, %P_ElecEnergyVA_REVS_VM_T.2* %657, %X_ElecEnergyVA_REVS_VM_T.3* %658)
  %vm_ssIsSampleHitVar0_3832 = load i32* %vm_ssIsSampleHitVar0_, align 1
  store i32 %vm_ssIsSampleHitVar0_3832, i32* %i_0_, align 1
  %659 = icmp eq i32 %vm_ssIsSampleHitVar0_3832, 0
  br i1 %659, label %false329, label %true328

true328:                                          ; preds = %false327
  %"%<tSimStruct>_3834" = load i8** %"%<tSimStruct>_", align 1
  call void @vm_ssCallAccelRunBlock(i8* %"%<tSimStruct>_3834", i32 17, i32 2, i32 104)
  %"%<tSimStruct>_3835" = load i8** %"%<tSimStruct>_", align 1
  call void @vm_ssCallAccelRunBlock(i8* %"%<tSimStruct>_3835", i32 17, i32 3, i32 104)
  %"%<tSimStruct>_3836" = load i8** %"%<tSimStruct>_", align 1
  call void @vm_ssCallAccelRunBlock(i8* %"%<tSimStruct>_3836", i32 17, i32 4, i32 104)
  %"%<tSimStruct>_3837" = load i8** %"%<tSimStruct>_", align 1
  call void @vm_ssCallAccelRunBlock(i8* %"%<tSimStruct>_3837", i32 17, i32 5, i32 104)
  %"%<tSimStruct>_3838" = load i8** %"%<tSimStruct>_", align 1
  call void @vm_ssCallAccelRunBlock(i8* %"%<tSimStruct>_3838", i32 17, i32 6, i32 104)
  br label %false329

false329:                                         ; preds = %false327, %true328
  %vm_ssIsMajorTimeStepVar1_3839 = load i32* %vm_ssIsMajorTimeStepVar1_, align 1
  %660 = icmp eq i32 %vm_ssIsMajorTimeStepVar1_3839, 0
  br i1 %660, label %false325, label %true330

true330:                                          ; preds = %false329
  %_rtDW_3840 = load %DW_REVS_VM_T.16** %_rtDW_, align 1
  %661 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_3840, i32 0, i32 852
  call void @vm_srUpdateBC(i8* %661)
  br label %false325

false333:                                         ; preds = %false337, %true338, %false343, %true336, %false325
  %_rtDW_3854 = load %DW_REVS_VM_T.16** %_rtDW_, align 1
  %662 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_3854, i32 0, i32 1042
  %_rtDW__Subsystem_MODE_l3855 = load i8* %662, align 1
  %663 = and i8 %_rtDW__Subsystem_MODE_l3855, 1
  %664 = icmp eq i8 %663, 0
  br i1 %664, label %false345, label %true344

true334:                                          ; preds = %false325
  %_rtB_3844 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %665 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_3844, i32 0, i32 642
  %_rtB__Compare_i = load i8* %665, align 1
  %666 = and i8 %_rtB__Compare_i, 1
  %667 = icmp eq i8 %666, 0
  %_rtDW_3845 = load %DW_REVS_VM_T.16** %_rtDW_, align 1
  %668 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_3845, i32 0, i32 1042
  %_rtDW__Subsystem_MODE_l = load i8* %668, align 1
  %669 = and i8 %_rtDW__Subsystem_MODE_l, 1
  %670 = icmp eq i8 %669, 0
  br i1 %667, label %false337, label %true336

true336:                                          ; preds = %true334
  br i1 %670, label %true340, label %false333

false337:                                         ; preds = %true334
  br i1 %670, label %false333, label %true338

true338:                                          ; preds = %false337
  %"%<tSimStruct>_3846" = load i8** %"%<tSimStruct>_", align 1
  call void @vm_ssSetSolverNeedsReset(i8* %"%<tSimStruct>_3846")
  %_rtDW_3847 = load %DW_REVS_VM_T.16** %_rtDW_, align 1
  %671 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_3847, i32 0, i32 1042
  store i8 0, i8* %671, align 1
  br label %false333

true340:                                          ; preds = %true336
  %vm_ssGetTaskTimeVar2_3850 = load double* %vm_ssGetTaskTimeVar2_, align 1
  %vm_ssGetTStartVar3_3851 = load double* %vm_ssGetTStartVar3_, align 1
  %672 = fcmp une double %vm_ssGetTaskTimeVar2_3850, %vm_ssGetTStartVar3_3851
  br i1 %672, label %true342, label %false343

true342:                                          ; preds = %true340
  %"%<tSimStruct>_3852" = load i8** %"%<tSimStruct>_", align 1
  call void @vm_ssSetSolverNeedsReset(i8* %"%<tSimStruct>_3852")
  %_rtDW_3853.pre = load %DW_REVS_VM_T.16** %_rtDW_, align 1
  br label %false343

false343:                                         ; preds = %true342, %true340
  %_rtDW_3853 = phi %DW_REVS_VM_T.16* [ %_rtDW_3853.pre, %true342 ], [ %_rtDW_3845, %true340 ]
  %673 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_3853, i32 0, i32 1042
  store i8 1, i8* %673, align 1
  br label %false333

true344:                                          ; preds = %false333
  %_rtB_3856 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %674 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_3856, i32 0, i32 96
  %_rtB__tc_spd_in_radps3857 = load double* %674, align 1
  %tmp63 = fmul double %_rtB__tc_spd_in_radps3857, %_rtB__tc_spd_in_radps3857
  %675 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_3856, i32 0, i32 111
  %_rtB__rotationalinertia_g = load double* %675, align 1
  %tmp64 = fmul double %tmp63, %_rtB__rotationalinertia_g
  %_rtP_3861 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %676 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_3861, i32 0, i32 4
  %_rtP__onehalf_Gain_mt = load double* %676, align 1
  %tmp65 = fmul double %tmp64, %_rtP__onehalf_Gain_mt
  %677 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_3856, i32 0, i32 613
  store double %tmp65, double* %677, align 1
  %vm_ssIsSampleHitVar0_3863 = load i32* %vm_ssIsSampleHitVar0_, align 1
  store i32 %vm_ssIsSampleHitVar0_3863, i32* %i_0_, align 1
  %678 = icmp eq i32 %vm_ssIsSampleHitVar0_3863, 0
  br i1 %678, label %false347, label %true346

false345:                                         ; preds = %true350, %false349, %false333
  %_rtB_3885 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %679 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_3885, i32 0, i32 114
  %_rtB__cranking_speed_radps = load double* %679, align 1
  %680 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_3885, i32 0, i32 96
  %_rtB__tc_spd_in_radps3887 = load double* %680, align 1
  %tmp66 = fsub double %_rtB__cranking_speed_radps, %_rtB__tc_spd_in_radps3887
  store double %tmp66, double* %rtb_Sum2_, align 1
  %_rtP_3888 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %681 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_3888, i32 0, i32 370
  %_rtP__ProportionalGain_Gain = load double* %681, align 1
  %tmp67 = fmul double %tmp66, %_rtP__ProportionalGain_Gain
  store double %tmp67, double* %rtb_ProportionalGain_, align 1
  %682 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_3885, i32 0, i32 626
  %_rtB__ctrl_eng_on3891 = load i8* %682, align 1
  %683 = and i8 %_rtB__ctrl_eng_on3891, 1
  %684 = icmp ne i8 %683, 0
  %685 = fcmp oeq double %_rtB__tc_spd_in_radps3887, 0.000000e+00
  %686 = and i1 %684, %685
  %687 = zext i1 %686 to i8
  store i8 %687, i8* %rtb_LogicalOperator1_j_, align 1
  %688 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_3885, i32 0, i32 19
  %_rtB__Gain33895 = load double* %688, align 1
  %689 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_3885, i32 0, i32 115
  %_rtB__minvolts = load double* %689, align 1
  %690 = fcmp ole double %_rtB__Gain33895, %_rtB__minvolts
  %691 = uitofp i1 %690 to double
  %692 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_3885, i32 0, i32 116
  store double %691, double* %692, align 1
  %vm_ssIsMajorTimeStepVar1_3898 = load i32* %vm_ssIsMajorTimeStepVar1_, align 1
  %693 = icmp eq i32 %vm_ssIsMajorTimeStepVar1_3898, 0
  br i1 %693, label %false353, label %true352

true346:                                          ; preds = %true344
  %"%<tSimStruct>_3865" = load i8** %"%<tSimStruct>_", align 1
  call void @vm_ssCallAccelRunBlock(i8* %"%<tSimStruct>_3865", i32 19, i32 3, i32 104)
  br label %false347

false347:                                         ; preds = %true344, %true346
  %"%<tSimStruct>_3866" = load i8** %"%<tSimStruct>_", align 1
  %_rtB_3867 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %694 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_3867, i32 0, i32 102
  %_rtB__Gain_b3868 = load double* %694, align 1
  %695 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_3867, i32 0, i32 96
  %_rtB__tc_spd_in_radps3870 = load double* %695, align 1
  %696 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_3867, i32 0, i32 889
  %_rtP_3872 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %697 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_3872, i32 0, i32 1573
  %_rtX_3873 = load %X_REVS_VM_T.18** %_rtX_, align 1
  %698 = getelementptr inbounds %X_REVS_VM_T.18* %_rtX_3873, i32 0, i32 104
  call void @REVS_VM_MechEnergyNmradps(i8* %"%<tSimStruct>_3866", double %_rtB__Gain_b3868, double %_rtB__tc_spd_in_radps3870, %B_MechEnergyNmradps_REVS_VM_T.4* %696, %P_MechEnergyNmradps_REVS_VM_T.6* %697, %X_MechEnergyNmradps_REVS_VM_T.7* %698)
  %vm_ssIsSampleHitVar0_3874 = load i32* %vm_ssIsSampleHitVar0_, align 1
  store i32 %vm_ssIsSampleHitVar0_3874, i32* %i_0_, align 1
  %699 = icmp eq i32 %vm_ssIsSampleHitVar0_3874, 0
  br i1 %699, label %false349, label %true348

true348:                                          ; preds = %false347
  %"%<tSimStruct>_3876" = load i8** %"%<tSimStruct>_", align 1
  call void @vm_ssCallAccelRunBlock(i8* %"%<tSimStruct>_3876", i32 19, i32 5, i32 104)
  %"%<tSimStruct>_3877" = load i8** %"%<tSimStruct>_", align 1
  call void @vm_ssCallAccelRunBlock(i8* %"%<tSimStruct>_3877", i32 19, i32 6, i32 104)
  %"%<tSimStruct>_3878" = load i8** %"%<tSimStruct>_", align 1
  call void @vm_ssCallAccelRunBlock(i8* %"%<tSimStruct>_3878", i32 19, i32 7, i32 104)
  %"%<tSimStruct>_3879" = load i8** %"%<tSimStruct>_", align 1
  call void @vm_ssCallAccelRunBlock(i8* %"%<tSimStruct>_3879", i32 19, i32 8, i32 104)
  %"%<tSimStruct>_3880" = load i8** %"%<tSimStruct>_", align 1
  call void @vm_ssCallAccelRunBlock(i8* %"%<tSimStruct>_3880", i32 19, i32 9, i32 104)
  %"%<tSimStruct>_3881" = load i8** %"%<tSimStruct>_", align 1
  call void @vm_ssCallAccelRunBlock(i8* %"%<tSimStruct>_3881", i32 19, i32 10, i32 104)
  %"%<tSimStruct>_3882" = load i8** %"%<tSimStruct>_", align 1
  call void @vm_ssCallAccelRunBlock(i8* %"%<tSimStruct>_3882", i32 19, i32 11, i32 104)
  br label %false349

false349:                                         ; preds = %false347, %true348
  %vm_ssIsMajorTimeStepVar1_3883 = load i32* %vm_ssIsMajorTimeStepVar1_, align 1
  %700 = icmp eq i32 %vm_ssIsMajorTimeStepVar1_3883, 0
  br i1 %700, label %false345, label %true350

true350:                                          ; preds = %false349
  %_rtDW_3884 = load %DW_REVS_VM_T.16** %_rtDW_, align 1
  %701 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_3884, i32 0, i32 853
  call void @vm_srUpdateBC(i8* %701)
  br label %false345

true352:                                          ; preds = %false345
  store i8 0, i8* %tmp_, align 1
  %_rtZCE_3899 = load %PrevZCX_REVS_VM_T.20** %_rtZCE_, align 1
  %702 = getelementptr inbounds %PrevZCX_REVS_VM_T.20* %_rtZCE_3899, i32 0, i32 4
  %_rtB_3900 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %703 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_3900, i32 0, i32 116
  %_rtB__DataTypeConversion2_k = load double* %703, align 1
  %704 = call i32 @rt_ZCFcn(i32 -1, i8* %702, double %_rtB__DataTypeConversion2_k)
  %705 = icmp eq i32 %704, 0
  br i1 %705, label %false355, label %true354

false353:                                         ; preds = %true356, %false355, %false345
  %_rtX_3906 = load %X_REVS_VM_T.18** %_rtX_, align 1
  %706 = getelementptr inbounds %X_REVS_VM_T.18* %_rtX_3906, i32 0, i32 9
  %_rtX__Integrator1_CSTATE_p = load double* %706, align 1
  %_rtP_3907 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %707 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_3907, i32 0, i32 374
  %_rtP__Integrator1_UpperSat_g = load double* %707, align 1
  %708 = fcmp ult double %_rtX__Integrator1_CSTATE_p, %_rtP__Integrator1_UpperSat_g
  br i1 %708, label %false359, label %true358

true354:                                          ; preds = %true352
  store i8 1, i8* %tmp_, align 1
  %_rtP_3902 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %709 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_3902, i32 0, i32 373
  %_rtP__Integrator1_IC_fk = load double* %709, align 1
  %_rtX_3903 = load %X_REVS_VM_T.18** %_rtX_, align 1
  %710 = getelementptr inbounds %X_REVS_VM_T.18* %_rtX_3903, i32 0, i32 9
  store double %_rtP__Integrator1_IC_fk, double* %710, align 1
  br label %false355

false355:                                         ; preds = %true352, %true354
  %tmp_3904 = load i8* %tmp_, align 1
  %711 = and i8 %tmp_3904, 1
  %712 = icmp eq i8 %711, 0
  br i1 %712, label %false353, label %true356

true356:                                          ; preds = %false355
  %"%<tSimStruct>_3905" = load i8** %"%<tSimStruct>_", align 1
  call void @vm_ssSetSolverNeedsReset(i8* %"%<tSimStruct>_3905")
  br label %false353

true358:                                          ; preds = %false353
  %713 = fcmp une double %_rtX__Integrator1_CSTATE_p, %_rtP__Integrator1_UpperSat_g
  br i1 %713, label %true364, label %merge2542

false359:                                         ; preds = %false353
  %714 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_3907, i32 0, i32 375
  %_rtP__Integrator1_LowerSat_ie = load double* %714, align 1
  %715 = fcmp ole double %_rtX__Integrator1_CSTATE_p, %_rtP__Integrator1_LowerSat_ie
  %716 = fcmp une double %_rtX__Integrator1_CSTATE_p, %_rtP__Integrator1_LowerSat_ie
  %or.cond10118 = and i1 %715, %716
  br i1 %or.cond10118, label %true362, label %merge2542

true362:                                          ; preds = %false359
  store double %_rtP__Integrator1_LowerSat_ie, double* %706, align 1
  %"%<tSimStruct>_3918" = load i8** %"%<tSimStruct>_", align 1
  call void @vm_ssSetSolverNeedsReset(i8* %"%<tSimStruct>_3918")
  br label %merge2542

true364:                                          ; preds = %true358
  store double %_rtP__Integrator1_UpperSat_g, double* %706, align 1
  %"%<tSimStruct>_3926" = load i8** %"%<tSimStruct>_", align 1
  call void @vm_ssSetSolverNeedsReset(i8* %"%<tSimStruct>_3926")
  br label %merge2542

true366:                                          ; preds = %merge2542
  %_rtDW_3929 = load %DW_REVS_VM_T.16** %_rtDW_, align 1
  %717 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_3929, i32 0, i32 27
  %_rtDW__Memory_8_PreviousInput = load double* %717, align 1
  %_rtB_3930 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %718 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_3930, i32 0, i32 120
  %_rtB__Constant_lm = load double* %718, align 1
  %719 = fcmp une double %_rtDW__Memory_8_PreviousInput, %_rtB__Constant_lm
  %720 = zext i1 %719 to i8
  %721 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_3930, i32 0, i32 643
  store i8 %720, i8* %721, align 1
  %vm_ssIsSampleHitVar0_3932.pre = load i32* %vm_ssIsSampleHitVar0_, align 1
  br label %false367

false367:                                         ; preds = %merge2542, %true366
  %vm_ssIsSampleHitVar0_3932 = phi i32 [ 0, %merge2542 ], [ %vm_ssIsSampleHitVar0_3932.pre, %true366 ]
  store i32 %vm_ssIsSampleHitVar0_3932, i32* %i_0_, align 1
  %722 = icmp eq i32 %vm_ssIsSampleHitVar0_3932, 0
  br i1 %722, label %false369, label %true368

true368:                                          ; preds = %false367
  %_rtDW_3934 = load %DW_REVS_VM_T.16** %_rtDW_, align 1
  %723 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_3934, i32 0, i32 1023
  %_rtDW__Memory2_PreviousInput_ow = load i8* %723, align 1
  %_rtB_3935 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %724 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_3935, i32 0, i32 644
  store i8 %_rtDW__Memory2_PreviousInput_ow, i8* %724, align 1
  br label %false369

false369:                                         ; preds = %false367, %true368
  %_rtB_3936 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %725 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_3936, i32 0, i32 117
  %_rtB__Constant_b = load double* %725, align 1
  %_rtP_3937 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %726 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_3937, i32 0, i32 377
  %_rtP__Switch_Threshold_c = load double* %726, align 1
  %727 = fcmp ogt double %_rtB__Constant_b, %_rtP__Switch_Threshold_c
  br i1 %727, label %true370, label %false371

true370:                                          ; preds = %false369
  %728 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_3937, i32 0, i32 54
  %_rtP__normalize_Gain_n = load double* %728, align 1
  %_rtX_3941 = load %X_REVS_VM_T.18** %_rtX_, align 1
  %729 = getelementptr inbounds %X_REVS_VM_T.18* %_rtX_3941, i32 0, i32 9
  %_rtX__Integrator1_CSTATE_p3942 = load double* %729, align 1
  %tmp68 = fmul double %_rtP__normalize_Gain_n, %_rtX__Integrator1_CSTATE_p3942
  br label %merge2543

false371:                                         ; preds = %false369
  %_rtX_3938 = load %X_REVS_VM_T.18** %_rtX_, align 1
  %730 = getelementptr inbounds %X_REVS_VM_T.18* %_rtX_3938, i32 0, i32 9
  %_rtX__Integrator1_CSTATE_p3939 = load double* %730, align 1
  br label %merge2543

true372:                                          ; preds = %merge2543
  store i8 0, i8* %tmp_, align 1
  %_rtB_3954 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %731 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_3954, i32 0, i32 645
  %_rtB__CombinatorialLogic = load i8* %731, align 1
  %732 = and i8 %_rtB__CombinatorialLogic, 1
  %733 = icmp ne i8 %732, 0
  %_rtZCE_3955 = load %PrevZCX_REVS_VM_T.20** %_rtZCE_, align 1
  %734 = getelementptr inbounds %PrevZCX_REVS_VM_T.20* %_rtZCE_3955, i32 0, i32 5
  %_rtZCE__Integrator_Reset_ZCE = load i8* %734, align 1
  %735 = icmp ne i8 %_rtZCE__Integrator_Reset_ZCE, 1
  %736 = and i1 %733, %735
  %737 = zext i1 %736 to i8
  store i8 %737, i8* %didZcEventOccur_, align 1
  store i8 %_rtB__CombinatorialLogic, i8* %734, align 1
  %738 = and i8 %737, 1
  %739 = icmp eq i8 %738, 0
  br i1 %739, label %false375, label %true374

false373:                                         ; preds = %merge2543, %false377
  %vm_ssIsMajorTimeStepVar1_3967 = phi i32 [ 0, %merge2543 ], [ %vm_ssIsMajorTimeStepVar1_3967.pre, %false377 ]
  %_rtX_3964 = load %X_REVS_VM_T.18** %_rtX_, align 1
  %740 = getelementptr inbounds %X_REVS_VM_T.18* %_rtX_3964, i32 0, i32 10
  %_rtX__Integrator_CSTATE_g = load double* %740, align 1
  store double %_rtX__Integrator_CSTATE_g, double* %rtb_Integrator_pt_, align 1
  %_rtP_3965 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %741 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_3965, i32 0, i32 384
  %_rtP__DerivativeGain_Gain = load double* %741, align 1
  %tmp71 = fmul double %_rtP__DerivativeGain_Gain, %tmp66
  store double %tmp71, double* %rtb_DerivativeGain_, align 1
  %742 = icmp eq i32 %vm_ssIsMajorTimeStepVar1_3967, 0
  br i1 %742, label %false379, label %true378

true374:                                          ; preds = %true372
  store i8 1, i8* %tmp_, align 1
  %_rtP_3960 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %743 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_3960, i32 0, i32 383
  %_rtP__Integrator_IC_o = load double* %743, align 1
  %_rtX_3961 = load %X_REVS_VM_T.18** %_rtX_, align 1
  %744 = getelementptr inbounds %X_REVS_VM_T.18* %_rtX_3961, i32 0, i32 10
  store double %_rtP__Integrator_IC_o, double* %744, align 1
  br label %false375

false375:                                         ; preds = %true372, %true374
  %tmp_3962 = load i8* %tmp_, align 1
  %745 = and i8 %tmp_3962, 1
  %746 = icmp eq i8 %745, 0
  br i1 %746, label %false377, label %true376

true376:                                          ; preds = %false375
  %"%<tSimStruct>_3963" = load i8** %"%<tSimStruct>_", align 1
  call void @vm_ssSetSolverNeedsReset(i8* %"%<tSimStruct>_3963")
  br label %false377

false377:                                         ; preds = %false375, %true376
  %vm_ssIsMajorTimeStepVar1_3967.pre = load i32* %vm_ssIsMajorTimeStepVar1_, align 1
  br label %false373

true378:                                          ; preds = %false373
  store i8 0, i8* %tmp_, align 1
  %_rtB_3968 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %747 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_3968, i32 0, i32 645
  %_rtB__CombinatorialLogic3969 = load i8* %747, align 1
  %748 = and i8 %_rtB__CombinatorialLogic3969, 1
  %749 = icmp ne i8 %748, 0
  %_rtZCE_3970 = load %PrevZCX_REVS_VM_T.20** %_rtZCE_, align 1
  %750 = getelementptr inbounds %PrevZCX_REVS_VM_T.20* %_rtZCE_3970, i32 0, i32 6
  %_rtZCE__Filter_Reset_ZCE = load i8* %750, align 1
  %751 = icmp ne i8 %_rtZCE__Filter_Reset_ZCE, 1
  %752 = and i1 %749, %751
  %753 = zext i1 %752 to i8
  store i8 %753, i8* %didZcEventOccur_, align 1
  store i8 %_rtB__CombinatorialLogic3969, i8* %750, align 1
  %754 = and i8 %753, 1
  %755 = icmp eq i8 %754, 0
  br i1 %755, label %false381, label %true380

false379:                                         ; preds = %false373, %false383
  %_rtP_3981 = phi %P_REVS_VM_T.17* [ %_rtP_3965, %false373 ], [ %_rtP_3981.pre, %false383 ]
  %_rtX_3980 = phi %X_REVS_VM_T.18* [ %_rtX_3964, %false373 ], [ %_rtX_3980.pre, %false383 ]
  %756 = getelementptr inbounds %X_REVS_VM_T.18* %_rtX_3980, i32 0, i32 11
  %_rtX__Filter_CSTATE = load double* %756, align 1
  %tmp72 = fsub double %tmp71, %_rtX__Filter_CSTATE
  %757 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_3981, i32 0, i32 386
  %_rtP__FilterCoefficient_Gain = load double* %757, align 1
  %tmp73 = fmul double %tmp72, %_rtP__FilterCoefficient_Gain
  %_rtB_3982 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %758 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_3982, i32 0, i32 121
  store double %tmp73, double* %758, align 1
  %tmp74 = fadd double %tmp67, %_rtX__Integrator_CSTATE_g
  %_rtB_3985 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %759 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_3985, i32 0, i32 121
  %_rtB__FilterCoefficient = load double* %759, align 1
  %tmp75 = fadd double %tmp74, %_rtB__FilterCoefficient
  store double %tmp75, double* %u0_0_, align 1
  %_rtP_3987 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %760 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_3987, i32 0, i32 387
  %_rtP__Saturate_UpperSat = load double* %760, align 1
  %761 = fcmp ogt double %tmp75, %_rtP__Saturate_UpperSat
  br i1 %761, label %true384, label %false385

true380:                                          ; preds = %true378
  store i8 1, i8* %tmp_, align 1
  %_rtP_3975 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %762 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_3975, i32 0, i32 385
  %_rtP__Filter_IC = load double* %762, align 1
  %_rtX_3976 = load %X_REVS_VM_T.18** %_rtX_, align 1
  %763 = getelementptr inbounds %X_REVS_VM_T.18* %_rtX_3976, i32 0, i32 11
  store double %_rtP__Filter_IC, double* %763, align 1
  br label %false381

false381:                                         ; preds = %true378, %true380
  %tmp_3977 = load i8* %tmp_, align 1
  %764 = and i8 %tmp_3977, 1
  %765 = icmp eq i8 %764, 0
  br i1 %765, label %false383, label %true382

true382:                                          ; preds = %false381
  %"%<tSimStruct>_3978" = load i8** %"%<tSimStruct>_", align 1
  call void @vm_ssSetSolverNeedsReset(i8* %"%<tSimStruct>_3978")
  br label %false383

false383:                                         ; preds = %false381, %true382
  %_rtX_3980.pre = load %X_REVS_VM_T.18** %_rtX_, align 1
  %_rtP_3981.pre = load %P_REVS_VM_T.17** %_rtP_, align 1
  br label %false379

true384:                                          ; preds = %false379
  %766 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_3985, i32 0, i32 122
  store double %_rtP__Saturate_UpperSat, double* %766, align 1
  br label %merge2545

false385:                                         ; preds = %false379
  %767 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_3987, i32 0, i32 388
  %_rtP__Saturate_LowerSat = load double* %767, align 1
  %768 = fcmp olt double %tmp75, %_rtP__Saturate_LowerSat
  %769 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_3985, i32 0, i32 122
  br i1 %768, label %true386, label %false387

true386:                                          ; preds = %false385
  store double %_rtP__Saturate_LowerSat, double* %769, align 1
  br label %merge2545

false387:                                         ; preds = %false385
  store double %tmp75, double* %769, align 1
  br label %merge2545

true388:                                          ; preds = %merge2545
  %_rtB_4030 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %770 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_4030, i32 0, i32 124
  %_rtB__Divide24031 = load double* %770, align 1
  %771 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_4030, i32 0, i32 125
  store double %_rtB__Divide24031, double* %771, align 1
  br label %merge2548

false389:                                         ; preds = %merge2545
  %vm_ssGetTaskTimeVar4_4006 = load double* %vm_ssGetTaskTimeVar4_, align 1
  %tmp79 = fsub double %vm_ssGetTaskTimeVar4_4006, %_rtDW__LastMajorTime_i
  store double %tmp79, double* %u0_0_, align 1
  %_rtP_4010 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %772 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_4010, i32 0, i32 390
  %_rtP__RateLimiter_RisingLim_j = load double* %772, align 1
  %tmp80 = fmul double %tmp79, %_rtP__RateLimiter_RisingLim_j
  store double %tmp80, double* %riseValLimit_, align 1
  %_rtB_4011 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %773 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_4011, i32 0, i32 124
  %_rtB__Divide2 = load double* %773, align 1
  %774 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_4005, i32 0, i32 28
  %_rtDW__PrevY_i = load double* %774, align 1
  %tmp81 = fsub double %_rtB__Divide2, %_rtDW__PrevY_i
  store double %tmp81, double* %rateLimiterRate_, align 1
  %775 = fcmp ogt double %tmp81, %tmp80
  br i1 %775, label %true390, label %false391

true390:                                          ; preds = %false389
  %tmp84 = fadd double %_rtDW__PrevY_i, %tmp80
  %776 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_4011, i32 0, i32 125
  store double %tmp84, double* %776, align 1
  br label %merge2548

false391:                                         ; preds = %false389
  %777 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_4010, i32 0, i32 391
  %_rtP__RateLimiter_FallingLim_d = load double* %777, align 1
  %tmp82 = fmul double %tmp79, %_rtP__RateLimiter_FallingLim_d
  store double %tmp82, double* %u0_0_, align 1
  %778 = fcmp olt double %tmp81, %tmp82
  br i1 %778, label %true392, label %false393

true392:                                          ; preds = %false391
  %_rtDW__PrevY_i4023 = load double* %774, align 1
  %tmp83 = fadd double %_rtDW__PrevY_i4023, %tmp82
  %779 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_4011, i32 0, i32 125
  store double %tmp83, double* %779, align 1
  br label %merge2548

false393:                                         ; preds = %false391
  %_rtB__Divide24020 = load double* %773, align 1
  %780 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_4011, i32 0, i32 125
  store double %_rtB__Divide24020, double* %780, align 1
  br label %merge2548

false395:                                         ; preds = %merge2548
  %781 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_4035, i32 0, i32 394
  %_rtP__Saturation1_LowerSat_o = load double* %781, align 1
  %782 = fcmp olt double %_rtB__Gain34034, %_rtP__Saturation1_LowerSat_o
  %_rtP__Saturation1_LowerSat_o._rtB__Gain34034 = select i1 %782, double %_rtP__Saturation1_LowerSat_o, double %_rtB__Gain34034
  %. = select i1 %782, double* %781, double* %4638
  br label %merge2550

true398:                                          ; preds = %merge2550
  %_rtB_4053 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %783 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_4053, i32 0, i32 626
  %_rtB__ctrl_eng_on4054 = load i8* %783, align 1
  %784 = and i8 %_rtB__ctrl_eng_on4054, 1
  %785 = xor i8 %784, 1
  %786 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_4053, i32 0, i32 646
  store i8 %785, i8* %786, align 1
  %vm_ssIsSampleHitVar0_4056.pre = load i32* %vm_ssIsSampleHitVar0_, align 1
  br label %false399

false399:                                         ; preds = %merge2550, %true398
  %vm_ssIsSampleHitVar0_4056 = phi i32 [ 0, %merge2550 ], [ %vm_ssIsSampleHitVar0_4056.pre, %true398 ]
  store i32 %vm_ssIsSampleHitVar0_4056, i32* %i_0_, align 1
  %787 = icmp eq i32 %vm_ssIsSampleHitVar0_4056, 0
  br i1 %787, label %false401, label %true400

true400:                                          ; preds = %false399
  %_rtDW_4058 = load %DW_REVS_VM_T.16** %_rtDW_, align 1
  %788 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_4058, i32 0, i32 1024
  %_rtDW__Memory2_PreviousInput_f = load i8* %788, align 1
  %_rtB_4059 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %789 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_4059, i32 0, i32 647
  store i8 %_rtDW__Memory2_PreviousInput_f, i8* %789, align 1
  br label %false401

false401:                                         ; preds = %false399, %true400
  %_rtP_4060 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %_rtB_4061 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %790 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_4061, i32 0, i32 626
  %_rtB__ctrl_eng_on4062 = load i8* %790, align 1
  %791 = and i8 %_rtB__ctrl_eng_on4062, 1
  %792 = icmp ne i8 %791, 0
  %793 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_4061, i32 0, i32 96
  %_rtB__tc_spd_in_radps4064 = load double* %793, align 1
  %794 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_4061, i32 0, i32 128
  %_rtB__activation_speed_radps2 = load double* %794, align 1
  %795 = fcmp ogt double %_rtB__tc_spd_in_radps4064, %_rtB__activation_speed_radps2
  %796 = and i1 %792, %795
  %797 = zext i1 %796 to i32
  %798 = shl nuw nsw i32 %797, 1
  %799 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_4061, i32 0, i32 129
  %_rtB__deactivation_speed_radps = load double* %799, align 1
  %800 = fcmp olt double %_rtB__tc_spd_in_radps4064, %_rtB__deactivation_speed_radps
  %801 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_4061, i32 0, i32 646
  %_rtB__Compare_a = load i8* %801, align 1
  %802 = and i8 %_rtB__Compare_a, 1
  %803 = icmp ne i8 %802, 0
  %804 = or i1 %800, %803
  %805 = zext i1 %804 to i32
  %tmp88 = or i32 %805, %798
  %806 = mul i32 %tmp88, 2
  %807 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_4061, i32 0, i32 647
  %_rtB__Memory2_n = load i8* %807, align 1
  %808 = zext i8 %_rtB__Memory2_n to i32
  %tmp89 = add nuw nsw i32 %806, %808
  %809 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_4060, i32 0, i32 1468, i32 %tmp89
  %_rtP__CombinatorialLogic_table_l_el = load i8* %809, align 1
  %810 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_4061, i32 0, i32 648
  store i8 %_rtP__CombinatorialLogic_table_l_el, i8* %810, align 1
  %_rtB_4072 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %811 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_4072, i32 0, i32 648
  %_rtB__CombinatorialLogic_g = load i8* %811, align 1
  store i8 %_rtB__CombinatorialLogic_g, i8* %rtb_Compare_c4_, align 1
  %812 = uitofp i8 %_rtB__CombinatorialLogic_g to double
  %813 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_4072, i32 0, i32 130
  store double %812, double* %813, align 1
  %vm_ssIsMajorTimeStepVar1_4076 = load i32* %vm_ssIsMajorTimeStepVar1_, align 1
  %814 = icmp eq i32 %vm_ssIsMajorTimeStepVar1_4076, 0
  br i1 %814, label %false403, label %true402

true402:                                          ; preds = %false401
  store i8 0, i8* %tmp_, align 1
  %_rtZCE_4077 = load %PrevZCX_REVS_VM_T.20** %_rtZCE_, align 1
  %815 = getelementptr inbounds %PrevZCX_REVS_VM_T.20* %_rtZCE_4077, i32 0, i32 7
  %_rtB_4078 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %816 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_4078, i32 0, i32 130
  %_rtB__DataTypeConversion2_j = load double* %816, align 1
  %817 = call i32 @rt_ZCFcn(i32 -1, i8* %815, double %_rtB__DataTypeConversion2_j)
  %818 = icmp eq i32 %817, 0
  br i1 %818, label %false405, label %true404

false403:                                         ; preds = %true406, %false405, %false401
  %_rtX_4084 = load %X_REVS_VM_T.18** %_rtX_, align 1
  %819 = getelementptr inbounds %X_REVS_VM_T.18* %_rtX_4084, i32 0, i32 12
  %_rtX__Integrator1_CSTATE_ay = load double* %819, align 1
  %_rtP_4085 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %820 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_4085, i32 0, i32 398
  %_rtP__Integrator1_UpperSat_g2 = load double* %820, align 1
  %821 = fcmp ult double %_rtX__Integrator1_CSTATE_ay, %_rtP__Integrator1_UpperSat_g2
  br i1 %821, label %false409, label %true408

true404:                                          ; preds = %true402
  store i8 1, i8* %tmp_, align 1
  %_rtP_4080 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %822 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_4080, i32 0, i32 397
  %_rtP__Integrator1_IC_l = load double* %822, align 1
  %_rtX_4081 = load %X_REVS_VM_T.18** %_rtX_, align 1
  %823 = getelementptr inbounds %X_REVS_VM_T.18* %_rtX_4081, i32 0, i32 12
  store double %_rtP__Integrator1_IC_l, double* %823, align 1
  br label %false405

false405:                                         ; preds = %true402, %true404
  %tmp_4082 = load i8* %tmp_, align 1
  %824 = and i8 %tmp_4082, 1
  %825 = icmp eq i8 %824, 0
  br i1 %825, label %false403, label %true406

true406:                                          ; preds = %false405
  %"%<tSimStruct>_4083" = load i8** %"%<tSimStruct>_", align 1
  call void @vm_ssSetSolverNeedsReset(i8* %"%<tSimStruct>_4083")
  br label %false403

true408:                                          ; preds = %false403
  %826 = fcmp une double %_rtX__Integrator1_CSTATE_ay, %_rtP__Integrator1_UpperSat_g2
  br i1 %826, label %true414, label %merge2551

false409:                                         ; preds = %false403
  %827 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_4085, i32 0, i32 399
  %_rtP__Integrator1_LowerSat_a = load double* %827, align 1
  %828 = fcmp ole double %_rtX__Integrator1_CSTATE_ay, %_rtP__Integrator1_LowerSat_a
  %829 = fcmp une double %_rtX__Integrator1_CSTATE_ay, %_rtP__Integrator1_LowerSat_a
  %or.cond10119 = and i1 %828, %829
  br i1 %or.cond10119, label %true412, label %merge2551

true412:                                          ; preds = %false409
  store double %_rtP__Integrator1_LowerSat_a, double* %819, align 1
  %"%<tSimStruct>_4096" = load i8** %"%<tSimStruct>_", align 1
  call void @vm_ssSetSolverNeedsReset(i8* %"%<tSimStruct>_4096")
  br label %merge2551

true414:                                          ; preds = %true408
  store double %_rtP__Integrator1_UpperSat_g2, double* %819, align 1
  %"%<tSimStruct>_4104" = load i8** %"%<tSimStruct>_", align 1
  call void @vm_ssSetSolverNeedsReset(i8* %"%<tSimStruct>_4104")
  br label %merge2551

true416:                                          ; preds = %merge2551
  %830 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_4106, i32 0, i32 18
  %_rtP__normalize_Gain = load double* %830, align 1
  %_rtX_4110 = load %X_REVS_VM_T.18** %_rtX_, align 1
  %831 = getelementptr inbounds %X_REVS_VM_T.18* %_rtX_4110, i32 0, i32 12
  %_rtX__Integrator1_CSTATE_ay4111 = load double* %831, align 1
  %tmp90 = fmul double %_rtP__normalize_Gain, %_rtX__Integrator1_CSTATE_ay4111
  br label %merge2552

false417:                                         ; preds = %merge2551
  %_rtX_4107 = load %X_REVS_VM_T.18** %_rtX_, align 1
  %832 = getelementptr inbounds %X_REVS_VM_T.18* %_rtX_4107, i32 0, i32 12
  %_rtX__Integrator1_CSTATE_ay4108 = load double* %832, align 1
  br label %merge2552

false419:                                         ; preds = %merge2552
  %833 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_4118, i32 0, i32 404
  %_rtP__Saturation2_LowerSat = load double* %833, align 1
  %834 = fcmp olt double %_rtB__Gain34117, %_rtP__Saturation2_LowerSat
  %_rtP__Saturation2_LowerSat._rtB__Gain34117 = select i1 %834, double %_rtP__Saturation2_LowerSat, double %_rtB__Gain34117
  %.10081 = select i1 %834, double* %833, double* %4651
  br label %merge2554

true422:                                          ; preds = %merge2554
  %_rtDW_4130 = load %DW_REVS_VM_T.16** %_rtDW_, align 1
  %835 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_4130, i32 0, i32 30
  %_rtDW__Memory_42_PreviousInput = load double* %835, align 1
  %836 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_4116, i32 0, i32 133
  store double %_rtDW__Memory_42_PreviousInput, double* %836, align 1
  %_rtB_4132 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %837 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_4132, i32 0, i32 133
  %_rtB__batt_SoC_norm = load double* %837, align 1
  %838 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_4132, i32 0, i32 134
  %_rtB__Constant_p = load double* %838, align 1
  %839 = fcmp ole double %_rtB__batt_SoC_norm, %_rtB__Constant_p
  %840 = zext i1 %839 to i8
  %841 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_4132, i32 0, i32 649
  store i8 %840, i8* %841, align 1
  %_rtB_4135 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %842 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_4135, i32 0, i32 1
  %_rtB__veh_spd_mps4136 = load double* %842, align 1
  %843 = fcmp ogt double %_rtB__veh_spd_mps4136, 0.000000e+00
  %844 = zext i1 %843 to i8
  %845 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_4135, i32 0, i32 650
  store i8 %844, i8* %845, align 1
  %rtb_eng_spd_radps_4138 = load double* %rtb_eng_spd_radps_, align 1
  %_rtDW_4139 = load %DW_REVS_VM_T.16** %_rtDW_, align 1
  %846 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_4139, i32 0, i32 31
  %_rtDW__Memory_9_PreviousInput = load double* %846, align 1
  %_rtB_4140 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %847 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_4140, i32 0, i32 135
  %_rtB__Constant2 = load double* %847, align 1
  %tmp93 = fadd double %_rtDW__Memory_9_PreviousInput, %_rtB__Constant2
  %848 = fcmp oge double %rtb_eng_spd_radps_4138, %tmp93
  %849 = zext i1 %848 to i8
  %850 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_4140, i32 0, i32 651
  store i8 %849, i8* %850, align 1
  %_rtDW_4142 = load %DW_REVS_VM_T.16** %_rtDW_, align 1
  %851 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_4142, i32 0, i32 32
  %_rtDW__Memory_49_PreviousInput = load double* %851, align 1
  store double %_rtDW__Memory_49_PreviousInput, double* %rtb_driver_brk_norm_, align 1
  %_rtB_4143 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %852 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_4143, i32 0, i32 76
  %_rtB__trans_curr_gear4144 = load double* %852, align 1
  %853 = fcmp ogt double %_rtB__trans_curr_gear4144, 0.000000e+00
  br i1 %853, label %true424, label %merge2555

false423:                                         ; preds = %merge2554, %merge2556
  %_rtDW_4158 = load %DW_REVS_VM_T.16** %_rtDW_, align 1
  %854 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_4158, i32 0, i32 34
  %_rtDW__LastMajorTime_g = load double* %854, align 1
  %855 = fcmp oeq double %_rtDW__LastMajorTime_g, 0x7FF0000000000000
  br i1 %855, label %true428, label %false429

true424:                                          ; preds = %true422
  %rtb_gear_num_4145 = load double* %rtb_gear_num_, align 1
  %856 = fcmp ogt double %rtb_gear_num_4145, %_rtB__trans_curr_gear4144
  %857 = zext i1 %856 to i32
  %phitmp = sitofp i32 %857 to double
  br label %merge2555

true426:                                          ; preds = %merge2555
  %_rtP_4153 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %858 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_4153, i32 0, i32 1545
  %_rtP__brakeboostgain_Gain = load i8* %858, align 1
  %859 = uitofp i8 %_rtP__brakeboostgain_Gain to double
  %tmp96 = fmul double 1.562500e-02, %859
  br label %merge2556

true428:                                          ; preds = %false423
  %_rtB_4183 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %860 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_4183, i32 0, i32 137
  %_rtB__regenenable4184 = load double* %860, align 1
  %861 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_4183, i32 0, i32 138
  store double %_rtB__regenenable4184, double* %861, align 1
  br label %merge2559

false429:                                         ; preds = %false423
  %vm_ssGetTaskTimeVar4_4159 = load double* %vm_ssGetTaskTimeVar4_, align 1
  %tmp98 = fsub double %vm_ssGetTaskTimeVar4_4159, %_rtDW__LastMajorTime_g
  store double %tmp98, double* %u0_0_, align 1
  %_rtP_4163 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %862 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_4163, i32 0, i32 414
  %_rtP__RateLimiter_RisingLim_o = load double* %862, align 1
  %tmp99 = fmul double %tmp98, %_rtP__RateLimiter_RisingLim_o
  store double %tmp99, double* %riseValLimit_, align 1
  %_rtB_4164 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %863 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_4164, i32 0, i32 137
  %_rtB__regenenable = load double* %863, align 1
  %864 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_4158, i32 0, i32 33
  %_rtDW__PrevY_g = load double* %864, align 1
  %tmp100 = fsub double %_rtB__regenenable, %_rtDW__PrevY_g
  store double %tmp100, double* %rateLimiterRate_, align 1
  %865 = fcmp ogt double %tmp100, %tmp99
  br i1 %865, label %true430, label %false431

true430:                                          ; preds = %false429
  %tmp103 = fadd double %_rtDW__PrevY_g, %tmp99
  %866 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_4164, i32 0, i32 138
  store double %tmp103, double* %866, align 1
  br label %merge2559

false431:                                         ; preds = %false429
  %867 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_4163, i32 0, i32 415
  %_rtP__RateLimiter_FallingLim_l = load double* %867, align 1
  %tmp101 = fmul double %tmp98, %_rtP__RateLimiter_FallingLim_l
  store double %tmp101, double* %u0_0_, align 1
  %868 = fcmp olt double %tmp100, %tmp101
  br i1 %868, label %true432, label %false433

true432:                                          ; preds = %false431
  %_rtDW__PrevY_g4176 = load double* %864, align 1
  %tmp102 = fadd double %_rtDW__PrevY_g4176, %tmp101
  %869 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_4164, i32 0, i32 138
  store double %tmp102, double* %869, align 1
  br label %merge2559

false433:                                         ; preds = %false431
  %_rtB__regenenable4173 = load double* %863, align 1
  %870 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_4164, i32 0, i32 138
  store double %_rtB__regenenable4173, double* %870, align 1
  br label %merge2559

false435:                                         ; preds = %merge2559
  %871 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_4187, i32 0, i32 417
  %_rtP__boostvoltslimit_LowerSat = load double* %871, align 1
  %872 = fcmp olt double %_rtB__RateLimiter_a, %_rtP__boostvoltslimit_LowerSat
  %_rtP__boostvoltslimit_LowerSat._rtB__RateLimiter_a = select i1 %872, double %_rtP__boostvoltslimit_LowerSat, double %_rtB__RateLimiter_a
  %.10082 = select i1 %872, double* %871, double* %4664
  br label %merge2561

true438:                                          ; preds = %merge2561
  %873 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_4186, i32 0, i32 650
  %_rtB__Compare_oh = load i8* %873, align 1
  %874 = uitofp i8 %_rtB__Compare_oh to double
  br label %merge2562

true440:                                          ; preds = %merge2562
  %_rtB_4205 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %875 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_4205, i32 0, i32 140
  %_rtB__sat = load double* %875, align 1
  %876 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_4205, i32 0, i32 142, i32 0
  store double %_rtB__sat, double* %876, align 1
  %_rtB_4207 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %877 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_4207, i32 0, i32 141
  %_rtB__target_voltage_V2 = load double* %877, align 1
  %878 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_4207, i32 0, i32 142, i32 1
  store double %_rtB__target_voltage_V2, double* %878, align 1
  %_rtB_4209 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %879 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_4209, i32 0, i32 143
  %_rtB__target_voltage_V3 = load double* %879, align 1
  %880 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_4209, i32 0, i32 145, i32 0
  store double %_rtB__target_voltage_V3, double* %880, align 1
  %_rtB_4211 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %881 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_4211, i32 0, i32 144
  %_rtB__target_voltage_V4 = load double* %881, align 1
  %882 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_4211, i32 0, i32 145, i32 1
  store double %_rtB__target_voltage_V4, double* %882, align 1
  %"%<tSimStruct>_4213" = load i8** %"%<tSimStruct>_", align 1
  call void @vm_ssCallAccelRunBlock(i8* %"%<tSimStruct>_4213", i32 248, i32 521, i32 104)
  br label %false441

false441:                                         ; preds = %merge2562, %true440
  %_rtB_4214 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %883 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_4214, i32 0, i32 146
  %_rtB__LookupTableDynamic = load double* %883, align 1
  %884 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_4214, i32 0, i32 139
  %_rtB__Product1_e = load double* %884, align 1
  %885 = fcmp ogt double %_rtB__Product1_e, 0.000000e+00
  %886 = uitofp i1 %885 to double
  %887 = call double @muDoubleScalarMax(double %_rtB__LookupTableDynamic, double %886)
  %_rtB_4216 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %888 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_4216, i32 0, i32 147
  %_rtB__target_voltage_V = load double* %888, align 1
  %tmp106 = fmul double %887, %_rtB__target_voltage_V
  %889 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_4216, i32 0, i32 148
  %_rtB__target_voltage_V5 = load double* %889, align 1
  %890 = call double @muDoubleScalarMax(double %tmp106, double %_rtB__target_voltage_V5)
  %_rtB_4218 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %891 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_4218, i32 0, i32 139
  %_rtB__Product1_e4219 = load double* %891, align 1
  %tmp107 = fadd double %890, %_rtB__Product1_e4219
  %892 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_4218, i32 0, i32 149
  store double %tmp107, double* %892, align 1
  %rtb_Saturation2_4221 = load double* %rtb_Saturation2_, align 1
  %_rtB_4222 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %893 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_4222, i32 0, i32 149
  %_rtB__Sum1 = load double* %893, align 1
  %tmp108 = fsub double %rtb_Saturation2_4221, %_rtB__Sum1
  store double %tmp108, double* %rtb_Sum_e_, align 1
  %_rtP_4223 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %894 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_4223, i32 0, i32 427
  %_rtP__ProportionalGain_Gain_e = load double* %894, align 1
  %tmp109 = fmul double %tmp108, %_rtP__ProportionalGain_Gain_e
  store double %tmp109, double* %rtb_ProportionalGain_o_, align 1
  %vm_ssIsMajorTimeStepVar1_4225 = load i32* %vm_ssIsMajorTimeStepVar1_, align 1
  %895 = icmp eq i32 %vm_ssIsMajorTimeStepVar1_4225, 0
  br i1 %895, label %false443, label %true442

true442:                                          ; preds = %false441
  store i8 0, i8* %tmp_, align 1
  %_rtZCE_4226 = load %PrevZCX_REVS_VM_T.20** %_rtZCE_, align 1
  %896 = getelementptr inbounds %PrevZCX_REVS_VM_T.20* %_rtZCE_4226, i32 0, i32 8
  %_rtB__Sum14228 = load double* %893, align 1
  %897 = call i32 @rt_ZCFcn(i32 -1, i8* %896, double %_rtB__Sum14228)
  %898 = icmp eq i32 %897, 0
  br i1 %898, label %false445, label %true444

false443:                                         ; preds = %false441, %false447
  %vm_ssIsMajorTimeStepVar1_4237 = phi i32 [ 0, %false441 ], [ %vm_ssIsMajorTimeStepVar1_4237.pre, %false447 ]
  %_rtP_4235 = phi %P_REVS_VM_T.17* [ %_rtP_4223, %false441 ], [ %_rtP_4235.pre, %false447 ]
  %_rtX_4234 = load %X_REVS_VM_T.18** %_rtX_, align 1
  %899 = getelementptr inbounds %X_REVS_VM_T.18* %_rtX_4234, i32 0, i32 13
  %_rtX__Integrator_CSTATE_f = load double* %899, align 1
  store double %_rtX__Integrator_CSTATE_f, double* %rtb_Integrator_nk_, align 1
  %900 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_4235, i32 0, i32 429
  %_rtP__DerivativeGain_Gain_b = load double* %900, align 1
  %tmp110 = fmul double %_rtP__DerivativeGain_Gain_b, %tmp108
  store double %tmp110, double* %rtb_DerivativeGain_g_, align 1
  %901 = icmp eq i32 %vm_ssIsMajorTimeStepVar1_4237, 0
  br i1 %901, label %false449, label %true448

true444:                                          ; preds = %true442
  store i8 1, i8* %tmp_, align 1
  %_rtP_4230 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %902 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_4230, i32 0, i32 428
  %_rtP__Integrator_IC_c = load double* %902, align 1
  %_rtX_4231 = load %X_REVS_VM_T.18** %_rtX_, align 1
  %903 = getelementptr inbounds %X_REVS_VM_T.18* %_rtX_4231, i32 0, i32 13
  store double %_rtP__Integrator_IC_c, double* %903, align 1
  br label %false445

false445:                                         ; preds = %true442, %true444
  %tmp_4232 = load i8* %tmp_, align 1
  %904 = and i8 %tmp_4232, 1
  %905 = icmp eq i8 %904, 0
  br i1 %905, label %false447, label %true446

true446:                                          ; preds = %false445
  %"%<tSimStruct>_4233" = load i8** %"%<tSimStruct>_", align 1
  call void @vm_ssSetSolverNeedsReset(i8* %"%<tSimStruct>_4233")
  br label %false447

false447:                                         ; preds = %false445, %true446
  %_rtP_4235.pre = load %P_REVS_VM_T.17** %_rtP_, align 1
  %vm_ssIsMajorTimeStepVar1_4237.pre = load i32* %vm_ssIsMajorTimeStepVar1_, align 1
  br label %false443

true448:                                          ; preds = %false443
  store i8 0, i8* %tmp_, align 1
  %_rtZCE_4238 = load %PrevZCX_REVS_VM_T.20** %_rtZCE_, align 1
  %906 = getelementptr inbounds %PrevZCX_REVS_VM_T.20* %_rtZCE_4238, i32 0, i32 9
  %_rtB_4239 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %907 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_4239, i32 0, i32 149
  %_rtB__Sum14240 = load double* %907, align 1
  %908 = call i32 @rt_ZCFcn(i32 -1, i8* %906, double %_rtB__Sum14240)
  %909 = icmp eq i32 %908, 0
  br i1 %909, label %false451, label %true450

false449:                                         ; preds = %false443, %false453
  %_rtP_4248 = phi %P_REVS_VM_T.17* [ %_rtP_4235, %false443 ], [ %_rtP_4248.pre, %false453 ]
  %_rtX_4247 = phi %X_REVS_VM_T.18* [ %_rtX_4234, %false443 ], [ %_rtX_4247.pre, %false453 ]
  %910 = getelementptr inbounds %X_REVS_VM_T.18* %_rtX_4247, i32 0, i32 14
  %_rtX__Filter_CSTATE_n = load double* %910, align 1
  %tmp111 = fsub double %tmp110, %_rtX__Filter_CSTATE_n
  %911 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_4248, i32 0, i32 431
  %_rtP__FilterCoefficient_Gain_n = load double* %911, align 1
  %tmp112 = fmul double %tmp111, %_rtP__FilterCoefficient_Gain_n
  %_rtB_4249 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %912 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_4249, i32 0, i32 150
  store double %tmp112, double* %912, align 1
  %tmp113 = fadd double %tmp109, %_rtX__Integrator_CSTATE_f
  %_rtB_4252 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %913 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_4252, i32 0, i32 150
  %_rtB__FilterCoefficient_o = load double* %913, align 1
  %tmp114 = fadd double %tmp113, %_rtB__FilterCoefficient_o
  store double %tmp114, double* %rtb_Sum_ht_, align 1
  %_rtP_4254 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %914 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_4254, i32 0, i32 432
  %_rtP__Saturate_UpperSat_n = load double* %914, align 1
  %915 = fcmp ogt double %tmp114, %_rtP__Saturate_UpperSat_n
  br i1 %915, label %true454, label %false455

true450:                                          ; preds = %true448
  store i8 1, i8* %tmp_, align 1
  %_rtP_4242 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %916 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_4242, i32 0, i32 430
  %_rtP__Filter_IC_o = load double* %916, align 1
  %_rtX_4243 = load %X_REVS_VM_T.18** %_rtX_, align 1
  %917 = getelementptr inbounds %X_REVS_VM_T.18* %_rtX_4243, i32 0, i32 14
  store double %_rtP__Filter_IC_o, double* %917, align 1
  br label %false451

false451:                                         ; preds = %true448, %true450
  %tmp_4244 = load i8* %tmp_, align 1
  %918 = and i8 %tmp_4244, 1
  %919 = icmp eq i8 %918, 0
  br i1 %919, label %false453, label %true452

true452:                                          ; preds = %false451
  %"%<tSimStruct>_4245" = load i8** %"%<tSimStruct>_", align 1
  call void @vm_ssSetSolverNeedsReset(i8* %"%<tSimStruct>_4245")
  br label %false453

false453:                                         ; preds = %false451, %true452
  %_rtX_4247.pre = load %X_REVS_VM_T.18** %_rtX_, align 1
  %_rtP_4248.pre = load %P_REVS_VM_T.17** %_rtP_, align 1
  br label %false449

true454:                                          ; preds = %false449
  %920 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_4252, i32 0, i32 151
  store double %_rtP__Saturate_UpperSat_n, double* %920, align 1
  br label %merge2564

false455:                                         ; preds = %false449
  %921 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_4254, i32 0, i32 433
  %_rtP__Saturate_LowerSat_e = load double* %921, align 1
  %922 = fcmp olt double %tmp114, %_rtP__Saturate_LowerSat_e
  %923 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_4252, i32 0, i32 151
  br i1 %922, label %true456, label %false457

true456:                                          ; preds = %false455
  store double %_rtP__Saturate_LowerSat_e, double* %923, align 1
  br label %merge2564

false457:                                         ; preds = %false455
  store double %tmp114, double* %923, align 1
  br label %merge2564

false459:                                         ; preds = %merge2564
  %924 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_4275, i32 0, i32 435
  %_rtP__Saturation_LowerSat_j = load double* %924, align 1
  %925 = fcmp olt double %_rtB__tc_spd_in_radps4274, %_rtP__Saturation_LowerSat_j
  %_rtP__Saturation_LowerSat_j._rtB__tc_spd_in_radps4274 = select i1 %925, double %_rtP__Saturation_LowerSat_j, double %_rtB__tc_spd_in_radps4274
  %.10083 = select i1 %925, double* %924, double* %4681
  br label %merge2566

false463:                                         ; preds = %false467, %false473, %false477, %true466, %merge2566
  %_rtDW_4312 = load %DW_REVS_VM_T.16** %_rtDW_, align 1
  %926 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_4312, i32 0, i32 1043
  %_rtDW__Subsystem_MODE_lx4313 = load i8* %926, align 1
  %927 = and i8 %_rtDW__Subsystem_MODE_lx4313, 1
  %928 = icmp eq i8 %927, 0
  br i1 %928, label %false479, label %true478

true464:                                          ; preds = %merge2566
  %929 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_4292, i32 0, i32 652
  %_rtB__Compare_f = load i8* %929, align 1
  %930 = and i8 %_rtB__Compare_f, 1
  %931 = icmp eq i8 %930, 0
  %_rtDW_4299 = load %DW_REVS_VM_T.16** %_rtDW_, align 1
  %932 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_4299, i32 0, i32 1043
  %_rtDW__Subsystem_MODE_lx = load i8* %932, align 1
  %933 = and i8 %_rtDW__Subsystem_MODE_lx, 1
  %934 = icmp eq i8 %933, 0
  br i1 %931, label %false467, label %true466

true466:                                          ; preds = %true464
  br i1 %934, label %true474, label %false463

false467:                                         ; preds = %true464
  br i1 %934, label %false463, label %true468

true468:                                          ; preds = %false467
  %"%<tSimStruct>_4300" = load i8** %"%<tSimStruct>_", align 1
  call void @vm_ssSetSolverNeedsReset(i8* %"%<tSimStruct>_4300")
  %_rtDW_4301 = load %DW_REVS_VM_T.16** %_rtDW_, align 1
  %935 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_4301, i32 0, i32 1073
  %_rtDW__Subsystem_MODE_jd = load i8* %935, align 1
  %936 = and i8 %_rtDW__Subsystem_MODE_jd, 1
  %937 = icmp eq i8 %936, 0
  br i1 %937, label %false471, label %true470

true470:                                          ; preds = %true468
  store i8 0, i8* %935, align 1
  %_rtDW_4303.pre = load %DW_REVS_VM_T.16** %_rtDW_, align 1
  br label %false471

false471:                                         ; preds = %true468, %true470
  %_rtDW_4304 = phi %DW_REVS_VM_T.16* [ %_rtDW_4301, %true468 ], [ %_rtDW_4303.pre, %true470 ]
  %938 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_4304, i32 0, i32 1074
  %_rtDW__Subsystem_MODE_ok = load i8* %938, align 1
  %939 = and i8 %_rtDW__Subsystem_MODE_ok, 1
  %940 = icmp eq i8 %939, 0
  br i1 %940, label %false473, label %true472

true472:                                          ; preds = %false471
  store i8 0, i8* %938, align 1
  %_rtDW_4305.pre = load %DW_REVS_VM_T.16** %_rtDW_, align 1
  br label %false473

false473:                                         ; preds = %false471, %true472
  %_rtDW_4305 = phi %DW_REVS_VM_T.16* [ %_rtDW_4304, %false471 ], [ %_rtDW_4305.pre, %true472 ]
  %941 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_4305, i32 0, i32 1043
  store i8 0, i8* %941, align 1
  br label %false463

true474:                                          ; preds = %true466
  %vm_ssGetTaskTimeVar2_4308 = load double* %vm_ssGetTaskTimeVar2_, align 1
  %vm_ssGetTStartVar3_4309 = load double* %vm_ssGetTStartVar3_, align 1
  %942 = fcmp une double %vm_ssGetTaskTimeVar2_4308, %vm_ssGetTStartVar3_4309
  br i1 %942, label %true476, label %false477

true476:                                          ; preds = %true474
  %"%<tSimStruct>_4310" = load i8** %"%<tSimStruct>_", align 1
  call void @vm_ssSetSolverNeedsReset(i8* %"%<tSimStruct>_4310")
  %_rtDW_4311.pre = load %DW_REVS_VM_T.16** %_rtDW_, align 1
  br label %false477

false477:                                         ; preds = %true476, %true474
  %_rtDW_4311 = phi %DW_REVS_VM_T.16* [ %_rtDW_4311.pre, %true476 ], [ %_rtDW_4299, %true474 ]
  %943 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_4311, i32 0, i32 1043
  store i8 1, i8* %943, align 1
  br label %false463

true478:                                          ; preds = %false463
  %vm_ssIsSampleHitVar0_4314 = load i32* %vm_ssIsSampleHitVar0_, align 1
  store i32 %vm_ssIsSampleHitVar0_4314, i32* %i_0_, align 1
  %944 = icmp eq i32 %vm_ssIsSampleHitVar0_4314, 0
  %vm_ssIsMajorTimeStepVar1_4316 = load i32* %vm_ssIsMajorTimeStepVar1_, align 1
  %945 = icmp eq i32 %vm_ssIsMajorTimeStepVar1_4316, 0
  %or.cond10123 = or i1 %944, %945
  br i1 %or.cond10123, label %false481, label %true482

false479:                                         ; preds = %true530, %false529, %false463
  %vm_ssIsSampleHitVar0_4423 = load i32* %vm_ssIsSampleHitVar0_, align 1
  store i32 %vm_ssIsSampleHitVar0_4423, i32* %i_0_, align 1
  %946 = icmp eq i32 %vm_ssIsSampleHitVar0_4423, 0
  br i1 %946, label %false533, label %true532

false481:                                         ; preds = %merge2568, %true478
  %_rtDW_4328 = phi %DW_REVS_VM_T.16* [ %_rtDW_4312, %true478 ], [ %_rtDW_4328.pre.pre, %merge2568 ]
  %947 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_4328, i32 0, i32 1073
  %_rtDW__Subsystem_MODE_jd4329 = load i8* %947, align 1
  %948 = and i8 %_rtDW__Subsystem_MODE_jd4329, 1
  %949 = icmp eq i8 %948, 0
  br i1 %949, label %false493, label %true492

true482:                                          ; preds = %true478
  %_rtB_4317 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %950 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_4317, i32 0, i32 860
  %_rtB__Compare_i1 = load i8* %950, align 1
  %951 = and i8 %_rtB__Compare_i1, 1
  %952 = icmp eq i8 %951, 0
  %953 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_4312, i32 0, i32 1073
  %_rtDW__Subsystem_MODE_jd4319 = load i8* %953, align 1
  %954 = and i8 %_rtDW__Subsystem_MODE_jd4319, 1
  %955 = icmp eq i8 %954, 0
  br i1 %952, label %false485, label %true484

true484:                                          ; preds = %true482
  br i1 %955, label %true488, label %merge2568

false485:                                         ; preds = %true482
  br i1 %955, label %merge2568, label %true486

true486:                                          ; preds = %false485
  %"%<tSimStruct>_4320" = load i8** %"%<tSimStruct>_", align 1
  call void @vm_ssSetSolverNeedsReset(i8* %"%<tSimStruct>_4320")
  %_rtDW_4321 = load %DW_REVS_VM_T.16** %_rtDW_, align 1
  %956 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_4321, i32 0, i32 1073
  store i8 0, i8* %956, align 1
  br label %merge2568

true488:                                          ; preds = %true484
  %vm_ssGetTaskTimeVar2_4324 = load double* %vm_ssGetTaskTimeVar2_, align 1
  %vm_ssGetTStartVar3_4325 = load double* %vm_ssGetTStartVar3_, align 1
  %957 = fcmp une double %vm_ssGetTaskTimeVar2_4324, %vm_ssGetTStartVar3_4325
  br i1 %957, label %true490, label %false491

true490:                                          ; preds = %true488
  %"%<tSimStruct>_4326" = load i8** %"%<tSimStruct>_", align 1
  call void @vm_ssSetSolverNeedsReset(i8* %"%<tSimStruct>_4326")
  %_rtDW_4327.pre = load %DW_REVS_VM_T.16** %_rtDW_, align 1
  br label %false491

false491:                                         ; preds = %true490, %true488
  %_rtDW_4327 = phi %DW_REVS_VM_T.16* [ %_rtDW_4327.pre, %true490 ], [ %_rtDW_4312, %true488 ]
  %958 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_4327, i32 0, i32 1073
  store i8 1, i8* %958, align 1
  br label %merge2568

true492:                                          ; preds = %false481
  %vm_ssIsSampleHitVar0_4330 = load i32* %vm_ssIsSampleHitVar0_, align 1
  store i32 %vm_ssIsSampleHitVar0_4330, i32* %i_0_, align 1
  %959 = icmp eq i32 %vm_ssIsSampleHitVar0_4330, 0
  br i1 %959, label %false495, label %true494

false493:                                         ; preds = %true498, %false497, %false481
  %vm_ssIsSampleHitVar0_4350 = load i32* %vm_ssIsSampleHitVar0_, align 1
  store i32 %vm_ssIsSampleHitVar0_4350, i32* %i_0_, align 1
  %960 = icmp eq i32 %vm_ssIsSampleHitVar0_4350, 0
  %vm_ssIsMajorTimeStepVar1_4352 = load i32* %vm_ssIsMajorTimeStepVar1_, align 1
  %961 = icmp eq i32 %vm_ssIsMajorTimeStepVar1_4352, 0
  %or.cond10125 = or i1 %960, %961
  br i1 %or.cond10125, label %false501, label %true502

true494:                                          ; preds = %true492
  %"%<tSimStruct>_4332" = load i8** %"%<tSimStruct>_", align 1
  call void @vm_ssCallAccelRunBlock(i8* %"%<tSimStruct>_4332", i32 21, i32 0, i32 104)
  br label %false495

false495:                                         ; preds = %true492, %true494
  %"%<tSimStruct>_4333" = load i8** %"%<tSimStruct>_", align 1
  %_rtB_4334 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %962 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_4334, i32 0, i32 19
  %_rtB__Gain34335 = load double* %962, align 1
  %963 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_4334, i32 0, i32 152
  %_rtB__Product_o4337 = load double* %963, align 1
  %964 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_4334, i32 0, i32 888
  %_rtP_4339 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %965 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_4339, i32 0, i32 1572
  %_rtX_4340 = load %X_REVS_VM_T.18** %_rtX_, align 1
  %966 = getelementptr inbounds %X_REVS_VM_T.18* %_rtX_4340, i32 0, i32 103
  call void @REVS_VM_ElecEnergyVA(i8* %"%<tSimStruct>_4333", double %_rtB__Gain34335, double %_rtB__Product_o4337, %B_ElecEnergyVA_REVS_VM_T.0* %964, %P_ElecEnergyVA_REVS_VM_T.2* %965, %X_ElecEnergyVA_REVS_VM_T.3* %966)
  %vm_ssIsSampleHitVar0_4341 = load i32* %vm_ssIsSampleHitVar0_, align 1
  store i32 %vm_ssIsSampleHitVar0_4341, i32* %i_0_, align 1
  %967 = icmp eq i32 %vm_ssIsSampleHitVar0_4341, 0
  br i1 %967, label %false497, label %true496

true496:                                          ; preds = %false495
  %"%<tSimStruct>_4343" = load i8** %"%<tSimStruct>_", align 1
  call void @vm_ssCallAccelRunBlock(i8* %"%<tSimStruct>_4343", i32 21, i32 2, i32 104)
  %"%<tSimStruct>_4344" = load i8** %"%<tSimStruct>_", align 1
  call void @vm_ssCallAccelRunBlock(i8* %"%<tSimStruct>_4344", i32 21, i32 3, i32 104)
  %"%<tSimStruct>_4345" = load i8** %"%<tSimStruct>_", align 1
  call void @vm_ssCallAccelRunBlock(i8* %"%<tSimStruct>_4345", i32 21, i32 4, i32 104)
  %"%<tSimStruct>_4346" = load i8** %"%<tSimStruct>_", align 1
  call void @vm_ssCallAccelRunBlock(i8* %"%<tSimStruct>_4346", i32 21, i32 5, i32 104)
  %"%<tSimStruct>_4347" = load i8** %"%<tSimStruct>_", align 1
  call void @vm_ssCallAccelRunBlock(i8* %"%<tSimStruct>_4347", i32 21, i32 6, i32 104)
  br label %false497

false497:                                         ; preds = %false495, %true496
  %vm_ssIsMajorTimeStepVar1_4348 = load i32* %vm_ssIsMajorTimeStepVar1_, align 1
  %968 = icmp eq i32 %vm_ssIsMajorTimeStepVar1_4348, 0
  br i1 %968, label %false493, label %true498

true498:                                          ; preds = %false497
  %_rtDW_4349 = load %DW_REVS_VM_T.16** %_rtDW_, align 1
  %969 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_4349, i32 0, i32 1016
  call void @vm_srUpdateBC(i8* %969)
  br label %false493

false501:                                         ; preds = %false505, %true506, %false511, %true504, %false493
  %_rtDW_4364 = load %DW_REVS_VM_T.16** %_rtDW_, align 1
  %970 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_4364, i32 0, i32 1074
  %_rtDW__Subsystem_MODE_ok4365 = load i8* %970, align 1
  %971 = and i8 %_rtDW__Subsystem_MODE_ok4365, 1
  %972 = icmp eq i8 %971, 0
  br i1 %972, label %false513, label %true512

true502:                                          ; preds = %false493
  %_rtB_4353 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %973 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_4353, i32 0, i32 861
  %_rtB__Compare_kz = load i8* %973, align 1
  %974 = and i8 %_rtB__Compare_kz, 1
  %975 = icmp eq i8 %974, 0
  %_rtDW_4354 = load %DW_REVS_VM_T.16** %_rtDW_, align 1
  %976 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_4354, i32 0, i32 1074
  %_rtDW__Subsystem_MODE_ok4355 = load i8* %976, align 1
  %977 = and i8 %_rtDW__Subsystem_MODE_ok4355, 1
  %978 = icmp eq i8 %977, 0
  br i1 %975, label %false505, label %true504

true504:                                          ; preds = %true502
  br i1 %978, label %true508, label %false501

false505:                                         ; preds = %true502
  br i1 %978, label %false501, label %true506

true506:                                          ; preds = %false505
  %"%<tSimStruct>_4356" = load i8** %"%<tSimStruct>_", align 1
  call void @vm_ssSetSolverNeedsReset(i8* %"%<tSimStruct>_4356")
  %_rtDW_4357 = load %DW_REVS_VM_T.16** %_rtDW_, align 1
  %979 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_4357, i32 0, i32 1074
  store i8 0, i8* %979, align 1
  br label %false501

true508:                                          ; preds = %true504
  %vm_ssGetTaskTimeVar2_4360 = load double* %vm_ssGetTaskTimeVar2_, align 1
  %vm_ssGetTStartVar3_4361 = load double* %vm_ssGetTStartVar3_, align 1
  %980 = fcmp une double %vm_ssGetTaskTimeVar2_4360, %vm_ssGetTStartVar3_4361
  br i1 %980, label %true510, label %false511

true510:                                          ; preds = %true508
  %"%<tSimStruct>_4362" = load i8** %"%<tSimStruct>_", align 1
  call void @vm_ssSetSolverNeedsReset(i8* %"%<tSimStruct>_4362")
  %_rtDW_4363.pre = load %DW_REVS_VM_T.16** %_rtDW_, align 1
  br label %false511

false511:                                         ; preds = %true510, %true508
  %_rtDW_4363 = phi %DW_REVS_VM_T.16* [ %_rtDW_4363.pre, %true510 ], [ %_rtDW_4354, %true508 ]
  %981 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_4363, i32 0, i32 1074
  store i8 1, i8* %981, align 1
  br label %false501

true512:                                          ; preds = %false501
  %_rtB_4366 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %982 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_4366, i32 0, i32 96
  %_rtB__tc_spd_in_radps4367 = load double* %982, align 1
  %tmp122 = fmul double %_rtB__tc_spd_in_radps4367, %_rtB__tc_spd_in_radps4367
  %983 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_4366, i32 0, i32 157
  %_rtB__inertia_kgm2 = load double* %983, align 1
  %tmp123 = fmul double %tmp122, %_rtB__inertia_kgm2
  %_rtP_4371 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %984 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_4371, i32 0, i32 9
  %_rtP__onehalf_Gain_l = load double* %984, align 1
  %tmp124 = fmul double %tmp123, %_rtP__onehalf_Gain_l
  %985 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_4366, i32 0, i32 612
  store double %tmp124, double* %985, align 1
  %vm_ssIsSampleHitVar0_4373 = load i32* %vm_ssIsSampleHitVar0_, align 1
  store i32 %vm_ssIsSampleHitVar0_4373, i32* %i_0_, align 1
  %986 = icmp eq i32 %vm_ssIsSampleHitVar0_4373, 0
  br i1 %986, label %false515, label %true514

false513:                                         ; preds = %true518, %false517, %false501
  %_rtB_4395 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %987 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_4395, i32 0, i32 887, i32 0
  %_rtB__MechEnergyNmradps_f_Gain = load double* %987, align 1
  %988 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_4395, i32 0, i32 888, i32 0
  %_rtB__ElecEnergyVA_n_Gain = load double* %988, align 1
  %tmp125 = fsub double %_rtB__MechEnergyNmradps_f_Gain, %_rtB__ElecEnergyVA_n_Gain
  store double %tmp125, double* %u0_0_, align 1
  %989 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_4395, i32 0, i32 888, i32 2
  %_rtB__ElecEnergyVA_n_Integrator1 = load double* %989, align 1
  %990 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_4395, i32 0, i32 887, i32 2
  %_rtB__MechEnergyNmradps_f_Integrator1 = load double* %990, align 1
  %tmp126 = fsub double %_rtB__ElecEnergyVA_n_Integrator1, %_rtB__MechEnergyNmradps_f_Integrator1
  store double %tmp126, double* %u0_, align 1
  %_rtP_4400 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %991 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_4400, i32 0, i32 14
  %_rtP__Pos2_UpperSat = load double* %991, align 1
  %992 = fcmp ogt double %tmp125, %_rtP__Pos2_UpperSat
  br i1 %992, label %true520, label %false521

true514:                                          ; preds = %true512
  %"%<tSimStruct>_4375" = load i8** %"%<tSimStruct>_", align 1
  call void @vm_ssCallAccelRunBlock(i8* %"%<tSimStruct>_4375", i32 23, i32 3, i32 104)
  br label %false515

false515:                                         ; preds = %true512, %true514
  %"%<tSimStruct>_4376" = load i8** %"%<tSimStruct>_", align 1
  %_rtB_4377 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %993 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_4377, i32 0, i32 155
  %_rtB__Divide4378 = load double* %993, align 1
  %994 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_4377, i32 0, i32 96
  %_rtB__tc_spd_in_radps4380 = load double* %994, align 1
  %995 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_4377, i32 0, i32 887
  %_rtP_4382 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %996 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_4382, i32 0, i32 1571
  %_rtX_4383 = load %X_REVS_VM_T.18** %_rtX_, align 1
  %997 = getelementptr inbounds %X_REVS_VM_T.18* %_rtX_4383, i32 0, i32 102
  call void @REVS_VM_MechEnergyNmradps(i8* %"%<tSimStruct>_4376", double %_rtB__Divide4378, double %_rtB__tc_spd_in_radps4380, %B_MechEnergyNmradps_REVS_VM_T.4* %995, %P_MechEnergyNmradps_REVS_VM_T.6* %996, %X_MechEnergyNmradps_REVS_VM_T.7* %997)
  %vm_ssIsSampleHitVar0_4384 = load i32* %vm_ssIsSampleHitVar0_, align 1
  store i32 %vm_ssIsSampleHitVar0_4384, i32* %i_0_, align 1
  %998 = icmp eq i32 %vm_ssIsSampleHitVar0_4384, 0
  br i1 %998, label %false517, label %true516

true516:                                          ; preds = %false515
  %"%<tSimStruct>_4386" = load i8** %"%<tSimStruct>_", align 1
  call void @vm_ssCallAccelRunBlock(i8* %"%<tSimStruct>_4386", i32 23, i32 5, i32 104)
  %"%<tSimStruct>_4387" = load i8** %"%<tSimStruct>_", align 1
  call void @vm_ssCallAccelRunBlock(i8* %"%<tSimStruct>_4387", i32 23, i32 6, i32 104)
  %"%<tSimStruct>_4388" = load i8** %"%<tSimStruct>_", align 1
  call void @vm_ssCallAccelRunBlock(i8* %"%<tSimStruct>_4388", i32 23, i32 7, i32 104)
  %"%<tSimStruct>_4389" = load i8** %"%<tSimStruct>_", align 1
  call void @vm_ssCallAccelRunBlock(i8* %"%<tSimStruct>_4389", i32 23, i32 8, i32 104)
  %"%<tSimStruct>_4390" = load i8** %"%<tSimStruct>_", align 1
  call void @vm_ssCallAccelRunBlock(i8* %"%<tSimStruct>_4390", i32 23, i32 9, i32 104)
  %"%<tSimStruct>_4391" = load i8** %"%<tSimStruct>_", align 1
  call void @vm_ssCallAccelRunBlock(i8* %"%<tSimStruct>_4391", i32 23, i32 10, i32 104)
  %"%<tSimStruct>_4392" = load i8** %"%<tSimStruct>_", align 1
  call void @vm_ssCallAccelRunBlock(i8* %"%<tSimStruct>_4392", i32 23, i32 11, i32 104)
  br label %false517

false517:                                         ; preds = %false515, %true516
  %vm_ssIsMajorTimeStepVar1_4393 = load i32* %vm_ssIsMajorTimeStepVar1_, align 1
  %999 = icmp eq i32 %vm_ssIsMajorTimeStepVar1_4393, 0
  br i1 %999, label %false513, label %true518

true518:                                          ; preds = %false517
  %_rtDW_4394 = load %DW_REVS_VM_T.16** %_rtDW_, align 1
  %1000 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_4394, i32 0, i32 1017
  call void @vm_srUpdateBC(i8* %1000)
  br label %false513

true520:                                          ; preds = %false513
  store double %_rtP__Pos2_UpperSat, double* %u0_0_, align 1
  br label %merge2570

false521:                                         ; preds = %false513
  %1001 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_4400, i32 0, i32 15
  %_rtP__Pos2_LowerSat = load double* %1001, align 1
  %1002 = fcmp olt double %tmp125, %_rtP__Pos2_LowerSat
  br i1 %1002, label %true522, label %merge2570

true522:                                          ; preds = %false521
  store double %_rtP__Pos2_LowerSat, double* %u0_0_, align 1
  br label %merge2570

true524:                                          ; preds = %merge2570
  store double %_rtP__Pos_UpperSat, double* %u0_, align 1
  br label %merge2571

false525:                                         ; preds = %merge2570
  %1003 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_4400, i32 0, i32 17
  %_rtP__Pos_LowerSat = load double* %1003, align 1
  %1004 = fcmp olt double %tmp126, %_rtP__Pos_LowerSat
  br i1 %1004, label %true526, label %merge2571

true526:                                          ; preds = %false525
  store double %_rtP__Pos_LowerSat, double* %u0_, align 1
  br label %merge2571

true528:                                          ; preds = %merge2571
  %"%<tSimStruct>_4420" = load i8** %"%<tSimStruct>_", align 1
  call void @vm_ssCallAccelRunBlock(i8* %"%<tSimStruct>_4420", i32 24, i32 13, i32 104)
  br label %false529

false529:                                         ; preds = %merge2571, %true528
  %vm_ssIsMajorTimeStepVar1_4421 = load i32* %vm_ssIsMajorTimeStepVar1_, align 1
  %1005 = icmp eq i32 %vm_ssIsMajorTimeStepVar1_4421, 0
  br i1 %1005, label %false479, label %true530

true530:                                          ; preds = %false529
  %_rtDW_4422 = load %DW_REVS_VM_T.16** %_rtDW_, align 1
  %1006 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_4422, i32 0, i32 854
  call void @vm_srUpdateBC(i8* %1006)
  br label %false479

true532:                                          ; preds = %false479
  %_rtB_4425 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %1007 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_4425, i32 0, i32 653
  %_rtB__RelationalOperator = load i8* %1007, align 1
  %1008 = and i8 %_rtB__RelationalOperator, 1
  %1009 = icmp eq i8 %1008, 0
  br i1 %1009, label %false535, label %true534

false533:                                         ; preds = %true560, %true558, %false555, %false479
  %rtb_Sum_ht_4453 = load double* %rtb_Sum_ht_, align 1
  %_rtP_4454 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %1010 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_4454, i32 0, i32 457
  %_rtP__DeadZone_End = load double* %1010, align 1
  %1011 = fcmp ogt double %rtb_Sum_ht_4453, %_rtP__DeadZone_End
  br i1 %1011, label %true562, label %false563

true534:                                          ; preds = %true532
  %"%<tSimStruct>_4426" = load i8** %"%<tSimStruct>_", align 1
  call void @vm_ssCallAccelRunBlock(i8* %"%<tSimStruct>_4426", i32 26, i32 0, i32 104)
  %vm_ssIsMajorTimeStepVar1_4427 = load i32* %vm_ssIsMajorTimeStepVar1_, align 1
  %1012 = icmp eq i32 %vm_ssIsMajorTimeStepVar1_4427, 0
  br i1 %1012, label %false537, label %true536

false535:                                         ; preds = %true532, %false537
  %_rtB_4429 = phi %B_REVS_VM_T.12* [ %_rtB_4425, %true532 ], [ %_rtB_4429.pre, %false537 ]
  %1013 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_4429, i32 0, i32 654
  %_rtB__RelationalOperator_c = load i8* %1013, align 1
  %1014 = and i8 %_rtB__RelationalOperator_c, 1
  %1015 = icmp eq i8 %1014, 0
  br i1 %1015, label %false539, label %true538

true536:                                          ; preds = %true534
  %_rtDW_4428 = load %DW_REVS_VM_T.16** %_rtDW_, align 1
  %1016 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_4428, i32 0, i32 855
  call void @vm_srUpdateBC(i8* %1016)
  br label %false537

false537:                                         ; preds = %true534, %true536
  %_rtB_4429.pre = load %B_REVS_VM_T.12** %_rtB_, align 1
  br label %false535

true538:                                          ; preds = %false535
  %"%<tSimStruct>_4430" = load i8** %"%<tSimStruct>_", align 1
  call void @vm_ssCallAccelRunBlock(i8* %"%<tSimStruct>_4430", i32 27, i32 0, i32 104)
  %vm_ssIsMajorTimeStepVar1_4431 = load i32* %vm_ssIsMajorTimeStepVar1_, align 1
  %1017 = icmp eq i32 %vm_ssIsMajorTimeStepVar1_4431, 0
  br i1 %1017, label %false541, label %true540

false539:                                         ; preds = %false535, %false541
  %_rtB_4433 = phi %B_REVS_VM_T.12* [ %_rtB_4429, %false535 ], [ %_rtB_4433.pre, %false541 ]
  %1018 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_4433, i32 0, i32 655
  %_rtB__RelationalOperator_j = load i8* %1018, align 1
  %1019 = and i8 %_rtB__RelationalOperator_j, 1
  %1020 = icmp eq i8 %1019, 0
  br i1 %1020, label %false543, label %true542

true540:                                          ; preds = %true538
  %_rtDW_4432 = load %DW_REVS_VM_T.16** %_rtDW_, align 1
  %1021 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_4432, i32 0, i32 856
  call void @vm_srUpdateBC(i8* %1021)
  br label %false541

false541:                                         ; preds = %true538, %true540
  %_rtB_4433.pre = load %B_REVS_VM_T.12** %_rtB_, align 1
  br label %false539

true542:                                          ; preds = %false539
  %"%<tSimStruct>_4434" = load i8** %"%<tSimStruct>_", align 1
  call void @vm_ssCallAccelRunBlock(i8* %"%<tSimStruct>_4434", i32 28, i32 0, i32 104)
  %vm_ssIsMajorTimeStepVar1_4435 = load i32* %vm_ssIsMajorTimeStepVar1_, align 1
  %1022 = icmp eq i32 %vm_ssIsMajorTimeStepVar1_4435, 0
  br i1 %1022, label %false545, label %true544

false543:                                         ; preds = %false539, %false545
  %_rtB_4437 = phi %B_REVS_VM_T.12* [ %_rtB_4433, %false539 ], [ %_rtB_4437.pre, %false545 ]
  %1023 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_4437, i32 0, i32 656
  %_rtB__RelationalOperator_d = load i8* %1023, align 1
  %1024 = and i8 %_rtB__RelationalOperator_d, 1
  %1025 = icmp eq i8 %1024, 0
  br i1 %1025, label %false547, label %true546

true544:                                          ; preds = %true542
  %_rtDW_4436 = load %DW_REVS_VM_T.16** %_rtDW_, align 1
  %1026 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_4436, i32 0, i32 857
  call void @vm_srUpdateBC(i8* %1026)
  br label %false545

false545:                                         ; preds = %true542, %true544
  %_rtB_4437.pre = load %B_REVS_VM_T.12** %_rtB_, align 1
  br label %false543

true546:                                          ; preds = %false543
  %"%<tSimStruct>_4438" = load i8** %"%<tSimStruct>_", align 1
  call void @vm_ssCallAccelRunBlock(i8* %"%<tSimStruct>_4438", i32 29, i32 0, i32 104)
  %vm_ssIsMajorTimeStepVar1_4439 = load i32* %vm_ssIsMajorTimeStepVar1_, align 1
  %1027 = icmp eq i32 %vm_ssIsMajorTimeStepVar1_4439, 0
  br i1 %1027, label %false549, label %true548

false547:                                         ; preds = %false543, %false549
  %_rtB_4441 = phi %B_REVS_VM_T.12* [ %_rtB_4437, %false543 ], [ %_rtB_4441.pre, %false549 ]
  %1028 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_4441, i32 0, i32 657
  %_rtB__RelationalOperator_i = load i8* %1028, align 1
  %1029 = and i8 %_rtB__RelationalOperator_i, 1
  %1030 = icmp eq i8 %1029, 0
  br i1 %1030, label %false551, label %true550

true548:                                          ; preds = %true546
  %_rtDW_4440 = load %DW_REVS_VM_T.16** %_rtDW_, align 1
  %1031 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_4440, i32 0, i32 858
  call void @vm_srUpdateBC(i8* %1031)
  br label %false549

false549:                                         ; preds = %true546, %true548
  %_rtB_4441.pre = load %B_REVS_VM_T.12** %_rtB_, align 1
  br label %false547

true550:                                          ; preds = %false547
  %"%<tSimStruct>_4442" = load i8** %"%<tSimStruct>_", align 1
  call void @vm_ssCallAccelRunBlock(i8* %"%<tSimStruct>_4442", i32 30, i32 0, i32 104)
  %vm_ssIsMajorTimeStepVar1_4443 = load i32* %vm_ssIsMajorTimeStepVar1_, align 1
  %1032 = icmp eq i32 %vm_ssIsMajorTimeStepVar1_4443, 0
  br i1 %1032, label %false553, label %true552

false551:                                         ; preds = %false547, %false553
  %_rtB_4445 = phi %B_REVS_VM_T.12* [ %_rtB_4441, %false547 ], [ %_rtB_4445.pre, %false553 ]
  %1033 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_4445, i32 0, i32 658
  %_rtB__RelationalOperator_o = load i8* %1033, align 1
  %1034 = and i8 %_rtB__RelationalOperator_o, 1
  %1035 = icmp eq i8 %1034, 0
  br i1 %1035, label %false555, label %true554

true552:                                          ; preds = %true550
  %_rtDW_4444 = load %DW_REVS_VM_T.16** %_rtDW_, align 1
  %1036 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_4444, i32 0, i32 859
  call void @vm_srUpdateBC(i8* %1036)
  br label %false553

false553:                                         ; preds = %true550, %true552
  %_rtB_4445.pre = load %B_REVS_VM_T.12** %_rtB_, align 1
  br label %false551

true554:                                          ; preds = %false551
  %"%<tSimStruct>_4446" = load i8** %"%<tSimStruct>_", align 1
  call void @vm_ssCallAccelRunBlock(i8* %"%<tSimStruct>_4446", i32 31, i32 0, i32 104)
  %vm_ssIsMajorTimeStepVar1_4447 = load i32* %vm_ssIsMajorTimeStepVar1_, align 1
  %1037 = icmp eq i32 %vm_ssIsMajorTimeStepVar1_4447, 0
  br i1 %1037, label %false557, label %true556

false555:                                         ; preds = %false551, %false557
  %_rtB_4449 = phi %B_REVS_VM_T.12* [ %_rtB_4445, %false551 ], [ %_rtB_4449.pre, %false557 ]
  %1038 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_4449, i32 0, i32 659
  %_rtB__RelationalOperator_a = load i8* %1038, align 1
  %1039 = and i8 %_rtB__RelationalOperator_a, 1
  %1040 = icmp eq i8 %1039, 0
  br i1 %1040, label %false533, label %true558

true556:                                          ; preds = %true554
  %_rtDW_4448 = load %DW_REVS_VM_T.16** %_rtDW_, align 1
  %1041 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_4448, i32 0, i32 860
  call void @vm_srUpdateBC(i8* %1041)
  br label %false557

false557:                                         ; preds = %true554, %true556
  %_rtB_4449.pre = load %B_REVS_VM_T.12** %_rtB_, align 1
  br label %false555

true558:                                          ; preds = %false555
  %"%<tSimStruct>_4450" = load i8** %"%<tSimStruct>_", align 1
  call void @vm_ssCallAccelRunBlock(i8* %"%<tSimStruct>_4450", i32 32, i32 0, i32 104)
  %vm_ssIsMajorTimeStepVar1_4451 = load i32* %vm_ssIsMajorTimeStepVar1_, align 1
  %1042 = icmp eq i32 %vm_ssIsMajorTimeStepVar1_4451, 0
  br i1 %1042, label %false533, label %true560

true560:                                          ; preds = %true558
  %_rtDW_4452 = load %DW_REVS_VM_T.16** %_rtDW_, align 1
  %1043 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_4452, i32 0, i32 861
  call void @vm_srUpdateBC(i8* %1043)
  br label %false533

true562:                                          ; preds = %false533
  %tmp129 = fsub double %rtb_Sum_ht_4453, %_rtP__DeadZone_End
  br label %merge2573

false563:                                         ; preds = %false533
  %1044 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_4454, i32 0, i32 456
  %_rtP__DeadZone_Start = load double* %1044, align 1
  %1045 = fcmp ult double %rtb_Sum_ht_4453, %_rtP__DeadZone_Start
  br i1 %1045, label %false565, label %merge2573

false565:                                         ; preds = %false563
  %tmp128 = fsub double %rtb_Sum_ht_4453, %_rtP__DeadZone_Start
  br label %merge2573

false567:                                         ; preds = %merge2573
  %u0_4469 = load double* %u0_, align 1
  %1046 = call double @muDoubleScalarRem(double %u0_4469, double 2.560000e+02)
  br label %merge2574

true568:                                          ; preds = %merge2574
  %1047 = fptosi double %u0_0_4470 to i8
  br label %merge2575

true570:                                          ; preds = %merge2575
  %tmp131 = fsub double 0.000000e+00, %u0_4473
  %1048 = fptoui double %tmp131 to i8
  %1049 = zext i8 %1048 to i32
  %tmp132 = sub i32 0, %1049
  %sext = shl i32 %tmp132, 24
  %1050 = ashr exact i32 %sext, 24
  br label %merge2576

false571:                                         ; preds = %merge2575
  %1051 = fptoui double %u0_4473 to i8
  %1052 = sext i8 %1051 to i32
  br label %merge2576

true572:                                          ; preds = %merge2576
  %_rtDW_4483 = load %DW_REVS_VM_T.16** %_rtDW_, align 1
  %1053 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_4483, i32 0, i32 1025
  %_rtDW__Memory_PreviousInput_j = load i8* %1053, align 1
  %_rtB_4484 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %1054 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_4484, i32 0, i32 661
  store i8 %_rtDW__Memory_PreviousInput_j, i8* %1054, align 1
  br label %false573

false573:                                         ; preds = %merge2576, %true572
  %_rtB_4485 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %1055 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_4485, i32 0, i32 661
  %_rtB__Memory_a = load i8* %1055, align 1
  %1056 = and i8 %_rtB__Memory_a, 1
  %1057 = icmp eq i8 %1056, 0
  %1058 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_4485, i32 0, i32 158
  br i1 %1057, label %false575, label %true574

true574:                                          ; preds = %false573
  store double 0.000000e+00, double* %1058, align 1
  br label %merge2577

false575:                                         ; preds = %false573
  store double %tmp130, double* %1058, align 1
  br label %merge2577

false577:                                         ; preds = %false581, %true582, %false587, %true580, %merge2577
  %_rtDW_4505 = load %DW_REVS_VM_T.16** %_rtDW_, align 1
  %1059 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_4505, i32 0, i32 1044
  %_rtDW__Subsystem_MODE_b4506 = load i8* %1059, align 1
  %1060 = and i8 %_rtDW__Subsystem_MODE_b4506, 1
  %1061 = icmp eq i8 %1060, 0
  br i1 %1061, label %false589, label %true588

true578:                                          ; preds = %merge2577
  %_rtB_4495 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %1062 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_4495, i32 0, i32 662
  %_rtB__Compare_gd = load i8* %1062, align 1
  %1063 = and i8 %_rtB__Compare_gd, 1
  %1064 = icmp eq i8 %1063, 0
  %_rtDW_4496 = load %DW_REVS_VM_T.16** %_rtDW_, align 1
  %1065 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_4496, i32 0, i32 1044
  %_rtDW__Subsystem_MODE_b = load i8* %1065, align 1
  %1066 = and i8 %_rtDW__Subsystem_MODE_b, 1
  %1067 = icmp eq i8 %1066, 0
  br i1 %1064, label %false581, label %true580

true580:                                          ; preds = %true578
  br i1 %1067, label %true584, label %false577

false581:                                         ; preds = %true578
  br i1 %1067, label %false577, label %true582

true582:                                          ; preds = %false581
  %"%<tSimStruct>_4497" = load i8** %"%<tSimStruct>_", align 1
  call void @vm_ssSetSolverNeedsReset(i8* %"%<tSimStruct>_4497")
  %_rtDW_4498 = load %DW_REVS_VM_T.16** %_rtDW_, align 1
  %1068 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_4498, i32 0, i32 1044
  store i8 0, i8* %1068, align 1
  br label %false577

true584:                                          ; preds = %true580
  %vm_ssGetTaskTimeVar2_4501 = load double* %vm_ssGetTaskTimeVar2_, align 1
  %vm_ssGetTStartVar3_4502 = load double* %vm_ssGetTStartVar3_, align 1
  %1069 = fcmp une double %vm_ssGetTaskTimeVar2_4501, %vm_ssGetTStartVar3_4502
  br i1 %1069, label %true586, label %false587

true586:                                          ; preds = %true584
  %"%<tSimStruct>_4503" = load i8** %"%<tSimStruct>_", align 1
  call void @vm_ssSetSolverNeedsReset(i8* %"%<tSimStruct>_4503")
  %_rtDW_4504.pre = load %DW_REVS_VM_T.16** %_rtDW_, align 1
  br label %false587

false587:                                         ; preds = %true586, %true584
  %_rtDW_4504 = phi %DW_REVS_VM_T.16* [ %_rtDW_4504.pre, %true586 ], [ %_rtDW_4496, %true584 ]
  %1070 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_4504, i32 0, i32 1044
  store i8 1, i8* %1070, align 1
  br label %false577

true588:                                          ; preds = %false577
  %vm_ssIsSampleHitVar0_4507 = load i32* %vm_ssIsSampleHitVar0_, align 1
  store i32 %vm_ssIsSampleHitVar0_4507, i32* %i_0_, align 1
  %1071 = icmp eq i32 %vm_ssIsSampleHitVar0_4507, 0
  br i1 %1071, label %false591, label %true590

false589:                                         ; preds = %true594, %false593, %false577
  %vm_ssIsSampleHitVar0_4526 = load i32* %vm_ssIsSampleHitVar0_, align 1
  store i32 %vm_ssIsSampleHitVar0_4526, i32* %i_0_, align 1
  %1072 = icmp eq i32 %vm_ssIsSampleHitVar0_4526, 0
  br i1 %1072, label %false597, label %true596

true590:                                          ; preds = %true588
  %"%<tSimStruct>_4509" = load i8** %"%<tSimStruct>_", align 1
  call void @vm_ssCallAccelRunBlock(i8* %"%<tSimStruct>_4509", i32 34, i32 0, i32 104)
  br label %false591

false591:                                         ; preds = %true588, %true590
  %"%<tSimStruct>_4510" = load i8** %"%<tSimStruct>_", align 1
  %_rtB_4511 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %1073 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_4511, i32 0, i32 19
  %_rtB__Gain34512 = load double* %1073, align 1
  %1074 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_4511, i32 0, i32 159
  %_rtB__Gain_bm = load double* %1074, align 1
  %1075 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_4511, i32 0, i32 886
  %_rtP_4515 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %1076 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_4515, i32 0, i32 1570
  %_rtX_4516 = load %X_REVS_VM_T.18** %_rtX_, align 1
  %1077 = getelementptr inbounds %X_REVS_VM_T.18* %_rtX_4516, i32 0, i32 101
  call void @REVS_VM_ElecEnergyVA(i8* %"%<tSimStruct>_4510", double %_rtB__Gain34512, double %_rtB__Gain_bm, %B_ElecEnergyVA_REVS_VM_T.0* %1075, %P_ElecEnergyVA_REVS_VM_T.2* %1076, %X_ElecEnergyVA_REVS_VM_T.3* %1077)
  %vm_ssIsSampleHitVar0_4517 = load i32* %vm_ssIsSampleHitVar0_, align 1
  store i32 %vm_ssIsSampleHitVar0_4517, i32* %i_0_, align 1
  %1078 = icmp eq i32 %vm_ssIsSampleHitVar0_4517, 0
  br i1 %1078, label %false593, label %true592

true592:                                          ; preds = %false591
  %"%<tSimStruct>_4519" = load i8** %"%<tSimStruct>_", align 1
  call void @vm_ssCallAccelRunBlock(i8* %"%<tSimStruct>_4519", i32 34, i32 2, i32 104)
  %"%<tSimStruct>_4520" = load i8** %"%<tSimStruct>_", align 1
  call void @vm_ssCallAccelRunBlock(i8* %"%<tSimStruct>_4520", i32 34, i32 3, i32 104)
  %"%<tSimStruct>_4521" = load i8** %"%<tSimStruct>_", align 1
  call void @vm_ssCallAccelRunBlock(i8* %"%<tSimStruct>_4521", i32 34, i32 4, i32 104)
  %"%<tSimStruct>_4522" = load i8** %"%<tSimStruct>_", align 1
  call void @vm_ssCallAccelRunBlock(i8* %"%<tSimStruct>_4522", i32 34, i32 5, i32 104)
  %"%<tSimStruct>_4523" = load i8** %"%<tSimStruct>_", align 1
  call void @vm_ssCallAccelRunBlock(i8* %"%<tSimStruct>_4523", i32 34, i32 6, i32 104)
  br label %false593

false593:                                         ; preds = %false591, %true592
  %vm_ssIsMajorTimeStepVar1_4524 = load i32* %vm_ssIsMajorTimeStepVar1_, align 1
  %1079 = icmp eq i32 %vm_ssIsMajorTimeStepVar1_4524, 0
  br i1 %1079, label %false589, label %true594

true594:                                          ; preds = %false593
  %_rtDW_4525 = load %DW_REVS_VM_T.16** %_rtDW_, align 1
  %1080 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_4525, i32 0, i32 862
  call void @vm_srUpdateBC(i8* %1080)
  br label %false589

true596:                                          ; preds = %false589
  %_rtB_4528 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %1081 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_4528, i32 0, i32 663
  %_rtB__RelationalOperator_dh = load i8* %1081, align 1
  %1082 = and i8 %_rtB__RelationalOperator_dh, 1
  %1083 = icmp eq i8 %1082, 0
  br i1 %1083, label %false597, label %true598

false597:                                         ; preds = %true600, %true598, %true596, %false589
  %_rtB_4532 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %1084 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_4532, i32 0, i32 4
  %_rtB__soc_norm4533 = load double* %1084, align 1
  %1085 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_4532, i32 0, i32 160
  %_rtB__Switch_h0 = load double* %1085, align 1
  %1086 = call double @muDoubleScalarMin(double %_rtB__soc_norm4533, double %_rtB__Switch_h0)
  %_rtB_4535 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %1087 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_4535, i32 0, i32 161
  %_rtB__Switch1_nn = load double* %1087, align 1
  %1088 = call double @muDoubleScalarMax(double %1086, double %_rtB__Switch1_nn)
  %_rtP_4536 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %1089 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_4536, i32 0, i32 470, i32 0
  %1090 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_4536, i32 0, i32 469, i32 0
  %_rtDW_4538 = load %DW_REVS_VM_T.16** %_rtDW_, align 1
  %1091 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_4538, i32 0, i32 788
  %1092 = call double @look1_plinlxpw(double %1088, double* %1089, double* %1090, i32* %1091, i32 4)
  store double %1092, double* %rtb_Lookup_j1_, align 1
  %_rtB_4539 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %1093 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_4539, i32 0, i32 9
  %_rtB__batt_curr_A4540 = load double* %1093, align 1
  %_rtP_4541 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %1094 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_4541, i32 0, i32 471
  %_rtP__Switch_Threshold_p = load double* %1094, align 1
  %1095 = fcmp ult double %_rtB__batt_curr_A4540, %_rtP__Switch_Threshold_p
  br i1 %1095, label %false603, label %merge2579

true598:                                          ; preds = %true596
  %"%<tSimStruct>_4529" = load i8** %"%<tSimStruct>_", align 1
  call void @vm_ssCallAccelRunBlock(i8* %"%<tSimStruct>_4529", i32 36, i32 0, i32 104)
  %vm_ssIsMajorTimeStepVar1_4530 = load i32* %vm_ssIsMajorTimeStepVar1_, align 1
  %1096 = icmp eq i32 %vm_ssIsMajorTimeStepVar1_4530, 0
  br i1 %1096, label %false597, label %true600

true600:                                          ; preds = %true598
  %_rtDW_4531 = load %DW_REVS_VM_T.16** %_rtDW_, align 1
  %1097 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_4531, i32 0, i32 863
  call void @vm_srUpdateBC(i8* %1097)
  br label %false597

false603:                                         ; preds = %false597
  %tmp135 = fmul double %_rtB__batt_curr_A4540, %1092
  br label %merge2579

true604:                                          ; preds = %merge2579
  %_rtB_4554 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %1098 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_4554, i32 0, i32 664
  %_rtB__Compare_mq = load i8* %1098, align 1
  %1099 = and i8 %_rtB__Compare_mq, 1
  %1100 = icmp eq i8 %1099, 0
  br i1 %1100, label %false605, label %true606

false605:                                         ; preds = %true608, %true606, %true604, %merge2579
  %_rtX_4558 = load %X_REVS_VM_T.18** %_rtX_, align 1
  %1101 = getelementptr inbounds %X_REVS_VM_T.18* %_rtX_4558, i32 0, i32 16
  %_rtX__Integrator3_CSTATE = load double* %1101, align 1
  %_rtB_4559 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %1102 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_4559, i32 0, i32 164
  store double %_rtX__Integrator3_CSTATE, double* %1102, align 1
  %vm_ssIsSampleHitVar0_4560 = load i32* %vm_ssIsSampleHitVar0_, align 1
  store i32 %vm_ssIsSampleHitVar0_4560, i32* %i_0_, align 1
  %1103 = icmp eq i32 %vm_ssIsSampleHitVar0_4560, 0
  br i1 %1103, label %false611, label %true610

true606:                                          ; preds = %true604
  %"%<tSimStruct>_4555" = load i8** %"%<tSimStruct>_", align 1
  call void @vm_ssCallAccelRunBlock(i8* %"%<tSimStruct>_4555", i32 55, i32 0, i32 104)
  %vm_ssIsMajorTimeStepVar1_4556 = load i32* %vm_ssIsMajorTimeStepVar1_, align 1
  %1104 = icmp eq i32 %vm_ssIsMajorTimeStepVar1_4556, 0
  br i1 %1104, label %false605, label %true608

true608:                                          ; preds = %true606
  %_rtDW_4557 = load %DW_REVS_VM_T.16** %_rtDW_, align 1
  %1105 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_4557, i32 0, i32 864
  call void @vm_srUpdateBC(i8* %1105)
  br label %false605

true610:                                          ; preds = %false605
  %_rtB_4562 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %1106 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_4562, i32 0, i32 665
  %_rtB__Compare_np = load i8* %1106, align 1
  %1107 = and i8 %_rtB__Compare_np, 1
  %1108 = icmp eq i8 %1107, 0
  br i1 %1108, label %false611, label %true612

false611:                                         ; preds = %true614, %true612, %true610, %false605
  %_rtP_4566 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %1109 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_4566, i32 0, i32 480
  %_rtP__Gain4_Gain = load double* %1109, align 1
  %_rtX_4567 = load %X_REVS_VM_T.18** %_rtX_, align 1
  %1110 = getelementptr inbounds %X_REVS_VM_T.18* %_rtX_4567, i32 0, i32 17
  %_rtX__Integrator2_CSTATE = load double* %1110, align 1
  %tmp137 = fmul double %_rtP__Gain4_Gain, %_rtX__Integrator2_CSTATE
  %_rtB_4568 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %1111 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_4568, i32 0, i32 165
  store double %tmp137, double* %1111, align 1
  %vm_ssIsSampleHitVar0_4569 = load i32* %vm_ssIsSampleHitVar0_, align 1
  store i32 %vm_ssIsSampleHitVar0_4569, i32* %i_0_, align 1
  %1112 = icmp eq i32 %vm_ssIsSampleHitVar0_4569, 0
  br i1 %1112, label %false617, label %true616

true612:                                          ; preds = %true610
  %"%<tSimStruct>_4563" = load i8** %"%<tSimStruct>_", align 1
  call void @vm_ssCallAccelRunBlock(i8* %"%<tSimStruct>_4563", i32 56, i32 0, i32 104)
  %vm_ssIsMajorTimeStepVar1_4564 = load i32* %vm_ssIsMajorTimeStepVar1_, align 1
  %1113 = icmp eq i32 %vm_ssIsMajorTimeStepVar1_4564, 0
  br i1 %1113, label %false611, label %true614

true614:                                          ; preds = %true612
  %_rtDW_4565 = load %DW_REVS_VM_T.16** %_rtDW_, align 1
  %1114 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_4565, i32 0, i32 865
  call void @vm_srUpdateBC(i8* %1114)
  br label %false611

true616:                                          ; preds = %false611
  %_rtB_4571 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %1115 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_4571, i32 0, i32 666
  %_rtB__Compare_k = load i8* %1115, align 1
  %1116 = and i8 %_rtB__Compare_k, 1
  %1117 = icmp eq i8 %1116, 0
  br i1 %1117, label %false619, label %true618

false617:                                         ; preds = %true624, %true622, %false619, %false611
  %_rtB_4579 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %1118 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_4579, i32 0, i32 166, i32 0
  %1119 = bitcast double* %1118 to i8*
  %_rtX_4580 = load %X_REVS_VM_T.18** %_rtX_, align 1
  %1120 = getelementptr inbounds %X_REVS_VM_T.18* %_rtX_4580, i32 0, i32 18, i32 0
  %1121 = bitcast double* %1120 to i8*
  %1122 = call i8* @memcpy(i8* %1119, i8* %1121, i32 mul (i32 ptrtoint (double* getelementptr (double* null, i32 1) to i32), i32 10))
  %vm_ssIsSampleHitVar0_4581 = load i32* %vm_ssIsSampleHitVar0_, align 1
  store i32 %vm_ssIsSampleHitVar0_4581, i32* %i_0_, align 1
  %1123 = icmp eq i32 %vm_ssIsSampleHitVar0_4581, 0
  br i1 %1123, label %false627, label %true626

true618:                                          ; preds = %true616
  %"%<tSimStruct>_4572" = load i8** %"%<tSimStruct>_", align 1
  call void @vm_ssCallAccelRunBlock(i8* %"%<tSimStruct>_4572", i32 57, i32 0, i32 104)
  %vm_ssIsMajorTimeStepVar1_4573 = load i32* %vm_ssIsMajorTimeStepVar1_, align 1
  %1124 = icmp eq i32 %vm_ssIsMajorTimeStepVar1_4573, 0
  br i1 %1124, label %false621, label %true620

false619:                                         ; preds = %true616, %false621
  %_rtB_4575 = phi %B_REVS_VM_T.12* [ %_rtB_4571, %true616 ], [ %_rtB_4575.pre, %false621 ]
  %1125 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_4575, i32 0, i32 667
  %_rtB__Compare_a1 = load i8* %1125, align 1
  %1126 = and i8 %_rtB__Compare_a1, 1
  %1127 = icmp eq i8 %1126, 0
  br i1 %1127, label %false617, label %true622

true620:                                          ; preds = %true618
  %_rtDW_4574 = load %DW_REVS_VM_T.16** %_rtDW_, align 1
  %1128 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_4574, i32 0, i32 866
  call void @vm_srUpdateBC(i8* %1128)
  br label %false621

false621:                                         ; preds = %true618, %true620
  %_rtB_4575.pre = load %B_REVS_VM_T.12** %_rtB_, align 1
  br label %false619

true622:                                          ; preds = %false619
  %"%<tSimStruct>_4576" = load i8** %"%<tSimStruct>_", align 1
  call void @vm_ssCallAccelRunBlock(i8* %"%<tSimStruct>_4576", i32 58, i32 0, i32 104)
  %vm_ssIsMajorTimeStepVar1_4577 = load i32* %vm_ssIsMajorTimeStepVar1_, align 1
  %1129 = icmp eq i32 %vm_ssIsMajorTimeStepVar1_4577, 0
  br i1 %1129, label %false617, label %true624

true624:                                          ; preds = %true622
  %_rtDW_4578 = load %DW_REVS_VM_T.16** %_rtDW_, align 1
  %1130 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_4578, i32 0, i32 867
  call void @vm_srUpdateBC(i8* %1130)
  br label %false617

true626:                                          ; preds = %false617
  %"%<tSimStruct>_4583" = load i8** %"%<tSimStruct>_", align 1
  call void @vm_ssCallAccelRunBlock(i8* %"%<tSimStruct>_4583", i32 248, i32 641, i32 104)
  br label %false627

false627:                                         ; preds = %false617, %true626
  %_rtX_4584 = load %X_REVS_VM_T.18** %_rtX_, align 1
  %1131 = getelementptr inbounds %X_REVS_VM_T.18* %_rtX_4584, i32 0, i32 19
  %_rtX__Integrator1_CSTATE_c = load double* %1131, align 1
  %_rtB_4585 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %1132 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_4585, i32 0, i32 167
  store double %_rtX__Integrator1_CSTATE_c, double* %1132, align 1
  %vm_ssIsSampleHitVar0_4586 = load i32* %vm_ssIsSampleHitVar0_, align 1
  store i32 %vm_ssIsSampleHitVar0_4586, i32* %i_0_, align 1
  %1133 = icmp eq i32 %vm_ssIsSampleHitVar0_4586, 0
  br i1 %1133, label %false629, label %true628

true628:                                          ; preds = %false627
  %"%<tSimStruct>_4588" = load i8** %"%<tSimStruct>_", align 1
  call void @vm_ssCallAccelRunBlock(i8* %"%<tSimStruct>_4588", i32 248, i32 643, i32 104)
  br label %false629

false629:                                         ; preds = %false627, %true628
  %_rtB_4589 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %1134 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_4589, i32 0, i32 10
  %_rtB__Switch_o4590 = load double* %1134, align 1
  %1135 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_4589, i32 0, i32 162
  %_rtB__NegativeGain1 = load double* %1135, align 1
  %tmp139 = fmul double %_rtB__Switch_o4590, %_rtB__NegativeGain1
  %_rtP_4592 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %1136 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_4592, i32 0, i32 487
  %_rtP__Gain5_Gain = load double* %1136, align 1
  %tmp140 = fmul double %tmp139, %_rtP__Gain5_Gain
  %1137 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_4589, i32 0, i32 168
  store double %tmp140, double* %1137, align 1
  %_rtX_4594 = load %X_REVS_VM_T.18** %_rtX_, align 1
  %1138 = getelementptr inbounds %X_REVS_VM_T.18* %_rtX_4594, i32 0, i32 20
  %_rtX__Integrator_CSTATE_pw = load double* %1138, align 1
  %_rtB_4595 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %1139 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_4595, i32 0, i32 169
  store double %_rtX__Integrator_CSTATE_pw, double* %1139, align 1
  %_rtB_4596 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %1140 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_4596, i32 0, i32 169
  %_rtB__Integrator_o = load double* %1140, align 1
  %_rtP_4597 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %1141 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_4597, i32 0, i32 490, i32 0
  %_rtDW_4598 = load %DW_REVS_VM_T.16** %_rtDW_, align 1
  %1142 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_4598, i32 0, i32 789
  %1143 = call i32 @plook_u32d_linckpa(double %_rtB__Integrator_o, double* %1141, i32 15, i32* %1142)
  store i32 %1143, i32* %rowIdx_, align 1
  %_rtB_4599 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %1144 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_4599, i32 0, i32 169
  %_rtB__Integrator_o4600 = load double* %1144, align 1
  %1145 = fcmp oge double %_rtB__Integrator_o4600, 0.000000e+00
  %1146 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_4599, i32 0, i32 668
  %_rtB__Constant2_c = load i8* %1146, align 1
  %1147 = and i8 %_rtB__Constant2_c, 1
  %1148 = icmp ne i8 %1147, 0
  %1149 = or i1 %1145, %1148
  %1150 = uitofp i1 %1149 to double
  %_rtP_4602 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %1151 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_4602, i32 0, i32 489, i32 %1143
  %_rtP__drivecyclephase_tableData_el = load double* %1151, align 1
  %tmp141 = fmul double %_rtP__drivecyclephase_tableData_el, %1150
  %1152 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_4599, i32 0, i32 170
  store double %tmp141, double* %1152, align 1
  br label %merge2580

true630:                                          ; preds = %merge2580
  %_rtB_9568 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %1153 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_9568, i32 0, i32 170
  %_rtB__Product_oe = load double* %1153, align 1
  %1154 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_9568, i32 0, i32 171, i32 %i_0_9570
  %_rtB__Constant1_el = load double* %1154, align 1
  %1155 = fcmp oeq double %_rtB__Product_oe, %_rtB__Constant1_el
  %1156 = uitofp i1 %1155 to double
  %1157 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_9568, i32 0, i32 172, i32 %i_0_9570
  store double %1156, double* %1157, align 1
  %_rtB_9573 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %1158 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_9573, i32 0, i32 168
  %_rtB__Gain59574 = load double* %1158, align 1
  %i_0_9576 = load i32* %i_0_, align 1
  %1159 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_9573, i32 0, i32 172, i32 %i_0_9576
  %_rtB__DataTypeConversion_el9577 = load double* %1159, align 1
  %tmp628 = fmul double %_rtB__Gain59574, %_rtB__DataTypeConversion_el9577
  %1160 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_9573, i32 0, i32 173, i32 %i_0_9576
  store double %tmp628, double* %1160, align 1
  %i_0_9580 = load i32* %i_0_, align 1
  %tmp629 = add i32 %i_0_9580, 1
  br label %merge2580

false631:                                         ; preds = %merge2580
  %vm_ssIsSampleHitVar0_4606 = load i32* %vm_ssIsSampleHitVar0_, align 1
  store i32 %vm_ssIsSampleHitVar0_4606, i32* %i_0_, align 1
  %1161 = icmp eq i32 %vm_ssIsSampleHitVar0_4606, 0
  br i1 %1161, label %false633, label %true632

true632:                                          ; preds = %false631
  %_rtB_4608 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %1162 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_4608, i32 0, i32 9
  %_rtB__batt_curr_A4609 = load double* %1162, align 1
  %1163 = fcmp ole double %_rtB__batt_curr_A4609, 0.000000e+00
  %1164 = uitofp i1 %1163 to double
  %1165 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_4608, i32 0, i32 175
  store double %1164, double* %1165, align 1
  %_rtP_4611 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %1166 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_4611, i32 0, i32 495
  %_rtP__Gain1_Gain_h = load double* %1166, align 1
  %_rtB_4612 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %1167 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_4612, i32 0, i32 9
  %_rtB__batt_curr_A4613 = load double* %1167, align 1
  %tmp142 = fmul double %_rtP__Gain1_Gain_h, %_rtB__batt_curr_A4613
  %1168 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_4612, i32 0, i32 176
  store double %tmp142, double* %1168, align 1
  br label %false633

false633:                                         ; preds = %false631, %true632
  %_rtB_4615 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %1169 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_4615, i32 0, i32 174
  %_rtB__Constant2_f = load double* %1169, align 1
  %rtb_Lookup_j1_4616 = load double* %rtb_Lookup_j1_, align 1
  %tmp143 = fsub double %_rtB__Constant2_f, %rtb_Lookup_j1_4616
  %1170 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_4615, i32 0, i32 175
  %_rtB__DataTypeConversion_m = load double* %1170, align 1
  %tmp144 = fmul double %tmp143, %_rtB__DataTypeConversion_m
  %1171 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_4615, i32 0, i32 176
  %_rtB__Gain1 = load double* %1171, align 1
  %tmp145 = fmul double %tmp144, %_rtB__Gain1
  %1172 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_4615, i32 0, i32 10
  %_rtB__Switch_o4620 = load double* %1172, align 1
  %tmp146 = fmul double %tmp145, %_rtB__Switch_o4620
  %1173 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_4615, i32 0, i32 9
  %_rtB__batt_curr_A4622 = load double* %1173, align 1
  %rtb_Subtract1_4623 = load double* %rtb_Subtract1_, align 1
  %tmp147 = fmul double %_rtB__batt_curr_A4622, %rtb_Subtract1_4623
  %tmp148 = fadd double %tmp146, %tmp147
  %1174 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_4615, i32 0, i32 177
  store double %tmp148, double* %1174, align 1
  %vm_ssIsSampleHitVar0_4625 = load i32* %vm_ssIsSampleHitVar0_, align 1
  store i32 %vm_ssIsSampleHitVar0_4625, i32* %i_0_, align 1
  %1175 = icmp eq i32 %vm_ssIsSampleHitVar0_4625, 0
  br i1 %1175, label %false635, label %true634

true634:                                          ; preds = %false633
  %_rtB_4627 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %1176 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_4627, i32 0, i32 669
  %_rtB__RelationalOperator_p = load i8* %1176, align 1
  %1177 = and i8 %_rtB__RelationalOperator_p, 1
  %1178 = icmp eq i8 %1177, 0
  br i1 %1178, label %false635, label %true636

false635:                                         ; preds = %true638, %true636, %true634, %false633
  %_rtB_4631 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %1179 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_4631, i32 0, i32 9
  %_rtB__batt_curr_A4632 = load double* %1179, align 1
  %_rtP_4633 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %1180 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_4633, i32 0, i32 506
  %_rtP__Switch_Threshold_o = load double* %1180, align 1
  %1181 = fcmp ult double %_rtB__batt_curr_A4632, %_rtP__Switch_Threshold_o
  %1182 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_4631, i32 0, i32 4
  %_rtB__soc_norm4635 = load double* %1182, align 1
  br i1 %1181, label %false641, label %true640

true636:                                          ; preds = %true634
  %"%<tSimStruct>_4628" = load i8** %"%<tSimStruct>_", align 1
  call void @vm_ssCallAccelRunBlock(i8* %"%<tSimStruct>_4628", i32 41, i32 0, i32 104)
  %vm_ssIsMajorTimeStepVar1_4629 = load i32* %vm_ssIsMajorTimeStepVar1_, align 1
  %1183 = icmp eq i32 %vm_ssIsMajorTimeStepVar1_4629, 0
  br i1 %1183, label %false635, label %true638

true638:                                          ; preds = %true636
  %_rtDW_4630 = load %DW_REVS_VM_T.16** %_rtDW_, align 1
  %1184 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_4630, i32 0, i32 868
  call void @vm_srUpdateBC(i8* %1184)
  br label %false635

true640:                                          ; preds = %false635
  %1185 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_4631, i32 0, i32 178
  %_rtB__Switch_iy = load double* %1185, align 1
  %1186 = call double @muDoubleScalarMin(double %_rtB__soc_norm4635, double %_rtB__Switch_iy)
  %_rtB_4645 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %1187 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_4645, i32 0, i32 179
  %_rtB__Switch1_l = load double* %1187, align 1
  %1188 = call double @muDoubleScalarMax(double %1186, double %_rtB__Switch1_l)
  %_rtP_4646 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %1189 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_4646, i32 0, i32 26, i32 0
  %1190 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_4646, i32 0, i32 25, i32 0
  %_rtDW_4648 = load %DW_REVS_VM_T.16** %_rtDW_, align 1
  %1191 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_4648, i32 0, i32 835
  %1192 = call double @look1_plinlxpw(double %1188, double* %1189, double* %1190, i32* %1191, i32 8)
  %_rtB_4649 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %1193 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_4649, i32 0, i32 182
  store double %1192, double* %1193, align 1
  br label %merge2581

false641:                                         ; preds = %false635
  %1194 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_4631, i32 0, i32 180
  %_rtB__Switch_cb = load double* %1194, align 1
  %1195 = call double @muDoubleScalarMin(double %_rtB__soc_norm4635, double %_rtB__Switch_cb)
  %_rtB_4637 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %1196 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_4637, i32 0, i32 181
  %_rtB__Switch1_a = load double* %1196, align 1
  %1197 = call double @muDoubleScalarMax(double %1195, double %_rtB__Switch1_a)
  %_rtP_4638 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %1198 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_4638, i32 0, i32 24, i32 0
  %1199 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_4638, i32 0, i32 23, i32 0
  %_rtDW_4640 = load %DW_REVS_VM_T.16** %_rtDW_, align 1
  %1200 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_4640, i32 0, i32 836
  %1201 = call double @look1_plinlxpw(double %1197, double* %1198, double* %1199, i32* %1200, i32 8)
  %_rtB_4641 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %1202 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_4641, i32 0, i32 182
  store double %1201, double* %1202, align 1
  br label %merge2581

true642:                                          ; preds = %merge2581
  %_rtB_4652 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %1203 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_4652, i32 0, i32 670
  %_rtB__RelationalOperator_h = load i8* %1203, align 1
  %1204 = and i8 %_rtB__RelationalOperator_h, 1
  %1205 = icmp eq i8 %1204, 0
  br i1 %1205, label %false643, label %true644

false643:                                         ; preds = %true646, %true644, %true642, %merge2581
  %_rtB_4656 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %1206 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_4656, i32 0, i32 9
  %_rtB__batt_curr_A4657 = load double* %1206, align 1
  %_rtP_4658 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %1207 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_4658, i32 0, i32 517
  %_rtP__Switch_Threshold_m = load double* %1207, align 1
  %1208 = fcmp ult double %_rtB__batt_curr_A4657, %_rtP__Switch_Threshold_m
  %1209 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_4656, i32 0, i32 4
  %_rtB__soc_norm4660 = load double* %1209, align 1
  br i1 %1208, label %false649, label %true648

true644:                                          ; preds = %true642
  %"%<tSimStruct>_4653" = load i8** %"%<tSimStruct>_", align 1
  call void @vm_ssCallAccelRunBlock(i8* %"%<tSimStruct>_4653", i32 42, i32 0, i32 104)
  %vm_ssIsMajorTimeStepVar1_4654 = load i32* %vm_ssIsMajorTimeStepVar1_, align 1
  %1210 = icmp eq i32 %vm_ssIsMajorTimeStepVar1_4654, 0
  br i1 %1210, label %false643, label %true646

true646:                                          ; preds = %true644
  %_rtDW_4655 = load %DW_REVS_VM_T.16** %_rtDW_, align 1
  %1211 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_4655, i32 0, i32 869
  call void @vm_srUpdateBC(i8* %1211)
  br label %false643

true648:                                          ; preds = %false643
  %1212 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_4656, i32 0, i32 183
  %_rtB__Switch_f = load double* %1212, align 1
  %1213 = call double @muDoubleScalarMin(double %_rtB__soc_norm4660, double %_rtB__Switch_f)
  %_rtB_4670 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %1214 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_4670, i32 0, i32 184
  %_rtB__Switch1_h = load double* %1214, align 1
  %1215 = call double @muDoubleScalarMax(double %1213, double %_rtB__Switch1_h)
  %_rtP_4671 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %1216 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_4671, i32 0, i32 22, i32 0
  %1217 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_4671, i32 0, i32 21, i32 0
  %_rtDW_4673 = load %DW_REVS_VM_T.16** %_rtDW_, align 1
  %1218 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_4673, i32 0, i32 837
  %1219 = call double @look1_plinlxpw(double %1215, double* %1216, double* %1217, i32* %1218, i32 8)
  %_rtB_4674 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %1220 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_4674, i32 0, i32 187
  store double %1219, double* %1220, align 1
  br label %merge2582

false649:                                         ; preds = %false643
  %1221 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_4656, i32 0, i32 185
  %_rtB__Switch_j = load double* %1221, align 1
  %1222 = call double @muDoubleScalarMin(double %_rtB__soc_norm4660, double %_rtB__Switch_j)
  %_rtB_4662 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %1223 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_4662, i32 0, i32 186
  %_rtB__Switch1_ar = load double* %1223, align 1
  %1224 = call double @muDoubleScalarMax(double %1222, double %_rtB__Switch1_ar)
  %_rtP_4663 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %1225 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_4663, i32 0, i32 20, i32 0
  %1226 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_4663, i32 0, i32 19, i32 0
  %_rtDW_4665 = load %DW_REVS_VM_T.16** %_rtDW_, align 1
  %1227 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_4665, i32 0, i32 838
  %1228 = call double @look1_plinlxpw(double %1224, double* %1225, double* %1226, i32* %1227, i32 8)
  %_rtB_4666 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %1229 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_4666, i32 0, i32 187
  store double %1228, double* %1229, align 1
  br label %merge2582

true650:                                          ; preds = %merge2582
  %_rtB_4677 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %1230 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_4677, i32 0, i32 671
  %_rtB__RelationalOperator_b = load i8* %1230, align 1
  %1231 = and i8 %_rtB__RelationalOperator_b, 1
  %1232 = icmp eq i8 %1231, 0
  br i1 %1232, label %false651, label %true652

false651:                                         ; preds = %true654, %true652, %true650, %merge2582
  %_rtB_4681 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %1233 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_4681, i32 0, i32 9
  %_rtB__batt_curr_A4682 = load double* %1233, align 1
  %rtb_Integrator_i_4683 = load double* %rtb_Integrator_i_, align 1
  %1234 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_4681, i32 0, i32 182
  %_rtB__Switch_lc = load double* %1234, align 1
  %tmp149 = fdiv double %rtb_Integrator_i_4683, %_rtB__Switch_lc
  %tmp150 = fsub double %_rtB__batt_curr_A4682, %tmp149
  %1235 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_4681, i32 0, i32 187
  %_rtB__Switch_mg = load double* %1235, align 1
  %tmp151 = fdiv double %tmp150, %_rtB__Switch_mg
  %1236 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_4681, i32 0, i32 188
  store double %tmp151, double* %1236, align 1
  %vm_ssIsSampleHitVar0_4687 = load i32* %vm_ssIsSampleHitVar0_, align 1
  store i32 %vm_ssIsSampleHitVar0_4687, i32* %i_0_, align 1
  %1237 = icmp eq i32 %vm_ssIsSampleHitVar0_4687, 0
  br i1 %1237, label %false657, label %true656

true652:                                          ; preds = %true650
  %"%<tSimStruct>_4678" = load i8** %"%<tSimStruct>_", align 1
  call void @vm_ssCallAccelRunBlock(i8* %"%<tSimStruct>_4678", i32 43, i32 0, i32 104)
  %vm_ssIsMajorTimeStepVar1_4679 = load i32* %vm_ssIsMajorTimeStepVar1_, align 1
  %1238 = icmp eq i32 %vm_ssIsMajorTimeStepVar1_4679, 0
  br i1 %1238, label %false651, label %true654

true654:                                          ; preds = %true652
  %_rtDW_4680 = load %DW_REVS_VM_T.16** %_rtDW_, align 1
  %1239 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_4680, i32 0, i32 870
  call void @vm_srUpdateBC(i8* %1239)
  br label %false651

true656:                                          ; preds = %false651
  %_rtB_4689 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %1240 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_4689, i32 0, i32 672
  %_rtB__RelationalOperator_e = load i8* %1240, align 1
  %1241 = and i8 %_rtB__RelationalOperator_e, 1
  %1242 = icmp eq i8 %1241, 0
  br i1 %1242, label %false657, label %true658

false657:                                         ; preds = %true660, %true658, %true656, %false651
  %_rtB_4693 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %1243 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_4693, i32 0, i32 9
  %_rtB__batt_curr_A4694 = load double* %1243, align 1
  %_rtP_4695 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %1244 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_4695, i32 0, i32 530
  %_rtP__Switch_Threshold_n = load double* %1244, align 1
  %1245 = fcmp ult double %_rtB__batt_curr_A4694, %_rtP__Switch_Threshold_n
  %1246 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_4693, i32 0, i32 4
  %_rtB__soc_norm4697 = load double* %1246, align 1
  br i1 %1245, label %false663, label %true662

true658:                                          ; preds = %true656
  %"%<tSimStruct>_4690" = load i8** %"%<tSimStruct>_", align 1
  call void @vm_ssCallAccelRunBlock(i8* %"%<tSimStruct>_4690", i32 48, i32 0, i32 104)
  %vm_ssIsMajorTimeStepVar1_4691 = load i32* %vm_ssIsMajorTimeStepVar1_, align 1
  %1247 = icmp eq i32 %vm_ssIsMajorTimeStepVar1_4691, 0
  br i1 %1247, label %false657, label %true660

true660:                                          ; preds = %true658
  %_rtDW_4692 = load %DW_REVS_VM_T.16** %_rtDW_, align 1
  %1248 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_4692, i32 0, i32 871
  call void @vm_srUpdateBC(i8* %1248)
  br label %false657

true662:                                          ; preds = %false657
  %1249 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_4693, i32 0, i32 189
  %_rtB__Switch_ou = load double* %1249, align 1
  %1250 = call double @muDoubleScalarMin(double %_rtB__soc_norm4697, double %_rtB__Switch_ou)
  %_rtB_4707 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %1251 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_4707, i32 0, i32 190
  %_rtB__Switch1_h3 = load double* %1251, align 1
  %1252 = call double @muDoubleScalarMax(double %1250, double %_rtB__Switch1_h3)
  %_rtP_4708 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %1253 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_4708, i32 0, i32 34, i32 0
  %1254 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_4708, i32 0, i32 33, i32 0
  %_rtDW_4710 = load %DW_REVS_VM_T.16** %_rtDW_, align 1
  %1255 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_4710, i32 0, i32 831
  %1256 = call double @look1_plinlxpw(double %1252, double* %1253, double* %1254, i32* %1255, i32 8)
  %_rtB_4711 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %1257 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_4711, i32 0, i32 193
  store double %1256, double* %1257, align 1
  br label %merge2583

false663:                                         ; preds = %false657
  %1258 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_4693, i32 0, i32 191
  %_rtB__Switch_oj = load double* %1258, align 1
  %1259 = call double @muDoubleScalarMin(double %_rtB__soc_norm4697, double %_rtB__Switch_oj)
  %_rtB_4699 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %1260 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_4699, i32 0, i32 192
  %_rtB__Switch1_ih = load double* %1260, align 1
  %1261 = call double @muDoubleScalarMax(double %1259, double %_rtB__Switch1_ih)
  %_rtP_4700 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %1262 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_4700, i32 0, i32 32, i32 0
  %1263 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_4700, i32 0, i32 31, i32 0
  %_rtDW_4702 = load %DW_REVS_VM_T.16** %_rtDW_, align 1
  %1264 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_4702, i32 0, i32 832
  %1265 = call double @look1_plinlxpw(double %1261, double* %1262, double* %1263, i32* %1264, i32 8)
  %_rtB_4703 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %1266 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_4703, i32 0, i32 193
  store double %1265, double* %1266, align 1
  br label %merge2583

true664:                                          ; preds = %merge2583
  %_rtB_4714 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %1267 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_4714, i32 0, i32 673
  %_rtB__RelationalOperator_b0 = load i8* %1267, align 1
  %1268 = and i8 %_rtB__RelationalOperator_b0, 1
  %1269 = icmp eq i8 %1268, 0
  br i1 %1269, label %false665, label %true666

false665:                                         ; preds = %true668, %true666, %true664, %merge2583
  %_rtB_4718 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %1270 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_4718, i32 0, i32 9
  %_rtB__batt_curr_A4719 = load double* %1270, align 1
  %_rtP_4720 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %1271 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_4720, i32 0, i32 541
  %_rtP__Switch_Threshold_cv = load double* %1271, align 1
  %1272 = fcmp ult double %_rtB__batt_curr_A4719, %_rtP__Switch_Threshold_cv
  %1273 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_4718, i32 0, i32 4
  %_rtB__soc_norm4722 = load double* %1273, align 1
  br i1 %1272, label %false671, label %true670

true666:                                          ; preds = %true664
  %"%<tSimStruct>_4715" = load i8** %"%<tSimStruct>_", align 1
  call void @vm_ssCallAccelRunBlock(i8* %"%<tSimStruct>_4715", i32 49, i32 0, i32 104)
  %vm_ssIsMajorTimeStepVar1_4716 = load i32* %vm_ssIsMajorTimeStepVar1_, align 1
  %1274 = icmp eq i32 %vm_ssIsMajorTimeStepVar1_4716, 0
  br i1 %1274, label %false665, label %true668

true668:                                          ; preds = %true666
  %_rtDW_4717 = load %DW_REVS_VM_T.16** %_rtDW_, align 1
  %1275 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_4717, i32 0, i32 872
  call void @vm_srUpdateBC(i8* %1275)
  br label %false665

true670:                                          ; preds = %false665
  %1276 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_4718, i32 0, i32 194
  %_rtB__Switch_nq = load double* %1276, align 1
  %1277 = call double @muDoubleScalarMin(double %_rtB__soc_norm4722, double %_rtB__Switch_nq)
  %_rtB_4732 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %1278 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_4732, i32 0, i32 195
  %_rtB__Switch1_ew = load double* %1278, align 1
  %1279 = call double @muDoubleScalarMax(double %1277, double %_rtB__Switch1_ew)
  %_rtP_4733 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %1280 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_4733, i32 0, i32 30, i32 0
  %1281 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_4733, i32 0, i32 29, i32 0
  %_rtDW_4735 = load %DW_REVS_VM_T.16** %_rtDW_, align 1
  %1282 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_4735, i32 0, i32 833
  %1283 = call double @look1_plinlxpw(double %1279, double* %1280, double* %1281, i32* %1282, i32 8)
  %_rtB_4736 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %1284 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_4736, i32 0, i32 198
  store double %1283, double* %1284, align 1
  br label %merge2584

false671:                                         ; preds = %false665
  %1285 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_4718, i32 0, i32 196
  %_rtB__Switch_aa = load double* %1285, align 1
  %1286 = call double @muDoubleScalarMin(double %_rtB__soc_norm4722, double %_rtB__Switch_aa)
  %_rtB_4724 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %1287 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_4724, i32 0, i32 197
  %_rtB__Switch1_c = load double* %1287, align 1
  %1288 = call double @muDoubleScalarMax(double %1286, double %_rtB__Switch1_c)
  %_rtP_4725 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %1289 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_4725, i32 0, i32 28, i32 0
  %1290 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_4725, i32 0, i32 27, i32 0
  %_rtDW_4727 = load %DW_REVS_VM_T.16** %_rtDW_, align 1
  %1291 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_4727, i32 0, i32 834
  %1292 = call double @look1_plinlxpw(double %1288, double* %1289, double* %1290, i32* %1291, i32 8)
  %_rtB_4728 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %1293 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_4728, i32 0, i32 198
  store double %1292, double* %1293, align 1
  br label %merge2584

true672:                                          ; preds = %merge2584
  %_rtB_4739 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %1294 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_4739, i32 0, i32 674
  %_rtB__RelationalOperator_by = load i8* %1294, align 1
  %1295 = and i8 %_rtB__RelationalOperator_by, 1
  %1296 = icmp eq i8 %1295, 0
  br i1 %1296, label %false673, label %true674

false673:                                         ; preds = %true676, %true674, %true672, %merge2584
  %_rtB_4743 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %1297 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_4743, i32 0, i32 9
  %_rtB__batt_curr_A4744 = load double* %1297, align 1
  %1298 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_4743, i32 0, i32 11
  %_rtB__Integrator4746 = load double* %1298, align 1
  %1299 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_4743, i32 0, i32 193
  %_rtB__Switch_bu = load double* %1299, align 1
  %tmp152 = fdiv double %_rtB__Integrator4746, %_rtB__Switch_bu
  %tmp153 = fsub double %_rtB__batt_curr_A4744, %tmp152
  %1300 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_4743, i32 0, i32 198
  %_rtB__Switch_im = load double* %1300, align 1
  %tmp154 = fdiv double %tmp153, %_rtB__Switch_im
  %1301 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_4743, i32 0, i32 199
  store double %tmp154, double* %1301, align 1
  %vm_ssIsSampleHitVar0_4750 = load i32* %vm_ssIsSampleHitVar0_, align 1
  store i32 %vm_ssIsSampleHitVar0_4750, i32* %i_0_, align 1
  %1302 = icmp eq i32 %vm_ssIsSampleHitVar0_4750, 0
  br i1 %1302, label %false679, label %true678

true674:                                          ; preds = %true672
  %"%<tSimStruct>_4740" = load i8** %"%<tSimStruct>_", align 1
  call void @vm_ssCallAccelRunBlock(i8* %"%<tSimStruct>_4740", i32 50, i32 0, i32 104)
  %vm_ssIsMajorTimeStepVar1_4741 = load i32* %vm_ssIsMajorTimeStepVar1_, align 1
  %1303 = icmp eq i32 %vm_ssIsMajorTimeStepVar1_4741, 0
  br i1 %1303, label %false673, label %true676

true676:                                          ; preds = %true674
  %_rtDW_4742 = load %DW_REVS_VM_T.16** %_rtDW_, align 1
  %1304 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_4742, i32 0, i32 873
  call void @vm_srUpdateBC(i8* %1304)
  br label %false673

true678:                                          ; preds = %false673
  %_rtB_4752 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %1305 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_4752, i32 0, i32 675
  %_rtB__RelationalOperator_g = load i8* %1305, align 1
  %1306 = and i8 %_rtB__RelationalOperator_g, 1
  %1307 = icmp eq i8 %1306, 0
  br i1 %1307, label %false681, label %true680

false679:                                         ; preds = %true686, %true684, %false681, %false673
  %_rtB_4760 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %1308 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_4760, i32 0, i32 168
  %_rtB__Gain5 = load double* %1308, align 1
  %_rtP_4761 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %1309 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_4761, i32 0, i32 548
  %_rtP__negative_UpperSat = load double* %1309, align 1
  %1310 = fcmp ogt double %_rtB__Gain5, %_rtP__negative_UpperSat
  br i1 %1310, label %true688, label %false689

true680:                                          ; preds = %true678
  %"%<tSimStruct>_4753" = load i8** %"%<tSimStruct>_", align 1
  call void @vm_ssCallAccelRunBlock(i8* %"%<tSimStruct>_4753", i32 53, i32 0, i32 104)
  %vm_ssIsMajorTimeStepVar1_4754 = load i32* %vm_ssIsMajorTimeStepVar1_, align 1
  %1311 = icmp eq i32 %vm_ssIsMajorTimeStepVar1_4754, 0
  br i1 %1311, label %false683, label %true682

false681:                                         ; preds = %true678, %false683
  %_rtB_4756 = phi %B_REVS_VM_T.12* [ %_rtB_4752, %true678 ], [ %_rtB_4756.pre, %false683 ]
  %1312 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_4756, i32 0, i32 676
  %_rtB__RelationalOperator_ol = load i8* %1312, align 1
  %1313 = and i8 %_rtB__RelationalOperator_ol, 1
  %1314 = icmp eq i8 %1313, 0
  br i1 %1314, label %false679, label %true684

true682:                                          ; preds = %true680
  %_rtDW_4755 = load %DW_REVS_VM_T.16** %_rtDW_, align 1
  %1315 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_4755, i32 0, i32 874
  call void @vm_srUpdateBC(i8* %1315)
  br label %false683

false683:                                         ; preds = %true680, %true682
  %_rtB_4756.pre = load %B_REVS_VM_T.12** %_rtB_, align 1
  br label %false681

true684:                                          ; preds = %false681
  %"%<tSimStruct>_4757" = load i8** %"%<tSimStruct>_", align 1
  call void @vm_ssCallAccelRunBlock(i8* %"%<tSimStruct>_4757", i32 54, i32 0, i32 104)
  %vm_ssIsMajorTimeStepVar1_4758 = load i32* %vm_ssIsMajorTimeStepVar1_, align 1
  %1316 = icmp eq i32 %vm_ssIsMajorTimeStepVar1_4758, 0
  br i1 %1316, label %false679, label %true686

true686:                                          ; preds = %true684
  %_rtDW_4759 = load %DW_REVS_VM_T.16** %_rtDW_, align 1
  %1317 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_4759, i32 0, i32 875
  call void @vm_srUpdateBC(i8* %1317)
  br label %false679

true688:                                          ; preds = %false679
  %1318 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_4760, i32 0, i32 200
  store double %_rtP__negative_UpperSat, double* %1318, align 1
  br label %merge2586

false689:                                         ; preds = %false679
  %1319 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_4761, i32 0, i32 549
  %_rtP__negative_LowerSat = load double* %1319, align 1
  %1320 = fcmp olt double %_rtB__Gain5, %_rtP__negative_LowerSat
  %1321 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_4760, i32 0, i32 200
  br i1 %1320, label %true690, label %false691

true690:                                          ; preds = %false689
  store double %_rtP__negative_LowerSat, double* %1321, align 1
  br label %merge2586

false691:                                         ; preds = %false689
  store double %_rtB__Gain5, double* %1321, align 1
  br label %merge2586

true692:                                          ; preds = %merge2586
  %_rtB_4776 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %1322 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_4776, i32 0, i32 677
  %_rtB__RelationalOperator_io = load i8* %1322, align 1
  %1323 = and i8 %_rtB__RelationalOperator_io, 1
  %1324 = icmp eq i8 %1323, 0
  br i1 %1324, label %false693, label %true694

false693:                                         ; preds = %true696, %true694, %true692, %merge2586
  %_rtDW_4780 = load %DW_REVS_VM_T.16** %_rtDW_, align 1
  %1325 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_4780, i32 0, i32 842
  %_rtDW__Integrator1_IWORK = load i32* %1325, align 1
  %1326 = icmp eq i32 %_rtDW__Integrator1_IWORK, 0
  br i1 %1326, label %false699, label %true698

true694:                                          ; preds = %true692
  %"%<tSimStruct>_4777" = load i8** %"%<tSimStruct>_", align 1
  call void @vm_ssCallAccelRunBlock(i8* %"%<tSimStruct>_4777", i32 61, i32 0, i32 104)
  %vm_ssIsMajorTimeStepVar1_4778 = load i32* %vm_ssIsMajorTimeStepVar1_, align 1
  %1327 = icmp eq i32 %vm_ssIsMajorTimeStepVar1_4778, 0
  br i1 %1327, label %false693, label %true696

true696:                                          ; preds = %true694
  %_rtDW_4779 = load %DW_REVS_VM_T.16** %_rtDW_, align 1
  %1328 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_4779, i32 0, i32 876
  call void @vm_srUpdateBC(i8* %1328)
  br label %false693

true698:                                          ; preds = %false693
  %_rtB_4781 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %1329 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_4781, i32 0, i32 201
  %_rtB__Constant2_a = load double* %1329, align 1
  %_rtX_4782 = load %X_REVS_VM_T.18** %_rtX_, align 1
  %1330 = getelementptr inbounds %X_REVS_VM_T.18* %_rtX_4782, i32 0, i32 21
  store double %_rtB__Constant2_a, double* %1330, align 1
  br label %false699

false699:                                         ; preds = %false693, %true698
  %vm_ssIsSampleHitVar0_4783 = load i32* %vm_ssIsSampleHitVar0_, align 1
  store i32 %vm_ssIsSampleHitVar0_4783, i32* %i_0_, align 1
  %1331 = icmp eq i32 %vm_ssIsSampleHitVar0_4783, 0
  br i1 %1331, label %false701, label %true700

true700:                                          ; preds = %false699
  %_rtDW_4785 = load %DW_REVS_VM_T.16** %_rtDW_, align 1
  %1332 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_4785, i32 0, i32 35
  %_rtDW__Memory_57_PreviousInput = load double* %1332, align 1
  %_rtB_4786 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %1333 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_4786, i32 0, i32 203
  store double %_rtDW__Memory_57_PreviousInput, double* %1333, align 1
  br label %false701

false701:                                         ; preds = %false699, %true700
  %_rtP_4787 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %1334 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_4787, i32 0, i32 557
  %_rtP__lowpassfilter_C = load double* %1334, align 1
  %_rtX_4788 = load %X_REVS_VM_T.18** %_rtX_, align 1
  %1335 = getelementptr inbounds %X_REVS_VM_T.18* %_rtX_4788, i32 0, i32 22
  %_rtX__lowpassfilter_CSTATE = load double* %1335, align 1
  %tmp155 = fmul double %_rtP__lowpassfilter_C, %_rtX__lowpassfilter_CSTATE
  %1336 = getelementptr inbounds %X_REVS_VM_T.18* %_rtX_4788, i32 0, i32 21
  %_rtX__Integrator1_CSTATE_pt = load double* %1336, align 1
  %_rtB_4790 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %1337 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_4790, i32 0, i32 203
  %_rtB__temp_degC = load double* %1337, align 1
  %tmp156 = fsub double %_rtX__Integrator1_CSTATE_pt, %_rtB__temp_degC
  %1338 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_4790, i32 0, i32 202
  %_rtB__Constant8 = load double* %1338, align 1
  %tmp157 = fmul double %tmp156, %_rtB__Constant8
  %tmp158 = fsub double %tmp155, %tmp157
  %1339 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_4790, i32 0, i32 204
  %_rtB__Saturation_b = load double* %1339, align 1
  %tmp159 = fdiv double %tmp158, %_rtB__Saturation_b
  %1340 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_4790, i32 0, i32 205
  store double %tmp159, double* %1340, align 1
  %vm_ssIsSampleHitVar0_4794 = load i32* %vm_ssIsSampleHitVar0_, align 1
  store i32 %vm_ssIsSampleHitVar0_4794, i32* %i_0_, align 1
  %1341 = icmp eq i32 %vm_ssIsSampleHitVar0_4794, 0
  %vm_ssIsMajorTimeStepVar1_4796 = load i32* %vm_ssIsMajorTimeStepVar1_, align 1
  %1342 = icmp eq i32 %vm_ssIsMajorTimeStepVar1_4796, 0
  %or.cond10129 = or i1 %1341, %1342
  br i1 %or.cond10129, label %false703, label %true704

false703:                                         ; preds = %false707, %false713, %false717, %true706, %false701
  %_rtDW_4811 = load %DW_REVS_VM_T.16** %_rtDW_, align 1
  %1343 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_4811, i32 0, i32 1045
  %_rtDW__Subsystem_MODE_bw4812 = load i8* %1343, align 1
  %1344 = and i8 %_rtDW__Subsystem_MODE_bw4812, 1
  %1345 = icmp eq i8 %1344, 0
  br i1 %1345, label %false719, label %true718

true704:                                          ; preds = %false701
  %_rtB_4797 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %1346 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_4797, i32 0, i32 678
  %_rtB__Compare_c = load i8* %1346, align 1
  %1347 = and i8 %_rtB__Compare_c, 1
  %1348 = icmp eq i8 %1347, 0
  %_rtDW_4798 = load %DW_REVS_VM_T.16** %_rtDW_, align 1
  %1349 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_4798, i32 0, i32 1045
  %_rtDW__Subsystem_MODE_bw = load i8* %1349, align 1
  %1350 = and i8 %_rtDW__Subsystem_MODE_bw, 1
  %1351 = icmp eq i8 %1350, 0
  br i1 %1348, label %false707, label %true706

true706:                                          ; preds = %true704
  br i1 %1351, label %true714, label %false703

false707:                                         ; preds = %true704
  br i1 %1351, label %false703, label %true708

true708:                                          ; preds = %false707
  %"%<tSimStruct>_4799" = load i8** %"%<tSimStruct>_", align 1
  call void @vm_ssSetSolverNeedsReset(i8* %"%<tSimStruct>_4799")
  %_rtDW_4800 = load %DW_REVS_VM_T.16** %_rtDW_, align 1
  %1352 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_4800, i32 0, i32 1071
  %_rtDW__Subsystem_MODE_l1 = load i8* %1352, align 1
  %1353 = and i8 %_rtDW__Subsystem_MODE_l1, 1
  %1354 = icmp eq i8 %1353, 0
  br i1 %1354, label %false711, label %true710

true710:                                          ; preds = %true708
  store i8 0, i8* %1352, align 1
  %_rtDW_4802.pre = load %DW_REVS_VM_T.16** %_rtDW_, align 1
  br label %false711

false711:                                         ; preds = %true708, %true710
  %_rtDW_4803 = phi %DW_REVS_VM_T.16* [ %_rtDW_4800, %true708 ], [ %_rtDW_4802.pre, %true710 ]
  %1355 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_4803, i32 0, i32 1072
  %_rtDW__Subsystem_MODE_ih = load i8* %1355, align 1
  %1356 = and i8 %_rtDW__Subsystem_MODE_ih, 1
  %1357 = icmp eq i8 %1356, 0
  br i1 %1357, label %false713, label %true712

true712:                                          ; preds = %false711
  store i8 0, i8* %1355, align 1
  %_rtDW_4804.pre = load %DW_REVS_VM_T.16** %_rtDW_, align 1
  br label %false713

false713:                                         ; preds = %false711, %true712
  %_rtDW_4804 = phi %DW_REVS_VM_T.16* [ %_rtDW_4803, %false711 ], [ %_rtDW_4804.pre, %true712 ]
  %1358 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_4804, i32 0, i32 1045
  store i8 0, i8* %1358, align 1
  br label %false703

true714:                                          ; preds = %true706
  %vm_ssGetTaskTimeVar2_4807 = load double* %vm_ssGetTaskTimeVar2_, align 1
  %vm_ssGetTStartVar3_4808 = load double* %vm_ssGetTStartVar3_, align 1
  %1359 = fcmp une double %vm_ssGetTaskTimeVar2_4807, %vm_ssGetTStartVar3_4808
  br i1 %1359, label %true716, label %false717

true716:                                          ; preds = %true714
  %"%<tSimStruct>_4809" = load i8** %"%<tSimStruct>_", align 1
  call void @vm_ssSetSolverNeedsReset(i8* %"%<tSimStruct>_4809")
  %_rtDW_4810.pre = load %DW_REVS_VM_T.16** %_rtDW_, align 1
  br label %false717

false717:                                         ; preds = %true716, %true714
  %_rtDW_4810 = phi %DW_REVS_VM_T.16* [ %_rtDW_4810.pre, %true716 ], [ %_rtDW_4798, %true714 ]
  %1360 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_4810, i32 0, i32 1045
  store i8 1, i8* %1360, align 1
  br label %false703

true718:                                          ; preds = %false703
  %vm_ssIsSampleHitVar0_4813 = load i32* %vm_ssIsSampleHitVar0_, align 1
  store i32 %vm_ssIsSampleHitVar0_4813, i32* %i_0_, align 1
  %1361 = icmp eq i32 %vm_ssIsSampleHitVar0_4813, 0
  %vm_ssIsMajorTimeStepVar1_4815 = load i32* %vm_ssIsMajorTimeStepVar1_, align 1
  %1362 = icmp eq i32 %vm_ssIsMajorTimeStepVar1_4815, 0
  %or.cond10131 = or i1 %1361, %1362
  br i1 %or.cond10131, label %false721, label %true722

false719:                                         ; preds = %true770, %false769, %false703
  %vm_ssIsSampleHitVar0_4922 = load i32* %vm_ssIsSampleHitVar0_, align 1
  store i32 %vm_ssIsSampleHitVar0_4922, i32* %i_0_, align 1
  %1363 = icmp eq i32 %vm_ssIsSampleHitVar0_4922, 0
  br i1 %1363, label %false773, label %true772

false721:                                         ; preds = %merge2588, %true718
  %_rtDW_4827 = phi %DW_REVS_VM_T.16* [ %_rtDW_4811, %true718 ], [ %_rtDW_4827.pre.pre, %merge2588 ]
  %1364 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_4827, i32 0, i32 1071
  %_rtDW__Subsystem_MODE_l14828 = load i8* %1364, align 1
  %1365 = and i8 %_rtDW__Subsystem_MODE_l14828, 1
  %1366 = icmp eq i8 %1365, 0
  br i1 %1366, label %false733, label %true732

true722:                                          ; preds = %true718
  %_rtB_4816 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %1367 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_4816, i32 0, i32 858
  %_rtB__Compare_mu = load i8* %1367, align 1
  %1368 = and i8 %_rtB__Compare_mu, 1
  %1369 = icmp eq i8 %1368, 0
  %1370 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_4811, i32 0, i32 1071
  %_rtDW__Subsystem_MODE_l14818 = load i8* %1370, align 1
  %1371 = and i8 %_rtDW__Subsystem_MODE_l14818, 1
  %1372 = icmp eq i8 %1371, 0
  br i1 %1369, label %false725, label %true724

true724:                                          ; preds = %true722
  br i1 %1372, label %true728, label %merge2588

false725:                                         ; preds = %true722
  br i1 %1372, label %merge2588, label %true726

true726:                                          ; preds = %false725
  %"%<tSimStruct>_4819" = load i8** %"%<tSimStruct>_", align 1
  call void @vm_ssSetSolverNeedsReset(i8* %"%<tSimStruct>_4819")
  %_rtDW_4820 = load %DW_REVS_VM_T.16** %_rtDW_, align 1
  %1373 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_4820, i32 0, i32 1071
  store i8 0, i8* %1373, align 1
  br label %merge2588

true728:                                          ; preds = %true724
  %vm_ssGetTaskTimeVar2_4823 = load double* %vm_ssGetTaskTimeVar2_, align 1
  %vm_ssGetTStartVar3_4824 = load double* %vm_ssGetTStartVar3_, align 1
  %1374 = fcmp une double %vm_ssGetTaskTimeVar2_4823, %vm_ssGetTStartVar3_4824
  br i1 %1374, label %true730, label %false731

true730:                                          ; preds = %true728
  %"%<tSimStruct>_4825" = load i8** %"%<tSimStruct>_", align 1
  call void @vm_ssSetSolverNeedsReset(i8* %"%<tSimStruct>_4825")
  %_rtDW_4826.pre = load %DW_REVS_VM_T.16** %_rtDW_, align 1
  br label %false731

false731:                                         ; preds = %true730, %true728
  %_rtDW_4826 = phi %DW_REVS_VM_T.16* [ %_rtDW_4826.pre, %true730 ], [ %_rtDW_4811, %true728 ]
  %1375 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_4826, i32 0, i32 1071
  store i8 1, i8* %1375, align 1
  br label %merge2588

true732:                                          ; preds = %false721
  %vm_ssIsSampleHitVar0_4829 = load i32* %vm_ssIsSampleHitVar0_, align 1
  store i32 %vm_ssIsSampleHitVar0_4829, i32* %i_0_, align 1
  %1376 = icmp eq i32 %vm_ssIsSampleHitVar0_4829, 0
  br i1 %1376, label %false735, label %true734

false733:                                         ; preds = %true738, %false737, %false721
  %vm_ssIsSampleHitVar0_4849 = load i32* %vm_ssIsSampleHitVar0_, align 1
  store i32 %vm_ssIsSampleHitVar0_4849, i32* %i_0_, align 1
  %1377 = icmp eq i32 %vm_ssIsSampleHitVar0_4849, 0
  %vm_ssIsMajorTimeStepVar1_4851 = load i32* %vm_ssIsMajorTimeStepVar1_, align 1
  %1378 = icmp eq i32 %vm_ssIsMajorTimeStepVar1_4851, 0
  %or.cond10133 = or i1 %1377, %1378
  br i1 %or.cond10133, label %false741, label %true742

true734:                                          ; preds = %true732
  %"%<tSimStruct>_4831" = load i8** %"%<tSimStruct>_", align 1
  call void @vm_ssCallAccelRunBlock(i8* %"%<tSimStruct>_4831", i32 63, i32 0, i32 104)
  br label %false735

false735:                                         ; preds = %true732, %true734
  %"%<tSimStruct>_4832" = load i8** %"%<tSimStruct>_", align 1
  %_rtB_4833 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %1379 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_4833, i32 0, i32 19
  %_rtB__Gain34834 = load double* %1379, align 1
  %1380 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_4833, i32 0, i32 127
  %_rtB__Divide14836 = load double* %1380, align 1
  %1381 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_4833, i32 0, i32 885
  %_rtP_4838 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %1382 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_4838, i32 0, i32 1569
  %_rtX_4839 = load %X_REVS_VM_T.18** %_rtX_, align 1
  %1383 = getelementptr inbounds %X_REVS_VM_T.18* %_rtX_4839, i32 0, i32 100
  call void @REVS_VM_ElecEnergyVA(i8* %"%<tSimStruct>_4832", double %_rtB__Gain34834, double %_rtB__Divide14836, %B_ElecEnergyVA_REVS_VM_T.0* %1381, %P_ElecEnergyVA_REVS_VM_T.2* %1382, %X_ElecEnergyVA_REVS_VM_T.3* %1383)
  %vm_ssIsSampleHitVar0_4840 = load i32* %vm_ssIsSampleHitVar0_, align 1
  store i32 %vm_ssIsSampleHitVar0_4840, i32* %i_0_, align 1
  %1384 = icmp eq i32 %vm_ssIsSampleHitVar0_4840, 0
  br i1 %1384, label %false737, label %true736

true736:                                          ; preds = %false735
  %"%<tSimStruct>_4842" = load i8** %"%<tSimStruct>_", align 1
  call void @vm_ssCallAccelRunBlock(i8* %"%<tSimStruct>_4842", i32 63, i32 2, i32 104)
  %"%<tSimStruct>_4843" = load i8** %"%<tSimStruct>_", align 1
  call void @vm_ssCallAccelRunBlock(i8* %"%<tSimStruct>_4843", i32 63, i32 3, i32 104)
  %"%<tSimStruct>_4844" = load i8** %"%<tSimStruct>_", align 1
  call void @vm_ssCallAccelRunBlock(i8* %"%<tSimStruct>_4844", i32 63, i32 4, i32 104)
  %"%<tSimStruct>_4845" = load i8** %"%<tSimStruct>_", align 1
  call void @vm_ssCallAccelRunBlock(i8* %"%<tSimStruct>_4845", i32 63, i32 5, i32 104)
  %"%<tSimStruct>_4846" = load i8** %"%<tSimStruct>_", align 1
  call void @vm_ssCallAccelRunBlock(i8* %"%<tSimStruct>_4846", i32 63, i32 6, i32 104)
  br label %false737

false737:                                         ; preds = %false735, %true736
  %vm_ssIsMajorTimeStepVar1_4847 = load i32* %vm_ssIsMajorTimeStepVar1_, align 1
  %1385 = icmp eq i32 %vm_ssIsMajorTimeStepVar1_4847, 0
  br i1 %1385, label %false733, label %true738

true738:                                          ; preds = %false737
  %_rtDW_4848 = load %DW_REVS_VM_T.16** %_rtDW_, align 1
  %1386 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_4848, i32 0, i32 1014
  call void @vm_srUpdateBC(i8* %1386)
  br label %false733

false741:                                         ; preds = %false745, %true746, %false751, %true744, %false733
  %_rtDW_4863 = load %DW_REVS_VM_T.16** %_rtDW_, align 1
  %1387 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_4863, i32 0, i32 1072
  %_rtDW__Subsystem_MODE_ih4864 = load i8* %1387, align 1
  %1388 = and i8 %_rtDW__Subsystem_MODE_ih4864, 1
  %1389 = icmp eq i8 %1388, 0
  br i1 %1389, label %false753, label %true752

true742:                                          ; preds = %false733
  %_rtB_4852 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %1390 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_4852, i32 0, i32 859
  %_rtB__Compare_gx = load i8* %1390, align 1
  %1391 = and i8 %_rtB__Compare_gx, 1
  %1392 = icmp eq i8 %1391, 0
  %_rtDW_4853 = load %DW_REVS_VM_T.16** %_rtDW_, align 1
  %1393 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_4853, i32 0, i32 1072
  %_rtDW__Subsystem_MODE_ih4854 = load i8* %1393, align 1
  %1394 = and i8 %_rtDW__Subsystem_MODE_ih4854, 1
  %1395 = icmp eq i8 %1394, 0
  br i1 %1392, label %false745, label %true744

true744:                                          ; preds = %true742
  br i1 %1395, label %true748, label %false741

false745:                                         ; preds = %true742
  br i1 %1395, label %false741, label %true746

true746:                                          ; preds = %false745
  %"%<tSimStruct>_4855" = load i8** %"%<tSimStruct>_", align 1
  call void @vm_ssSetSolverNeedsReset(i8* %"%<tSimStruct>_4855")
  %_rtDW_4856 = load %DW_REVS_VM_T.16** %_rtDW_, align 1
  %1396 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_4856, i32 0, i32 1072
  store i8 0, i8* %1396, align 1
  br label %false741

true748:                                          ; preds = %true744
  %vm_ssGetTaskTimeVar2_4859 = load double* %vm_ssGetTaskTimeVar2_, align 1
  %vm_ssGetTStartVar3_4860 = load double* %vm_ssGetTStartVar3_, align 1
  %1397 = fcmp une double %vm_ssGetTaskTimeVar2_4859, %vm_ssGetTStartVar3_4860
  br i1 %1397, label %true750, label %false751

true750:                                          ; preds = %true748
  %"%<tSimStruct>_4861" = load i8** %"%<tSimStruct>_", align 1
  call void @vm_ssSetSolverNeedsReset(i8* %"%<tSimStruct>_4861")
  %_rtDW_4862.pre = load %DW_REVS_VM_T.16** %_rtDW_, align 1
  br label %false751

false751:                                         ; preds = %true750, %true748
  %_rtDW_4862 = phi %DW_REVS_VM_T.16* [ %_rtDW_4862.pre, %true750 ], [ %_rtDW_4853, %true748 ]
  %1398 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_4862, i32 0, i32 1072
  store i8 1, i8* %1398, align 1
  br label %false741

true752:                                          ; preds = %false741
  %_rtB_4865 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %1399 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_4865, i32 0, i32 96
  %_rtB__tc_spd_in_radps4866 = load double* %1399, align 1
  %tmp160 = fmul double %_rtB__tc_spd_in_radps4866, %_rtB__tc_spd_in_radps4866
  %1400 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_4865, i32 0, i32 156
  %_rtB__inertiakgm2 = load double* %1400, align 1
  %tmp161 = fmul double %tmp160, %_rtB__inertiakgm2
  %_rtP_4870 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %1401 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_4870, i32 0, i32 45
  %_rtP__onehalf_Gain_a = load double* %1401, align 1
  %tmp162 = fmul double %tmp161, %_rtP__onehalf_Gain_a
  %1402 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_4865, i32 0, i32 610
  store double %tmp162, double* %1402, align 1
  %vm_ssIsSampleHitVar0_4872 = load i32* %vm_ssIsSampleHitVar0_, align 1
  store i32 %vm_ssIsSampleHitVar0_4872, i32* %i_0_, align 1
  %1403 = icmp eq i32 %vm_ssIsSampleHitVar0_4872, 0
  br i1 %1403, label %false755, label %true754

false753:                                         ; preds = %true758, %false757, %false741
  %_rtB_4894 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %1404 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_4894, i32 0, i32 884, i32 0
  %_rtB__MechEnergyNmradps_mw_Gain = load double* %1404, align 1
  %1405 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_4894, i32 0, i32 885, i32 0
  %_rtB__ElecEnergyVA_a_Gain = load double* %1405, align 1
  %tmp163 = fsub double %_rtB__MechEnergyNmradps_mw_Gain, %_rtB__ElecEnergyVA_a_Gain
  store double %tmp163, double* %u0_0_, align 1
  %1406 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_4894, i32 0, i32 885, i32 2
  %_rtB__ElecEnergyVA_a_Integrator1 = load double* %1406, align 1
  %1407 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_4894, i32 0, i32 884, i32 2
  %_rtB__MechEnergyNmradps_mw_Integrator1 = load double* %1407, align 1
  %tmp164 = fsub double %_rtB__ElecEnergyVA_a_Integrator1, %_rtB__MechEnergyNmradps_mw_Integrator1
  store double %tmp164, double* %u0_, align 1
  %_rtP_4899 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %1408 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_4899, i32 0, i32 50
  %_rtP__Pos2_UpperSat_g = load double* %1408, align 1
  %1409 = fcmp ogt double %tmp163, %_rtP__Pos2_UpperSat_g
  br i1 %1409, label %true760, label %false761

true754:                                          ; preds = %true752
  %"%<tSimStruct>_4874" = load i8** %"%<tSimStruct>_", align 1
  call void @vm_ssCallAccelRunBlock(i8* %"%<tSimStruct>_4874", i32 65, i32 3, i32 104)
  br label %false755

false755:                                         ; preds = %true752, %true754
  %"%<tSimStruct>_4875" = load i8** %"%<tSimStruct>_", align 1
  %_rtB_4876 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %1410 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_4876, i32 0, i32 125
  %_rtB__RateLimiter_k4877 = load double* %1410, align 1
  %1411 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_4876, i32 0, i32 96
  %_rtB__tc_spd_in_radps4879 = load double* %1411, align 1
  %1412 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_4876, i32 0, i32 884
  %_rtP_4881 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %1413 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_4881, i32 0, i32 1568
  %_rtX_4882 = load %X_REVS_VM_T.18** %_rtX_, align 1
  %1414 = getelementptr inbounds %X_REVS_VM_T.18* %_rtX_4882, i32 0, i32 99
  call void @REVS_VM_MechEnergyNmradps(i8* %"%<tSimStruct>_4875", double %_rtB__RateLimiter_k4877, double %_rtB__tc_spd_in_radps4879, %B_MechEnergyNmradps_REVS_VM_T.4* %1412, %P_MechEnergyNmradps_REVS_VM_T.6* %1413, %X_MechEnergyNmradps_REVS_VM_T.7* %1414)
  %vm_ssIsSampleHitVar0_4883 = load i32* %vm_ssIsSampleHitVar0_, align 1
  store i32 %vm_ssIsSampleHitVar0_4883, i32* %i_0_, align 1
  %1415 = icmp eq i32 %vm_ssIsSampleHitVar0_4883, 0
  br i1 %1415, label %false757, label %true756

true756:                                          ; preds = %false755
  %"%<tSimStruct>_4885" = load i8** %"%<tSimStruct>_", align 1
  call void @vm_ssCallAccelRunBlock(i8* %"%<tSimStruct>_4885", i32 65, i32 5, i32 104)
  %"%<tSimStruct>_4886" = load i8** %"%<tSimStruct>_", align 1
  call void @vm_ssCallAccelRunBlock(i8* %"%<tSimStruct>_4886", i32 65, i32 6, i32 104)
  %"%<tSimStruct>_4887" = load i8** %"%<tSimStruct>_", align 1
  call void @vm_ssCallAccelRunBlock(i8* %"%<tSimStruct>_4887", i32 65, i32 7, i32 104)
  %"%<tSimStruct>_4888" = load i8** %"%<tSimStruct>_", align 1
  call void @vm_ssCallAccelRunBlock(i8* %"%<tSimStruct>_4888", i32 65, i32 8, i32 104)
  %"%<tSimStruct>_4889" = load i8** %"%<tSimStruct>_", align 1
  call void @vm_ssCallAccelRunBlock(i8* %"%<tSimStruct>_4889", i32 65, i32 9, i32 104)
  %"%<tSimStruct>_4890" = load i8** %"%<tSimStruct>_", align 1
  call void @vm_ssCallAccelRunBlock(i8* %"%<tSimStruct>_4890", i32 65, i32 10, i32 104)
  %"%<tSimStruct>_4891" = load i8** %"%<tSimStruct>_", align 1
  call void @vm_ssCallAccelRunBlock(i8* %"%<tSimStruct>_4891", i32 65, i32 11, i32 104)
  br label %false757

false757:                                         ; preds = %false755, %true756
  %vm_ssIsMajorTimeStepVar1_4892 = load i32* %vm_ssIsMajorTimeStepVar1_, align 1
  %1416 = icmp eq i32 %vm_ssIsMajorTimeStepVar1_4892, 0
  br i1 %1416, label %false753, label %true758

true758:                                          ; preds = %false757
  %_rtDW_4893 = load %DW_REVS_VM_T.16** %_rtDW_, align 1
  %1417 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_4893, i32 0, i32 1015
  call void @vm_srUpdateBC(i8* %1417)
  br label %false753

true760:                                          ; preds = %false753
  store double %_rtP__Pos2_UpperSat_g, double* %u0_0_, align 1
  br label %merge2590

false761:                                         ; preds = %false753
  %1418 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_4899, i32 0, i32 51
  %_rtP__Pos2_LowerSat_a = load double* %1418, align 1
  %1419 = fcmp olt double %tmp163, %_rtP__Pos2_LowerSat_a
  br i1 %1419, label %true762, label %merge2590

true762:                                          ; preds = %false761
  store double %_rtP__Pos2_LowerSat_a, double* %u0_0_, align 1
  br label %merge2590

true764:                                          ; preds = %merge2590
  store double %_rtP__Pos_UpperSat_a, double* %u0_, align 1
  br label %merge2591

false765:                                         ; preds = %merge2590
  %1420 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_4899, i32 0, i32 53
  %_rtP__Pos_LowerSat_n = load double* %1420, align 1
  %1421 = fcmp olt double %tmp164, %_rtP__Pos_LowerSat_n
  br i1 %1421, label %true766, label %merge2591

true766:                                          ; preds = %false765
  store double %_rtP__Pos_LowerSat_n, double* %u0_, align 1
  br label %merge2591

true768:                                          ; preds = %merge2591
  %"%<tSimStruct>_4919" = load i8** %"%<tSimStruct>_", align 1
  call void @vm_ssCallAccelRunBlock(i8* %"%<tSimStruct>_4919", i32 66, i32 13, i32 104)
  br label %false769

false769:                                         ; preds = %merge2591, %true768
  %vm_ssIsMajorTimeStepVar1_4920 = load i32* %vm_ssIsMajorTimeStepVar1_, align 1
  %1422 = icmp eq i32 %vm_ssIsMajorTimeStepVar1_4920, 0
  br i1 %1422, label %false719, label %true770

true770:                                          ; preds = %false769
  %_rtDW_4921 = load %DW_REVS_VM_T.16** %_rtDW_, align 1
  %1423 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_4921, i32 0, i32 877
  call void @vm_srUpdateBC(i8* %1423)
  br label %false719

true772:                                          ; preds = %false719
  %_rtB_4924 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %1424 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_4924, i32 0, i32 679
  %_rtB__RelationalOperator_f = load i8* %1424, align 1
  %1425 = and i8 %_rtB__RelationalOperator_f, 1
  %1426 = icmp eq i8 %1425, 0
  br i1 %1426, label %false775, label %true774

false773:                                         ; preds = %true784, %true782, %false779, %false719
  %_rtP_4936 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %1427 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_4936, i32 0, i32 568
  %_rtP__IntegralGain_Gain_e = load double* %1427, align 1
  %rtb_Sum2_4937 = load double* %rtb_Sum2_, align 1
  %tmp166 = fmul double %_rtP__IntegralGain_Gain_e, %rtb_Sum2_4937
  %_rtB_4938 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %1428 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_4938, i32 0, i32 206
  store double %tmp166, double* %1428, align 1
  %rtb_Sum2_n_4939 = load double* %rtb_Sum2_n_, align 1
  %_rtB_4940 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %1429 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_4940, i32 0, i32 109
  %_rtB__Sum44941 = load double* %1429, align 1
  %tmp167 = fadd double %rtb_Sum2_n_4939, %_rtB__Sum44941
  store double %tmp167, double* %rtb_Sum2_j_, align 1
  %vm_ssIsSampleHitVar0_4942 = load i32* %vm_ssIsSampleHitVar0_, align 1
  store i32 %vm_ssIsSampleHitVar0_4942, i32* %i_0_, align 1
  %1430 = icmp eq i32 %vm_ssIsSampleHitVar0_4942, 0
  br i1 %1430, label %false787, label %true786

true774:                                          ; preds = %true772
  %"%<tSimStruct>_4925" = load i8** %"%<tSimStruct>_", align 1
  call void @vm_ssCallAccelRunBlock(i8* %"%<tSimStruct>_4925", i32 68, i32 0, i32 104)
  %vm_ssIsMajorTimeStepVar1_4926 = load i32* %vm_ssIsMajorTimeStepVar1_, align 1
  %1431 = icmp eq i32 %vm_ssIsMajorTimeStepVar1_4926, 0
  br i1 %1431, label %false777, label %true776

false775:                                         ; preds = %true772, %false777
  %_rtB_4928 = phi %B_REVS_VM_T.12* [ %_rtB_4924, %true772 ], [ %_rtB_4928.pre, %false777 ]
  %1432 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_4928, i32 0, i32 680
  %_rtB__RelationalOperator_hf = load i8* %1432, align 1
  %1433 = and i8 %_rtB__RelationalOperator_hf, 1
  %1434 = icmp eq i8 %1433, 0
  br i1 %1434, label %false779, label %true778

true776:                                          ; preds = %true774
  %_rtDW_4927 = load %DW_REVS_VM_T.16** %_rtDW_, align 1
  %1435 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_4927, i32 0, i32 878
  call void @vm_srUpdateBC(i8* %1435)
  br label %false777

false777:                                         ; preds = %true774, %true776
  %_rtB_4928.pre = load %B_REVS_VM_T.12** %_rtB_, align 1
  br label %false775

true778:                                          ; preds = %false775
  %"%<tSimStruct>_4929" = load i8** %"%<tSimStruct>_", align 1
  call void @vm_ssCallAccelRunBlock(i8* %"%<tSimStruct>_4929", i32 69, i32 0, i32 104)
  %vm_ssIsMajorTimeStepVar1_4930 = load i32* %vm_ssIsMajorTimeStepVar1_, align 1
  %1436 = icmp eq i32 %vm_ssIsMajorTimeStepVar1_4930, 0
  br i1 %1436, label %false781, label %true780

false779:                                         ; preds = %false775, %false781
  %_rtB_4932 = phi %B_REVS_VM_T.12* [ %_rtB_4928, %false775 ], [ %_rtB_4932.pre, %false781 ]
  %1437 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_4932, i32 0, i32 681
  %_rtB__RelationalOperator_n = load i8* %1437, align 1
  %1438 = and i8 %_rtB__RelationalOperator_n, 1
  %1439 = icmp eq i8 %1438, 0
  br i1 %1439, label %false773, label %true782

true780:                                          ; preds = %true778
  %_rtDW_4931 = load %DW_REVS_VM_T.16** %_rtDW_, align 1
  %1440 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_4931, i32 0, i32 879
  call void @vm_srUpdateBC(i8* %1440)
  br label %false781

false781:                                         ; preds = %true778, %true780
  %_rtB_4932.pre = load %B_REVS_VM_T.12** %_rtB_, align 1
  br label %false779

true782:                                          ; preds = %false779
  %"%<tSimStruct>_4933" = load i8** %"%<tSimStruct>_", align 1
  call void @vm_ssCallAccelRunBlock(i8* %"%<tSimStruct>_4933", i32 70, i32 0, i32 104)
  %vm_ssIsMajorTimeStepVar1_4934 = load i32* %vm_ssIsMajorTimeStepVar1_, align 1
  %1441 = icmp eq i32 %vm_ssIsMajorTimeStepVar1_4934, 0
  br i1 %1441, label %false773, label %true784

true784:                                          ; preds = %true782
  %_rtDW_4935 = load %DW_REVS_VM_T.16** %_rtDW_, align 1
  %1442 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_4935, i32 0, i32 880
  call void @vm_srUpdateBC(i8* %1442)
  br label %false773

true786:                                          ; preds = %false773
  %1443 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_4940, i32 0, i32 682
  %_rtB__RelationalOperator_m = load i8* %1443, align 1
  %1444 = and i8 %_rtB__RelationalOperator_m, 1
  %1445 = icmp eq i8 %1444, 0
  br i1 %1445, label %false789, label %true788

false787:                                         ; preds = %false773, %false789
  %vm_ssIsMajorTimeStepVar1_4952 = load i32* %vm_ssIsMajorTimeStepVar1_, align 1
  %1446 = icmp eq i32 %vm_ssIsMajorTimeStepVar1_4952, 0
  br i1 %1446, label %false793, label %true792

true788:                                          ; preds = %true786
  %"%<tSimStruct>_4945" = load i8** %"%<tSimStruct>_", align 1
  call void @vm_ssCallAccelRunBlock(i8* %"%<tSimStruct>_4945", i32 72, i32 0, i32 104)
  %vm_ssIsMajorTimeStepVar1_4946 = load i32* %vm_ssIsMajorTimeStepVar1_, align 1
  %1447 = icmp eq i32 %vm_ssIsMajorTimeStepVar1_4946, 0
  br i1 %1447, label %false791, label %true790

false789:                                         ; preds = %true786, %false791
  %_rtB_4951 = phi %B_REVS_VM_T.12* [ %_rtB_4940, %true786 ], [ %_rtB_4948.pre, %false791 ]
  %1448 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_4951, i32 0, i32 1
  %_rtB__veh_spd_mps4949 = load double* %1448, align 1
  %1449 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_4951, i32 0, i32 207
  %_rtB__Constant_a = load double* %1449, align 1
  %1450 = fcmp ole double %_rtB__veh_spd_mps4949, %_rtB__Constant_a
  %1451 = uitofp i1 %1450 to double
  %1452 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_4951, i32 0, i32 208
  store double %1451, double* %1452, align 1
  br label %false787

true790:                                          ; preds = %true788
  %_rtDW_4947 = load %DW_REVS_VM_T.16** %_rtDW_, align 1
  %1453 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_4947, i32 0, i32 881
  call void @vm_srUpdateBC(i8* %1453)
  br label %false791

false791:                                         ; preds = %true788, %true790
  %_rtB_4948.pre = load %B_REVS_VM_T.12** %_rtB_, align 1
  br label %false789

true792:                                          ; preds = %false787
  store i8 0, i8* %tmp_, align 1
  %_rtZCE_4953 = load %PrevZCX_REVS_VM_T.20** %_rtZCE_, align 1
  %1454 = getelementptr inbounds %PrevZCX_REVS_VM_T.20* %_rtZCE_4953, i32 0, i32 10
  %_rtB_4954 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %1455 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_4954, i32 0, i32 208
  %_rtB__DataTypeConversion2_b = load double* %1455, align 1
  %1456 = call i32 @rt_ZCFcn(i32 -1, i8* %1454, double %_rtB__DataTypeConversion2_b)
  %1457 = icmp eq i32 %1456, 0
  br i1 %1457, label %false795, label %true794

false793:                                         ; preds = %true796, %false795, %false787
  %_rtX_4960 = load %X_REVS_VM_T.18** %_rtX_, align 1
  %1458 = getelementptr inbounds %X_REVS_VM_T.18* %_rtX_4960, i32 0, i32 23
  %_rtX__Integrator1_CSTATE_b = load double* %1458, align 1
  %_rtP_4961 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %1459 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_4961, i32 0, i32 573
  %_rtP__Integrator1_UpperSat_d5 = load double* %1459, align 1
  %1460 = fcmp ult double %_rtX__Integrator1_CSTATE_b, %_rtP__Integrator1_UpperSat_d5
  br i1 %1460, label %false799, label %true798

true794:                                          ; preds = %true792
  store i8 1, i8* %tmp_, align 1
  %_rtP_4956 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %1461 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_4956, i32 0, i32 572
  %_rtP__Integrator1_IC_c = load double* %1461, align 1
  %_rtX_4957 = load %X_REVS_VM_T.18** %_rtX_, align 1
  %1462 = getelementptr inbounds %X_REVS_VM_T.18* %_rtX_4957, i32 0, i32 23
  store double %_rtP__Integrator1_IC_c, double* %1462, align 1
  br label %false795

false795:                                         ; preds = %true792, %true794
  %tmp_4958 = load i8* %tmp_, align 1
  %1463 = and i8 %tmp_4958, 1
  %1464 = icmp eq i8 %1463, 0
  br i1 %1464, label %false793, label %true796

true796:                                          ; preds = %false795
  %"%<tSimStruct>_4959" = load i8** %"%<tSimStruct>_", align 1
  call void @vm_ssSetSolverNeedsReset(i8* %"%<tSimStruct>_4959")
  br label %false793

true798:                                          ; preds = %false793
  %1465 = fcmp une double %_rtX__Integrator1_CSTATE_b, %_rtP__Integrator1_UpperSat_d5
  br i1 %1465, label %true804, label %merge2592

false799:                                         ; preds = %false793
  %1466 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_4961, i32 0, i32 574
  %_rtP__Integrator1_LowerSat_l = load double* %1466, align 1
  %1467 = fcmp ole double %_rtX__Integrator1_CSTATE_b, %_rtP__Integrator1_LowerSat_l
  %1468 = fcmp une double %_rtX__Integrator1_CSTATE_b, %_rtP__Integrator1_LowerSat_l
  %or.cond10134 = and i1 %1467, %1468
  br i1 %or.cond10134, label %true802, label %merge2592

true802:                                          ; preds = %false799
  store double %_rtP__Integrator1_LowerSat_l, double* %1458, align 1
  %"%<tSimStruct>_4972" = load i8** %"%<tSimStruct>_", align 1
  call void @vm_ssSetSolverNeedsReset(i8* %"%<tSimStruct>_4972")
  br label %merge2592

true804:                                          ; preds = %true798
  store double %_rtP__Integrator1_UpperSat_d5, double* %1458, align 1
  %"%<tSimStruct>_4980" = load i8** %"%<tSimStruct>_", align 1
  call void @vm_ssSetSolverNeedsReset(i8* %"%<tSimStruct>_4980")
  br label %merge2592

true806:                                          ; preds = %merge2592
  %1469 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_4982, i32 0, i32 55
  %_rtP__normalize_Gain_p = load double* %1469, align 1
  %_rtX_4986 = load %X_REVS_VM_T.18** %_rtX_, align 1
  %1470 = getelementptr inbounds %X_REVS_VM_T.18* %_rtX_4986, i32 0, i32 23
  %_rtX__Integrator1_CSTATE_b4987 = load double* %1470, align 1
  %tmp168 = fmul double %_rtP__normalize_Gain_p, %_rtX__Integrator1_CSTATE_b4987
  br label %merge2593

false807:                                         ; preds = %merge2592
  %_rtX_4983 = load %X_REVS_VM_T.18** %_rtX_, align 1
  %1471 = getelementptr inbounds %X_REVS_VM_T.18* %_rtX_4983, i32 0, i32 23
  %_rtX__Integrator1_CSTATE_b4984 = load double* %1471, align 1
  br label %merge2593

true808:                                          ; preds = %merge2593
  %_rtB_4993 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %1472 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_4993, i32 0, i32 624
  %_rtB__accel_anticipate_bool4994 = load i8* %1472, align 1
  %1473 = and i8 %_rtB__accel_anticipate_bool4994, 1
  %1474 = xor i8 %1473, 1
  %1475 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_4993, i32 0, i32 684
  store i8 %1474, i8* %1475, align 1
  %_rtDW_4996 = load %DW_REVS_VM_T.16** %_rtDW_, align 1
  %1476 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_4996, i32 0, i32 36
  %_rtDW__Memory_55_PreviousInput = load double* %1476, align 1
  %_rtB_4997 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %1477 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_4997, i32 0, i32 211
  store double %_rtDW__Memory_55_PreviousInput, double* %1477, align 1
  %_rtB_4998 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %1478 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_4998, i32 0, i32 211
  %_rtB__cycle_pos_secs = load double* %1478, align 1
  %1479 = fcmp oge double %_rtB__cycle_pos_secs, 1.000000e+02
  %1480 = fcmp ole double %_rtB__cycle_pos_secs, 3.406000e+03
  %1481 = and i1 %1479, %1480
  %1482 = uitofp i1 %1481 to double
  %1483 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_4998, i32 0, i32 212
  store double %1482, double* %1483, align 1
  br label %false809

false809:                                         ; preds = %merge2593, %true808
  %_rtB_5002 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %1484 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_5002, i32 0, i32 20
  %_rtB__driver_ign_keyon5003 = load double* %1484, align 1
  %1485 = fcmp une double %_rtB__driver_ign_keyon5003, 0.000000e+00
  %1486 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_5002, i32 0, i32 683
  %_rtB__Compare_l1 = load i8* %1486, align 1
  %1487 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_5002, i32 0, i32 684
  %_rtB__LogicalOperator3_m = load i8* %1487, align 1
  %1488 = and i8 %_rtB__Compare_l1, 1
  %1489 = and i8 %1488, %_rtB__LogicalOperator3_m
  %1490 = icmp ne i8 %1489, 0
  %1491 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_5002, i32 0, i32 212
  %_rtB__Fcn_h = load double* %1491, align 1
  %1492 = fcmp une double %_rtB__Fcn_h, 0.000000e+00
  %1493 = and i1 %1490, %1492
  %1494 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_5002, i32 0, i32 213
  %_rtB__stopstartenable = load double* %1494, align 1
  %1495 = fcmp une double %_rtB__stopstartenable, 0.000000e+00
  %1496 = and i1 %1493, %1495
  %1497 = xor i1 %1496, true
  %1498 = and i1 %1485, %1497
  %1499 = zext i1 %1498 to i8
  %1500 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_5002, i32 0, i32 685
  store i8 %1499, i8* %1500, align 1
  %vm_ssIsSampleHitVar0_5009 = load i32* %vm_ssIsSampleHitVar0_, align 1
  store i32 %vm_ssIsSampleHitVar0_5009, i32* %i_0_, align 1
  %1501 = icmp eq i32 %vm_ssIsSampleHitVar0_5009, 0
  br i1 %1501, label %false811, label %true810

true810:                                          ; preds = %false809
  %_rtB_5011 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %1502 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_5011, i32 0, i32 686
  %_rtB__RelationalOperator_is = load i8* %1502, align 1
  %1503 = and i8 %_rtB__RelationalOperator_is, 1
  %1504 = icmp eq i8 %1503, 0
  br i1 %1504, label %false813, label %true812

false811:                                         ; preds = %false809, %false817
  %_rtB_5020 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %1505 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_5020, i32 0, i32 214, i32 0
  %1506 = bitcast double* %1505 to i8*
  %_rtX_5021 = load %X_REVS_VM_T.18** %_rtX_, align 1
  %1507 = getelementptr inbounds %X_REVS_VM_T.18* %_rtX_5021, i32 0, i32 24, i32 0
  %1508 = bitcast double* %1507 to i8*
  %1509 = call i8* @memcpy(i8* %1506, i8* %1508, i32 mul (i32 ptrtoint (double* getelementptr (double* null, i32 1) to i32), i32 10))
  %vm_ssIsSampleHitVar0_5022 = load i32* %vm_ssIsSampleHitVar0_, align 1
  store i32 %vm_ssIsSampleHitVar0_5022, i32* %i_0_, align 1
  %1510 = icmp eq i32 %vm_ssIsSampleHitVar0_5022, 0
  br i1 %1510, label %false821, label %true820

true812:                                          ; preds = %true810
  %"%<tSimStruct>_5012" = load i8** %"%<tSimStruct>_", align 1
  call void @vm_ssCallAccelRunBlock(i8* %"%<tSimStruct>_5012", i32 73, i32 0, i32 104)
  %vm_ssIsMajorTimeStepVar1_5013 = load i32* %vm_ssIsMajorTimeStepVar1_, align 1
  %1511 = icmp eq i32 %vm_ssIsMajorTimeStepVar1_5013, 0
  br i1 %1511, label %false815, label %true814

false813:                                         ; preds = %true810, %false815
  %_rtB_5015 = phi %B_REVS_VM_T.12* [ %_rtB_5011, %true810 ], [ %_rtB_5015.pre, %false815 ]
  %1512 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_5015, i32 0, i32 687
  %_rtB__RelationalOperator_jg = load i8* %1512, align 1
  %1513 = and i8 %_rtB__RelationalOperator_jg, 1
  %1514 = icmp eq i8 %1513, 0
  br i1 %1514, label %false817, label %true816

true814:                                          ; preds = %true812
  %_rtDW_5014 = load %DW_REVS_VM_T.16** %_rtDW_, align 1
  %1515 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_5014, i32 0, i32 882
  call void @vm_srUpdateBC(i8* %1515)
  br label %false815

false815:                                         ; preds = %true812, %true814
  %_rtB_5015.pre = load %B_REVS_VM_T.12** %_rtB_, align 1
  br label %false813

true816:                                          ; preds = %false813
  %"%<tSimStruct>_5016" = load i8** %"%<tSimStruct>_", align 1
  call void @vm_ssCallAccelRunBlock(i8* %"%<tSimStruct>_5016", i32 74, i32 0, i32 104)
  %vm_ssIsMajorTimeStepVar1_5017 = load i32* %vm_ssIsMajorTimeStepVar1_, align 1
  %1516 = icmp eq i32 %vm_ssIsMajorTimeStepVar1_5017, 0
  br i1 %1516, label %false817, label %true818

false817:                                         ; preds = %true818, %true816, %false813
  %"%<tSimStruct>_5019" = load i8** %"%<tSimStruct>_", align 1
  call void @vm_ssCallAccelRunBlock(i8* %"%<tSimStruct>_5019", i32 248, i32 866, i32 104)
  br label %false811

true818:                                          ; preds = %true816
  %_rtDW_5018 = load %DW_REVS_VM_T.16** %_rtDW_, align 1
  %1517 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_5018, i32 0, i32 883
  call void @vm_srUpdateBC(i8* %1517)
  br label %false817

true820:                                          ; preds = %false811
  %"%<tSimStruct>_5024" = load i8** %"%<tSimStruct>_", align 1
  call void @vm_ssCallAccelRunBlock(i8* %"%<tSimStruct>_5024", i32 248, i32 868, i32 104)
  br label %false821

false821:                                         ; preds = %false811, %true820
  %_rtX_5025 = load %X_REVS_VM_T.18** %_rtX_, align 1
  %1518 = getelementptr inbounds %X_REVS_VM_T.18* %_rtX_5025, i32 0, i32 25
  %_rtX__Integrator1_CSTATE_o = load double* %1518, align 1
  %_rtB_5026 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %1519 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_5026, i32 0, i32 215
  store double %_rtX__Integrator1_CSTATE_o, double* %1519, align 1
  %vm_ssIsSampleHitVar0_5027 = load i32* %vm_ssIsSampleHitVar0_, align 1
  store i32 %vm_ssIsSampleHitVar0_5027, i32* %i_0_, align 1
  %1520 = icmp eq i32 %vm_ssIsSampleHitVar0_5027, 0
  br i1 %1520, label %false823, label %true822

true822:                                          ; preds = %false821
  %"%<tSimStruct>_5029" = load i8** %"%<tSimStruct>_", align 1
  call void @vm_ssCallAccelRunBlock(i8* %"%<tSimStruct>_5029", i32 248, i32 870, i32 104)
  br label %false823

false823:                                         ; preds = %false821, %true822
  %_rtDW_5030 = load %DW_REVS_VM_T.16** %_rtDW_, align 1
  %1521 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_5030, i32 0, i32 37
  %_rtDW__TimeStampA = load double* %1521, align 1
  %vm_ssGetTVar5_5031 = load double* %vm_ssGetTVar5_, align 1
  %1522 = fcmp oge double %_rtDW__TimeStampA, %vm_ssGetTVar5_5031
  %1523 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_5030, i32 0, i32 39
  %_rtDW__TimeStampB = load double* %1523, align 1
  %1524 = fcmp oge double %_rtDW__TimeStampB, %vm_ssGetTVar5_5031
  %1525 = and i1 %1522, %1524
  br i1 %1525, label %true824, label %false825

true824:                                          ; preds = %false823
  %_rtB_5059.pre = load %B_REVS_VM_T.12** %_rtB_, align 1
  br label %merge2595

false825:                                         ; preds = %false823
  store double %_rtDW__TimeStampA, double* %u0_, align 1
  %1526 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_5030, i32 0, i32 38
  store double* %1526, double** %lastU_, align 1
  %_rtDW__TimeStampA5038 = load double* %1521, align 1
  %_rtDW__TimeStampB5040 = load double* %1523, align 1
  %1527 = fcmp olt double %_rtDW__TimeStampA5038, %_rtDW__TimeStampB5040
  br i1 %1527, label %true826, label %false827

true826:                                          ; preds = %false825
  %1528 = fcmp olt double %_rtDW__TimeStampB5040, %vm_ssGetTVar5_5031
  br i1 %1528, label %true830, label %merge2594

false827:                                         ; preds = %false825
  %1529 = fcmp ult double %_rtDW__TimeStampA5038, %vm_ssGetTVar5_5031
  br i1 %1529, label %merge2594, label %true828

true828:                                          ; preds = %false827
  store double %_rtDW__TimeStampB5040, double* %u0_, align 1
  %1530 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_5030, i32 0, i32 40
  store double* %1530, double** %lastU_, align 1
  br label %merge2594

true830:                                          ; preds = %true826
  store double %_rtDW__TimeStampB5040, double* %u0_, align 1
  %1531 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_5030, i32 0, i32 40
  store double* %1531, double** %lastU_, align 1
  br label %merge2594

true832:                                          ; preds = %merge2595
  %1532 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_5090, i32 0, i32 41
  %_rtB__gearnumtoratio5091 = load double* %1532, align 1
  %1533 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_5090, i32 0, i32 217
  store double %_rtB__gearnumtoratio5091, double* %1533, align 1
  br label %merge2600

false833:                                         ; preds = %merge2595
  %1534 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_5090, i32 0, i32 47
  %_rtB__Product35063 = load double* %1534, align 1
  %_rtP_5064 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %1535 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_5064, i32 0, i32 58
  %_rtP__eps_UpperSat = load double* %1535, align 1
  %1536 = fcmp ogt double %_rtB__Product35063, %_rtP__eps_UpperSat
  br i1 %1536, label %merge2597, label %false835

false835:                                         ; preds = %false833
  %1537 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_5064, i32 0, i32 59
  %_rtP__eps_LowerSat = load double* %1537, align 1
  %1538 = fcmp olt double %_rtB__Product35063, %_rtP__eps_LowerSat
  %_rtP__eps_LowerSat._rtB__Product35063 = select i1 %1538, double %_rtP__eps_LowerSat, double %_rtB__Product35063
  %.10084 = select i1 %1538, double* %1537, double* %1534
  br label %merge2597

true838:                                          ; preds = %merge2597
  %_rtB_5089 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %1539 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_5089, i32 0, i32 217
  store double %_rtP__u_UpperSat, double* %1539, align 1
  br label %merge2600

false839:                                         ; preds = %merge2597
  %1540 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_5079, i32 0, i32 61
  %_rtP__u_LowerSat = load double* %1540, align 1
  %1541 = fcmp olt double %4750, %_rtP__u_LowerSat
  %_rtB_5086 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %1542 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_5086, i32 0, i32 217
  br i1 %1541, label %true840, label %false841

true840:                                          ; preds = %false839
  store double %_rtP__u_LowerSat, double* %1542, align 1
  br label %merge2600

false841:                                         ; preds = %false839
  store double %4750, double* %1542, align 1
  br label %merge2600

true842:                                          ; preds = %merge2600
  %_rtB_5095 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %1543 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_5095, i32 0, i32 40
  %_rtB__Memory25096 = load double* %1543, align 1
  %1544 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_5095, i32 0, i32 218
  %_rtB__Switch_nx = load double* %1544, align 1
  %1545 = call double @muDoubleScalarMin(double %_rtB__Memory25096, double %_rtB__Switch_nx)
  %_rtB_5098 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %1546 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_5098, i32 0, i32 219
  %_rtB__Switch1_j = load double* %1546, align 1
  %1547 = call double @muDoubleScalarMax(double %1545, double %_rtB__Switch1_j)
  %_rtP_5099 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %1548 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_5099, i32 0, i32 592, i32 0
  %1549 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_5099, i32 0, i32 591, i32 0
  %_rtDW_5101 = load %DW_REVS_VM_T.16** %_rtDW_, align 1
  %1550 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_5101, i32 0, i32 790
  %1551 = call double @look1_plinlxpw(double %1547, double* %1548, double* %1549, i32* %1550, i32 8)
  %_rtB_5102 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %1552 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_5102, i32 0, i32 220
  store double %1551, double* %1552, align 1
  %_rtDW_5103 = load %DW_REVS_VM_T.16** %_rtDW_, align 1
  %1553 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_5103, i32 0, i32 1026
  %_rtDW__Memory_15_PreviousInput = load i8* %1553, align 1
  %_rtB_5104 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %1554 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_5104, i32 0, i32 689
  store i8 %_rtDW__Memory_15_PreviousInput, i8* %1554, align 1
  %vm_ssIsSampleHitVar0_5105.pre = load i32* %vm_ssIsSampleHitVar0_, align 1
  br label %false843

false843:                                         ; preds = %merge2600, %true842
  %vm_ssIsSampleHitVar0_5105 = phi i32 [ 0, %merge2600 ], [ %vm_ssIsSampleHitVar0_5105.pre, %true842 ]
  store i32 %vm_ssIsSampleHitVar0_5105, i32* %i_0_, align 1
  %1555 = icmp eq i32 %vm_ssIsSampleHitVar0_5105, 0
  br i1 %1555, label %false845, label %true844

true844:                                          ; preds = %false843
  %_rtDW_5107 = load %DW_REVS_VM_T.16** %_rtDW_, align 1
  %1556 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_5107, i32 0, i32 41
  %_rtDW__Memory_PreviousInput_b = load double* %1556, align 1
  %_rtP_5108 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %1557 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_5108, i32 0, i32 601, i32 0
  %1558 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_5108, i32 0, i32 600, i32 0
  %1559 = call double @look1_binlxpw(double %_rtDW__Memory_PreviousInput_b, double* %1557, double* %1558, i32 3)
  %_rtB_5110 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %1560 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_5110, i32 0, i32 225
  store double %1559, double* %1560, align 1
  br label %false845

false845:                                         ; preds = %false843, %true844
  %_rtB_5111 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %1561 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_5111, i32 0, i32 626
  %_rtB__ctrl_eng_on5112 = load i8* %1561, align 1
  %1562 = and i8 %_rtB__ctrl_eng_on5112, 1
  %1563 = icmp eq i8 %1562, 0
  br i1 %1563, label %merge2601, label %true846

true846:                                          ; preds = %false845
  %1564 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_5111, i32 0, i32 689
  %_rtB__eng_comp_iner_enable = load i8* %1564, align 1
  %1565 = uitofp i8 %_rtB__eng_comp_iner_enable to double
  br label %merge2601

true848:                                          ; preds = %merge2601
  %1566 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_5111, i32 0, i32 226
  store double %_rtP__u_UpperSat_c, double* %1566, align 1
  br label %merge2603

false849:                                         ; preds = %merge2601
  %1567 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_5114, i32 0, i32 603
  %_rtP__u_LowerSat_k = load double* %1567, align 1
  %1568 = fcmp olt double %tmp179, %_rtP__u_LowerSat_k
  %1569 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_5111, i32 0, i32 226
  br i1 %1568, label %true850, label %false851

true850:                                          ; preds = %false849
  store double %_rtP__u_LowerSat_k, double* %1569, align 1
  br label %merge2603

false851:                                         ; preds = %false849
  store double %tmp179, double* %1569, align 1
  br label %merge2603

false853:                                         ; preds = %merge2603
  %1570 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_5135, i32 0, i32 605
  %_rtP__reduceonly_LowerSat = load double* %1570, align 1
  %1571 = fcmp olt double %_rtB__u_d, %_rtP__reduceonly_LowerSat
  %_rtP__reduceonly_LowerSat._rtB__u_d = select i1 %1571, double %_rtP__reduceonly_LowerSat, double %_rtB__u_d
  %.10085 = select i1 %1571, double* %1570, double* %4762
  br label %merge2605

true856:                                          ; preds = %merge2605
  %_rtDW_5149 = load %DW_REVS_VM_T.16** %_rtDW_, align 1
  %1572 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_5149, i32 0, i32 42
  %_rtDW__Memory_PreviousInput_p = load double* %1572, align 1
  %_rtB_5150 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %1573 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_5150, i32 0, i32 228
  store double %_rtDW__Memory_PreviousInput_p, double* %1573, align 1
  %_rtB_5151 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %1574 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_5151, i32 0, i32 626
  %_rtB__ctrl_eng_on5152 = load i8* %1574, align 1
  %1575 = and i8 %_rtB__ctrl_eng_on5152, 1
  %1576 = icmp ne i8 %1575, 0
  %1577 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_5151, i32 0, i32 228
  %_rtB__Memory_b = load double* %1577, align 1
  %1578 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_5151, i32 0, i32 229
  %_rtB__activation_speed_radps = load double* %1578, align 1
  %1579 = fcmp ogt double %_rtB__Memory_b, %_rtB__activation_speed_radps
  %1580 = and i1 %1576, %1579
  %1581 = uitofp i1 %1580 to double
  %1582 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_5151, i32 0, i32 230
  store double %1581, double* %1582, align 1
  br label %false857

false857:                                         ; preds = %merge2605, %true856
  %vm_ssIsMajorTimeStepVar1_5156 = load i32* %vm_ssIsMajorTimeStepVar1_, align 1
  %1583 = icmp eq i32 %vm_ssIsMajorTimeStepVar1_5156, 0
  br i1 %1583, label %false859, label %true858

true858:                                          ; preds = %false857
  store i8 0, i8* %tmp_, align 1
  %_rtZCE_5157 = load %PrevZCX_REVS_VM_T.20** %_rtZCE_, align 1
  %1584 = getelementptr inbounds %PrevZCX_REVS_VM_T.20* %_rtZCE_5157, i32 0, i32 11
  %_rtB_5158 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %1585 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_5158, i32 0, i32 230
  %_rtB__DataTypeConversion2_g = load double* %1585, align 1
  %1586 = call i32 @rt_ZCFcn(i32 -1, i8* %1584, double %_rtB__DataTypeConversion2_g)
  %1587 = icmp eq i32 %1586, 0
  br i1 %1587, label %false861, label %true860

false859:                                         ; preds = %true862, %false861, %false857
  %_rtX_5164 = load %X_REVS_VM_T.18** %_rtX_, align 1
  %1588 = getelementptr inbounds %X_REVS_VM_T.18* %_rtX_5164, i32 0, i32 28
  %_rtX__Integrator1_CSTATE_m = load double* %1588, align 1
  %_rtP_5165 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %1589 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_5165, i32 0, i32 610
  %_rtP__Integrator1_UpperSat_ob = load double* %1589, align 1
  %1590 = fcmp ult double %_rtX__Integrator1_CSTATE_m, %_rtP__Integrator1_UpperSat_ob
  br i1 %1590, label %false865, label %true864

true860:                                          ; preds = %true858
  store i8 1, i8* %tmp_, align 1
  %_rtP_5160 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %1591 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_5160, i32 0, i32 609
  %_rtP__Integrator1_IC_cd = load double* %1591, align 1
  %_rtX_5161 = load %X_REVS_VM_T.18** %_rtX_, align 1
  %1592 = getelementptr inbounds %X_REVS_VM_T.18* %_rtX_5161, i32 0, i32 28
  store double %_rtP__Integrator1_IC_cd, double* %1592, align 1
  br label %false861

false861:                                         ; preds = %true858, %true860
  %tmp_5162 = load i8* %tmp_, align 1
  %1593 = and i8 %tmp_5162, 1
  %1594 = icmp eq i8 %1593, 0
  br i1 %1594, label %false859, label %true862

true862:                                          ; preds = %false861
  %"%<tSimStruct>_5163" = load i8** %"%<tSimStruct>_", align 1
  call void @vm_ssSetSolverNeedsReset(i8* %"%<tSimStruct>_5163")
  br label %false859

true864:                                          ; preds = %false859
  %1595 = fcmp une double %_rtX__Integrator1_CSTATE_m, %_rtP__Integrator1_UpperSat_ob
  br i1 %1595, label %true870, label %merge2606

false865:                                         ; preds = %false859
  %1596 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_5165, i32 0, i32 611
  %_rtP__Integrator1_LowerSat_gu = load double* %1596, align 1
  %1597 = fcmp ole double %_rtX__Integrator1_CSTATE_m, %_rtP__Integrator1_LowerSat_gu
  %1598 = fcmp une double %_rtX__Integrator1_CSTATE_m, %_rtP__Integrator1_LowerSat_gu
  %or.cond10135 = and i1 %1597, %1598
  br i1 %or.cond10135, label %true868, label %merge2606

true868:                                          ; preds = %false865
  store double %_rtP__Integrator1_LowerSat_gu, double* %1588, align 1
  %"%<tSimStruct>_5176" = load i8** %"%<tSimStruct>_", align 1
  call void @vm_ssSetSolverNeedsReset(i8* %"%<tSimStruct>_5176")
  br label %merge2606

true870:                                          ; preds = %true864
  store double %_rtP__Integrator1_UpperSat_ob, double* %1588, align 1
  %"%<tSimStruct>_5184" = load i8** %"%<tSimStruct>_", align 1
  call void @vm_ssSetSolverNeedsReset(i8* %"%<tSimStruct>_5184")
  br label %merge2606

true872:                                          ; preds = %merge2606
  %_rtB_5187 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %1599 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_5187, i32 0, i32 228
  %_rtB__Memory_b5188 = load double* %1599, align 1
  %1600 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_5187, i32 0, i32 233
  %_rtB__deactivation_speed_radps_m = load double* %1600, align 1
  %1601 = fcmp olt double %_rtB__Memory_b5188, %_rtB__deactivation_speed_radps_m
  %1602 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_5187, i32 0, i32 626
  %_rtB__ctrl_eng_on5191 = load i8* %1602, align 1
  %1603 = and i8 %_rtB__ctrl_eng_on5191, 1
  %1604 = icmp eq i8 %1603, 0
  %1605 = or i1 %1601, %1604
  %1606 = zext i1 %1605 to i8
  %1607 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_5187, i32 0, i32 690
  store i8 %1606, i8* %1607, align 1
  %_rtDW_5193 = load %DW_REVS_VM_T.16** %_rtDW_, align 1
  %1608 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_5193, i32 0, i32 1027
  %_rtDW__Memory2_PreviousInput_kq = load i8* %1608, align 1
  %_rtB_5194 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %1609 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_5194, i32 0, i32 691
  store i8 %_rtDW__Memory2_PreviousInput_kq, i8* %1609, align 1
  br label %false873

false873:                                         ; preds = %merge2606, %true872
  %_rtB_5195 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %1610 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_5195, i32 0, i32 231
  %_rtB__Constant_m = load double* %1610, align 1
  %_rtP_5196 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %1611 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_5196, i32 0, i32 613
  %_rtP__Switch_Threshold_de = load double* %1611, align 1
  %1612 = fcmp ogt double %_rtB__Constant_m, %_rtP__Switch_Threshold_de
  br i1 %1612, label %true874, label %false875

true874:                                          ; preds = %false873
  %1613 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_5196, i32 0, i32 95
  %_rtP__normalize_Gain_b = load double* %1613, align 1
  %_rtX_5200 = load %X_REVS_VM_T.18** %_rtX_, align 1
  %1614 = getelementptr inbounds %X_REVS_VM_T.18* %_rtX_5200, i32 0, i32 28
  %_rtX__Integrator1_CSTATE_m5201 = load double* %1614, align 1
  %tmp180 = fmul double %_rtP__normalize_Gain_b, %_rtX__Integrator1_CSTATE_m5201
  br label %merge2607

false875:                                         ; preds = %false873
  %_rtX_5197 = load %X_REVS_VM_T.18** %_rtX_, align 1
  %1615 = getelementptr inbounds %X_REVS_VM_T.18* %_rtX_5197, i32 0, i32 28
  %_rtX__Integrator1_CSTATE_m5198 = load double* %1615, align 1
  br label %merge2607

true876:                                          ; preds = %merge2607
  %_rtDW_5212 = load %DW_REVS_VM_T.16** %_rtDW_, align 1
  %1616 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_5212, i32 0, i32 43
  %_rtDW__Memory_17_PreviousInput = load double* %1616, align 1
  %_rtB_5213 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %1617 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_5213, i32 0, i32 236
  store double %_rtDW__Memory_17_PreviousInput, double* %1617, align 1
  br label %false877

false877:                                         ; preds = %merge2607, %true876
  %vm_ssIsMajorTimeStepVar1_5214 = load i32* %vm_ssIsMajorTimeStepVar1_, align 1
  %1618 = icmp eq i32 %vm_ssIsMajorTimeStepVar1_5214, 0
  br i1 %1618, label %false879, label %true878

true878:                                          ; preds = %false877
  store i8 0, i8* %tmp_, align 1
  %_rtZCE_5215 = load %PrevZCX_REVS_VM_T.20** %_rtZCE_, align 1
  %1619 = getelementptr inbounds %PrevZCX_REVS_VM_T.20* %_rtZCE_5215, i32 0, i32 12
  %_rtB_5216 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %1620 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_5216, i32 0, i32 234
  %_rtB__DataTypeConversion2_l = load double* %1620, align 1
  %1621 = call i32 @rt_ZCFcn(i32 -1, i8* %1619, double %_rtB__DataTypeConversion2_l)
  %1622 = icmp eq i32 %1621, 0
  br i1 %1622, label %false881, label %true880

false879:                                         ; preds = %true882, %false881, %false877
  %_rtX_5222 = load %X_REVS_VM_T.18** %_rtX_, align 1
  %1623 = getelementptr inbounds %X_REVS_VM_T.18* %_rtX_5222, i32 0, i32 29
  %_rtX__runningtimer_CSTATE = load double* %1623, align 1
  %_rtB_5223 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %1624 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_5223, i32 0, i32 237
  store double %_rtX__runningtimer_CSTATE, double* %1624, align 1
  %"%<tSimStruct>_5224" = load i8** %"%<tSimStruct>_", align 1
  call void @vm_ssCallAccelRunBlock(i8* %"%<tSimStruct>_5224", i32 248, i32 926, i32 104)
  %vm_ssIsSampleHitVar0_5225 = load i32* %vm_ssIsSampleHitVar0_, align 1
  store i32 %vm_ssIsSampleHitVar0_5225, i32* %i_0_, align 1
  %1625 = icmp eq i32 %vm_ssIsSampleHitVar0_5225, 0
  br i1 %1625, label %false885, label %true884

true880:                                          ; preds = %true878
  store i8 1, i8* %tmp_, align 1
  %_rtP_5218 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %1626 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_5218, i32 0, i32 618
  %_rtP__runningtimer_IC = load double* %1626, align 1
  %_rtX_5219 = load %X_REVS_VM_T.18** %_rtX_, align 1
  %1627 = getelementptr inbounds %X_REVS_VM_T.18* %_rtX_5219, i32 0, i32 29
  store double %_rtP__runningtimer_IC, double* %1627, align 1
  br label %false881

false881:                                         ; preds = %true878, %true880
  %tmp_5220 = load i8* %tmp_, align 1
  %1628 = and i8 %tmp_5220, 1
  %1629 = icmp eq i8 %1628, 0
  br i1 %1629, label %false879, label %true882

true882:                                          ; preds = %false881
  %"%<tSimStruct>_5221" = load i8** %"%<tSimStruct>_", align 1
  call void @vm_ssSetSolverNeedsReset(i8* %"%<tSimStruct>_5221")
  br label %false879

true884:                                          ; preds = %false879
  %_rtB_5227 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %1630 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_5227, i32 0, i32 1
  %_rtB__veh_spd_mps5228 = load double* %1630, align 1
  %1631 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_5227, i32 0, i32 239
  %_rtB__Switch_f5 = load double* %1631, align 1
  %1632 = call double @muDoubleScalarMin(double %_rtB__veh_spd_mps5228, double %_rtB__Switch_f5)
  %_rtB_5230 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %1633 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_5230, i32 0, i32 240
  %_rtB__Switch1_cr = load double* %1633, align 1
  %1634 = call double @muDoubleScalarMax(double %1632, double %_rtB__Switch1_cr)
  %_rtP_5231 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %1635 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_5231, i32 0, i32 626, i32 0
  %1636 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_5231, i32 0, i32 625, i32 0
  %_rtDW_5233 = load %DW_REVS_VM_T.16** %_rtDW_, align 1
  %1637 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_5233, i32 0, i32 792
  %1638 = call double @look1_plinlxpw(double %1634, double* %1635, double* %1636, i32* %1637, i32 1)
  %_rtB_5234 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %1639 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_5234, i32 0, i32 241
  store double %1638, double* %1639, align 1
  br label %false885

false885:                                         ; preds = %false879, %true884
  %_rtB_5235 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %1640 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_5235, i32 0, i32 236
  %_rtB__eng_des_spd_radps = load double* %1640, align 1
  %1641 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_5235, i32 0, i32 238
  %_rtB__startupflare = load double* %1641, align 1
  %1642 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_5235, i32 0, i32 241
  %_rtB__Lookup_d = load double* %1642, align 1
  %tmp183 = fmul double %_rtB__startupflare, %_rtB__Lookup_d
  %1643 = call double @muDoubleScalarMax(double %_rtB__eng_des_spd_radps, double %tmp183)
  store double %1643, double* %u0_, align 1
  %_rtB_5238 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %1644 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_5238, i32 0, i32 228
  %_rtB__Memory_b5239 = load double* %1644, align 1
  %1645 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_5238, i32 0, i32 235
  %_rtB__softlandingoffsetradps = load double* %1645, align 1
  %tmp184 = fadd double %1643, %_rtB__softlandingoffsetradps
  %1646 = fcmp oge double %_rtB__Memory_b5239, %tmp184
  %1647 = uitofp i1 %1646 to double
  %1648 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_5238, i32 0, i32 242
  store double %1647, double* %1648, align 1
  %_rtDW_5243 = load %DW_REVS_VM_T.16** %_rtDW_, align 1
  %1649 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_5243, i32 0, i32 51
  %_rtDW__LastMajorTime_a = load double* %1649, align 1
  %1650 = fcmp oeq double %_rtDW__LastMajorTime_a, 0x7FF0000000000000
  br i1 %1650, label %true886, label %false887

true886:                                          ; preds = %false885
  %_rtB_5268 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %1651 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_5268, i32 0, i32 242
  %_rtB__DataTypeConversion_i5269 = load double* %1651, align 1
  %1652 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_5268, i32 0, i32 243
  store double %_rtB__DataTypeConversion_i5269, double* %1652, align 1
  br label %merge2610

false887:                                         ; preds = %false885
  %vm_ssGetTaskTimeVar4_5244 = load double* %vm_ssGetTaskTimeVar4_, align 1
  %tmp185 = fsub double %vm_ssGetTaskTimeVar4_5244, %_rtDW__LastMajorTime_a
  store double %tmp185, double* %u0_0_, align 1
  %_rtP_5248 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %1653 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_5248, i32 0, i32 627
  %_rtP__RateLimiter_RisingLim_jp = load double* %1653, align 1
  %tmp186 = fmul double %tmp185, %_rtP__RateLimiter_RisingLim_jp
  store double %tmp186, double* %riseValLimit_, align 1
  %_rtB_5249 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %1654 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_5249, i32 0, i32 242
  %_rtB__DataTypeConversion_i = load double* %1654, align 1
  %1655 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_5243, i32 0, i32 50
  %_rtDW__PrevY_dw = load double* %1655, align 1
  %tmp187 = fsub double %_rtB__DataTypeConversion_i, %_rtDW__PrevY_dw
  store double %tmp187, double* %rateLimiterRate_, align 1
  %1656 = fcmp ogt double %tmp187, %tmp186
  br i1 %1656, label %true888, label %false889

true888:                                          ; preds = %false887
  %tmp190 = fadd double %_rtDW__PrevY_dw, %tmp186
  %1657 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_5249, i32 0, i32 243
  store double %tmp190, double* %1657, align 1
  br label %merge2610

false889:                                         ; preds = %false887
  %1658 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_5248, i32 0, i32 628
  %_rtP__RateLimiter_FallingLim_a = load double* %1658, align 1
  %tmp188 = fmul double %tmp185, %_rtP__RateLimiter_FallingLim_a
  store double %tmp188, double* %u0_0_, align 1
  %1659 = fcmp olt double %tmp187, %tmp188
  br i1 %1659, label %true890, label %false891

true890:                                          ; preds = %false889
  %_rtDW__PrevY_dw5261 = load double* %1655, align 1
  %tmp189 = fadd double %_rtDW__PrevY_dw5261, %tmp188
  %1660 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_5249, i32 0, i32 243
  store double %tmp189, double* %1660, align 1
  br label %merge2610

false891:                                         ; preds = %false889
  %_rtB__DataTypeConversion_i5258 = load double* %1654, align 1
  %1661 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_5249, i32 0, i32 243
  store double %_rtB__DataTypeConversion_i5258, double* %1661, align 1
  br label %merge2610

true892:                                          ; preds = %merge2610
  store i8 0, i8* %tmp_, align 1
  %_rtZCE_5286 = load %PrevZCX_REVS_VM_T.20** %_rtZCE_, align 1
  %1662 = getelementptr inbounds %PrevZCX_REVS_VM_T.20* %_rtZCE_5286, i32 0, i32 13
  %_rtZCE__Integrator_Reset_ZCE_k = load i8* %1662, align 1
  %1663 = icmp eq i8 %_rtZCE__Integrator_Reset_ZCE_k, 1
  %1664 = zext i1 %1663 to i8
  %_rtB_5287 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %1665 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_5287, i32 0, i32 693
  %_rtB__LogicalOperator_p = load i8* %1665, align 1
  %1666 = icmp ne i8 %1664, %_rtB__LogicalOperator_p
  %1667 = icmp ne i8 %_rtZCE__Integrator_Reset_ZCE_k, 3
  %1668 = and i1 %1666, %1667
  %1669 = zext i1 %1668 to i8
  store i8 %1669, i8* %didZcEventOccur_, align 1
  store i8 %_rtB__LogicalOperator_p, i8* %1662, align 1
  %_rtB_5294 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %1670 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_5294, i32 0, i32 693
  %_rtB__LogicalOperator_p5295 = load i8* %1670, align 1
  %1671 = or i8 %_rtB__LogicalOperator_p5295, %1669
  %1672 = and i8 %1671, 1
  %1673 = icmp eq i8 %1672, 0
  br i1 %1673, label %false895, label %true894

false893:                                         ; preds = %true896, %false895, %merge2610
  %_rtX_5300 = load %X_REVS_VM_T.18** %_rtX_, align 1
  %1674 = getelementptr inbounds %X_REVS_VM_T.18* %_rtX_5300, i32 0, i32 30
  %_rtX__Integrator_CSTATE_gp = load double* %1674, align 1
  %_rtP_5301 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %1675 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_5301, i32 0, i32 632
  %_rtP__Integrator_UpperSat_m = load double* %1675, align 1
  %1676 = fcmp ult double %_rtX__Integrator_CSTATE_gp, %_rtP__Integrator_UpperSat_m
  br i1 %1676, label %false899, label %true898

true894:                                          ; preds = %true892
  store i8 1, i8* %tmp_, align 1
  %_rtP_5296 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %1677 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_5296, i32 0, i32 631
  %_rtP__Integrator_IC_bt = load double* %1677, align 1
  %_rtX_5297 = load %X_REVS_VM_T.18** %_rtX_, align 1
  %1678 = getelementptr inbounds %X_REVS_VM_T.18* %_rtX_5297, i32 0, i32 30
  store double %_rtP__Integrator_IC_bt, double* %1678, align 1
  br label %false895

false895:                                         ; preds = %true892, %true894
  %tmp_5298 = load i8* %tmp_, align 1
  %1679 = and i8 %tmp_5298, 1
  %1680 = icmp eq i8 %1679, 0
  br i1 %1680, label %false893, label %true896

true896:                                          ; preds = %false895
  %"%<tSimStruct>_5299" = load i8** %"%<tSimStruct>_", align 1
  call void @vm_ssSetSolverNeedsReset(i8* %"%<tSimStruct>_5299")
  br label %false893

true898:                                          ; preds = %false893
  %1681 = fcmp une double %_rtX__Integrator_CSTATE_gp, %_rtP__Integrator_UpperSat_m
  br i1 %1681, label %true904, label %merge2611

false899:                                         ; preds = %false893
  %1682 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_5301, i32 0, i32 633
  %_rtP__Integrator_LowerSat_b = load double* %1682, align 1
  %1683 = fcmp ole double %_rtX__Integrator_CSTATE_gp, %_rtP__Integrator_LowerSat_b
  %1684 = fcmp une double %_rtX__Integrator_CSTATE_gp, %_rtP__Integrator_LowerSat_b
  %or.cond10136 = and i1 %1683, %1684
  br i1 %or.cond10136, label %true902, label %merge2611

true902:                                          ; preds = %false899
  store double %_rtP__Integrator_LowerSat_b, double* %1674, align 1
  %"%<tSimStruct>_5312" = load i8** %"%<tSimStruct>_", align 1
  call void @vm_ssSetSolverNeedsReset(i8* %"%<tSimStruct>_5312")
  br label %merge2611

true904:                                          ; preds = %true898
  store double %_rtP__Integrator_UpperSat_m, double* %1674, align 1
  %"%<tSimStruct>_5320" = load i8** %"%<tSimStruct>_", align 1
  call void @vm_ssSetSolverNeedsReset(i8* %"%<tSimStruct>_5320")
  br label %merge2611

true906:                                          ; preds = %merge2611
  %_rtB_5336 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %1685 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_5336, i32 0, i32 245
  store double %_rtP__sat0_UpperSat, double* %1685, align 1
  br label %merge2613

false907:                                         ; preds = %merge2611
  %1686 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_5323, i32 0, i32 636
  %_rtP__sat0_LowerSat = load double* %1686, align 1
  %1687 = fcmp olt double %tmp196, %_rtP__sat0_LowerSat
  %_rtB_5333 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %1688 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_5333, i32 0, i32 245
  br i1 %1687, label %true908, label %false909

true908:                                          ; preds = %false907
  store double %_rtP__sat0_LowerSat, double* %1688, align 1
  br label %merge2613

false909:                                         ; preds = %false907
  store double %tmp196, double* %1688, align 1
  br label %merge2613

true910:                                          ; preds = %merge2613
  %_rtB_5369.pre = load %B_REVS_VM_T.12** %_rtB_, align 1
  br label %merge2615

false911:                                         ; preds = %merge2613
  store double %_rtDW__TimeStampA_i, double* %u0_, align 1
  %1689 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_5337, i32 0, i32 53
  store double* %1689, double** %lastU_, align 1
  %_rtDW__TimeStampA_i5345 = load double* %4800, align 1
  %_rtDW__TimeStampB_a5347 = load double* %4802, align 1
  %1690 = fcmp olt double %_rtDW__TimeStampA_i5345, %_rtDW__TimeStampB_a5347
  br i1 %1690, label %true912, label %false913

true912:                                          ; preds = %false911
  %1691 = fcmp olt double %_rtDW__TimeStampB_a5347, %vm_ssGetTVar5_5338
  br i1 %1691, label %true916, label %merge2614

false913:                                         ; preds = %false911
  %1692 = fcmp ult double %_rtDW__TimeStampA_i5345, %vm_ssGetTVar5_5338
  br i1 %1692, label %merge2614, label %true914

true914:                                          ; preds = %false913
  store double %_rtDW__TimeStampB_a5347, double* %u0_, align 1
  %1693 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_5337, i32 0, i32 55
  store double* %1693, double** %lastU_, align 1
  br label %merge2614

true916:                                          ; preds = %true912
  store double %_rtDW__TimeStampB_a5347, double* %u0_, align 1
  %1694 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_5337, i32 0, i32 55
  store double* %1694, double** %lastU_, align 1
  br label %merge2614

true918:                                          ; preds = %merge2615
  %_rtB_5407.pre = load %B_REVS_VM_T.12** %_rtB_, align 1
  br label %merge2617

false919:                                         ; preds = %merge2615
  store double %_rtDW__TimeStampA_l, double* %u0_, align 1
  %1695 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_5377, i32 0, i32 57
  store double* %1695, double** %lastU_, align 1
  %_rtDW__TimeStampA_l5385 = load double* %4814, align 1
  %_rtDW__TimeStampB_h5387 = load double* %4816, align 1
  %1696 = fcmp olt double %_rtDW__TimeStampA_l5385, %_rtDW__TimeStampB_h5387
  br i1 %1696, label %true920, label %false921

true920:                                          ; preds = %false919
  %1697 = fcmp olt double %_rtDW__TimeStampB_h5387, %vm_ssGetTVar5_5378
  br i1 %1697, label %true924, label %merge2616

false921:                                         ; preds = %false919
  %1698 = fcmp ult double %_rtDW__TimeStampA_l5385, %vm_ssGetTVar5_5378
  br i1 %1698, label %merge2616, label %true922

true922:                                          ; preds = %false921
  store double %_rtDW__TimeStampB_h5387, double* %u0_, align 1
  %1699 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_5377, i32 0, i32 59
  store double* %1699, double** %lastU_, align 1
  br label %merge2616

true924:                                          ; preds = %true920
  store double %_rtDW__TimeStampB_h5387, double* %u0_, align 1
  %1700 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_5377, i32 0, i32 59
  store double* %1700, double** %lastU_, align 1
  br label %merge2616

true926:                                          ; preds = %merge2617
  %_rtB_5410 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %1701 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_5410, i32 0, i32 228
  %_rtB__Memory_b5411 = load double* %1701, align 1
  %_rtP_5412 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %1702 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_5412, i32 0, i32 641, i32 0
  %1703 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_5412, i32 0, i32 640, i32 0
  %_rtDW_5414 = load %DW_REVS_VM_T.16** %_rtDW_, align 1
  %1704 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_5414, i32 0, i32 794
  %1705 = call double @look1_plinlcapw(double %_rtB__Memory_b5411, double* %1702, double* %1703, i32* %1704, i32 8)
  %_rtP_5415 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %1706 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_5415, i32 0, i32 642
  %_rtP__gain_Gain = load double* %1706, align 1
  %tmp207 = fmul double %1705, %_rtP__gain_Gain
  %_rtB_5417 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %1707 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_5417, i32 0, i32 248
  store double %tmp207, double* %1707, align 1
  br label %false927

false927:                                         ; preds = %merge2617, %true926
  %rtb_Subtract_h_5418 = load double* %rtb_Subtract_h_, align 1
  %_rtB_5419 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %1708 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_5419, i32 0, i32 247
  %_rtB__enginer2 = load double* %1708, align 1
  %tmp208 = fadd double %rtb_Subtract_h_5418, %_rtB__enginer2
  %1709 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_5419, i32 0, i32 248
  %_rtB__gain = load double* %1709, align 1
  %tmp209 = fsub double %tmp208, %_rtB__gain
  store double %tmp209, double* %rtb_Add_l4_, align 1
  %1710 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_5419, i32 0, i32 234
  %_rtB__DataTypeConversion2_l5422 = load double* %1710, align 1
  %tmp210 = fmul double %tmp209, %_rtB__DataTypeConversion2_l5422
  store double %tmp210, double* %u0_0_, align 1
  %_rtP_5425 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %1711 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_5425, i32 0, i32 643
  %_rtP__pos1_UpperSat = load double* %1711, align 1
  %1712 = fcmp ogt double %tmp210, %_rtP__pos1_UpperSat
  br i1 %1712, label %true928, label %false929

true928:                                          ; preds = %false927
  %1713 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_5419, i32 0, i32 249
  store double %_rtP__pos1_UpperSat, double* %1713, align 1
  br label %merge2619

false929:                                         ; preds = %false927
  %1714 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_5425, i32 0, i32 644
  %_rtP__pos1_LowerSat = load double* %1714, align 1
  %1715 = fcmp olt double %tmp210, %_rtP__pos1_LowerSat
  %1716 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_5419, i32 0, i32 249
  br i1 %1715, label %true930, label %false931

true930:                                          ; preds = %false929
  store double %_rtP__pos1_LowerSat, double* %1716, align 1
  br label %merge2619

false931:                                         ; preds = %false929
  store double %tmp210, double* %1716, align 1
  br label %merge2619

false933:                                         ; preds = %merge2619
  %1717 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_5441, i32 0, i32 648
  %_rtP__reduceonly1_LowerSat = load double* %1717, align 1
  %1718 = fcmp olt double %_rtB__MinMax, %_rtP__reduceonly1_LowerSat
  %_rtP__reduceonly1_LowerSat._rtB__MinMax = select i1 %1718, double %_rtP__reduceonly1_LowerSat, double %_rtB__MinMax
  %.10086 = select i1 %1718, double* %1717, double* %4828
  br label %merge2621

false937:                                         ; preds = %merge2621
  %1719 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_5441, i32 0, i32 651
  %_rtP__eps_LowerSat_k = load double* %1719, align 1
  %1720 = fcmp olt double %_rtB__tc_spd_in_radps5453, %_rtP__eps_LowerSat_k
  %_rtP__eps_LowerSat_k._rtB__tc_spd_in_radps5453 = select i1 %1720, double %_rtP__eps_LowerSat_k, double %_rtB__tc_spd_in_radps5453
  %.10087 = select i1 %1720, double* %1719, double* %4832
  br label %merge2623

false941:                                         ; preds = %merge2623
  %1721 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_5487, i32 0, i32 657
  %_rtP__pos2_LowerSat = load double* %1721, align 1
  %1722 = fcmp olt double %tmp216, %_rtP__pos2_LowerSat
  %_rtP__pos2_LowerSat.tmp216 = select i1 %1722, double %_rtP__pos2_LowerSat, double %tmp216
  br label %merge2625

true944:                                          ; preds = %merge2625
  %_rtDW_5503 = load %DW_REVS_VM_T.16** %_rtDW_, align 1
  %1723 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_5503, i32 0, i32 60
  %_rtDW__Memory_11_PreviousInput = load double* %1723, align 1
  store double %_rtDW__Memory_11_PreviousInput, double* %rtb_eng_load_Nm_, align 1
  %_rtB_5506 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %1724 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_5506, i32 0, i32 257
  %_rtB__Switch_k = load double* %1724, align 1
  %1725 = call double @muDoubleScalarMin(double %_rtDW__Memory_11_PreviousInput, double %_rtB__Switch_k)
  %_rtB_5507 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %1726 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_5507, i32 0, i32 258
  %_rtB__Switch1_gs = load double* %1726, align 1
  %1727 = call double @muDoubleScalarMax(double %1725, double %_rtB__Switch1_gs)
  store double %1727, double* %u0_, align 1
  %rtb_driver_brk_norm_5508 = load double* %rtb_driver_brk_norm_, align 1
  %_rtB_5509 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %1728 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_5509, i32 0, i32 259
  %_rtB__Switch_hu = load double* %1728, align 1
  %1729 = call double @muDoubleScalarMin(double %rtb_driver_brk_norm_5508, double %_rtB__Switch_hu)
  %_rtB_5510 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %1730 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_5510, i32 0, i32 260
  %_rtB__Switch1_d2 = load double* %1730, align 1
  %1731 = call double @muDoubleScalarMax(double %1729, double %_rtB__Switch1_d2)
  store double %1731, double* %rateLimiterRate_, align 1
  %_rtB_5511 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %1732 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_5511, i32 0, i32 1
  %_rtB__veh_spd_mps5512 = load double* %1732, align 1
  %1733 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_5511, i32 0, i32 261
  %_rtB__Switch_hp = load double* %1733, align 1
  %1734 = call double @muDoubleScalarMin(double %_rtB__veh_spd_mps5512, double %_rtB__Switch_hp)
  %_rtB_5514 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %1735 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_5514, i32 0, i32 262
  %_rtB__Switch1_ng = load double* %1735, align 1
  %1736 = call double @muDoubleScalarMax(double %1734, double %_rtB__Switch1_ng)
  store double %1736, double* %u0_0_, align 1
  %rtb_gear_num_5515 = load double* %rtb_gear_num_, align 1
  %_rtB_5516 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %1737 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_5516, i32 0, i32 255
  %_rtB__Switch_nc = load double* %1737, align 1
  %1738 = call double @muDoubleScalarMin(double %rtb_gear_num_5515, double %_rtB__Switch_nc)
  %_rtB_5517 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %1739 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_5517, i32 0, i32 256
  %_rtB__Switch1_b = load double* %1739, align 1
  %1740 = call double @muDoubleScalarMax(double %1738, double %_rtB__Switch1_b)
  %_rtP_5518 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %1741 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_5518, i32 0, i32 676, i32 0
  %_rtDW_5519 = load %DW_REVS_VM_T.16** %_rtDW_, align 1
  %1742 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_5519, i32 0, i32 797, i32 0
  %1743 = call i32 @plook_linxp(double %1740, double* %1741, i32 8, double* %frac_, i32* %1742)
  store i32 %1743, i32* %rowIdx_, align 1
  %frac_5520 = load double* %frac_, align 1
  %1744 = getelementptr inbounds [4 x double]* %fractions_, i32 0, i32 0
  store double %frac_5520, double* %1744, align 1
  %1745 = getelementptr inbounds [4 x i32]* %bpIndices_, i32 0, i32 0
  store i32 %1743, i32* %1745, align 1
  %u0_5522 = load double* %u0_, align 1
  %_rtP_5523 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %1746 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_5523, i32 0, i32 677, i32 0
  %_rtDW_5524 = load %DW_REVS_VM_T.16** %_rtDW_, align 1
  %1747 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_5524, i32 0, i32 797, i32 1
  %1748 = call i32 @plook_linxp(double %u0_5522, double* %1746, i32 6, double* %frac_, i32* %1747)
  store i32 %1748, i32* %rowIdx_, align 1
  %frac_5525 = load double* %frac_, align 1
  %1749 = getelementptr inbounds [4 x double]* %fractions_, i32 0, i32 1
  store double %frac_5525, double* %1749, align 1
  %1750 = getelementptr inbounds [4 x i32]* %bpIndices_, i32 0, i32 1
  store i32 %1748, i32* %1750, align 1
  %_rtP_5528 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %1751 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_5528, i32 0, i32 678, i32 0
  %_rtDW_5529 = load %DW_REVS_VM_T.16** %_rtDW_, align 1
  %1752 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_5529, i32 0, i32 797, i32 2
  %1753 = call i32 @plook_linxp(double %1731, double* %1751, i32 1, double* %frac_, i32* %1752)
  store i32 %1753, i32* %rowIdx_, align 1
  %frac_5530 = load double* %frac_, align 1
  %1754 = getelementptr inbounds [4 x double]* %fractions_, i32 0, i32 2
  store double %frac_5530, double* %1754, align 1
  %1755 = getelementptr inbounds [4 x i32]* %bpIndices_, i32 0, i32 2
  store i32 %1753, i32* %1755, align 1
  %u0_0_5532 = load double* %u0_0_, align 1
  %_rtP_5533 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %1756 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_5533, i32 0, i32 679, i32 0
  %_rtDW_5534 = load %DW_REVS_VM_T.16** %_rtDW_, align 1
  %1757 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_5534, i32 0, i32 797, i32 3
  %1758 = call i32 @plook_linxp(double %u0_0_5532, double* %1756, i32 1, double* %frac_, i32* %1757)
  store i32 %1758, i32* %rowIdx_, align 1
  %frac_5535 = load double* %frac_, align 1
  %1759 = getelementptr inbounds [4 x double]* %fractions_, i32 0, i32 3
  store double %frac_5535, double* %1759, align 1
  %1760 = getelementptr inbounds [4 x i32]* %bpIndices_, i32 0, i32 3
  store i32 %1758, i32* %1760, align 1
  %_rtP_5537 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %1761 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_5537, i32 0, i32 675, i32 0
  %1762 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_5537, i32 0, i32 1388, i32 0
  %1763 = call double @intrp4d_l_pw(i32* %1745, double* %1744, double* %1761, i32* %1762)
  %_rtB_5539 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %1764 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_5539, i32 0, i32 263
  store double %1763, double* %1764, align 1
  br label %false945

false945:                                         ; preds = %merge2625, %true944
  %_rtDW_5540 = load %DW_REVS_VM_T.16** %_rtDW_, align 1
  %1765 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_5540, i32 0, i32 63
  %_rtDW__LastMajorTime_h = load double* %1765, align 1
  %1766 = fcmp oeq double %_rtDW__LastMajorTime_h, 0x7FF0000000000000
  br i1 %1766, label %true946, label %false947

true946:                                          ; preds = %false945
  %_rtB_5565 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %1767 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_5565, i32 0, i32 263
  %_rtB__Lookup_ch5566 = load double* %1767, align 1
  %1768 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_5565, i32 0, i32 264
  store double %_rtB__Lookup_ch5566, double* %1768, align 1
  br label %merge2628

false947:                                         ; preds = %false945
  %vm_ssGetTaskTimeVar4_5541 = load double* %vm_ssGetTaskTimeVar4_, align 1
  %tmp219 = fsub double %vm_ssGetTaskTimeVar4_5541, %_rtDW__LastMajorTime_h
  store double %tmp219, double* %u0_0_, align 1
  %_rtP_5545 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %1769 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_5545, i32 0, i32 680
  %_rtP__RateLimiter_RisingLim_m = load double* %1769, align 1
  %tmp220 = fmul double %tmp219, %_rtP__RateLimiter_RisingLim_m
  store double %tmp220, double* %riseValLimit_, align 1
  %_rtB_5546 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %1770 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_5546, i32 0, i32 263
  %_rtB__Lookup_ch = load double* %1770, align 1
  %1771 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_5540, i32 0, i32 62
  %_rtDW__PrevY_k = load double* %1771, align 1
  %tmp221 = fsub double %_rtB__Lookup_ch, %_rtDW__PrevY_k
  store double %tmp221, double* %rateLimiterRate_, align 1
  %1772 = fcmp ogt double %tmp221, %tmp220
  br i1 %1772, label %true948, label %false949

true948:                                          ; preds = %false947
  %tmp224 = fadd double %_rtDW__PrevY_k, %tmp220
  %1773 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_5546, i32 0, i32 264
  store double %tmp224, double* %1773, align 1
  br label %merge2628

false949:                                         ; preds = %false947
  %1774 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_5545, i32 0, i32 681
  %_rtP__RateLimiter_FallingLim_p = load double* %1774, align 1
  %tmp222 = fmul double %tmp219, %_rtP__RateLimiter_FallingLim_p
  store double %tmp222, double* %u0_0_, align 1
  %1775 = fcmp olt double %tmp221, %tmp222
  br i1 %1775, label %true950, label %false951

true950:                                          ; preds = %false949
  %_rtDW__PrevY_k5558 = load double* %1771, align 1
  %tmp223 = fadd double %_rtDW__PrevY_k5558, %tmp222
  %1776 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_5546, i32 0, i32 264
  store double %tmp223, double* %1776, align 1
  br label %merge2628

false951:                                         ; preds = %false949
  %_rtB__Lookup_ch5555 = load double* %1770, align 1
  %1777 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_5546, i32 0, i32 264
  store double %_rtB__Lookup_ch5555, double* %1777, align 1
  br label %merge2628

true952:                                          ; preds = %merge2628
  %_rtDW_5596 = load %DW_REVS_VM_T.16** %_rtDW_, align 1
  %1778 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_5596, i32 0, i32 2
  %_rtDW__DelayInput1_DSTATE_b = load double* %1778, align 1
  %1779 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_5592, i32 0, i32 273
  store double %_rtDW__DelayInput1_DSTATE_b, double* %1779, align 1
  %_rtB_5598.pre = load %B_REVS_VM_T.12** %_rtB_, align 1
  br label %false953

false953:                                         ; preds = %merge2628, %true952
  %_rtB_5607 = phi %B_REVS_VM_T.12* [ %_rtB_5592, %merge2628 ], [ %_rtB_5598.pre, %true952 ]
  %1780 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_5607, i32 0, i32 91
  %_rtB__tcc_engage_norm5599 = load double* %1780, align 1
  %tmp226 = fmul double %_rtB__tcc_engage_norm5599, %tmp225
  %1781 = fcmp ogt double %_rtB__tcc_engage_norm5599, 0.000000e+00
  %1782 = uitofp i1 %1781 to double
  %1783 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_5607, i32 0, i32 64
  %_rtB__ClutchSpeedDisengaged5604 = load double* %1783, align 1
  %1784 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_5607, i32 0, i32 96
  %_rtB__tc_spd_in_radps5606 = load double* %1784, align 1
  %tmp227 = fsub double %_rtB__ClutchSpeedDisengaged5604, %_rtB__tc_spd_in_radps5606
  %tmp228 = fmul double %1782, %tmp227
  %tmp229 = fsub double 1.000000e+00, %_rtB__tcc_engage_norm5599
  %1785 = call double @muDoubleScalarPower(double %tmp229, double 3.000000e+00)
  %tmp230 = fmul double 5.000000e+00, %1785
  %tmp231 = fadd double 5.000000e-02, %tmp230
  %tmp232 = fdiv double %tmp228, %tmp231
  %_rtB_5609 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %1786 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_5609, i32 0, i32 274
  %_rtB__engageduration = load double* %1786, align 1
  %tmp233 = fdiv double %tmp232, %_rtB__engageduration
  %1787 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_5609, i32 0, i32 91
  %_rtB__tcc_engage_norm5611 = load double* %1787, align 1
  %1788 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_5609, i32 0, i32 273
  %_rtB__Uk1 = load double* %1788, align 1
  %1789 = fcmp ogt double %_rtB__tcc_engage_norm5611, %_rtB__Uk1
  %1790 = uitofp i1 %1789 to double
  %tmp234 = fmul double %tmp233, %1790
  %1791 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_5609, i32 0, i32 276
  %_rtB__Sum6_m = load double* %1791, align 1
  %tmp235 = fmul double %_rtB__Sum6_m, %tmp234
  %tmp236 = fsub double %tmp226, %tmp235
  store double %tmp236, double* %rtb_Sum_d_, align 1
  %1792 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_5609, i32 0, i32 64
  %_rtB__ClutchSpeedDisengaged5615 = load double* %1792, align 1
  %_rtP_5616 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %1793 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_5616, i32 0, i32 703
  %_rtP__pos_UpperSat = load double* %1793, align 1
  %1794 = fcmp ogt double %_rtB__ClutchSpeedDisengaged5615, %_rtP__pos_UpperSat
  br i1 %1794, label %merge2630, label %false955

false955:                                         ; preds = %false953
  %1795 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_5616, i32 0, i32 704
  %_rtP__pos_LowerSat = load double* %1795, align 1
  %1796 = fcmp olt double %_rtB__ClutchSpeedDisengaged5615, %_rtP__pos_LowerSat
  %_rtP__pos_LowerSat._rtB__ClutchSpeedDisengaged5615 = select i1 %1796, double %_rtP__pos_LowerSat, double %_rtB__ClutchSpeedDisengaged5615
  %.10088 = select i1 %1796, double* %1795, double* %1792
  br label %merge2630

false959:                                         ; preds = %merge2630
  %1797 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_5616, i32 0, i32 706
  %_rtP__eps_LowerSat_m = load double* %1797, align 1
  %1798 = fcmp olt double %_rtB__tc_spd_in_radps5627, %_rtP__eps_LowerSat_m
  %_rtP__eps_LowerSat_m._rtB__tc_spd_in_radps5627 = select i1 %1798, double %_rtP__eps_LowerSat_m, double %_rtB__tc_spd_in_radps5627
  %.10089 = select i1 %1798, double* %1797, double* %4884
  br label %merge2632

true962:                                          ; preds = %merge2632
  %1799 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_5664, i32 0, i32 694
  %_rtB__Constant4 = load i8* %1799, align 1
  %1800 = and i8 %_rtB__Constant4, 1
  %1801 = icmp eq i8 %1800, 0
  %rtb_Subtract2_5671 = load double* %rtb_Subtract2_, align 1
  %_rtP_5672 = load %P_REVS_VM_T.17** %_rtP_, align 1
  br i1 %1801, label %false965, label %true964

false963:                                         ; preds = %merge2632
  %1802 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_5664, i32 0, i32 278
  %_rtB__torqueratio = load double* %1802, align 1
  %1803 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_5664, i32 0, i32 280
  %_rtB__hydrodynamic_load_torque = load double* %1803, align 1
  %tmp245 = fmul double %_rtB__torqueratio, %_rtB__hydrodynamic_load_torque
  %rtb_Sum_d_5668 = load double* %rtb_Sum_d_, align 1
  %tmp246 = fadd double %tmp245, %rtb_Sum_d_5668
  %1804 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_5664, i32 0, i32 281
  store double %tmp246, double* %1804, align 1
  br label %merge2636

true964:                                          ; preds = %true962
  %1805 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_5672, i32 0, i32 77
  %_rtP__Switch_Threshold = load double* %1805, align 1
  %1806 = fcmp ult double %rtb_Subtract2_5671, %_rtP__Switch_Threshold
  %1807 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_5664, i32 0, i32 271
  %1808 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_5664, i32 0, i32 221
  %storemerge9681.in = select i1 %1806, double* %1807, double* %1808
  %storemerge9681 = load double* %storemerge9681.in, align 1
  store double %storemerge9681, double* %frac_, align 1
  %tmp248 = fmul double %storemerge9681, %rtb_Subtract2_5671
  %1809 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_5664, i32 0, i32 281
  store double %tmp248, double* %1809, align 1
  br label %merge2636

false965:                                         ; preds = %true962
  %1810 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_5672, i32 0, i32 76
  %_rtP__Switch1_Threshold_n = load double* %1810, align 1
  %1811 = fcmp ult double %rtb_Subtract2_5671, %_rtP__Switch1_Threshold_n
  %1812 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_5664, i32 0, i32 221
  %1813 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_5664, i32 0, i32 272
  %storemerge9680.in = select i1 %1811, double* %1812, double* %1813
  %storemerge9680 = load double* %storemerge9680.in, align 1
  store double %storemerge9680, double* %frac_, align 1
  %tmp247 = fmul double %storemerge9680, %rtb_Subtract2_5671
  %1814 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_5664, i32 0, i32 281
  store double %tmp247, double* %1814, align 1
  br label %merge2636

true970:                                          ; preds = %merge2636
  %_rtB_5688 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %1815 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_5688, i32 0, i32 40
  %_rtB__Memory25689 = load double* %1815, align 1
  %1816 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_5688, i32 0, i32 282
  %_rtB__Switch_dn = load double* %1816, align 1
  %1817 = call double @muDoubleScalarMin(double %_rtB__Memory25689, double %_rtB__Switch_dn)
  %_rtB_5691 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %1818 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_5691, i32 0, i32 283
  %_rtB__Switch1_lp = load double* %1818, align 1
  %1819 = call double @muDoubleScalarMax(double %1817, double %_rtB__Switch1_lp)
  %_rtB_5692 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %1820 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_5692, i32 0, i32 284
  store double %1819, double* %1820, align 1
  br label %false971

false971:                                         ; preds = %merge2636, %true970
  %_rtB_5693 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %1821 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_5693, i32 0, i32 64
  %_rtB__ClutchSpeedDisengaged5694 = load double* %1821, align 1
  %1822 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_5693, i32 0, i32 285
  %_rtB__Switch_hh = load double* %1822, align 1
  %1823 = call double @muDoubleScalarMin(double %_rtB__ClutchSpeedDisengaged5694, double %_rtB__Switch_hh)
  %_rtB_5696 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %1824 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_5696, i32 0, i32 286
  %_rtB__Switch1_cg = load double* %1824, align 1
  %1825 = call double @muDoubleScalarMax(double %1823, double %_rtB__Switch1_cg)
  store double %1825, double* %u0_, align 1
  %_rtB_5697 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %1826 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_5697, i32 0, i32 264
  %_rtB__RateLimiter_b5698 = load double* %1826, align 1
  %1827 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_5697, i32 0, i32 287
  %_rtB__Switch_au = load double* %1827, align 1
  %1828 = call double @muDoubleScalarMin(double %_rtB__RateLimiter_b5698, double %_rtB__Switch_au)
  %_rtB_5700 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %1829 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_5700, i32 0, i32 288
  %_rtB__Switch1_ci = load double* %1829, align 1
  %1830 = call double @muDoubleScalarMax(double %1828, double %_rtB__Switch1_ci)
  store double %1830, double* %rateLimiterRate_, align 1
  %_rtB_5701 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %1831 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_5701, i32 0, i32 284
  %_rtB__MinMax1_e = load double* %1831, align 1
  %_rtP_5702 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %1832 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_5702, i32 0, i32 730, i32 0
  %_rtDW_5703 = load %DW_REVS_VM_T.16** %_rtDW_, align 1
  %1833 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_5703, i32 0, i32 801, i32 0
  %1834 = call i32 @plook_linxp(double %_rtB__MinMax1_e, double* %1832, i32 8, double* %frac_1_, i32* %1833)
  store i32 %1834, i32* %rowIdx_, align 1
  %frac_1_5704 = load double* %frac_1_, align 1
  %1835 = getelementptr inbounds [4 x double]* %fractions_1_, i32 0, i32 0
  store double %frac_1_5704, double* %1835, align 1
  %1836 = getelementptr inbounds [4 x i32]* %bpIndices_1_, i32 0, i32 0
  store i32 %1834, i32* %1836, align 1
  %u0_5706 = load double* %u0_, align 1
  %_rtP_5707 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %1837 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_5707, i32 0, i32 731, i32 0
  %_rtDW_5708 = load %DW_REVS_VM_T.16** %_rtDW_, align 1
  %1838 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_5708, i32 0, i32 801, i32 1
  %1839 = call i32 @plook_linxp(double %u0_5706, double* %1837, i32 10, double* %frac_1_, i32* %1838)
  store i32 %1839, i32* %rowIdx_, align 1
  %frac_1_5709 = load double* %frac_1_, align 1
  %1840 = getelementptr inbounds [4 x double]* %fractions_1_, i32 0, i32 1
  store double %frac_1_5709, double* %1840, align 1
  %1841 = getelementptr inbounds [4 x i32]* %bpIndices_1_, i32 0, i32 1
  store i32 %1839, i32* %1841, align 1
  %rateLimiterRate_5711 = load double* %rateLimiterRate_, align 1
  %_rtP_5712 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %1842 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_5712, i32 0, i32 732, i32 0
  %_rtDW_5713 = load %DW_REVS_VM_T.16** %_rtDW_, align 1
  %1843 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_5713, i32 0, i32 801, i32 2
  %1844 = call i32 @plook_linxp(double %rateLimiterRate_5711, double* %1842, i32 2, double* %frac_1_, i32* %1843)
  store i32 %1844, i32* %rowIdx_, align 1
  %frac_1_5714 = load double* %frac_1_, align 1
  %1845 = getelementptr inbounds [4 x double]* %fractions_1_, i32 0, i32 2
  store double %frac_1_5714, double* %1845, align 1
  %1846 = getelementptr inbounds [4 x i32]* %bpIndices_1_, i32 0, i32 2
  store i32 %1844, i32* %1846, align 1
  %_rtB_5716 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %1847 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_5716, i32 0, i32 289
  %_rtB__MinMax1_on = load double* %1847, align 1
  %_rtP_5717 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %1848 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_5717, i32 0, i32 733, i32 0
  %_rtDW_5718 = load %DW_REVS_VM_T.16** %_rtDW_, align 1
  %1849 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_5718, i32 0, i32 801, i32 3
  %1850 = call i32 @plook_linxp(double %_rtB__MinMax1_on, double* %1848, i32 2, double* %frac_1_, i32* %1849)
  store i32 %1850, i32* %rowIdx_, align 1
  %frac_1_5719 = load double* %frac_1_, align 1
  %1851 = getelementptr inbounds [4 x double]* %fractions_1_, i32 0, i32 3
  store double %frac_1_5719, double* %1851, align 1
  %1852 = getelementptr inbounds [4 x i32]* %bpIndices_1_, i32 0, i32 3
  store i32 %1850, i32* %1852, align 1
  %_rtP_5721 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %1853 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_5721, i32 0, i32 729, i32 0
  %1854 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_5721, i32 0, i32 1401, i32 0
  %1855 = call double @intrp4d_l_pw(i32* %1836, double* %1835, double* %1853, i32* %1854)
  %_rtB_5723 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %1856 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_5723, i32 0, i32 290
  store double %1855, double* %1856, align 1
  %vm_ssIsSampleHitVar0_5724 = load i32* %vm_ssIsSampleHitVar0_, align 1
  store i32 %vm_ssIsSampleHitVar0_5724, i32* %i_0_, align 1
  %1857 = icmp eq i32 %vm_ssIsSampleHitVar0_5724, 0
  br i1 %1857, label %false973, label %true972

true972:                                          ; preds = %false971
  %_rtB_5726 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %1858 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_5726, i32 0, i32 40
  %_rtB__Memory25727 = load double* %1858, align 1
  %_rtP_5728 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %1859 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_5728, i32 0, i32 735, i32 0
  %1860 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_5728, i32 0, i32 734, i32 0
  %1861 = call double @look1_binlxpw(double %_rtB__Memory25727, double* %1859, double* %1860, i32 8)
  %_rtB_5730 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %1862 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_5730, i32 0, i32 291
  store double %1861, double* %1862, align 1
  br label %false973

false973:                                         ; preds = %false971, %true972
  %_rtB_5731 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %1863 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_5731, i32 0, i32 61
  %_rtB__Saturation5732 = load double* %1863, align 1
  %1864 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_5731, i32 0, i32 291
  %_rtB__uDLookupTable = load double* %1864, align 1
  %tmp249 = fmul double %_rtB__Saturation5732, %_rtB__uDLookupTable
  %1865 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_5731, i32 0, i32 292
  store double %tmp249, double* %1865, align 1
  %_rtDW_5735 = load %DW_REVS_VM_T.16** %_rtDW_, align 1
  %1866 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_5735, i32 0, i32 66
  %_rtDW__TimeStampA_im = load double* %1866, align 1
  %vm_ssGetTVar5_5736 = load double* %vm_ssGetTVar5_, align 1
  %1867 = fcmp oge double %_rtDW__TimeStampA_im, %vm_ssGetTVar5_5736
  %1868 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_5735, i32 0, i32 68
  %_rtDW__TimeStampB_i = load double* %1868, align 1
  %1869 = fcmp oge double %_rtDW__TimeStampB_i, %vm_ssGetTVar5_5736
  %1870 = and i1 %1867, %1869
  br i1 %1870, label %merge2638, label %false975

false975:                                         ; preds = %false973
  store double %_rtDW__TimeStampA_im, double* %u0_, align 1
  %1871 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_5735, i32 0, i32 67
  store double* %1871, double** %lastU_, align 1
  %_rtDW__TimeStampA_im5743 = load double* %1866, align 1
  %_rtDW__TimeStampB_i5745 = load double* %1868, align 1
  %1872 = fcmp olt double %_rtDW__TimeStampA_im5743, %_rtDW__TimeStampB_i5745
  br i1 %1872, label %true976, label %false977

true976:                                          ; preds = %false975
  %1873 = fcmp olt double %_rtDW__TimeStampB_i5745, %vm_ssGetTVar5_5736
  br i1 %1873, label %true980, label %merge2637

false977:                                         ; preds = %false975
  %1874 = fcmp ult double %_rtDW__TimeStampA_im5743, %vm_ssGetTVar5_5736
  br i1 %1874, label %merge2637, label %true978

true978:                                          ; preds = %false977
  store double %_rtDW__TimeStampB_i5745, double* %u0_, align 1
  %1875 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_5735, i32 0, i32 69
  store double* %1875, double** %lastU_, align 1
  br label %merge2637

true980:                                          ; preds = %true976
  store double %_rtDW__TimeStampB_i5745, double* %u0_, align 1
  %1876 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_5735, i32 0, i32 69
  store double* %1876, double** %lastU_, align 1
  br label %merge2637

false983:                                         ; preds = %merge2638
  %1877 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_5764, i32 0, i32 737
  %_rtP__Saturation_LowerSat_f = load double* %1877, align 1
  %1878 = fcmp olt double %rtb_Derivative_n_5767, %_rtP__Saturation_LowerSat_f
  %_rtP__Saturation_LowerSat_f.rtb_Derivative_n_5767 = select i1 %1878, double %_rtP__Saturation_LowerSat_f, double %rtb_Derivative_n_5767
  br label %merge2640

false987:                                         ; preds = %merge2640
  %1879 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_5813, i32 0, i32 303
  %_rtB__Product1_p = load double* %1879, align 1
  br label %merge2641

true988:                                          ; preds = %merge2641
  %1880 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_5813, i32 0, i32 220
  %_rtB__Lookup_c = load double* %1880, align 1
  %tmp275 = fdiv double 1.000000e+00, %_rtB__Lookup_c
  %1881 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_5813, i32 0, i32 304
  store double %tmp275, double* %1881, align 1
  br label %false989

false989:                                         ; preds = %merge2641, %true988
  %_rtP_5822 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %1882 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_5822, i32 0, i32 749
  %_rtP__Switch_Threshold_cq = load double* %1882, align 1
  %1883 = fcmp ult double %rtb_TorqueSW_6194, %_rtP__Switch_Threshold_cq
  %_rtB_5823 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %1884 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_5823, i32 0, i32 304
  %1885 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_5823, i32 0, i32 220
  %storemerge9626.in = select i1 %1883, double* %1884, double* %1885
  %storemerge9626 = load double* %storemerge9626.in, align 1
  store double %storemerge9626, double* %frac_1_, align 1
  %tmp276 = fmul double %storemerge9626, %rtb_TorqueSW_6194
  %1886 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_5823, i32 0, i32 217
  %_rtB__gb_cmd_ratio = load double* %1886, align 1
  %tmp277 = fmul double %tmp276, %_rtB__gb_cmd_ratio
  store double %tmp277, double* %rtb_Product5_a_, align 1
  %1887 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_5823, i32 0, i32 47
  %_rtB__Product35830 = load double* %1887, align 1
  %1888 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_5823, i32 0, i32 305
  %_rtB__Switch_ad = load double* %1888, align 1
  %1889 = call double @muDoubleScalarMin(double %_rtB__Product35830, double %_rtB__Switch_ad)
  %_rtB_5832 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %1890 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_5832, i32 0, i32 306
  %_rtB__Switch1_mb = load double* %1890, align 1
  %1891 = call double @muDoubleScalarMax(double %1889, double %_rtB__Switch1_mb)
  %_rtP_5833 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %1892 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_5833, i32 0, i32 755, i32 0
  %1893 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_5833, i32 0, i32 754, i32 0
  %_rtDW_5835 = load %DW_REVS_VM_T.16** %_rtDW_, align 1
  %1894 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_5835, i32 0, i32 802
  %1895 = call double @look1_plinlxpw(double %1891, double* %1892, double* %1893, i32* %1894, i32 1)
  %_rtB_5836 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %1896 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_5836, i32 0, i32 307
  store double %1895, double* %1896, align 1
  %_rtB_5838 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %1897 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_5838, i32 0, i32 307
  %_rtB__Lookup_g = load double* %1897, align 1
  %tmp278 = fsub double %tmp277, %_rtB__Lookup_g
  %1898 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_5838, i32 0, i32 308
  store double %tmp278, double* %1898, align 1
  %_rtB_5840 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %1899 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_5840, i32 0, i32 217
  %_rtB__gb_cmd_ratio5841 = load double* %1899, align 1
  %tmp279 = fmul double %_rtB__gb_cmd_ratio5841, %_rtB__gb_cmd_ratio5841
  %1900 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_5840, i32 0, i32 630
  %_rtB__LogicalOperator5846 = load i8* %1900, align 1
  %1901 = uitofp i8 %_rtB__LogicalOperator5846 to double
  %tmp280 = fmul double %tmp259, %1901
  %tmp281 = fmul double %tmp279, %tmp280
  %1902 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_5840, i32 0, i32 309
  %_rtB__Constant3_k = load double* %1902, align 1
  %tmp282 = fadd double %_rtB__Constant3_k, %tmp281
  %1903 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_5840, i32 0, i32 310
  store double %tmp282, double* %1903, align 1
  %_rtB_5849 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %1904 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_5849, i32 0, i32 308
  %_rtB__gb_trq_out_Nm = load double* %1904, align 1
  %rtb_Derivative_5850 = load double* %rtb_Derivative_, align 1
  %1905 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_5849, i32 0, i32 310
  %_rtB__Sum2_b = load double* %1905, align 1
  %tmp283 = fmul double %rtb_Derivative_5850, %_rtB__Sum2_b
  %tmp284 = fsub double %_rtB__gb_trq_out_Nm, %tmp283
  %1906 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_5849, i32 0, i32 47
  %_rtB__Product35853 = load double* %1906, align 1
  %tmp285 = fmul double %tmp284, %_rtB__Product35853
  %1907 = fcmp oge double %tmp285, 0.000000e+00
  %1908 = uitofp i1 %1907 to double
  %tmp286 = fmul double %tmp285, %1908
  %_rtP_5856 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %1909 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_5856, i32 0, i32 757
  %_rtP__Gain_Gain_n = load double* %1909, align 1
  %tmp287 = fmul double %_rtP__Gain_Gain_n, %tmp286
  %1910 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_5849, i32 0, i32 311
  store double %tmp287, double* %1910, align 1
  br label %merge2643

true992:                                          ; preds = %merge2643
  %_rtB_9561 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %1911 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_9561, i32 0, i32 172, i32 %i_0_9566
  %_rtB__DataTypeConversion_el9563 = load double* %1911, align 1
  %1912 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_9561, i32 0, i32 311
  %_rtB__Gain_e = load double* %1912, align 1
  %tmp626 = fmul double %_rtB__DataTypeConversion_el9563, %_rtB__Gain_e
  %1913 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_9561, i32 0, i32 312, i32 %i_0_9566
  store double %tmp626, double* %1913, align 1
  %i_0_9567 = load i32* %i_0_, align 1
  %tmp627 = add i32 %i_0_9567, 1
  br label %merge2643

false993:                                         ; preds = %merge2643
  %vm_ssIsSampleHitVar0_5859 = load i32* %vm_ssIsSampleHitVar0_, align 1
  store i32 %vm_ssIsSampleHitVar0_5859, i32* %i_0_, align 1
  %1914 = icmp eq i32 %vm_ssIsSampleHitVar0_5859, 0
  br i1 %1914, label %false995, label %true994

true994:                                          ; preds = %false993
  %_rtB_5861 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %1915 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_5861, i32 0, i32 695
  %_rtB__RelationalOperator_l = load i8* %1915, align 1
  %1916 = and i8 %_rtB__RelationalOperator_l, 1
  %1917 = icmp eq i8 %1916, 0
  br i1 %1917, label %false997, label %true996

false995:                                         ; preds = %false993, %false1005
  %_rtB_5881 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %1918 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_5881, i32 0, i32 57
  %_rtB__gear_num5882 = load double* %1918, align 1
  %_rtP_5883 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %1919 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_5883, i32 0, i32 767
  %_rtP__Switch_Threshold_pc = load double* %1919, align 1
  %1920 = fcmp ogt double %_rtB__gear_num5882, %_rtP__Switch_Threshold_pc
  br i1 %1920, label %true1008, label %false1009

true996:                                          ; preds = %true994
  %"%<tSimStruct>_5862" = load i8** %"%<tSimStruct>_", align 1
  call void @vm_ssCallAccelRunBlock(i8* %"%<tSimStruct>_5862", i32 128, i32 0, i32 104)
  %vm_ssIsMajorTimeStepVar1_5863 = load i32* %vm_ssIsMajorTimeStepVar1_, align 1
  %1921 = icmp eq i32 %vm_ssIsMajorTimeStepVar1_5863, 0
  br i1 %1921, label %false999, label %true998

false997:                                         ; preds = %true994, %false999
  %_rtB_5865 = phi %B_REVS_VM_T.12* [ %_rtB_5861, %true994 ], [ %_rtB_5865.pre, %false999 ]
  %1922 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_5865, i32 0, i32 696
  %_rtB__RelationalOperator_d1 = load i8* %1922, align 1
  %1923 = and i8 %_rtB__RelationalOperator_d1, 1
  %1924 = icmp eq i8 %1923, 0
  br i1 %1924, label %false1001, label %true1000

true998:                                          ; preds = %true996
  %_rtDW_5864 = load %DW_REVS_VM_T.16** %_rtDW_, align 1
  %1925 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_5864, i32 0, i32 884
  call void @vm_srUpdateBC(i8* %1925)
  br label %false999

false999:                                         ; preds = %true996, %true998
  %_rtB_5865.pre = load %B_REVS_VM_T.12** %_rtB_, align 1
  br label %false997

true1000:                                         ; preds = %false997
  %"%<tSimStruct>_5866" = load i8** %"%<tSimStruct>_", align 1
  call void @vm_ssCallAccelRunBlock(i8* %"%<tSimStruct>_5866", i32 129, i32 0, i32 104)
  %vm_ssIsMajorTimeStepVar1_5867 = load i32* %vm_ssIsMajorTimeStepVar1_, align 1
  %1926 = icmp eq i32 %vm_ssIsMajorTimeStepVar1_5867, 0
  br i1 %1926, label %false1003, label %true1002

false1001:                                        ; preds = %false997, %false1003
  %_rtB_5869 = phi %B_REVS_VM_T.12* [ %_rtB_5865, %false997 ], [ %_rtB_5869.pre, %false1003 ]
  %1927 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_5869, i32 0, i32 697
  %_rtB__RelationalOperator_po = load i8* %1927, align 1
  %1928 = and i8 %_rtB__RelationalOperator_po, 1
  %1929 = icmp eq i8 %1928, 0
  br i1 %1929, label %false1005, label %true1004

true1002:                                         ; preds = %true1000
  %_rtDW_5868 = load %DW_REVS_VM_T.16** %_rtDW_, align 1
  %1930 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_5868, i32 0, i32 885
  call void @vm_srUpdateBC(i8* %1930)
  br label %false1003

false1003:                                        ; preds = %true1000, %true1002
  %_rtB_5869.pre = load %B_REVS_VM_T.12** %_rtB_, align 1
  br label %false1001

true1004:                                         ; preds = %false1001
  %"%<tSimStruct>_5870" = load i8** %"%<tSimStruct>_", align 1
  call void @vm_ssCallAccelRunBlock(i8* %"%<tSimStruct>_5870", i32 130, i32 0, i32 104)
  %vm_ssIsMajorTimeStepVar1_5871 = load i32* %vm_ssIsMajorTimeStepVar1_, align 1
  %1931 = icmp eq i32 %vm_ssIsMajorTimeStepVar1_5871, 0
  br i1 %1931, label %false1007, label %true1006

false1005:                                        ; preds = %false1001, %false1007
  %_rtB_5873 = phi %B_REVS_VM_T.12* [ %_rtB_5869, %false1001 ], [ %_rtB_5873.pre, %false1007 ]
  %1932 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_5873, i32 0, i32 313, i32 0
  %1933 = bitcast double* %1932 to i8*
  %_rtDW_5874 = load %DW_REVS_VM_T.16** %_rtDW_, align 1
  %1934 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_5874, i32 0, i32 70, i32 0
  %1935 = bitcast double* %1934 to i8*
  %1936 = call i8* @memcpy(i8* %1933, i8* %1935, i32 mul (i32 ptrtoint (double* getelementptr (double* null, i32 1) to i32), i32 10))
  %"%<tSimStruct>_5875" = load i8** %"%<tSimStruct>_", align 1
  call void @vm_ssCallAccelRunBlock(i8* %"%<tSimStruct>_5875", i32 248, i32 1249, i32 104)
  %_rtDW_5876 = load %DW_REVS_VM_T.16** %_rtDW_, align 1
  %1937 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_5876, i32 0, i32 71
  %_rtDW__TotalMemory_PreviousInput = load double* %1937, align 1
  %_rtB_5877 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %1938 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_5877, i32 0, i32 314
  store double %_rtDW__TotalMemory_PreviousInput, double* %1938, align 1
  %"%<tSimStruct>_5878" = load i8** %"%<tSimStruct>_", align 1
  call void @vm_ssCallAccelRunBlock(i8* %"%<tSimStruct>_5878", i32 248, i32 1251, i32 104)
  %_rtDW_5879 = load %DW_REVS_VM_T.16** %_rtDW_, align 1
  %1939 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_5879, i32 0, i32 72
  %_rtDW__Memory_PreviousInput_f = load double* %1939, align 1
  %_rtB_5880 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %1940 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_5880, i32 0, i32 315
  store double %_rtDW__Memory_PreviousInput_f, double* %1940, align 1
  br label %false995

true1006:                                         ; preds = %true1004
  %_rtDW_5872 = load %DW_REVS_VM_T.16** %_rtDW_, align 1
  %1941 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_5872, i32 0, i32 886
  call void @vm_srUpdateBC(i8* %1941)
  br label %false1007

false1007:                                        ; preds = %true1004, %true1006
  %_rtB_5873.pre = load %B_REVS_VM_T.12** %_rtB_, align 1
  br label %false1005

true1008:                                         ; preds = %false995
  %1942 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_5881, i32 0, i32 316
  store double %_rtB__gear_num5882, double* %1942, align 1
  br label %merge2644

false1009:                                        ; preds = %false995
  %1943 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_5881, i32 0, i32 315
  %_rtB__Memory_bh = load double* %1943, align 1
  %1944 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_5881, i32 0, i32 316
  store double %_rtB__Memory_bh, double* %1944, align 1
  br label %merge2644

true1010:                                         ; preds = %merge2644
  %_rtDW_5891 = load %DW_REVS_VM_T.16** %_rtDW_, align 1
  %1945 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_5891, i32 0, i32 73
  %_rtDW__LastGear_PreviousInput = load double* %1945, align 1
  %_rtB_5892 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %1946 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_5892, i32 0, i32 317
  store double %_rtDW__LastGear_PreviousInput, double* %1946, align 1
  br label %false1011

false1011:                                        ; preds = %merge2644, %true1010
  %_rtB_5893 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %1947 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_5893, i32 0, i32 316
  %_rtB__Switch_ft = load double* %1947, align 1
  %1948 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_5893, i32 0, i32 317
  %_rtB__LastGear = load double* %1948, align 1
  %1949 = fcmp olt double %_rtB__Switch_ft, %_rtB__LastGear
  %1950 = zext i1 %1949 to i32
  store i32 %1950, i32* %rtb_DataTypeConversion_c_, align 1
  br label %merge2645

true1012:                                         ; preds = %merge2645
  %1951 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_9552, i32 0, i32 172, i32 %i_0_9557
  %_rtB__DataTypeConversion_el9554 = load double* %1951, align 1
  %1952 = sitofp i32 %1950 to double
  %tmp623 = fmul double %_rtB__DataTypeConversion_el9554, %1952
  %1953 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_9552, i32 0, i32 313, i32 %i_0_9557
  %_rtB__PhaseMemory_el = load double* %1953, align 1
  %tmp624 = fadd double %tmp623, %_rtB__PhaseMemory_el
  %1954 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_9552, i32 0, i32 318, i32 %i_0_9557
  store double %tmp624, double* %1954, align 1
  %i_0_9560 = load i32* %i_0_, align 1
  %tmp625 = add i32 %i_0_9560, 1
  br label %merge2645

false1013:                                        ; preds = %merge2645
  %1955 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_9552, i32 0, i32 316
  %_rtB__Switch_ft5897 = load double* %1955, align 1
  %1956 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_9552, i32 0, i32 317
  %_rtB__LastGear5899 = load double* %1956, align 1
  %1957 = fcmp olt double %_rtB__Switch_ft5897, %_rtB__LastGear5899
  %1958 = uitofp i1 %1957 to double
  %1959 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_9552, i32 0, i32 314
  %_rtB__TotalMemory = load double* %1959, align 1
  %tmp289 = fadd double %1958, %_rtB__TotalMemory
  %1960 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_9552, i32 0, i32 319
  store double %tmp289, double* %1960, align 1
  %_rtB_5902 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %1961 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_5902, i32 0, i32 320, i32 0
  %1962 = bitcast double* %1961 to i8*
  %_rtX_5903 = load %X_REVS_VM_T.18** %_rtX_, align 1
  %1963 = getelementptr inbounds %X_REVS_VM_T.18* %_rtX_5903, i32 0, i32 32, i32 0
  %1964 = bitcast double* %1963 to i8*
  %1965 = call i8* @memcpy(i8* %1962, i8* %1964, i32 mul (i32 ptrtoint (double* getelementptr (double* null, i32 1) to i32), i32 90))
  %vm_ssIsSampleHitVar0_5904 = load i32* %vm_ssIsSampleHitVar0_, align 1
  store i32 %vm_ssIsSampleHitVar0_5904, i32* %i_0_, align 1
  %1966 = icmp eq i32 %vm_ssIsSampleHitVar0_5904, 0
  br i1 %1966, label %false1015, label %true1014

true1014:                                         ; preds = %false1013
  %"%<tSimStruct>_5906" = load i8** %"%<tSimStruct>_", align 1
  call void @vm_ssCallAccelRunBlock(i8* %"%<tSimStruct>_5906", i32 248, i32 1261, i32 104)
  br label %false1015

false1015:                                        ; preds = %false1013, %true1014
  %_rtB_5907 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %1967 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_5907, i32 0, i32 321, i32 0
  %1968 = bitcast double* %1967 to i8*
  %_rtX_5908 = load %X_REVS_VM_T.18** %_rtX_, align 1
  %1969 = getelementptr inbounds %X_REVS_VM_T.18* %_rtX_5908, i32 0, i32 33, i32 0
  %1970 = bitcast double* %1969 to i8*
  %1971 = call i8* @memcpy(i8* %1968, i8* %1970, i32 mul (i32 ptrtoint (double* getelementptr (double* null, i32 1) to i32), i32 9))
  %vm_ssIsSampleHitVar0_5909 = load i32* %vm_ssIsSampleHitVar0_, align 1
  store i32 %vm_ssIsSampleHitVar0_5909, i32* %i_0_, align 1
  %1972 = icmp eq i32 %vm_ssIsSampleHitVar0_5909, 0
  br i1 %1972, label %merge2646, label %true1016

true1016:                                         ; preds = %false1015
  %"%<tSimStruct>_5911" = load i8** %"%<tSimStruct>_", align 1
  call void @vm_ssCallAccelRunBlock(i8* %"%<tSimStruct>_5911", i32 248, i32 1263, i32 104)
  br label %merge2646

true1018:                                         ; preds = %merge2646
  %_rtB_9535 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %1973 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_9535, i32 0, i32 57
  %_rtB__gear_num9536 = load double* %1973, align 1
  %1974 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_9535, i32 0, i32 322, i32 %i_0_9538
  %_rtB__Constant_lx_el = load double* %1974, align 1
  %1975 = fcmp oeq double %_rtB__gear_num9536, %_rtB__Constant_lx_el
  %1976 = uitofp i1 %1975 to double
  %1977 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_9535, i32 0, i32 323, i32 %i_0_9538
  store double %1976, double* %1977, align 1
  br label %merge2786

false1019:                                        ; preds = %merge2646
  %vm_ssIsSampleHitVar0_5913 = load i32* %vm_ssIsSampleHitVar0_, align 1
  store i32 %vm_ssIsSampleHitVar0_5913, i32* %i_0_, align 1
  %1978 = icmp eq i32 %vm_ssIsSampleHitVar0_5913, 0
  br i1 %1978, label %false1021, label %true1020

true1020:                                         ; preds = %false1019
  %_rtB_5915 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %1979 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_5915, i32 0, i32 325, i32 0
  %1980 = bitcast double* %1979 to i8*
  %_rtDW_5916 = load %DW_REVS_VM_T.16** %_rtDW_, align 1
  %1981 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_5916, i32 0, i32 74, i32 0
  %1982 = bitcast double* %1981 to i8*
  %1983 = call i8* @memcpy(i8* %1980, i8* %1982, i32 mul (i32 ptrtoint (double* getelementptr (double* null, i32 1) to i32), i32 10))
  %"%<tSimStruct>_5917" = load i8** %"%<tSimStruct>_", align 1
  call void @vm_ssCallAccelRunBlock(i8* %"%<tSimStruct>_5917", i32 248, i32 1269, i32 104)
  %_rtDW_5918 = load %DW_REVS_VM_T.16** %_rtDW_, align 1
  %1984 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_5918, i32 0, i32 75
  %_rtDW__TotalMemory_PreviousInput_l = load double* %1984, align 1
  %_rtB_5919 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %1985 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_5919, i32 0, i32 326
  store double %_rtDW__TotalMemory_PreviousInput_l, double* %1985, align 1
  %"%<tSimStruct>_5920" = load i8** %"%<tSimStruct>_", align 1
  call void @vm_ssCallAccelRunBlock(i8* %"%<tSimStruct>_5920", i32 248, i32 1271, i32 104)
  br label %false1021

false1021:                                        ; preds = %false1019, %true1020
  %_rtB_5921 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %1986 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_5921, i32 0, i32 316
  %_rtB__Switch_ft5922 = load double* %1986, align 1
  %1987 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_5921, i32 0, i32 317
  %_rtB__LastGear5924 = load double* %1987, align 1
  %1988 = fcmp ogt double %_rtB__Switch_ft5922, %_rtB__LastGear5924
  %1989 = zext i1 %1988 to i32
  store i32 %1989, i32* %rtb_DataTypeConversion_j_, align 1
  br label %merge2647

true1022:                                         ; preds = %merge2647
  %1990 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_9526, i32 0, i32 172, i32 %i_0_9531
  %_rtB__DataTypeConversion_el9528 = load double* %1990, align 1
  %1991 = sitofp i32 %1989 to double
  %tmp615 = fmul double %_rtB__DataTypeConversion_el9528, %1991
  %1992 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_9526, i32 0, i32 325, i32 %i_0_9531
  %_rtB__PhaseMemory_f_el = load double* %1992, align 1
  %tmp616 = fadd double %tmp615, %_rtB__PhaseMemory_f_el
  %1993 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_9526, i32 0, i32 327, i32 %i_0_9531
  store double %tmp616, double* %1993, align 1
  %i_0_9534 = load i32* %i_0_, align 1
  %tmp617 = add i32 %i_0_9534, 1
  br label %merge2647

false1023:                                        ; preds = %merge2647
  %1994 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_9526, i32 0, i32 316
  %_rtB__Switch_ft5927 = load double* %1994, align 1
  %1995 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_9526, i32 0, i32 317
  %_rtB__LastGear5929 = load double* %1995, align 1
  %1996 = fcmp ogt double %_rtB__Switch_ft5927, %_rtB__LastGear5929
  %1997 = uitofp i1 %1996 to double
  %1998 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_9526, i32 0, i32 326
  %_rtB__TotalMemory_l = load double* %1998, align 1
  %tmp293 = fadd double %1997, %_rtB__TotalMemory_l
  %1999 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_9526, i32 0, i32 328
  store double %tmp293, double* %1999, align 1
  %vm_ssIsSampleHitVar0_5932 = load i32* %vm_ssIsSampleHitVar0_, align 1
  store i32 %vm_ssIsSampleHitVar0_5932, i32* %i_0_, align 1
  %2000 = icmp eq i32 %vm_ssIsSampleHitVar0_5932, 0
  br i1 %2000, label %false1025, label %true1024

true1024:                                         ; preds = %false1023
  %_rtB_5934 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %2001 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_5934, i32 0, i32 698
  %_rtB__RelationalOperator_mk = load i8* %2001, align 1
  %2002 = and i8 %_rtB__RelationalOperator_mk, 1
  %2003 = icmp eq i8 %2002, 0
  br i1 %2003, label %false1027, label %true1026

false1025:                                        ; preds = %true1040, %true1038, %false1035, %false1023
  %_rtB_5954 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %2004 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_5954, i32 0, i32 57
  %_rtB__gear_num5955 = load double* %2004, align 1
  %2005 = fcmp ogt double %_rtB__gear_num5955, 0.000000e+00
  %2006 = zext i1 %2005 to i8
  %2007 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_5954, i32 0, i32 702
  store i8 %2006, i8* %2007, align 1
  %_rtB_5957 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %2008 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_5957, i32 0, i32 57
  %_rtB__gear_num5958 = load double* %2008, align 1
  %2009 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_5957, i32 0, i32 329
  %_rtB__trans_curr_gear_c = load double* %2009, align 1
  %tmp295 = fsub double %_rtB__gear_num5958, %_rtB__trans_curr_gear_c
  store double %tmp295, double* %u0_0_, align 1
  %_rtP_5961 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %2010 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_5961, i32 0, i32 784
  %_rtP__Saturation_UpperSat_f = load double* %2010, align 1
  %2011 = fcmp ogt double %tmp295, %_rtP__Saturation_UpperSat_f
  br i1 %2011, label %true1042, label %false1043

true1026:                                         ; preds = %true1024
  %"%<tSimStruct>_5935" = load i8** %"%<tSimStruct>_", align 1
  call void @vm_ssCallAccelRunBlock(i8* %"%<tSimStruct>_5935", i32 101, i32 0, i32 104)
  %vm_ssIsMajorTimeStepVar1_5936 = load i32* %vm_ssIsMajorTimeStepVar1_, align 1
  %2012 = icmp eq i32 %vm_ssIsMajorTimeStepVar1_5936, 0
  br i1 %2012, label %false1029, label %true1028

false1027:                                        ; preds = %true1024, %false1029
  %_rtB_5938 = phi %B_REVS_VM_T.12* [ %_rtB_5934, %true1024 ], [ %_rtB_5938.pre, %false1029 ]
  %2013 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_5938, i32 0, i32 699
  %_rtB__RelationalOperator_bh = load i8* %2013, align 1
  %2014 = and i8 %_rtB__RelationalOperator_bh, 1
  %2015 = icmp eq i8 %2014, 0
  br i1 %2015, label %false1031, label %true1030

true1028:                                         ; preds = %true1026
  %_rtDW_5937 = load %DW_REVS_VM_T.16** %_rtDW_, align 1
  %2016 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_5937, i32 0, i32 887
  call void @vm_srUpdateBC(i8* %2016)
  br label %false1029

false1029:                                        ; preds = %true1026, %true1028
  %_rtB_5938.pre = load %B_REVS_VM_T.12** %_rtB_, align 1
  br label %false1027

true1030:                                         ; preds = %false1027
  %"%<tSimStruct>_5939" = load i8** %"%<tSimStruct>_", align 1
  call void @vm_ssCallAccelRunBlock(i8* %"%<tSimStruct>_5939", i32 102, i32 0, i32 104)
  %vm_ssIsMajorTimeStepVar1_5940 = load i32* %vm_ssIsMajorTimeStepVar1_, align 1
  %2017 = icmp eq i32 %vm_ssIsMajorTimeStepVar1_5940, 0
  br i1 %2017, label %false1033, label %true1032

false1031:                                        ; preds = %false1027, %false1033
  %_rtB_5942 = phi %B_REVS_VM_T.12* [ %_rtB_5938, %false1027 ], [ %_rtB_5942.pre, %false1033 ]
  %2018 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_5942, i32 0, i32 700
  %_rtB__RelationalOperator_fc = load i8* %2018, align 1
  %2019 = and i8 %_rtB__RelationalOperator_fc, 1
  %2020 = icmp eq i8 %2019, 0
  br i1 %2020, label %false1035, label %true1034

true1032:                                         ; preds = %true1030
  %_rtDW_5941 = load %DW_REVS_VM_T.16** %_rtDW_, align 1
  %2021 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_5941, i32 0, i32 888
  call void @vm_srUpdateBC(i8* %2021)
  br label %false1033

false1033:                                        ; preds = %true1030, %true1032
  %_rtB_5942.pre = load %B_REVS_VM_T.12** %_rtB_, align 1
  br label %false1031

true1034:                                         ; preds = %false1031
  %"%<tSimStruct>_5943" = load i8** %"%<tSimStruct>_", align 1
  call void @vm_ssCallAccelRunBlock(i8* %"%<tSimStruct>_5943", i32 103, i32 0, i32 104)
  %vm_ssIsMajorTimeStepVar1_5944 = load i32* %vm_ssIsMajorTimeStepVar1_, align 1
  %2022 = icmp eq i32 %vm_ssIsMajorTimeStepVar1_5944, 0
  br i1 %2022, label %false1037, label %true1036

false1035:                                        ; preds = %false1031, %false1037
  %_rtB_5947 = phi %B_REVS_VM_T.12* [ %_rtB_5942, %false1031 ], [ %_rtB_5947.pre, %false1037 ]
  %_rtP_5946 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %2023 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_5946, i32 0, i32 780
  %_rtP__gbcurrgeartotanscurrgear_Gain = load double* %2023, align 1
  %2024 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_5947, i32 0, i32 67
  %_rtB__gb_curr_gear5948 = load double* %2024, align 1
  %tmp294 = fmul double %_rtP__gbcurrgeartotanscurrgear_Gain, %_rtB__gb_curr_gear5948
  %2025 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_5947, i32 0, i32 329
  store double %tmp294, double* %2025, align 1
  %_rtB_5950 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %2026 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_5950, i32 0, i32 701
  %_rtB__RelationalOperator_fx = load i8* %2026, align 1
  %2027 = and i8 %_rtB__RelationalOperator_fx, 1
  %2028 = icmp eq i8 %2027, 0
  br i1 %2028, label %false1025, label %true1038

true1036:                                         ; preds = %true1034
  %_rtDW_5945 = load %DW_REVS_VM_T.16** %_rtDW_, align 1
  %2029 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_5945, i32 0, i32 889
  call void @vm_srUpdateBC(i8* %2029)
  br label %false1037

false1037:                                        ; preds = %true1034, %true1036
  %_rtB_5947.pre = load %B_REVS_VM_T.12** %_rtB_, align 1
  br label %false1035

true1038:                                         ; preds = %false1035
  %"%<tSimStruct>_5951" = load i8** %"%<tSimStruct>_", align 1
  call void @vm_ssCallAccelRunBlock(i8* %"%<tSimStruct>_5951", i32 104, i32 0, i32 104)
  %vm_ssIsMajorTimeStepVar1_5952 = load i32* %vm_ssIsMajorTimeStepVar1_, align 1
  %2030 = icmp eq i32 %vm_ssIsMajorTimeStepVar1_5952, 0
  br i1 %2030, label %false1025, label %true1040

true1040:                                         ; preds = %true1038
  %_rtDW_5953 = load %DW_REVS_VM_T.16** %_rtDW_, align 1
  %2031 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_5953, i32 0, i32 890
  call void @vm_srUpdateBC(i8* %2031)
  br label %false1025

true1042:                                         ; preds = %false1025
  %2032 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_5957, i32 0, i32 330
  store double %_rtP__Saturation_UpperSat_f, double* %2032, align 1
  br label %merge2649

false1043:                                        ; preds = %false1025
  %2033 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_5961, i32 0, i32 785
  %_rtP__Saturation_LowerSat_i = load double* %2033, align 1
  %2034 = fcmp olt double %tmp295, %_rtP__Saturation_LowerSat_i
  %2035 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_5957, i32 0, i32 330
  br i1 %2034, label %true1044, label %false1045

true1044:                                         ; preds = %false1043
  store double %_rtP__Saturation_LowerSat_i, double* %2035, align 1
  br label %merge2649

false1045:                                        ; preds = %false1043
  store double %tmp295, double* %2035, align 1
  br label %merge2649

true1046:                                         ; preds = %merge2649
  %_rtB_5974 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %2036 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_5974, i32 0, i32 703
  %_rtB__RelationalOperator_fcd = load i8* %2036, align 1
  %2037 = and i8 %_rtB__RelationalOperator_fcd, 1
  %2038 = icmp eq i8 %2037, 0
  br i1 %2038, label %false1049, label %true1048

false1047:                                        ; preds = %merge2649, %false1049
  %_rtB_5983 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %2039 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_5983, i32 0, i32 333
  store double 0.000000e+00, double* %2039, align 1
  %_rtP_5984 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %2040 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_5984, i32 0, i32 792
  %_rtP__lowpassfilter_C_f = load double* %2040, align 1
  %_rtX_5985 = load %X_REVS_VM_T.18** %_rtX_, align 1
  %2041 = getelementptr inbounds %X_REVS_VM_T.18* %_rtX_5985, i32 0, i32 34
  %_rtX__lowpassfilter_CSTATE_e = load double* %2041, align 1
  %tmp297 = fmul double %_rtP__lowpassfilter_C_f, %_rtX__lowpassfilter_CSTATE_e
  %_rtB_5986 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %2042 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_5986, i32 0, i32 333
  %_rtB__lowpassfilter = load double* %2042, align 1
  %tmp298 = fadd double %tmp297, %_rtB__lowpassfilter
  store double %tmp298, double* %2042, align 1
  %vm_ssIsSampleHitVar0_5988 = load i32* %vm_ssIsSampleHitVar0_, align 1
  store i32 %vm_ssIsSampleHitVar0_5988, i32* %i_0_, align 1
  %2043 = icmp eq i32 %vm_ssIsSampleHitVar0_5988, 0
  br i1 %2043, label %false1053, label %true1052

true1048:                                         ; preds = %true1046
  %"%<tSimStruct>_5975" = load i8** %"%<tSimStruct>_", align 1
  call void @vm_ssCallAccelRunBlock(i8* %"%<tSimStruct>_5975", i32 76, i32 0, i32 104)
  %vm_ssIsMajorTimeStepVar1_5976 = load i32* %vm_ssIsMajorTimeStepVar1_, align 1
  %2044 = icmp eq i32 %vm_ssIsMajorTimeStepVar1_5976, 0
  br i1 %2044, label %false1051, label %true1050

false1049:                                        ; preds = %true1046, %false1051
  %_rtB_5982 = phi %B_REVS_VM_T.12* [ %_rtB_5974, %true1046 ], [ %_rtB_5982.pre, %false1051 ]
  %_rtDW_5978 = load %DW_REVS_VM_T.16** %_rtDW_, align 1
  %2045 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_5978, i32 0, i32 76
  %_rtDW__Memory_48_PreviousInput = load double* %2045, align 1
  store double %_rtDW__Memory_48_PreviousInput, double* %rtb_driver_acl_norm_, align 1
  %_rtP_5979 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %2046 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_5979, i32 0, i32 790
  %_rtP__driveracltoengdesacl_Gain = load double* %2046, align 1
  %tmp296 = fmul double %_rtP__driveracltoengdesacl_Gain, %_rtDW__Memory_48_PreviousInput
  %2047 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_5982, i32 0, i32 332
  store double %tmp296, double* %2047, align 1
  br label %false1047

true1050:                                         ; preds = %true1048
  %_rtDW_5977 = load %DW_REVS_VM_T.16** %_rtDW_, align 1
  %2048 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_5977, i32 0, i32 891
  call void @vm_srUpdateBC(i8* %2048)
  br label %false1051

false1051:                                        ; preds = %true1048, %true1050
  %_rtB_5982.pre = load %B_REVS_VM_T.12** %_rtB_, align 1
  br label %false1049

true1052:                                         ; preds = %false1047
  %_rtDW_5990 = load %DW_REVS_VM_T.16** %_rtDW_, align 1
  %2049 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_5990, i32 0, i32 77
  %_rtDW__Memory_PreviousInput_ey = load double* %2049, align 1
  %_rtB_5991 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %2050 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_5991, i32 0, i32 334
  store double %_rtDW__Memory_PreviousInput_ey, double* %2050, align 1
  br label %false1053

false1053:                                        ; preds = %false1047, %true1052
  %_rtB_5992 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %2051 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_5992, i32 0, i32 333
  %_rtB__lowpassfilter5993 = load double* %2051, align 1
  %2052 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_5992, i32 0, i32 334
  %_rtB__Memory_i = load double* %2052, align 1
  %tmp299 = fsub double %_rtB__lowpassfilter5993, %_rtB__Memory_i
  %2053 = call double @muDoubleScalarAbs(double %tmp299)
  %_rtP_5995 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %2054 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_5995, i32 0, i32 794
  %_rtP__Switch_Threshold_oc = load double* %2054, align 1
  %2055 = fcmp ogt double %2053, %_rtP__Switch_Threshold_oc
  %_rtB_5999 = load %B_REVS_VM_T.12** %_rtB_, align 1
  br i1 %2055, label %true1054, label %false1055

true1054:                                         ; preds = %false1053
  %2056 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_5999, i32 0, i32 333
  %_rtB__lowpassfilter6000 = load double* %2056, align 1
  %2057 = call double @muDoubleScalarRound(double %_rtB__lowpassfilter6000)
  %_rtB_6001 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %2058 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_6001, i32 0, i32 335
  store double %2057, double* %2058, align 1
  br label %merge2650

false1055:                                        ; preds = %false1053
  %2059 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_5999, i32 0, i32 334
  %_rtB__Memory_i5997 = load double* %2059, align 1
  %2060 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_5999, i32 0, i32 335
  store double %_rtB__Memory_i5997, double* %2060, align 1
  br label %merge2650

true1056:                                         ; preds = %merge2650
  %_rtB_6004 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %2061 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_6004, i32 0, i32 704
  %_rtB__RelationalOperator_ar = load i8* %2061, align 1
  %2062 = and i8 %_rtB__RelationalOperator_ar, 1
  %2063 = icmp eq i8 %2062, 0
  br i1 %2063, label %false1059, label %true1058

false1057:                                        ; preds = %merge2650, %false1059
  %vm_ssGetTVar5_6016 = load double* %vm_ssGetTVar5_, align 1
  %_rtB_6017 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %2064 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_6017, i32 0, i32 340
  store double %vm_ssGetTVar5_6016, double* %2064, align 1
  %_rtB_6018 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %2065 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_6018, i32 0, i32 340
  %_rtB__Clock = load double* %2065, align 1
  %2066 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_6018, i32 0, i32 339
  %_rtB__Memory1_n = load double* %2066, align 1
  %tmp300 = fsub double %_rtB__Clock, %_rtB__Memory1_n
  %2067 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_6018, i32 0, i32 341
  store double %tmp300, double* %2067, align 1
  %vm_ssIsSampleHitVar0_6021 = load i32* %vm_ssIsSampleHitVar0_, align 1
  store i32 %vm_ssIsSampleHitVar0_6021, i32* %i_0_, align 1
  %2068 = icmp eq i32 %vm_ssIsSampleHitVar0_6021, 0
  br i1 %2068, label %false1063, label %true1062

true1058:                                         ; preds = %true1056
  %"%<tSimStruct>_6005" = load i8** %"%<tSimStruct>_", align 1
  call void @vm_ssCallAccelRunBlock(i8* %"%<tSimStruct>_6005", i32 82, i32 0, i32 104)
  %vm_ssIsMajorTimeStepVar1_6006 = load i32* %vm_ssIsMajorTimeStepVar1_, align 1
  %2069 = icmp eq i32 %vm_ssIsMajorTimeStepVar1_6006, 0
  br i1 %2069, label %false1061, label %true1060

false1059:                                        ; preds = %true1056, %false1061
  %_rtB_6009 = phi %B_REVS_VM_T.12* [ %_rtB_6004, %true1056 ], [ %_rtB_6009.pre, %false1061 ]
  %_rtDW_6008 = load %DW_REVS_VM_T.16** %_rtDW_, align 1
  %2070 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_6008, i32 0, i32 78
  %_rtDW__Memory1_PreviousInput = load double* %2070, align 1
  %2071 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_6009, i32 0, i32 336
  store double %_rtDW__Memory1_PreviousInput, double* %2071, align 1
  %_rtDW_6010 = load %DW_REVS_VM_T.16** %_rtDW_, align 1
  %2072 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_6010, i32 0, i32 79
  %_rtDW__Memory2_PreviousInput_k = load double* %2072, align 1
  %_rtB_6011 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %2073 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_6011, i32 0, i32 337
  store double %_rtDW__Memory2_PreviousInput_k, double* %2073, align 1
  %_rtDW_6012 = load %DW_REVS_VM_T.16** %_rtDW_, align 1
  %2074 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_6012, i32 0, i32 80
  %_rtDW__Memory3_PreviousInput = load double* %2074, align 1
  %_rtB_6013 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %2075 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_6013, i32 0, i32 338
  store double %_rtDW__Memory3_PreviousInput, double* %2075, align 1
  %_rtDW_6014 = load %DW_REVS_VM_T.16** %_rtDW_, align 1
  %2076 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_6014, i32 0, i32 81
  %_rtDW__Memory1_PreviousInput_k = load double* %2076, align 1
  %_rtB_6015 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %2077 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_6015, i32 0, i32 339
  store double %_rtDW__Memory1_PreviousInput_k, double* %2077, align 1
  br label %false1057

true1060:                                         ; preds = %true1058
  %_rtDW_6007 = load %DW_REVS_VM_T.16** %_rtDW_, align 1
  %2078 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_6007, i32 0, i32 892
  call void @vm_srUpdateBC(i8* %2078)
  br label %false1061

false1061:                                        ; preds = %true1058, %true1060
  %_rtB_6009.pre = load %B_REVS_VM_T.12** %_rtB_, align 1
  br label %false1059

true1062:                                         ; preds = %false1057
  %_rtDW_6023 = load %DW_REVS_VM_T.16** %_rtDW_, align 1
  %2079 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_6023, i32 0, i32 82
  %_rtDW__Memory_3_PreviousInput = load double* %2079, align 1
  %_rtB_6024 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %2080 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_6024, i32 0, i32 342
  store double %_rtDW__Memory_3_PreviousInput, double* %2080, align 1
  %_rtDW_6025 = load %DW_REVS_VM_T.16** %_rtDW_, align 1
  %2081 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_6025, i32 0, i32 83
  %_rtDW__Memory_5_PreviousInput = load double* %2081, align 1
  %_rtB_6026 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %2082 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_6026, i32 0, i32 343
  store double %_rtDW__Memory_5_PreviousInput, double* %2082, align 1
  %_rtDW_6027 = load %DW_REVS_VM_T.16** %_rtDW_, align 1
  %2083 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_6027, i32 0, i32 85
  %_rtDW__Memory_39_PreviousInput = load double* %2083, align 1
  %rtb_eng_spd_radps_6028 = load double* %rtb_eng_spd_radps_, align 1
  %2084 = call double @muDoubleScalarMax(double %_rtDW__Memory_39_PreviousInput, double %rtb_eng_spd_radps_6028)
  store double %2084, double* %u0_, align 1
  %_rtDW_6029 = load %DW_REVS_VM_T.16** %_rtDW_, align 1
  %2085 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_6029, i32 0, i32 84
  %_rtDW__Memory_40_PreviousInput = load double* %2085, align 1
  %_rtP_6030 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %2086 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_6030, i32 0, i32 808
  %_rtP__eps2_UpperSat = load double* %2086, align 1
  %2087 = fcmp ogt double %_rtDW__Memory_40_PreviousInput, %_rtP__eps2_UpperSat
  br i1 %2087, label %merge2652, label %false1065

false1063:                                        ; preds = %false1057, %merge2658
  %"%<tSimStruct>_6057" = load i8** %"%<tSimStruct>_", align 1
  call void @vm_ssCallAccelRunBlock(i8* %"%<tSimStruct>_6057", i32 78, i32 0, i32 104)
  %vm_ssIsSampleHitVar0_6058 = load i32* %vm_ssIsSampleHitVar0_, align 1
  store i32 %vm_ssIsSampleHitVar0_6058, i32* %i_0_, align 1
  %2088 = icmp eq i32 %vm_ssIsSampleHitVar0_6058, 0
  br i1 %2088, label %false1080, label %true1079

false1065:                                        ; preds = %true1062
  %2089 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_6030, i32 0, i32 809
  %_rtP__eps2_LowerSat = load double* %2089, align 1
  %2090 = fcmp olt double %_rtDW__Memory_40_PreviousInput, %_rtP__eps2_LowerSat
  %_rtP__eps2_LowerSat._rtDW__Memory_40_PreviousInput = select i1 %2090, double %_rtP__eps2_LowerSat, double %_rtDW__Memory_40_PreviousInput
  %.10090 = select i1 %2090, double* %2089, double* %2085
  br label %merge2652

false1069:                                        ; preds = %merge2652
  %2091 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_6045, i32 0, i32 811
  %_rtP__eps3_LowerSat = load double* %2091, align 1
  %2092 = fcmp olt double %4964, %_rtP__eps3_LowerSat
  %_rtP__eps3_LowerSat. = select i1 %2092, double %_rtP__eps3_LowerSat, double %4964
  br label %merge2654

true1072:                                         ; preds = %merge2655
  %_rtB_9488 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %2093 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_9488, i32 0, i32 345, i32 %i_0_9502
  %_rtB__speedmask_el = load double* %2093, align 1
  %u0_9490 = load double* %u0_, align 1
  %tmp605 = fmul double %_rtB__speedmask_el, %u0_9490
  %2094 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_9488, i32 0, i32 344, i32 %i_0_9502
  %_rtB__GearRatios_el = load double* %2094, align 1
  %tmp606 = fmul double %tmp605, %_rtB__GearRatios_el
  %tmp607 = fdiv double %tmp606, %storemerge9672
  %_rtDW_9494 = load %DW_REVS_VM_T.16** %_rtDW_, align 1
  %2095 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_9494, i32 0, i32 84
  %_rtDW__Memory_40_PreviousInput9495 = load double* %2095, align 1
  %tmp608 = fmul double %_rtDW__Memory_40_PreviousInput9495, %_rtB__GearRatios_el
  %2096 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_9488, i32 0, i32 706, i32 %i_0_9502
  %_rtB__LogicalOperator_b_el = load i8* %2096, align 1
  %2097 = uitofp i8 %_rtB__LogicalOperator_b_el to double
  %tmp609 = fmul double %tmp608, %2097
  %tmp610 = fadd double %tmp607, %tmp609
  %2098 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_9488, i32 0, i32 347, i32 %i_0_9502
  store double %tmp610, double* %2098, align 1
  %_rtB_9503 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %i_0_9504 = load i32* %i_0_, align 1
  %2099 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_9503, i32 0, i32 347, i32 %i_0_9504
  %_rtB__speeds_el9505 = load double* %2099, align 1
  %_rtP_9506 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %2100 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_9506, i32 0, i32 812
  %_rtP__eps1_UpperSat = load double* %2100, align 1
  %2101 = fcmp ogt double %_rtB__speeds_el9505, %_rtP__eps1_UpperSat
  br i1 %2101, label %merge2785, label %false2496

true1074:                                         ; preds = %merge2656
  %_rtB_9474 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %2102 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_9474, i32 0, i32 348, i32 %i_9487
  %_rtB__engine_loads_el = load double* %2102, align 1
  %2103 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_9474, i32 0, i32 347, i32 %i_9487
  %_rtB__speeds_el9478 = load double* %2103, align 1
  %_rtP_9479 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %2104 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_9479, i32 0, i32 815, i32 0
  %2105 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_9479, i32 0, i32 816, i32 0
  %2106 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_9479, i32 0, i32 814, i32 0
  %_rtDW_9482 = load %DW_REVS_VM_T.16** %_rtDW_, align 1
  %2107 = shl i32 %i_9487, 1
  %2108 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_9482, i32 0, i32 803, i32 %2107
  %2109 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_9479, i32 0, i32 1404, i32 0
  %2110 = call double @look2_plinlcapw(double %_rtB__engine_loads_el, double %_rtB__speeds_el9478, double* %2104, double* %2105, double* %2106, i32* %2108, i32* %2109, i32 32)
  %_rtB_9485 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %2111 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_9485, i32 0, i32 349, i32 %i_9487
  store double %2110, double* %2111, align 1
  %tmp604 = add i32 %i_9487, 1
  br label %merge2656

true1076:                                         ; preds = %merge2657
  %_rtB_9466 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %2112 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_9466, i32 0, i32 347, i32 %i_9473
  %_rtB__speeds_el = load double* %2112, align 1
  %_rtP_9468 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %2113 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_9468, i32 0, i32 818, i32 0
  %2114 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_9468, i32 0, i32 817, i32 0
  %_rtDW_9470 = load %DW_REVS_VM_T.16** %_rtDW_, align 1
  %2115 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_9470, i32 0, i32 804, i32 %i_9473
  %2116 = call double @look1_plinlcapw(double %_rtB__speeds_el, double* %2113, double* %2114, i32* %2115, i32 14)
  %2117 = getelementptr inbounds [9 x double]* %rtb_maxinputtorque_, i32 0, i32 %i_9473
  store double %2116, double* %2117, align 1
  %tmp603 = add i32 %i_9473, 1
  br label %merge2657

true1078:                                         ; preds = %merge2658
  %2118 = getelementptr inbounds [9 x double]* %rtb_maxinputtorque_, i32 0, i32 %i_0_9464
  %rtb_maxinputtorque__el = load double* %2118, align 1
  %_rtB_9461 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %2119 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_9461, i32 0, i32 707, i32 %i_0_9464
  %_rtB__Compare_k2_el = load i8* %2119, align 1
  %2120 = uitofp i8 %_rtB__Compare_k2_el to double
  %tmp601 = fmul double %rtb_maxinputtorque__el, %2120
  %2121 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_9461, i32 0, i32 350, i32 %i_0_9464
  store double %tmp601, double* %2121, align 1
  %i_0_9465 = load i32* %i_0_, align 1
  %tmp602 = add i32 %i_0_9465, 1
  br label %merge2658

true1079:                                         ; preds = %false1063
  %_rtB_6060 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %2122 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_6060, i32 0, i32 708
  %_rtB__RelationalOperator_eg = load i8* %2122, align 1
  %2123 = and i8 %_rtB__RelationalOperator_eg, 1
  %2124 = icmp eq i8 %2123, 0
  br i1 %2124, label %false1082, label %true1081

false1080:                                        ; preds = %false1063, %false1086
  %vm_ssGetTVar5_6070 = load double* %vm_ssGetTVar5_, align 1
  %_rtB_6071 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %2125 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_6071, i32 0, i32 352
  store double %vm_ssGetTVar5_6070, double* %2125, align 1
  %_rtB_6072 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %2126 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_6072, i32 0, i32 352
  %_rtB__Clock_i = load double* %2126, align 1
  %2127 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_6072, i32 0, i32 351
  %_rtB__Memory1_e = load double* %2127, align 1
  %tmp302 = fsub double %_rtB__Clock_i, %_rtB__Memory1_e
  %2128 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_6072, i32 0, i32 353
  store double %tmp302, double* %2128, align 1
  %vm_ssIsSampleHitVar0_6075 = load i32* %vm_ssIsSampleHitVar0_, align 1
  store i32 %vm_ssIsSampleHitVar0_6075, i32* %i_0_, align 1
  %2129 = icmp eq i32 %vm_ssIsSampleHitVar0_6075, 0
  br i1 %2129, label %false1090, label %true1089

true1081:                                         ; preds = %true1079
  %"%<tSimStruct>_6061" = load i8** %"%<tSimStruct>_", align 1
  call void @vm_ssCallAccelRunBlock(i8* %"%<tSimStruct>_6061", i32 83, i32 0, i32 104)
  %vm_ssIsMajorTimeStepVar1_6062 = load i32* %vm_ssIsMajorTimeStepVar1_, align 1
  %2130 = icmp eq i32 %vm_ssIsMajorTimeStepVar1_6062, 0
  br i1 %2130, label %false1084, label %true1083

false1082:                                        ; preds = %true1079, %false1084
  %_rtB_6064 = phi %B_REVS_VM_T.12* [ %_rtB_6060, %true1079 ], [ %_rtB_6064.pre, %false1084 ]
  %2131 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_6064, i32 0, i32 709
  %_rtB__RelationalOperator_oq = load i8* %2131, align 1
  %2132 = and i8 %_rtB__RelationalOperator_oq, 1
  %2133 = icmp eq i8 %2132, 0
  br i1 %2133, label %false1086, label %true1085

true1083:                                         ; preds = %true1081
  %_rtDW_6063 = load %DW_REVS_VM_T.16** %_rtDW_, align 1
  %2134 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_6063, i32 0, i32 893
  call void @vm_srUpdateBC(i8* %2134)
  br label %false1084

false1084:                                        ; preds = %true1081, %true1083
  %_rtB_6064.pre = load %B_REVS_VM_T.12** %_rtB_, align 1
  br label %false1082

true1085:                                         ; preds = %false1082
  %"%<tSimStruct>_6065" = load i8** %"%<tSimStruct>_", align 1
  call void @vm_ssCallAccelRunBlock(i8* %"%<tSimStruct>_6065", i32 84, i32 0, i32 104)
  %vm_ssIsMajorTimeStepVar1_6066 = load i32* %vm_ssIsMajorTimeStepVar1_, align 1
  %2135 = icmp eq i32 %vm_ssIsMajorTimeStepVar1_6066, 0
  br i1 %2135, label %false1088, label %true1087

false1086:                                        ; preds = %false1082, %false1088
  %_rtB_6069 = phi %B_REVS_VM_T.12* [ %_rtB_6064, %false1082 ], [ %_rtB_6069.pre, %false1088 ]
  %_rtDW_6068 = load %DW_REVS_VM_T.16** %_rtDW_, align 1
  %2136 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_6068, i32 0, i32 86
  %_rtDW__Memory1_PreviousInput_j = load double* %2136, align 1
  %2137 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_6069, i32 0, i32 351
  store double %_rtDW__Memory1_PreviousInput_j, double* %2137, align 1
  br label %false1080

true1087:                                         ; preds = %true1085
  %_rtDW_6067 = load %DW_REVS_VM_T.16** %_rtDW_, align 1
  %2138 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_6067, i32 0, i32 894
  call void @vm_srUpdateBC(i8* %2138)
  br label %false1088

false1088:                                        ; preds = %true1085, %true1087
  %_rtB_6069.pre = load %B_REVS_VM_T.12** %_rtB_, align 1
  br label %false1086

true1089:                                         ; preds = %false1080
  %_rtB_6077 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %2139 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_6077, i32 0, i32 49
  %_rtB__Product6078 = load double* %2139, align 1
  %2140 = call i8 @muDoubleScalarIsNaN(double %_rtB__Product6078)
  %2141 = and i8 %2140, 1
  %2142 = icmp eq i8 %2141, 0
  br i1 %2142, label %false1092, label %merge2659

false1090:                                        ; preds = %false1080, %false1180
  %_rtB_6192 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %2143 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_6192, i32 0, i32 630
  %_rtB__LogicalOperator6193 = load i8* %2143, align 1
  %2144 = and i8 %_rtB__LogicalOperator6193, 1
  %2145 = icmp eq i8 %2144, 0
  br i1 %2145, label %false1184, label %true1183

false1092:                                        ; preds = %true1089
  %_rtB_6079 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %2146 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_6079, i32 0, i32 49
  %_rtB__Product6080 = load double* %2146, align 1
  br label %merge2659

true1093:                                         ; preds = %merge2659
  store double 8.000000e+00, double* %u0_0_, align 1
  br label %merge2660

false1094:                                        ; preds = %merge2659
  %2147 = fcmp olt double %u0_0_6082, 0.000000e+00
  br i1 %2147, label %true1095, label %merge2660

true1095:                                         ; preds = %false1094
  store double 0.000000e+00, double* %u0_0_, align 1
  br label %merge2660

false1098:                                        ; preds = %merge2660
  %_rtB_6088 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %2148 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_6088, i32 0, i32 49
  %_rtB__Product6089 = load double* %2148, align 1
  br label %merge2661

true1099:                                         ; preds = %merge2661
  store double 8.000000e+00, double* %u0_0_, align 1
  br label %merge2662

false1100:                                        ; preds = %merge2661
  %2149 = fcmp olt double %u0_0_6091, 0.000000e+00
  br i1 %2149, label %true1101, label %merge2662

true1101:                                         ; preds = %false1100
  store double 0.000000e+00, double* %u0_0_, align 1
  br label %merge2662

false1104:                                        ; preds = %merge2662
  %_rtB_6097 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %2150 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_6097, i32 0, i32 49
  %_rtB__Product6098 = load double* %2150, align 1
  br label %merge2663

true1105:                                         ; preds = %merge2663
  store double 8.000000e+00, double* %u0_0_, align 1
  br label %merge2664

false1106:                                        ; preds = %merge2663
  %2151 = fcmp olt double %u0_0_6100, 0.000000e+00
  br i1 %2151, label %true1107, label %merge2664

true1107:                                         ; preds = %false1106
  store double 0.000000e+00, double* %u0_0_, align 1
  br label %merge2664

false1110:                                        ; preds = %merge2664
  %_rtB_6106 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %2152 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_6106, i32 0, i32 49
  %_rtB__Product6107 = load double* %2152, align 1
  br label %merge2665

true1111:                                         ; preds = %merge2665
  store double 8.000000e+00, double* %u0_0_, align 1
  br label %merge2666

false1112:                                        ; preds = %merge2665
  %2153 = fcmp olt double %u0_0_6109, 0.000000e+00
  br i1 %2153, label %true1113, label %merge2666

true1113:                                         ; preds = %false1112
  store double 0.000000e+00, double* %u0_0_, align 1
  br label %merge2666

true1115:                                         ; preds = %merge2666
  %"%<tSimStruct>_6115" = load i8** %"%<tSimStruct>_", align 1
  call void @vm_ssCallAccelRunBlock(i8* %"%<tSimStruct>_6115", i32 85, i32 0, i32 104)
  %vm_ssIsMajorTimeStepVar1_6116 = load i32* %vm_ssIsMajorTimeStepVar1_, align 1
  %2154 = icmp eq i32 %vm_ssIsMajorTimeStepVar1_6116, 0
  br i1 %2154, label %false1118, label %true1117

false1116:                                        ; preds = %merge2666, %false1118
  %_rtB_6118 = phi %B_REVS_VM_T.12* [ %_rtB_6114, %merge2666 ], [ %_rtB_6118.pre, %false1118 ]
  %2155 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_6118, i32 0, i32 712
  %_rtB__RelationalOperator_ef = load i8* %2155, align 1
  %2156 = and i8 %_rtB__RelationalOperator_ef, 1
  %2157 = icmp eq i8 %2156, 0
  br i1 %2157, label %false1120, label %true1119

true1117:                                         ; preds = %true1115
  %_rtDW_6117 = load %DW_REVS_VM_T.16** %_rtDW_, align 1
  %2158 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_6117, i32 0, i32 895
  call void @vm_srUpdateBC(i8* %2158)
  br label %false1118

false1118:                                        ; preds = %true1115, %true1117
  %_rtB_6118.pre = load %B_REVS_VM_T.12** %_rtB_, align 1
  br label %false1116

true1119:                                         ; preds = %false1116
  %"%<tSimStruct>_6119" = load i8** %"%<tSimStruct>_", align 1
  call void @vm_ssCallAccelRunBlock(i8* %"%<tSimStruct>_6119", i32 86, i32 0, i32 104)
  %vm_ssIsMajorTimeStepVar1_6120 = load i32* %vm_ssIsMajorTimeStepVar1_, align 1
  %2159 = icmp eq i32 %vm_ssIsMajorTimeStepVar1_6120, 0
  br i1 %2159, label %false1122, label %true1121

false1120:                                        ; preds = %false1116, %false1122
  %_rtB_6122 = phi %B_REVS_VM_T.12* [ %_rtB_6118, %false1116 ], [ %_rtB_6122.pre, %false1122 ]
  %2160 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_6122, i32 0, i32 713
  %_rtB__RelationalOperator_e4 = load i8* %2160, align 1
  %2161 = and i8 %_rtB__RelationalOperator_e4, 1
  %2162 = icmp eq i8 %2161, 0
  br i1 %2162, label %false1124, label %true1123

true1121:                                         ; preds = %true1119
  %_rtDW_6121 = load %DW_REVS_VM_T.16** %_rtDW_, align 1
  %2163 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_6121, i32 0, i32 896
  call void @vm_srUpdateBC(i8* %2163)
  br label %false1122

false1122:                                        ; preds = %true1119, %true1121
  %_rtB_6122.pre = load %B_REVS_VM_T.12** %_rtB_, align 1
  br label %false1120

true1123:                                         ; preds = %false1120
  %"%<tSimStruct>_6123" = load i8** %"%<tSimStruct>_", align 1
  call void @vm_ssCallAccelRunBlock(i8* %"%<tSimStruct>_6123", i32 87, i32 0, i32 104)
  %vm_ssIsMajorTimeStepVar1_6124 = load i32* %vm_ssIsMajorTimeStepVar1_, align 1
  %2164 = icmp eq i32 %vm_ssIsMajorTimeStepVar1_6124, 0
  br i1 %2164, label %false1126, label %true1125

false1124:                                        ; preds = %false1120, %false1126
  %_rtB_6126 = phi %B_REVS_VM_T.12* [ %_rtB_6122, %false1120 ], [ %_rtB_6126.pre, %false1126 ]
  %2165 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_6126, i32 0, i32 714
  %_rtB__RelationalOperator_hr = load i8* %2165, align 1
  %2166 = and i8 %_rtB__RelationalOperator_hr, 1
  %2167 = icmp eq i8 %2166, 0
  br i1 %2167, label %false1128, label %true1127

true1125:                                         ; preds = %true1123
  %_rtDW_6125 = load %DW_REVS_VM_T.16** %_rtDW_, align 1
  %2168 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_6125, i32 0, i32 897
  call void @vm_srUpdateBC(i8* %2168)
  br label %false1126

false1126:                                        ; preds = %true1123, %true1125
  %_rtB_6126.pre = load %B_REVS_VM_T.12** %_rtB_, align 1
  br label %false1124

true1127:                                         ; preds = %false1124
  %"%<tSimStruct>_6127" = load i8** %"%<tSimStruct>_", align 1
  call void @vm_ssCallAccelRunBlock(i8* %"%<tSimStruct>_6127", i32 88, i32 0, i32 104)
  %vm_ssIsMajorTimeStepVar1_6128 = load i32* %vm_ssIsMajorTimeStepVar1_, align 1
  %2169 = icmp eq i32 %vm_ssIsMajorTimeStepVar1_6128, 0
  br i1 %2169, label %false1130, label %true1129

false1128:                                        ; preds = %false1124, %false1130
  %_rtB_6130 = phi %B_REVS_VM_T.12* [ %_rtB_6126, %false1124 ], [ %_rtB_6130.pre, %false1130 ]
  %2170 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_6130, i32 0, i32 715
  %_rtB__RelationalOperator_jr = load i8* %2170, align 1
  %2171 = and i8 %_rtB__RelationalOperator_jr, 1
  %2172 = icmp eq i8 %2171, 0
  br i1 %2172, label %false1132, label %true1131

true1129:                                         ; preds = %true1127
  %_rtDW_6129 = load %DW_REVS_VM_T.16** %_rtDW_, align 1
  %2173 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_6129, i32 0, i32 898
  call void @vm_srUpdateBC(i8* %2173)
  br label %false1130

false1130:                                        ; preds = %true1127, %true1129
  %_rtB_6130.pre = load %B_REVS_VM_T.12** %_rtB_, align 1
  br label %false1128

true1131:                                         ; preds = %false1128
  %"%<tSimStruct>_6131" = load i8** %"%<tSimStruct>_", align 1
  call void @vm_ssCallAccelRunBlock(i8* %"%<tSimStruct>_6131", i32 89, i32 0, i32 104)
  %vm_ssIsMajorTimeStepVar1_6132 = load i32* %vm_ssIsMajorTimeStepVar1_, align 1
  %2174 = icmp eq i32 %vm_ssIsMajorTimeStepVar1_6132, 0
  br i1 %2174, label %false1134, label %true1133

false1132:                                        ; preds = %false1128, %false1134
  %_rtB_6134 = phi %B_REVS_VM_T.12* [ %_rtB_6130, %false1128 ], [ %_rtB_6134.pre, %false1134 ]
  %2175 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_6134, i32 0, i32 716
  %_rtB__RelationalOperator_lx = load i8* %2175, align 1
  %2176 = and i8 %_rtB__RelationalOperator_lx, 1
  %2177 = icmp eq i8 %2176, 0
  br i1 %2177, label %false1136, label %true1135

true1133:                                         ; preds = %true1131
  %_rtDW_6133 = load %DW_REVS_VM_T.16** %_rtDW_, align 1
  %2178 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_6133, i32 0, i32 899
  call void @vm_srUpdateBC(i8* %2178)
  br label %false1134

false1134:                                        ; preds = %true1131, %true1133
  %_rtB_6134.pre = load %B_REVS_VM_T.12** %_rtB_, align 1
  br label %false1132

true1135:                                         ; preds = %false1132
  %"%<tSimStruct>_6135" = load i8** %"%<tSimStruct>_", align 1
  call void @vm_ssCallAccelRunBlock(i8* %"%<tSimStruct>_6135", i32 90, i32 0, i32 104)
  %vm_ssIsMajorTimeStepVar1_6136 = load i32* %vm_ssIsMajorTimeStepVar1_, align 1
  %2179 = icmp eq i32 %vm_ssIsMajorTimeStepVar1_6136, 0
  br i1 %2179, label %false1138, label %true1137

false1136:                                        ; preds = %false1132, %false1138
  %_rtB_6138 = phi %B_REVS_VM_T.12* [ %_rtB_6134, %false1132 ], [ %_rtB_6138.pre, %false1138 ]
  %2180 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_6138, i32 0, i32 717
  %_rtB__RelationalOperator_li = load i8* %2180, align 1
  %2181 = and i8 %_rtB__RelationalOperator_li, 1
  %2182 = icmp eq i8 %2181, 0
  br i1 %2182, label %false1140, label %true1139

true1137:                                         ; preds = %true1135
  %_rtDW_6137 = load %DW_REVS_VM_T.16** %_rtDW_, align 1
  %2183 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_6137, i32 0, i32 900
  call void @vm_srUpdateBC(i8* %2183)
  br label %false1138

false1138:                                        ; preds = %true1135, %true1137
  %_rtB_6138.pre = load %B_REVS_VM_T.12** %_rtB_, align 1
  br label %false1136

true1139:                                         ; preds = %false1136
  %"%<tSimStruct>_6139" = load i8** %"%<tSimStruct>_", align 1
  call void @vm_ssCallAccelRunBlock(i8* %"%<tSimStruct>_6139", i32 91, i32 0, i32 104)
  %vm_ssIsMajorTimeStepVar1_6140 = load i32* %vm_ssIsMajorTimeStepVar1_, align 1
  %2184 = icmp eq i32 %vm_ssIsMajorTimeStepVar1_6140, 0
  br i1 %2184, label %false1142, label %true1141

false1140:                                        ; preds = %false1136, %false1142
  %_rtB_6142 = phi %B_REVS_VM_T.12* [ %_rtB_6138, %false1136 ], [ %_rtB_6142.pre, %false1142 ]
  %2185 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_6142, i32 0, i32 718
  %_rtB__RelationalOperator_i2 = load i8* %2185, align 1
  %2186 = and i8 %_rtB__RelationalOperator_i2, 1
  %2187 = icmp eq i8 %2186, 0
  br i1 %2187, label %false1144, label %true1143

true1141:                                         ; preds = %true1139
  %_rtDW_6141 = load %DW_REVS_VM_T.16** %_rtDW_, align 1
  %2188 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_6141, i32 0, i32 901
  call void @vm_srUpdateBC(i8* %2188)
  br label %false1142

false1142:                                        ; preds = %true1139, %true1141
  %_rtB_6142.pre = load %B_REVS_VM_T.12** %_rtB_, align 1
  br label %false1140

true1143:                                         ; preds = %false1140
  %"%<tSimStruct>_6143" = load i8** %"%<tSimStruct>_", align 1
  call void @vm_ssCallAccelRunBlock(i8* %"%<tSimStruct>_6143", i32 92, i32 0, i32 104)
  %vm_ssIsMajorTimeStepVar1_6144 = load i32* %vm_ssIsMajorTimeStepVar1_, align 1
  %2189 = icmp eq i32 %vm_ssIsMajorTimeStepVar1_6144, 0
  br i1 %2189, label %false1146, label %true1145

false1144:                                        ; preds = %false1140, %false1146
  %_rtB_6146 = phi %B_REVS_VM_T.12* [ %_rtB_6142, %false1140 ], [ %_rtB_6146.pre, %false1146 ]
  %2190 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_6146, i32 0, i32 719
  %_rtB__RelationalOperator_mq = load i8* %2190, align 1
  %2191 = and i8 %_rtB__RelationalOperator_mq, 1
  %2192 = icmp eq i8 %2191, 0
  br i1 %2192, label %false1148, label %true1147

true1145:                                         ; preds = %true1143
  %_rtDW_6145 = load %DW_REVS_VM_T.16** %_rtDW_, align 1
  %2193 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_6145, i32 0, i32 902
  call void @vm_srUpdateBC(i8* %2193)
  br label %false1146

false1146:                                        ; preds = %true1143, %true1145
  %_rtB_6146.pre = load %B_REVS_VM_T.12** %_rtB_, align 1
  br label %false1144

true1147:                                         ; preds = %false1144
  %"%<tSimStruct>_6147" = load i8** %"%<tSimStruct>_", align 1
  call void @vm_ssCallAccelRunBlock(i8* %"%<tSimStruct>_6147", i32 93, i32 0, i32 104)
  %vm_ssIsMajorTimeStepVar1_6148 = load i32* %vm_ssIsMajorTimeStepVar1_, align 1
  %2194 = icmp eq i32 %vm_ssIsMajorTimeStepVar1_6148, 0
  br i1 %2194, label %false1150, label %true1149

false1148:                                        ; preds = %false1144, %false1150
  %_rtB_6150 = phi %B_REVS_VM_T.12* [ %_rtB_6146, %false1144 ], [ %_rtB_6150.pre, %false1150 ]
  %2195 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_6150, i32 0, i32 720
  %_rtB__RelationalOperator_ih = load i8* %2195, align 1
  %2196 = and i8 %_rtB__RelationalOperator_ih, 1
  %2197 = icmp eq i8 %2196, 0
  br i1 %2197, label %false1152, label %true1151

true1149:                                         ; preds = %true1147
  %_rtDW_6149 = load %DW_REVS_VM_T.16** %_rtDW_, align 1
  %2198 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_6149, i32 0, i32 903
  call void @vm_srUpdateBC(i8* %2198)
  br label %false1150

false1150:                                        ; preds = %true1147, %true1149
  %_rtB_6150.pre = load %B_REVS_VM_T.12** %_rtB_, align 1
  br label %false1148

true1151:                                         ; preds = %false1148
  %"%<tSimStruct>_6151" = load i8** %"%<tSimStruct>_", align 1
  call void @vm_ssCallAccelRunBlock(i8* %"%<tSimStruct>_6151", i32 94, i32 0, i32 104)
  %vm_ssIsMajorTimeStepVar1_6152 = load i32* %vm_ssIsMajorTimeStepVar1_, align 1
  %2199 = icmp eq i32 %vm_ssIsMajorTimeStepVar1_6152, 0
  br i1 %2199, label %false1154, label %true1153

false1152:                                        ; preds = %false1148, %false1154
  %_rtB_6154 = phi %B_REVS_VM_T.12* [ %_rtB_6150, %false1148 ], [ %_rtB_6154.pre, %false1154 ]
  %2200 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_6154, i32 0, i32 721
  %_rtB__RelationalOperator_fo = load i8* %2200, align 1
  %2201 = and i8 %_rtB__RelationalOperator_fo, 1
  %2202 = icmp eq i8 %2201, 0
  br i1 %2202, label %false1156, label %true1155

true1153:                                         ; preds = %true1151
  %_rtDW_6153 = load %DW_REVS_VM_T.16** %_rtDW_, align 1
  %2203 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_6153, i32 0, i32 904
  call void @vm_srUpdateBC(i8* %2203)
  br label %false1154

false1154:                                        ; preds = %true1151, %true1153
  %_rtB_6154.pre = load %B_REVS_VM_T.12** %_rtB_, align 1
  br label %false1152

true1155:                                         ; preds = %false1152
  %"%<tSimStruct>_6155" = load i8** %"%<tSimStruct>_", align 1
  call void @vm_ssCallAccelRunBlock(i8* %"%<tSimStruct>_6155", i32 95, i32 0, i32 104)
  %vm_ssIsMajorTimeStepVar1_6156 = load i32* %vm_ssIsMajorTimeStepVar1_, align 1
  %2204 = icmp eq i32 %vm_ssIsMajorTimeStepVar1_6156, 0
  br i1 %2204, label %false1158, label %true1157

false1156:                                        ; preds = %false1152, %false1158
  %_rtB_6158 = phi %B_REVS_VM_T.12* [ %_rtB_6154, %false1152 ], [ %_rtB_6158.pre, %false1158 ]
  %2205 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_6158, i32 0, i32 722
  %_rtB__RelationalOperator_od = load i8* %2205, align 1
  %2206 = and i8 %_rtB__RelationalOperator_od, 1
  %2207 = icmp eq i8 %2206, 0
  br i1 %2207, label %false1160, label %true1159

true1157:                                         ; preds = %true1155
  %_rtDW_6157 = load %DW_REVS_VM_T.16** %_rtDW_, align 1
  %2208 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_6157, i32 0, i32 905
  call void @vm_srUpdateBC(i8* %2208)
  br label %false1158

false1158:                                        ; preds = %true1155, %true1157
  %_rtB_6158.pre = load %B_REVS_VM_T.12** %_rtB_, align 1
  br label %false1156

true1159:                                         ; preds = %false1156
  %"%<tSimStruct>_6159" = load i8** %"%<tSimStruct>_", align 1
  call void @vm_ssCallAccelRunBlock(i8* %"%<tSimStruct>_6159", i32 96, i32 0, i32 104)
  %vm_ssIsMajorTimeStepVar1_6160 = load i32* %vm_ssIsMajorTimeStepVar1_, align 1
  %2209 = icmp eq i32 %vm_ssIsMajorTimeStepVar1_6160, 0
  br i1 %2209, label %false1162, label %true1161

false1160:                                        ; preds = %false1156, %false1162
  %_rtB_6162 = phi %B_REVS_VM_T.12* [ %_rtB_6158, %false1156 ], [ %_rtB_6162.pre, %false1162 ]
  %2210 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_6162, i32 0, i32 723
  %_rtB__RelationalOperator_g1 = load i8* %2210, align 1
  %2211 = and i8 %_rtB__RelationalOperator_g1, 1
  %2212 = icmp eq i8 %2211, 0
  br i1 %2212, label %false1164, label %true1163

true1161:                                         ; preds = %true1159
  %_rtDW_6161 = load %DW_REVS_VM_T.16** %_rtDW_, align 1
  %2213 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_6161, i32 0, i32 906
  call void @vm_srUpdateBC(i8* %2213)
  br label %false1162

false1162:                                        ; preds = %true1159, %true1161
  %_rtB_6162.pre = load %B_REVS_VM_T.12** %_rtB_, align 1
  br label %false1160

true1163:                                         ; preds = %false1160
  %"%<tSimStruct>_6163" = load i8** %"%<tSimStruct>_", align 1
  call void @vm_ssCallAccelRunBlock(i8* %"%<tSimStruct>_6163", i32 97, i32 0, i32 104)
  %vm_ssIsMajorTimeStepVar1_6164 = load i32* %vm_ssIsMajorTimeStepVar1_, align 1
  %2214 = icmp eq i32 %vm_ssIsMajorTimeStepVar1_6164, 0
  br i1 %2214, label %false1166, label %true1165

false1164:                                        ; preds = %false1160, %false1166
  %_rtB_6166 = phi %B_REVS_VM_T.12* [ %_rtB_6162, %false1160 ], [ %_rtB_6166.pre, %false1166 ]
  %2215 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_6166, i32 0, i32 724
  %_rtB__RelationalOperator_fi = load i8* %2215, align 1
  %2216 = and i8 %_rtB__RelationalOperator_fi, 1
  %2217 = icmp eq i8 %2216, 0
  br i1 %2217, label %false1168, label %true1167

true1165:                                         ; preds = %true1163
  %_rtDW_6165 = load %DW_REVS_VM_T.16** %_rtDW_, align 1
  %2218 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_6165, i32 0, i32 907
  call void @vm_srUpdateBC(i8* %2218)
  br label %false1166

false1166:                                        ; preds = %true1163, %true1165
  %_rtB_6166.pre = load %B_REVS_VM_T.12** %_rtB_, align 1
  br label %false1164

true1167:                                         ; preds = %false1164
  %"%<tSimStruct>_6167" = load i8** %"%<tSimStruct>_", align 1
  call void @vm_ssCallAccelRunBlock(i8* %"%<tSimStruct>_6167", i32 98, i32 0, i32 104)
  %vm_ssIsMajorTimeStepVar1_6168 = load i32* %vm_ssIsMajorTimeStepVar1_, align 1
  %2219 = icmp eq i32 %vm_ssIsMajorTimeStepVar1_6168, 0
  br i1 %2219, label %false1170, label %true1169

false1168:                                        ; preds = %false1164, %false1170
  %_rtB_6170 = phi %B_REVS_VM_T.12* [ %_rtB_6166, %false1164 ], [ %_rtB_6170.pre, %false1170 ]
  %2220 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_6170, i32 0, i32 725
  %_rtB__RelationalOperator_p2 = load i8* %2220, align 1
  %2221 = and i8 %_rtB__RelationalOperator_p2, 1
  %2222 = icmp eq i8 %2221, 0
  br i1 %2222, label %false1172, label %true1171

true1169:                                         ; preds = %true1167
  %_rtDW_6169 = load %DW_REVS_VM_T.16** %_rtDW_, align 1
  %2223 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_6169, i32 0, i32 908
  call void @vm_srUpdateBC(i8* %2223)
  br label %false1170

false1170:                                        ; preds = %true1167, %true1169
  %_rtB_6170.pre = load %B_REVS_VM_T.12** %_rtB_, align 1
  br label %false1168

true1171:                                         ; preds = %false1168
  %"%<tSimStruct>_6171" = load i8** %"%<tSimStruct>_", align 1
  call void @vm_ssCallAccelRunBlock(i8* %"%<tSimStruct>_6171", i32 99, i32 0, i32 104)
  %vm_ssIsMajorTimeStepVar1_6172 = load i32* %vm_ssIsMajorTimeStepVar1_, align 1
  %2224 = icmp eq i32 %vm_ssIsMajorTimeStepVar1_6172, 0
  br i1 %2224, label %false1174, label %true1173

false1172:                                        ; preds = %false1168, %false1174
  %_rtB_6174 = phi %B_REVS_VM_T.12* [ %_rtB_6170, %false1168 ], [ %_rtB_6174.pre, %false1174 ]
  %2225 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_6174, i32 0, i32 726
  %_rtB__RelationalOperator_m0 = load i8* %2225, align 1
  %2226 = and i8 %_rtB__RelationalOperator_m0, 1
  %2227 = icmp eq i8 %2226, 0
  br i1 %2227, label %false1176, label %true1175

true1173:                                         ; preds = %true1171
  %_rtDW_6173 = load %DW_REVS_VM_T.16** %_rtDW_, align 1
  %2228 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_6173, i32 0, i32 909
  call void @vm_srUpdateBC(i8* %2228)
  br label %false1174

false1174:                                        ; preds = %true1171, %true1173
  %_rtB_6174.pre = load %B_REVS_VM_T.12** %_rtB_, align 1
  br label %false1172

true1175:                                         ; preds = %false1172
  %"%<tSimStruct>_6175" = load i8** %"%<tSimStruct>_", align 1
  call void @vm_ssCallAccelRunBlock(i8* %"%<tSimStruct>_6175", i32 80, i32 0, i32 104)
  %vm_ssIsMajorTimeStepVar1_6176 = load i32* %vm_ssIsMajorTimeStepVar1_, align 1
  %2229 = icmp eq i32 %vm_ssIsMajorTimeStepVar1_6176, 0
  br i1 %2229, label %false1178, label %true1177

false1176:                                        ; preds = %false1172, %false1178
  %_rtB_6178 = phi %B_REVS_VM_T.12* [ %_rtB_6174, %false1172 ], [ %_rtB_6178.pre, %false1178 ]
  %2230 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_6178, i32 0, i32 727
  %_rtB__RelationalOperator_mp = load i8* %2230, align 1
  %2231 = and i8 %_rtB__RelationalOperator_mp, 1
  %2232 = icmp eq i8 %2231, 0
  br i1 %2232, label %false1180, label %true1179

true1177:                                         ; preds = %true1175
  %_rtDW_6177 = load %DW_REVS_VM_T.16** %_rtDW_, align 1
  %2233 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_6177, i32 0, i32 910
  call void @vm_srUpdateBC(i8* %2233)
  br label %false1178

false1178:                                        ; preds = %true1175, %true1177
  %_rtB_6178.pre = load %B_REVS_VM_T.12** %_rtB_, align 1
  br label %false1176

true1179:                                         ; preds = %false1176
  %"%<tSimStruct>_6179" = load i8** %"%<tSimStruct>_", align 1
  call void @vm_ssCallAccelRunBlock(i8* %"%<tSimStruct>_6179", i32 81, i32 0, i32 104)
  %vm_ssIsMajorTimeStepVar1_6180 = load i32* %vm_ssIsMajorTimeStepVar1_, align 1
  %2234 = icmp eq i32 %vm_ssIsMajorTimeStepVar1_6180, 0
  br i1 %2234, label %false1180, label %true1181

false1180:                                        ; preds = %true1181, %true1179, %false1176
  %"%<tSimStruct>_6182" = load i8** %"%<tSimStruct>_", align 1
  call void @vm_ssCallAccelRunBlock(i8* %"%<tSimStruct>_6182", i32 248, i32 1435, i32 104)
  %"%<tSimStruct>_6183" = load i8** %"%<tSimStruct>_", align 1
  call void @vm_ssCallAccelRunBlock(i8* %"%<tSimStruct>_6183", i32 248, i32 1436, i32 104)
  %rtb_gear_num_6184 = load double* %rtb_gear_num_, align 1
  %_rtB_6185 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %2235 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_6185, i32 0, i32 67
  %_rtB__gb_curr_gear6186 = load double* %2235, align 1
  %2236 = fcmp ogt double %rtb_gear_num_6184, %_rtB__gb_curr_gear6186
  %_rtDW_6187 = load %DW_REVS_VM_T.16** %_rtDW_, align 1
  %2237 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_6187, i32 0, i32 1028
  %_rtDW__Memory_24_PreviousInput = load i8* %2237, align 1
  %2238 = and i8 %_rtDW__Memory_24_PreviousInput, 1
  %2239 = icmp ne i8 %2238, 0
  %2240 = and i1 %2236, %2239
  %2241 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_6187, i32 0, i32 87
  %_rtDW__Memory_14_PreviousInput = load double* %2241, align 1
  %2242 = uitofp i8 %_rtDW__Memory_24_PreviousInput to double
  %2243 = fcmp ogt double %_rtDW__Memory_14_PreviousInput, %2242
  %2244 = or i1 %2240, %2243
  %2245 = zext i1 %2244 to i8
  %2246 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_6185, i32 0, i32 728
  store i8 %2245, i8* %2246, align 1
  br label %false1090

true1181:                                         ; preds = %true1179
  %_rtDW_6181 = load %DW_REVS_VM_T.16** %_rtDW_, align 1
  %2247 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_6181, i32 0, i32 911
  call void @vm_srUpdateBC(i8* %2247)
  br label %false1180

true1183:                                         ; preds = %false1090
  %2248 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_6192, i32 0, i32 281
  %_rtB__tc_trq_out_Nm6199 = load double* %2248, align 1
  %2249 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_6192, i32 0, i32 360
  store double %_rtB__tc_trq_out_Nm6199, double* %2249, align 1
  br label %merge2667

false1184:                                        ; preds = %false1090
  %2250 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_6192, i32 0, i32 290
  %_rtB__Lookup_l6196 = load double* %2250, align 1
  %tmp303 = fadd double %rtb_TorqueSW_6194, %_rtB__Lookup_l6196
  %2251 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_6192, i32 0, i32 360
  store double %tmp303, double* %2251, align 1
  br label %merge2667

false1186:                                        ; preds = %false1190, %false1196, %false1200, %true1189, %merge2667
  %_rtDW_6218 = load %DW_REVS_VM_T.16** %_rtDW_, align 1
  %2252 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_6218, i32 0, i32 1046
  %_rtDW__Subsystem_MODE_o6219 = load i8* %2252, align 1
  %2253 = and i8 %_rtDW__Subsystem_MODE_o6219, 1
  %2254 = icmp eq i8 %2253, 0
  br i1 %2254, label %false1202, label %true1201

true1187:                                         ; preds = %merge2667
  %_rtB_6204 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %2255 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_6204, i32 0, i32 729
  %_rtB__Compare_d = load i8* %2255, align 1
  %2256 = and i8 %_rtB__Compare_d, 1
  %2257 = icmp eq i8 %2256, 0
  %_rtDW_6205 = load %DW_REVS_VM_T.16** %_rtDW_, align 1
  %2258 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_6205, i32 0, i32 1046
  %_rtDW__Subsystem_MODE_o = load i8* %2258, align 1
  %2259 = and i8 %_rtDW__Subsystem_MODE_o, 1
  %2260 = icmp eq i8 %2259, 0
  br i1 %2257, label %false1190, label %true1189

true1189:                                         ; preds = %true1187
  br i1 %2260, label %true1197, label %false1186

false1190:                                        ; preds = %true1187
  br i1 %2260, label %false1186, label %true1191

true1191:                                         ; preds = %false1190
  %"%<tSimStruct>_6206" = load i8** %"%<tSimStruct>_", align 1
  call void @vm_ssSetSolverNeedsReset(i8* %"%<tSimStruct>_6206")
  %_rtDW_6207 = load %DW_REVS_VM_T.16** %_rtDW_, align 1
  %2261 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_6207, i32 0, i32 1069
  %_rtDW__Subsystem_MODE_js = load i8* %2261, align 1
  %2262 = and i8 %_rtDW__Subsystem_MODE_js, 1
  %2263 = icmp eq i8 %2262, 0
  br i1 %2263, label %false1194, label %true1193

true1193:                                         ; preds = %true1191
  store i8 0, i8* %2261, align 1
  %_rtDW_6209.pre = load %DW_REVS_VM_T.16** %_rtDW_, align 1
  br label %false1194

false1194:                                        ; preds = %true1191, %true1193
  %_rtDW_6210 = phi %DW_REVS_VM_T.16* [ %_rtDW_6207, %true1191 ], [ %_rtDW_6209.pre, %true1193 ]
  %2264 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_6210, i32 0, i32 1070
  %_rtDW__Subsystem_MODE_cp = load i8* %2264, align 1
  %2265 = and i8 %_rtDW__Subsystem_MODE_cp, 1
  %2266 = icmp eq i8 %2265, 0
  br i1 %2266, label %false1196, label %true1195

true1195:                                         ; preds = %false1194
  store i8 0, i8* %2264, align 1
  %_rtDW_6211.pre = load %DW_REVS_VM_T.16** %_rtDW_, align 1
  br label %false1196

false1196:                                        ; preds = %false1194, %true1195
  %_rtDW_6211 = phi %DW_REVS_VM_T.16* [ %_rtDW_6210, %false1194 ], [ %_rtDW_6211.pre, %true1195 ]
  %2267 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_6211, i32 0, i32 1046
  store i8 0, i8* %2267, align 1
  br label %false1186

true1197:                                         ; preds = %true1189
  %vm_ssGetTaskTimeVar2_6214 = load double* %vm_ssGetTaskTimeVar2_, align 1
  %vm_ssGetTStartVar3_6215 = load double* %vm_ssGetTStartVar3_, align 1
  %2268 = fcmp une double %vm_ssGetTaskTimeVar2_6214, %vm_ssGetTStartVar3_6215
  br i1 %2268, label %true1199, label %false1200

true1199:                                         ; preds = %true1197
  %"%<tSimStruct>_6216" = load i8** %"%<tSimStruct>_", align 1
  call void @vm_ssSetSolverNeedsReset(i8* %"%<tSimStruct>_6216")
  %_rtDW_6217.pre = load %DW_REVS_VM_T.16** %_rtDW_, align 1
  br label %false1200

false1200:                                        ; preds = %true1199, %true1197
  %_rtDW_6217 = phi %DW_REVS_VM_T.16* [ %_rtDW_6217.pre, %true1199 ], [ %_rtDW_6205, %true1197 ]
  %2269 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_6217, i32 0, i32 1046
  store i8 1, i8* %2269, align 1
  br label %false1186

true1201:                                         ; preds = %false1186
  %vm_ssIsSampleHitVar0_6220 = load i32* %vm_ssIsSampleHitVar0_, align 1
  store i32 %vm_ssIsSampleHitVar0_6220, i32* %i_0_, align 1
  %2270 = icmp eq i32 %vm_ssIsSampleHitVar0_6220, 0
  %vm_ssIsMajorTimeStepVar1_6222 = load i32* %vm_ssIsMajorTimeStepVar1_, align 1
  %2271 = icmp eq i32 %vm_ssIsMajorTimeStepVar1_6222, 0
  %or.cond10140 = or i1 %2270, %2271
  br i1 %or.cond10140, label %false1204, label %true1205

false1202:                                        ; preds = %true1253, %false1252, %false1186
  %vm_ssIsSampleHitVar0_6339 = load i32* %vm_ssIsSampleHitVar0_, align 1
  store i32 %vm_ssIsSampleHitVar0_6339, i32* %i_0_, align 1
  %2272 = icmp eq i32 %vm_ssIsSampleHitVar0_6339, 0
  %vm_ssIsMajorTimeStepVar1_6341 = load i32* %vm_ssIsMajorTimeStepVar1_, align 1
  %2273 = icmp eq i32 %vm_ssIsMajorTimeStepVar1_6341, 0
  %or.cond10144 = or i1 %2272, %2273
  br i1 %or.cond10144, label %false1256, label %true1257

false1204:                                        ; preds = %merge2669, %true1201
  %_rtDW_6234 = phi %DW_REVS_VM_T.16* [ %_rtDW_6218, %true1201 ], [ %_rtDW_6234.pre.pre, %merge2669 ]
  %2274 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_6234, i32 0, i32 1069
  %_rtDW__Subsystem_MODE_js6235 = load i8* %2274, align 1
  %2275 = and i8 %_rtDW__Subsystem_MODE_js6235, 1
  %2276 = icmp eq i8 %2275, 0
  br i1 %2276, label %false1216, label %true1215

true1205:                                         ; preds = %true1201
  %_rtB_6223 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %2277 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_6223, i32 0, i32 853
  %_rtB__Compare_kx = load i8* %2277, align 1
  %2278 = and i8 %_rtB__Compare_kx, 1
  %2279 = icmp eq i8 %2278, 0
  %2280 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_6218, i32 0, i32 1069
  %_rtDW__Subsystem_MODE_js6225 = load i8* %2280, align 1
  %2281 = and i8 %_rtDW__Subsystem_MODE_js6225, 1
  %2282 = icmp eq i8 %2281, 0
  br i1 %2279, label %false1208, label %true1207

true1207:                                         ; preds = %true1205
  br i1 %2282, label %true1211, label %merge2669

false1208:                                        ; preds = %true1205
  br i1 %2282, label %merge2669, label %true1209

true1209:                                         ; preds = %false1208
  %"%<tSimStruct>_6226" = load i8** %"%<tSimStruct>_", align 1
  call void @vm_ssSetSolverNeedsReset(i8* %"%<tSimStruct>_6226")
  %_rtDW_6227 = load %DW_REVS_VM_T.16** %_rtDW_, align 1
  %2283 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_6227, i32 0, i32 1069
  store i8 0, i8* %2283, align 1
  br label %merge2669

true1211:                                         ; preds = %true1207
  %vm_ssGetTaskTimeVar2_6230 = load double* %vm_ssGetTaskTimeVar2_, align 1
  %vm_ssGetTStartVar3_6231 = load double* %vm_ssGetTStartVar3_, align 1
  %2284 = fcmp une double %vm_ssGetTaskTimeVar2_6230, %vm_ssGetTStartVar3_6231
  br i1 %2284, label %true1213, label %false1214

true1213:                                         ; preds = %true1211
  %"%<tSimStruct>_6232" = load i8** %"%<tSimStruct>_", align 1
  call void @vm_ssSetSolverNeedsReset(i8* %"%<tSimStruct>_6232")
  %_rtDW_6233.pre = load %DW_REVS_VM_T.16** %_rtDW_, align 1
  br label %false1214

false1214:                                        ; preds = %true1213, %true1211
  %_rtDW_6233 = phi %DW_REVS_VM_T.16* [ %_rtDW_6233.pre, %true1213 ], [ %_rtDW_6218, %true1211 ]
  %2285 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_6233, i32 0, i32 1069
  store i8 1, i8* %2285, align 1
  br label %merge2669

true1215:                                         ; preds = %false1204
  %_rtB_6236 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %2286 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_6236, i32 0, i32 64
  %_rtB__ClutchSpeedDisengaged6237 = load double* %2286, align 1
  %tmp304 = fmul double %_rtB__ClutchSpeedDisengaged6237, %_rtB__ClutchSpeedDisengaged6237
  %2287 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_6236, i32 0, i32 297
  %_rtB__Sum3_h6241 = load double* %2287, align 1
  %tmp305 = fmul double %tmp304, %_rtB__Sum3_h6241
  %_rtP_6242 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %2288 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_6242, i32 0, i32 64
  %_rtP__onehalf_Gain_n = load double* %2288, align 1
  %tmp306 = fmul double %tmp305, %_rtP__onehalf_Gain_n
  %2289 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_6236, i32 0, i32 596
  store double %tmp306, double* %2289, align 1
  %vm_ssIsSampleHitVar0_6244 = load i32* %vm_ssIsSampleHitVar0_, align 1
  store i32 %vm_ssIsSampleHitVar0_6244, i32* %i_0_, align 1
  %2290 = icmp eq i32 %vm_ssIsSampleHitVar0_6244, 0
  br i1 %2290, label %false1218, label %true1217

false1216:                                        ; preds = %true1221, %false1220, %false1204
  %vm_ssIsSampleHitVar0_6265 = load i32* %vm_ssIsSampleHitVar0_, align 1
  store i32 %vm_ssIsSampleHitVar0_6265, i32* %i_0_, align 1
  %2291 = icmp eq i32 %vm_ssIsSampleHitVar0_6265, 0
  %vm_ssIsMajorTimeStepVar1_6267 = load i32* %vm_ssIsMajorTimeStepVar1_, align 1
  %2292 = icmp eq i32 %vm_ssIsMajorTimeStepVar1_6267, 0
  %or.cond10142 = or i1 %2291, %2292
  br i1 %or.cond10142, label %false1224, label %true1225

true1217:                                         ; preds = %true1215
  %"%<tSimStruct>_6246" = load i8** %"%<tSimStruct>_", align 1
  call void @vm_ssCallAccelRunBlock(i8* %"%<tSimStruct>_6246", i32 108, i32 3, i32 104)
  br label %false1218

false1218:                                        ; preds = %true1215, %true1217
  %"%<tSimStruct>_6247" = load i8** %"%<tSimStruct>_", align 1
  %_rtB_6248 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %2293 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_6248, i32 0, i32 360
  %_rtB__gearengagedSW = load double* %2293, align 1
  %2294 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_6248, i32 0, i32 64
  %_rtB__ClutchSpeedDisengaged6250 = load double* %2294, align 1
  %2295 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_6248, i32 0, i32 883
  %_rtP_6252 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %2296 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_6252, i32 0, i32 1567
  %_rtX_6253 = load %X_REVS_VM_T.18** %_rtX_, align 1
  %2297 = getelementptr inbounds %X_REVS_VM_T.18* %_rtX_6253, i32 0, i32 98
  call void @REVS_VM_MechEnergyNmradps(i8* %"%<tSimStruct>_6247", double %_rtB__gearengagedSW, double %_rtB__ClutchSpeedDisengaged6250, %B_MechEnergyNmradps_REVS_VM_T.4* %2295, %P_MechEnergyNmradps_REVS_VM_T.6* %2296, %X_MechEnergyNmradps_REVS_VM_T.7* %2297)
  %vm_ssIsSampleHitVar0_6254 = load i32* %vm_ssIsSampleHitVar0_, align 1
  store i32 %vm_ssIsSampleHitVar0_6254, i32* %i_0_, align 1
  %2298 = icmp eq i32 %vm_ssIsSampleHitVar0_6254, 0
  br i1 %2298, label %false1220, label %true1219

true1219:                                         ; preds = %false1218
  %"%<tSimStruct>_6256" = load i8** %"%<tSimStruct>_", align 1
  call void @vm_ssCallAccelRunBlock(i8* %"%<tSimStruct>_6256", i32 108, i32 5, i32 104)
  %"%<tSimStruct>_6257" = load i8** %"%<tSimStruct>_", align 1
  call void @vm_ssCallAccelRunBlock(i8* %"%<tSimStruct>_6257", i32 108, i32 6, i32 104)
  %"%<tSimStruct>_6258" = load i8** %"%<tSimStruct>_", align 1
  call void @vm_ssCallAccelRunBlock(i8* %"%<tSimStruct>_6258", i32 108, i32 7, i32 104)
  %"%<tSimStruct>_6259" = load i8** %"%<tSimStruct>_", align 1
  call void @vm_ssCallAccelRunBlock(i8* %"%<tSimStruct>_6259", i32 108, i32 8, i32 104)
  %"%<tSimStruct>_6260" = load i8** %"%<tSimStruct>_", align 1
  call void @vm_ssCallAccelRunBlock(i8* %"%<tSimStruct>_6260", i32 108, i32 9, i32 104)
  %"%<tSimStruct>_6261" = load i8** %"%<tSimStruct>_", align 1
  call void @vm_ssCallAccelRunBlock(i8* %"%<tSimStruct>_6261", i32 108, i32 10, i32 104)
  %"%<tSimStruct>_6262" = load i8** %"%<tSimStruct>_", align 1
  call void @vm_ssCallAccelRunBlock(i8* %"%<tSimStruct>_6262", i32 108, i32 11, i32 104)
  br label %false1220

false1220:                                        ; preds = %false1218, %true1219
  %vm_ssIsMajorTimeStepVar1_6263 = load i32* %vm_ssIsMajorTimeStepVar1_, align 1
  %2299 = icmp eq i32 %vm_ssIsMajorTimeStepVar1_6263, 0
  br i1 %2299, label %false1216, label %true1221

true1221:                                         ; preds = %false1220
  %_rtDW_6264 = load %DW_REVS_VM_T.16** %_rtDW_, align 1
  %2300 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_6264, i32 0, i32 1012
  call void @vm_srUpdateBC(i8* %2300)
  br label %false1216

false1224:                                        ; preds = %false1228, %true1229, %false1234, %true1227, %false1216
  %_rtDW_6279 = load %DW_REVS_VM_T.16** %_rtDW_, align 1
  %2301 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_6279, i32 0, i32 1070
  %_rtDW__Subsystem_MODE_cp6280 = load i8* %2301, align 1
  %2302 = and i8 %_rtDW__Subsystem_MODE_cp6280, 1
  %2303 = icmp eq i8 %2302, 0
  br i1 %2303, label %false1236, label %true1235

true1225:                                         ; preds = %false1216
  %_rtB_6268 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %2304 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_6268, i32 0, i32 854
  %_rtB__Compare_hw = load i8* %2304, align 1
  %2305 = and i8 %_rtB__Compare_hw, 1
  %2306 = icmp eq i8 %2305, 0
  %_rtDW_6269 = load %DW_REVS_VM_T.16** %_rtDW_, align 1
  %2307 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_6269, i32 0, i32 1070
  %_rtDW__Subsystem_MODE_cp6270 = load i8* %2307, align 1
  %2308 = and i8 %_rtDW__Subsystem_MODE_cp6270, 1
  %2309 = icmp eq i8 %2308, 0
  br i1 %2306, label %false1228, label %true1227

true1227:                                         ; preds = %true1225
  br i1 %2309, label %true1231, label %false1224

false1228:                                        ; preds = %true1225
  br i1 %2309, label %false1224, label %true1229

true1229:                                         ; preds = %false1228
  %"%<tSimStruct>_6271" = load i8** %"%<tSimStruct>_", align 1
  call void @vm_ssSetSolverNeedsReset(i8* %"%<tSimStruct>_6271")
  %_rtDW_6272 = load %DW_REVS_VM_T.16** %_rtDW_, align 1
  %2310 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_6272, i32 0, i32 1070
  store i8 0, i8* %2310, align 1
  br label %false1224

true1231:                                         ; preds = %true1227
  %vm_ssGetTaskTimeVar2_6275 = load double* %vm_ssGetTaskTimeVar2_, align 1
  %vm_ssGetTStartVar3_6276 = load double* %vm_ssGetTStartVar3_, align 1
  %2311 = fcmp une double %vm_ssGetTaskTimeVar2_6275, %vm_ssGetTStartVar3_6276
  br i1 %2311, label %true1233, label %false1234

true1233:                                         ; preds = %true1231
  %"%<tSimStruct>_6277" = load i8** %"%<tSimStruct>_", align 1
  call void @vm_ssSetSolverNeedsReset(i8* %"%<tSimStruct>_6277")
  %_rtDW_6278.pre = load %DW_REVS_VM_T.16** %_rtDW_, align 1
  br label %false1234

false1234:                                        ; preds = %true1233, %true1231
  %_rtDW_6278 = phi %DW_REVS_VM_T.16* [ %_rtDW_6278.pre, %true1233 ], [ %_rtDW_6269, %true1231 ]
  %2312 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_6278, i32 0, i32 1070
  store i8 1, i8* %2312, align 1
  br label %false1224

true1235:                                         ; preds = %false1224
  %_rtB_6281 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %2313 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_6281, i32 0, i32 47
  %_rtB__Product36282 = load double* %2313, align 1
  %tmp307 = fmul double %_rtB__Product36282, %_rtB__Product36282
  %2314 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_6281, i32 0, i32 309
  %_rtB__Constant3_k6286 = load double* %2314, align 1
  %tmp308 = fmul double %tmp307, %_rtB__Constant3_k6286
  %_rtP_6287 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %2315 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_6287, i32 0, i32 67
  %_rtP__onehalf_Gain_ar = load double* %2315, align 1
  %tmp309 = fmul double %tmp308, %_rtP__onehalf_Gain_ar
  %2316 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_6281, i32 0, i32 595
  store double %tmp309, double* %2316, align 1
  %vm_ssIsSampleHitVar0_6289 = load i32* %vm_ssIsSampleHitVar0_, align 1
  store i32 %vm_ssIsSampleHitVar0_6289, i32* %i_0_, align 1
  %2317 = icmp eq i32 %vm_ssIsSampleHitVar0_6289, 0
  br i1 %2317, label %false1238, label %true1237

false1236:                                        ; preds = %true1241, %false1240, %false1224
  %_rtB_6311 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %2318 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_6311, i32 0, i32 883, i32 2
  %_rtB__MechEnergyNmradps_fi_Integrator1 = load double* %2318, align 1
  %2319 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_6311, i32 0, i32 882, i32 2
  %_rtB__MechEnergyNmradps_md_Integrator1 = load double* %2319, align 1
  %tmp310 = fsub double %_rtB__MechEnergyNmradps_fi_Integrator1, %_rtB__MechEnergyNmradps_md_Integrator1
  store double %tmp310, double* %u0_0_, align 1
  %2320 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_6311, i32 0, i32 882, i32 0
  %_rtB__MechEnergyNmradps_md_Gain = load double* %2320, align 1
  %2321 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_6311, i32 0, i32 883, i32 0
  %_rtB__MechEnergyNmradps_fi_Gain = load double* %2321, align 1
  %tmp311 = fsub double %_rtB__MechEnergyNmradps_md_Gain, %_rtB__MechEnergyNmradps_fi_Gain
  store double %tmp311, double* %u0_, align 1
  %_rtP_6316 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %2322 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_6316, i32 0, i32 72
  %_rtP__Pos_UpperSat_f = load double* %2322, align 1
  %2323 = fcmp ogt double %tmp310, %_rtP__Pos_UpperSat_f
  br i1 %2323, label %true1243, label %false1244

true1237:                                         ; preds = %true1235
  %"%<tSimStruct>_6291" = load i8** %"%<tSimStruct>_", align 1
  call void @vm_ssCallAccelRunBlock(i8* %"%<tSimStruct>_6291", i32 110, i32 3, i32 104)
  br label %false1238

false1238:                                        ; preds = %true1235, %true1237
  %"%<tSimStruct>_6292" = load i8** %"%<tSimStruct>_", align 1
  %_rtB_6293 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %2324 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_6293, i32 0, i32 308
  %_rtB__gb_trq_out_Nm6294 = load double* %2324, align 1
  %2325 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_6293, i32 0, i32 47
  %_rtB__Product36296 = load double* %2325, align 1
  %2326 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_6293, i32 0, i32 882
  %_rtP_6298 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %2327 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_6298, i32 0, i32 1566
  %_rtX_6299 = load %X_REVS_VM_T.18** %_rtX_, align 1
  %2328 = getelementptr inbounds %X_REVS_VM_T.18* %_rtX_6299, i32 0, i32 97
  call void @REVS_VM_MechEnergyNmradps(i8* %"%<tSimStruct>_6292", double %_rtB__gb_trq_out_Nm6294, double %_rtB__Product36296, %B_MechEnergyNmradps_REVS_VM_T.4* %2326, %P_MechEnergyNmradps_REVS_VM_T.6* %2327, %X_MechEnergyNmradps_REVS_VM_T.7* %2328)
  %vm_ssIsSampleHitVar0_6300 = load i32* %vm_ssIsSampleHitVar0_, align 1
  store i32 %vm_ssIsSampleHitVar0_6300, i32* %i_0_, align 1
  %2329 = icmp eq i32 %vm_ssIsSampleHitVar0_6300, 0
  br i1 %2329, label %false1240, label %true1239

true1239:                                         ; preds = %false1238
  %"%<tSimStruct>_6302" = load i8** %"%<tSimStruct>_", align 1
  call void @vm_ssCallAccelRunBlock(i8* %"%<tSimStruct>_6302", i32 110, i32 5, i32 104)
  %"%<tSimStruct>_6303" = load i8** %"%<tSimStruct>_", align 1
  call void @vm_ssCallAccelRunBlock(i8* %"%<tSimStruct>_6303", i32 110, i32 6, i32 104)
  %"%<tSimStruct>_6304" = load i8** %"%<tSimStruct>_", align 1
  call void @vm_ssCallAccelRunBlock(i8* %"%<tSimStruct>_6304", i32 110, i32 7, i32 104)
  %"%<tSimStruct>_6305" = load i8** %"%<tSimStruct>_", align 1
  call void @vm_ssCallAccelRunBlock(i8* %"%<tSimStruct>_6305", i32 110, i32 8, i32 104)
  %"%<tSimStruct>_6306" = load i8** %"%<tSimStruct>_", align 1
  call void @vm_ssCallAccelRunBlock(i8* %"%<tSimStruct>_6306", i32 110, i32 9, i32 104)
  %"%<tSimStruct>_6307" = load i8** %"%<tSimStruct>_", align 1
  call void @vm_ssCallAccelRunBlock(i8* %"%<tSimStruct>_6307", i32 110, i32 10, i32 104)
  %"%<tSimStruct>_6308" = load i8** %"%<tSimStruct>_", align 1
  call void @vm_ssCallAccelRunBlock(i8* %"%<tSimStruct>_6308", i32 110, i32 11, i32 104)
  br label %false1240

false1240:                                        ; preds = %false1238, %true1239
  %vm_ssIsMajorTimeStepVar1_6309 = load i32* %vm_ssIsMajorTimeStepVar1_, align 1
  %2330 = icmp eq i32 %vm_ssIsMajorTimeStepVar1_6309, 0
  br i1 %2330, label %false1236, label %true1241

true1241:                                         ; preds = %false1240
  %_rtDW_6310 = load %DW_REVS_VM_T.16** %_rtDW_, align 1
  %2331 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_6310, i32 0, i32 1013
  call void @vm_srUpdateBC(i8* %2331)
  br label %false1236

true1243:                                         ; preds = %false1236
  store double %_rtP__Pos_UpperSat_f, double* %u0_0_, align 1
  br label %merge2671

false1244:                                        ; preds = %false1236
  %2332 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_6316, i32 0, i32 73
  %_rtP__Pos_LowerSat_f = load double* %2332, align 1
  %2333 = fcmp olt double %tmp310, %_rtP__Pos_LowerSat_f
  br i1 %2333, label %true1245, label %merge2671

true1245:                                         ; preds = %false1244
  store double %_rtP__Pos_LowerSat_f, double* %u0_0_, align 1
  br label %merge2671

true1247:                                         ; preds = %merge2671
  store double %_rtP__Pos2_UpperSat_e, double* %u0_, align 1
  br label %merge2672

false1248:                                        ; preds = %merge2671
  %2334 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_6316, i32 0, i32 75
  %_rtP__Pos2_LowerSat_l = load double* %2334, align 1
  %2335 = fcmp olt double %tmp311, %_rtP__Pos2_LowerSat_l
  br i1 %2335, label %true1249, label %merge2672

true1249:                                         ; preds = %false1248
  store double %_rtP__Pos2_LowerSat_l, double* %u0_, align 1
  br label %merge2672

true1251:                                         ; preds = %merge2672
  %"%<tSimStruct>_6336" = load i8** %"%<tSimStruct>_", align 1
  call void @vm_ssCallAccelRunBlock(i8* %"%<tSimStruct>_6336", i32 111, i32 13, i32 104)
  br label %false1252

false1252:                                        ; preds = %merge2672, %true1251
  %vm_ssIsMajorTimeStepVar1_6337 = load i32* %vm_ssIsMajorTimeStepVar1_, align 1
  %2336 = icmp eq i32 %vm_ssIsMajorTimeStepVar1_6337, 0
  br i1 %2336, label %false1202, label %true1253

true1253:                                         ; preds = %false1252
  %_rtDW_6338 = load %DW_REVS_VM_T.16** %_rtDW_, align 1
  %2337 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_6338, i32 0, i32 912
  call void @vm_srUpdateBC(i8* %2337)
  br label %false1202

false1256:                                        ; preds = %false1260, %true1261, %false1266, %true1259, %false1202
  %_rtDW_6352 = load %DW_REVS_VM_T.16** %_rtDW_, align 1
  %2338 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_6352, i32 0, i32 1047
  %_rtDW__Subsystem_MODE_lxb6353 = load i8* %2338, align 1
  %2339 = and i8 %_rtDW__Subsystem_MODE_lxb6353, 1
  %2340 = icmp eq i8 %2339, 0
  br i1 %2340, label %false1268, label %true1267

true1257:                                         ; preds = %false1202
  %_rtB_6342 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %2341 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_6342, i32 0, i32 730
  %_rtB__Compare_ah = load i8* %2341, align 1
  %2342 = and i8 %_rtB__Compare_ah, 1
  %2343 = icmp eq i8 %2342, 0
  %_rtDW_6343 = load %DW_REVS_VM_T.16** %_rtDW_, align 1
  %2344 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_6343, i32 0, i32 1047
  %_rtDW__Subsystem_MODE_lxb = load i8* %2344, align 1
  %2345 = and i8 %_rtDW__Subsystem_MODE_lxb, 1
  %2346 = icmp eq i8 %2345, 0
  br i1 %2343, label %false1260, label %true1259

true1259:                                         ; preds = %true1257
  br i1 %2346, label %true1263, label %false1256

false1260:                                        ; preds = %true1257
  br i1 %2346, label %false1256, label %true1261

true1261:                                         ; preds = %false1260
  %"%<tSimStruct>_6344" = load i8** %"%<tSimStruct>_", align 1
  call void @vm_ssSetSolverNeedsReset(i8* %"%<tSimStruct>_6344")
  %_rtDW_6345 = load %DW_REVS_VM_T.16** %_rtDW_, align 1
  %2347 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_6345, i32 0, i32 1047
  store i8 0, i8* %2347, align 1
  br label %false1256

true1263:                                         ; preds = %true1259
  %vm_ssGetTaskTimeVar2_6348 = load double* %vm_ssGetTaskTimeVar2_, align 1
  %vm_ssGetTStartVar3_6349 = load double* %vm_ssGetTStartVar3_, align 1
  %2348 = fcmp une double %vm_ssGetTaskTimeVar2_6348, %vm_ssGetTStartVar3_6349
  br i1 %2348, label %true1265, label %false1266

true1265:                                         ; preds = %true1263
  %"%<tSimStruct>_6350" = load i8** %"%<tSimStruct>_", align 1
  call void @vm_ssSetSolverNeedsReset(i8* %"%<tSimStruct>_6350")
  %_rtDW_6351.pre = load %DW_REVS_VM_T.16** %_rtDW_, align 1
  br label %false1266

false1266:                                        ; preds = %true1265, %true1263
  %_rtDW_6351 = phi %DW_REVS_VM_T.16* [ %_rtDW_6351.pre, %true1265 ], [ %_rtDW_6343, %true1263 ]
  %2349 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_6351, i32 0, i32 1047
  store i8 1, i8* %2349, align 1
  br label %false1256

true1267:                                         ; preds = %false1256
  %"%<tSimStruct>_6354" = load i8** %"%<tSimStruct>_", align 1
  %_rtB_6355 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %2350 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_6355, i32 0, i32 290
  %_rtB__Lookup_l6356 = load double* %2350, align 1
  %2351 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_6355, i32 0, i32 64
  %_rtB__ClutchSpeedDisengaged6358 = load double* %2351, align 1
  %2352 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_6355, i32 0, i32 880
  %_rtP_6360 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %2353 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_6360, i32 0, i32 1564
  %_rtX_6361 = load %X_REVS_VM_T.18** %_rtX_, align 1
  %2354 = getelementptr inbounds %X_REVS_VM_T.18* %_rtX_6361, i32 0, i32 95
  call void @REVS_VM_MechEnergyNmradps(i8* %"%<tSimStruct>_6354", double %_rtB__Lookup_l6356, double %_rtB__ClutchSpeedDisengaged6358, %B_MechEnergyNmradps_REVS_VM_T.4* %2352, %P_MechEnergyNmradps_REVS_VM_T.6* %2353, %X_MechEnergyNmradps_REVS_VM_T.7* %2354)
  %vm_ssIsSampleHitVar0_6362 = load i32* %vm_ssIsSampleHitVar0_, align 1
  store i32 %vm_ssIsSampleHitVar0_6362, i32* %i_0_, align 1
  %2355 = icmp eq i32 %vm_ssIsSampleHitVar0_6362, 0
  br i1 %2355, label %false1270, label %true1269

false1268:                                        ; preds = %true1271, %false1270, %false1256
  %vm_ssIsSampleHitVar0_6372 = load i32* %vm_ssIsSampleHitVar0_, align 1
  store i32 %vm_ssIsSampleHitVar0_6372, i32* %i_0_, align 1
  %2356 = icmp eq i32 %vm_ssIsSampleHitVar0_6372, 0
  %vm_ssIsMajorTimeStepVar1_6374 = load i32* %vm_ssIsMajorTimeStepVar1_, align 1
  %2357 = icmp eq i32 %vm_ssIsMajorTimeStepVar1_6374, 0
  %or.cond10146 = or i1 %2356, %2357
  br i1 %or.cond10146, label %false1274, label %true1275

true1269:                                         ; preds = %true1267
  %"%<tSimStruct>_6364" = load i8** %"%<tSimStruct>_", align 1
  call void @vm_ssCallAccelRunBlock(i8* %"%<tSimStruct>_6364", i32 119, i32 1, i32 104)
  %"%<tSimStruct>_6365" = load i8** %"%<tSimStruct>_", align 1
  call void @vm_ssCallAccelRunBlock(i8* %"%<tSimStruct>_6365", i32 119, i32 2, i32 104)
  %"%<tSimStruct>_6366" = load i8** %"%<tSimStruct>_", align 1
  call void @vm_ssCallAccelRunBlock(i8* %"%<tSimStruct>_6366", i32 119, i32 3, i32 104)
  %"%<tSimStruct>_6367" = load i8** %"%<tSimStruct>_", align 1
  call void @vm_ssCallAccelRunBlock(i8* %"%<tSimStruct>_6367", i32 119, i32 4, i32 104)
  %"%<tSimStruct>_6368" = load i8** %"%<tSimStruct>_", align 1
  call void @vm_ssCallAccelRunBlock(i8* %"%<tSimStruct>_6368", i32 119, i32 5, i32 104)
  %"%<tSimStruct>_6369" = load i8** %"%<tSimStruct>_", align 1
  call void @vm_ssCallAccelRunBlock(i8* %"%<tSimStruct>_6369", i32 119, i32 6, i32 104)
  br label %false1270

false1270:                                        ; preds = %true1267, %true1269
  %vm_ssIsMajorTimeStepVar1_6370 = load i32* %vm_ssIsMajorTimeStepVar1_, align 1
  %2358 = icmp eq i32 %vm_ssIsMajorTimeStepVar1_6370, 0
  br i1 %2358, label %false1268, label %true1271

true1271:                                         ; preds = %false1270
  %_rtDW_6371 = load %DW_REVS_VM_T.16** %_rtDW_, align 1
  %2359 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_6371, i32 0, i32 913
  call void @vm_srUpdateBC(i8* %2359)
  br label %false1268

false1274:                                        ; preds = %false1278, %true1279, %false1284, %true1277, %false1268
  %_rtDW_6385 = load %DW_REVS_VM_T.16** %_rtDW_, align 1
  %2360 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_6385, i32 0, i32 1048
  %_rtDW__Subsystem_MODE_i46386 = load i8* %2360, align 1
  %2361 = and i8 %_rtDW__Subsystem_MODE_i46386, 1
  %2362 = icmp eq i8 %2361, 0
  br i1 %2362, label %false1286, label %true1285

true1275:                                         ; preds = %false1268
  %_rtB_6375 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %2363 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_6375, i32 0, i32 731
  %_rtB__Compare_h = load i8* %2363, align 1
  %2364 = and i8 %_rtB__Compare_h, 1
  %2365 = icmp eq i8 %2364, 0
  %_rtDW_6376 = load %DW_REVS_VM_T.16** %_rtDW_, align 1
  %2366 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_6376, i32 0, i32 1048
  %_rtDW__Subsystem_MODE_i4 = load i8* %2366, align 1
  %2367 = and i8 %_rtDW__Subsystem_MODE_i4, 1
  %2368 = icmp eq i8 %2367, 0
  br i1 %2365, label %false1278, label %true1277

true1277:                                         ; preds = %true1275
  br i1 %2368, label %true1281, label %false1274

false1278:                                        ; preds = %true1275
  br i1 %2368, label %false1274, label %true1279

true1279:                                         ; preds = %false1278
  %"%<tSimStruct>_6377" = load i8** %"%<tSimStruct>_", align 1
  call void @vm_ssSetSolverNeedsReset(i8* %"%<tSimStruct>_6377")
  %_rtDW_6378 = load %DW_REVS_VM_T.16** %_rtDW_, align 1
  %2369 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_6378, i32 0, i32 1048
  store i8 0, i8* %2369, align 1
  br label %false1274

true1281:                                         ; preds = %true1277
  %vm_ssGetTaskTimeVar2_6381 = load double* %vm_ssGetTaskTimeVar2_, align 1
  %vm_ssGetTStartVar3_6382 = load double* %vm_ssGetTStartVar3_, align 1
  %2370 = fcmp une double %vm_ssGetTaskTimeVar2_6381, %vm_ssGetTStartVar3_6382
  br i1 %2370, label %true1283, label %false1284

true1283:                                         ; preds = %true1281
  %"%<tSimStruct>_6383" = load i8** %"%<tSimStruct>_", align 1
  call void @vm_ssSetSolverNeedsReset(i8* %"%<tSimStruct>_6383")
  %_rtDW_6384.pre = load %DW_REVS_VM_T.16** %_rtDW_, align 1
  br label %false1284

false1284:                                        ; preds = %true1283, %true1281
  %_rtDW_6384 = phi %DW_REVS_VM_T.16* [ %_rtDW_6384.pre, %true1283 ], [ %_rtDW_6376, %true1281 ]
  %2371 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_6384, i32 0, i32 1048
  store i8 1, i8* %2371, align 1
  br label %false1274

true1285:                                         ; preds = %false1274
  %"%<tSimStruct>_6387" = load i8** %"%<tSimStruct>_", align 1
  %_rtB_6388 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %2372 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_6388, i32 0, i32 307
  %_rtB__Lookup_g6389 = load double* %2372, align 1
  %2373 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_6388, i32 0, i32 47
  %_rtB__Product36391 = load double* %2373, align 1
  %2374 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_6388, i32 0, i32 879
  %_rtP_6393 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %2375 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_6393, i32 0, i32 1563
  %_rtX_6394 = load %X_REVS_VM_T.18** %_rtX_, align 1
  %2376 = getelementptr inbounds %X_REVS_VM_T.18* %_rtX_6394, i32 0, i32 94
  call void @REVS_VM_MechEnergyNmradps(i8* %"%<tSimStruct>_6387", double %_rtB__Lookup_g6389, double %_rtB__Product36391, %B_MechEnergyNmradps_REVS_VM_T.4* %2374, %P_MechEnergyNmradps_REVS_VM_T.6* %2375, %X_MechEnergyNmradps_REVS_VM_T.7* %2376)
  %vm_ssIsSampleHitVar0_6395 = load i32* %vm_ssIsSampleHitVar0_, align 1
  store i32 %vm_ssIsSampleHitVar0_6395, i32* %i_0_, align 1
  %2377 = icmp eq i32 %vm_ssIsSampleHitVar0_6395, 0
  br i1 %2377, label %false1288, label %true1287

false1286:                                        ; preds = %true1289, %false1288, %false1274
  %vm_ssIsSampleHitVar0_6405 = load i32* %vm_ssIsSampleHitVar0_, align 1
  store i32 %vm_ssIsSampleHitVar0_6405, i32* %i_0_, align 1
  %2378 = icmp eq i32 %vm_ssIsSampleHitVar0_6405, 0
  br i1 %2378, label %false1292, label %true1291

true1287:                                         ; preds = %true1285
  %"%<tSimStruct>_6397" = load i8** %"%<tSimStruct>_", align 1
  call void @vm_ssCallAccelRunBlock(i8* %"%<tSimStruct>_6397", i32 121, i32 1, i32 104)
  %"%<tSimStruct>_6398" = load i8** %"%<tSimStruct>_", align 1
  call void @vm_ssCallAccelRunBlock(i8* %"%<tSimStruct>_6398", i32 121, i32 2, i32 104)
  %"%<tSimStruct>_6399" = load i8** %"%<tSimStruct>_", align 1
  call void @vm_ssCallAccelRunBlock(i8* %"%<tSimStruct>_6399", i32 121, i32 3, i32 104)
  %"%<tSimStruct>_6400" = load i8** %"%<tSimStruct>_", align 1
  call void @vm_ssCallAccelRunBlock(i8* %"%<tSimStruct>_6400", i32 121, i32 4, i32 104)
  %"%<tSimStruct>_6401" = load i8** %"%<tSimStruct>_", align 1
  call void @vm_ssCallAccelRunBlock(i8* %"%<tSimStruct>_6401", i32 121, i32 5, i32 104)
  %"%<tSimStruct>_6402" = load i8** %"%<tSimStruct>_", align 1
  call void @vm_ssCallAccelRunBlock(i8* %"%<tSimStruct>_6402", i32 121, i32 6, i32 104)
  br label %false1288

false1288:                                        ; preds = %true1285, %true1287
  %vm_ssIsMajorTimeStepVar1_6403 = load i32* %vm_ssIsMajorTimeStepVar1_, align 1
  %2379 = icmp eq i32 %vm_ssIsMajorTimeStepVar1_6403, 0
  br i1 %2379, label %false1286, label %true1289

true1289:                                         ; preds = %false1288
  %_rtDW_6404 = load %DW_REVS_VM_T.16** %_rtDW_, align 1
  %2380 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_6404, i32 0, i32 914
  call void @vm_srUpdateBC(i8* %2380)
  br label %false1286

true1291:                                         ; preds = %false1286
  %_rtB_6407 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %2381 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_6407, i32 0, i32 732
  %_rtB__RelationalOperator_ae = load i8* %2381, align 1
  %2382 = and i8 %_rtB__RelationalOperator_ae, 1
  %2383 = icmp eq i8 %2382, 0
  br i1 %2383, label %false1294, label %true1293

false1292:                                        ; preds = %false1286, %false1302
  %vm_ssIsSampleHitVar0_6419 = phi i32 [ 0, %false1286 ], [ %vm_ssIsSampleHitVar0_6419.pre, %false1302 ]
  store i32 %vm_ssIsSampleHitVar0_6419, i32* %i_0_, align 1
  %2384 = icmp eq i32 %vm_ssIsSampleHitVar0_6419, 0
  br i1 %2384, label %false1306, label %true1305

true1293:                                         ; preds = %true1291
  %"%<tSimStruct>_6408" = load i8** %"%<tSimStruct>_", align 1
  call void @vm_ssCallAccelRunBlock(i8* %"%<tSimStruct>_6408", i32 125, i32 0, i32 104)
  %vm_ssIsMajorTimeStepVar1_6409 = load i32* %vm_ssIsMajorTimeStepVar1_, align 1
  %2385 = icmp eq i32 %vm_ssIsMajorTimeStepVar1_6409, 0
  br i1 %2385, label %false1296, label %true1295

false1294:                                        ; preds = %true1291, %false1296
  %_rtB_6411 = phi %B_REVS_VM_T.12* [ %_rtB_6407, %true1291 ], [ %_rtB_6411.pre, %false1296 ]
  %2386 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_6411, i32 0, i32 733
  %_rtB__RelationalOperator_n3 = load i8* %2386, align 1
  %2387 = and i8 %_rtB__RelationalOperator_n3, 1
  %2388 = icmp eq i8 %2387, 0
  br i1 %2388, label %false1298, label %true1297

true1295:                                         ; preds = %true1293
  %_rtDW_6410 = load %DW_REVS_VM_T.16** %_rtDW_, align 1
  %2389 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_6410, i32 0, i32 915
  call void @vm_srUpdateBC(i8* %2389)
  br label %false1296

false1296:                                        ; preds = %true1293, %true1295
  %_rtB_6411.pre = load %B_REVS_VM_T.12** %_rtB_, align 1
  br label %false1294

true1297:                                         ; preds = %false1294
  %"%<tSimStruct>_6412" = load i8** %"%<tSimStruct>_", align 1
  call void @vm_ssCallAccelRunBlock(i8* %"%<tSimStruct>_6412", i32 126, i32 0, i32 104)
  %vm_ssIsMajorTimeStepVar1_6413 = load i32* %vm_ssIsMajorTimeStepVar1_, align 1
  %2390 = icmp eq i32 %vm_ssIsMajorTimeStepVar1_6413, 0
  br i1 %2390, label %false1300, label %true1299

false1298:                                        ; preds = %false1294, %false1300
  %_rtB_6415 = phi %B_REVS_VM_T.12* [ %_rtB_6411, %false1294 ], [ %_rtB_6415.pre, %false1300 ]
  %2391 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_6415, i32 0, i32 734
  %_rtB__RelationalOperator_bd = load i8* %2391, align 1
  %2392 = and i8 %_rtB__RelationalOperator_bd, 1
  %2393 = icmp eq i8 %2392, 0
  br i1 %2393, label %false1302, label %true1301

true1299:                                         ; preds = %true1297
  %_rtDW_6414 = load %DW_REVS_VM_T.16** %_rtDW_, align 1
  %2394 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_6414, i32 0, i32 916
  call void @vm_srUpdateBC(i8* %2394)
  br label %false1300

false1300:                                        ; preds = %true1297, %true1299
  %_rtB_6415.pre = load %B_REVS_VM_T.12** %_rtB_, align 1
  br label %false1298

true1301:                                         ; preds = %false1298
  %"%<tSimStruct>_6416" = load i8** %"%<tSimStruct>_", align 1
  call void @vm_ssCallAccelRunBlock(i8* %"%<tSimStruct>_6416", i32 127, i32 0, i32 104)
  %vm_ssIsMajorTimeStepVar1_6417 = load i32* %vm_ssIsMajorTimeStepVar1_, align 1
  %2395 = icmp eq i32 %vm_ssIsMajorTimeStepVar1_6417, 0
  br i1 %2395, label %false1302, label %true1303

false1302:                                        ; preds = %true1303, %true1301, %false1298
  %vm_ssIsSampleHitVar0_6419.pre = load i32* %vm_ssIsSampleHitVar0_, align 1
  br label %false1292

true1303:                                         ; preds = %true1301
  %_rtDW_6418 = load %DW_REVS_VM_T.16** %_rtDW_, align 1
  %2396 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_6418, i32 0, i32 917
  call void @vm_srUpdateBC(i8* %2396)
  br label %false1302

true1305:                                         ; preds = %false1292
  %_rtDW_6421 = load %DW_REVS_VM_T.16** %_rtDW_, align 1
  %2397 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_6421, i32 0, i32 88
  %_rtDW__Memory1_PreviousInput_f = load double* %2397, align 1
  %_rtB_6422 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %2398 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_6422, i32 0, i32 363
  store double %_rtDW__Memory1_PreviousInput_f, double* %2398, align 1
  br label %false1306

false1306:                                        ; preds = %false1292, %true1305
  %_rtB_6423 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %2399 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_6423, i32 0, i32 61
  %_rtB__Saturation6424 = load double* %2399, align 1
  %2400 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_6423, i32 0, i32 362
  %_rtB__Constant_ca = load double* %2400, align 1
  %2401 = fcmp ult double %_rtB__Saturation6424, %_rtB__Constant_ca
  %2402 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_6423, i32 0, i32 363
  %2403 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_6423, i32 0, i32 40
  %storemerge9631.in = select i1 %2401, double* %2402, double* %2403
  %storemerge9631 = load double* %storemerge9631.in, align 1
  store double %storemerge9631, double* %u0_0_, align 1
  %_rtB__Saturation6430 = load double* %2399, align 1
  %2404 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_6423, i32 0, i32 361
  %_rtB__Constant_d = load double* %2404, align 1
  %2405 = fcmp ogt double %_rtB__Saturation6430, %_rtB__Constant_d
  %2406 = uitofp i1 %2405 to double
  %tmp313 = fmul double %storemerge9631, %2406
  %2407 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_6423, i32 0, i32 364
  store double %tmp313, double* %2407, align 1
  %vm_ssIsSampleHitVar0_6434 = load i32* %vm_ssIsSampleHitVar0_, align 1
  store i32 %vm_ssIsSampleHitVar0_6434, i32* %i_0_, align 1
  %2408 = icmp eq i32 %vm_ssIsSampleHitVar0_6434, 0
  br i1 %2408, label %merge2676, label %true1309

true1309:                                         ; preds = %false1306
  %_rtB_6436 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %2409 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_6436, i32 0, i32 735
  %_rtB__RelationalOperator_mb = load i8* %2409, align 1
  %2410 = and i8 %_rtB__RelationalOperator_mb, 1
  %2411 = icmp eq i8 %2410, 0
  br i1 %2411, label %false1312, label %true1311

true1311:                                         ; preds = %true1309
  %"%<tSimStruct>_6437" = load i8** %"%<tSimStruct>_", align 1
  call void @vm_ssCallAccelRunBlock(i8* %"%<tSimStruct>_6437", i32 112, i32 0, i32 104)
  %vm_ssIsMajorTimeStepVar1_6438 = load i32* %vm_ssIsMajorTimeStepVar1_, align 1
  %2412 = icmp eq i32 %vm_ssIsMajorTimeStepVar1_6438, 0
  br i1 %2412, label %false1314, label %true1313

false1312:                                        ; preds = %true1309, %false1314
  %_rtB_6440 = phi %B_REVS_VM_T.12* [ %_rtB_6436, %true1309 ], [ %_rtB_6440.pre, %false1314 ]
  %2413 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_6440, i32 0, i32 736
  %_rtB__RelationalOperator_pb = load i8* %2413, align 1
  %2414 = and i8 %_rtB__RelationalOperator_pb, 1
  %2415 = icmp eq i8 %2414, 0
  br i1 %2415, label %false1316, label %true1315

true1313:                                         ; preds = %true1311
  %_rtDW_6439 = load %DW_REVS_VM_T.16** %_rtDW_, align 1
  %2416 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_6439, i32 0, i32 918
  call void @vm_srUpdateBC(i8* %2416)
  br label %false1314

false1314:                                        ; preds = %true1311, %true1313
  %_rtB_6440.pre = load %B_REVS_VM_T.12** %_rtB_, align 1
  br label %false1312

true1315:                                         ; preds = %false1312
  %"%<tSimStruct>_6441" = load i8** %"%<tSimStruct>_", align 1
  call void @vm_ssCallAccelRunBlock(i8* %"%<tSimStruct>_6441", i32 113, i32 0, i32 104)
  %vm_ssIsMajorTimeStepVar1_6442 = load i32* %vm_ssIsMajorTimeStepVar1_, align 1
  %2417 = icmp eq i32 %vm_ssIsMajorTimeStepVar1_6442, 0
  br i1 %2417, label %false1318, label %true1317

false1316:                                        ; preds = %false1312, %false1318
  %_rtB_6444 = phi %B_REVS_VM_T.12* [ %_rtB_6440, %false1312 ], [ %_rtB_6444.pre, %false1318 ]
  %2418 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_6444, i32 0, i32 737
  %_rtB__RelationalOperator_jn = load i8* %2418, align 1
  %2419 = and i8 %_rtB__RelationalOperator_jn, 1
  %2420 = icmp eq i8 %2419, 0
  br i1 %2420, label %merge2676, label %true1319

true1317:                                         ; preds = %true1315
  %_rtDW_6443 = load %DW_REVS_VM_T.16** %_rtDW_, align 1
  %2421 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_6443, i32 0, i32 919
  call void @vm_srUpdateBC(i8* %2421)
  br label %false1318

false1318:                                        ; preds = %true1315, %true1317
  %_rtB_6444.pre = load %B_REVS_VM_T.12** %_rtB_, align 1
  br label %false1316

true1319:                                         ; preds = %false1316
  %"%<tSimStruct>_6445" = load i8** %"%<tSimStruct>_", align 1
  call void @vm_ssCallAccelRunBlock(i8* %"%<tSimStruct>_6445", i32 114, i32 0, i32 104)
  %vm_ssIsMajorTimeStepVar1_6446 = load i32* %vm_ssIsMajorTimeStepVar1_, align 1
  %2422 = icmp eq i32 %vm_ssIsMajorTimeStepVar1_6446, 0
  br i1 %2422, label %merge2676, label %true1321

true1321:                                         ; preds = %true1319
  %_rtDW_6447 = load %DW_REVS_VM_T.16** %_rtDW_, align 1
  %2423 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_6447, i32 0, i32 920
  call void @vm_srUpdateBC(i8* %2423)
  br label %merge2676

true1323:                                         ; preds = %merge2676
  %_rtB_9454 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %2424 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_9454, i32 0, i32 57
  %_rtB__gear_num9455 = load double* %2424, align 1
  %2425 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_9454, i32 0, i32 367, i32 %i_0_9459
  %_rtB__Constant1_n_el = load double* %2425, align 1
  %2426 = fcmp oeq double %_rtB__gear_num9455, %_rtB__Constant1_n_el
  %2427 = zext i1 %2426 to i8
  %2428 = getelementptr inbounds [9 x i8]* %rtb_RelationalOperator2_p_, i32 0, i32 %i_0_9459
  store i8 %2427, i8* %2428, align 1
  %tmp600 = add i32 %i_0_9459, 1
  br label %merge2676

false1324:                                        ; preds = %merge2676
  %2429 = getelementptr inbounds [9 x i8]* %rtb_RelationalOperator2_p_, i32 0, i32 0
  %rtb_RelationalOperator2_p__el = load i8* %2429, align 1
  store i8 %rtb_RelationalOperator2_p__el, i8* %tmp_, align 1
  br label %merge2677

true1325:                                         ; preds = %merge2677
  %tmp598 = add i32 %i_9453, 1
  %2430 = getelementptr inbounds [9 x i8]* %rtb_RelationalOperator2_p_, i32 0, i32 %tmp598
  %rtb_RelationalOperator2_p__el9452 = load i8* %2430, align 1
  %2431 = or i8 %rtb_RelationalOperator2_p__el9452, %tmp_6456
  %2432 = and i8 %2431, 1
  store i8 %2432, i8* %tmp_, align 1
  br label %merge2677

false1326:                                        ; preds = %merge2677
  %_rtB_6450 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %2433 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_6450, i32 0, i32 61
  %_rtB__Saturation6451 = load double* %2433, align 1
  %2434 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_6450, i32 0, i32 365
  %_rtB__Constant_l0 = load double* %2434, align 1
  %2435 = fcmp une double %_rtB__Saturation6451, %_rtB__Constant_l0
  %2436 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_6450, i32 0, i32 57
  %_rtB__gear_num6454 = load double* %2436, align 1
  %2437 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_6450, i32 0, i32 366
  %_rtB__Constant_kg = load double* %2437, align 1
  %2438 = fcmp une double %_rtB__gear_num6454, %_rtB__Constant_kg
  %2439 = and i1 %2435, %2438
  %2440 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_6450, i32 0, i32 738
  %_rtB__Constant2_m = load i8* %2440, align 1
  %2441 = or i8 %_rtB__Constant2_m, %tmp_6456
  %2442 = and i8 %2441, 1
  %2443 = icmp ne i8 %2442, 0
  %2444 = and i1 %2439, %2443
  br i1 %2444, label %true1327, label %false1328

true1327:                                         ; preds = %false1326
  %2445 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_6450, i32 0, i32 368
  store double %_rtB__gear_num6454, double* %2445, align 1
  br label %merge2678

false1328:                                        ; preds = %false1326
  %2446 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_6450, i32 0, i32 40
  %_rtB__Memory26459 = load double* %2446, align 1
  %2447 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_6450, i32 0, i32 368
  store double %_rtB__Memory26459, double* %2447, align 1
  br label %merge2678

false1330:                                        ; preds = %false1334, %true1335, %false1340, %true1333, %merge2678
  %_rtDW_6480 = load %DW_REVS_VM_T.16** %_rtDW_, align 1
  %2448 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_6480, i32 0, i32 1049
  %_rtDW__Subsystem_MODE_hp6481 = load i8* %2448, align 1
  %2449 = and i8 %_rtDW__Subsystem_MODE_hp6481, 1
  %2450 = icmp eq i8 %2449, 0
  br i1 %2450, label %false1342, label %true1341

true1331:                                         ; preds = %merge2678
  %_rtB_6470 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %2451 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_6470, i32 0, i32 739
  %_rtB__Compare_lk = load i8* %2451, align 1
  %2452 = and i8 %_rtB__Compare_lk, 1
  %2453 = icmp eq i8 %2452, 0
  %_rtDW_6471 = load %DW_REVS_VM_T.16** %_rtDW_, align 1
  %2454 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_6471, i32 0, i32 1049
  %_rtDW__Subsystem_MODE_hp = load i8* %2454, align 1
  %2455 = and i8 %_rtDW__Subsystem_MODE_hp, 1
  %2456 = icmp eq i8 %2455, 0
  br i1 %2453, label %false1334, label %true1333

true1333:                                         ; preds = %true1331
  br i1 %2456, label %true1337, label %false1330

false1334:                                        ; preds = %true1331
  br i1 %2456, label %false1330, label %true1335

true1335:                                         ; preds = %false1334
  %"%<tSimStruct>_6472" = load i8** %"%<tSimStruct>_", align 1
  call void @vm_ssSetSolverNeedsReset(i8* %"%<tSimStruct>_6472")
  %_rtDW_6473 = load %DW_REVS_VM_T.16** %_rtDW_, align 1
  %2457 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_6473, i32 0, i32 1049
  store i8 0, i8* %2457, align 1
  br label %false1330

true1337:                                         ; preds = %true1333
  %vm_ssGetTaskTimeVar2_6476 = load double* %vm_ssGetTaskTimeVar2_, align 1
  %vm_ssGetTStartVar3_6477 = load double* %vm_ssGetTStartVar3_, align 1
  %2458 = fcmp une double %vm_ssGetTaskTimeVar2_6476, %vm_ssGetTStartVar3_6477
  br i1 %2458, label %true1339, label %false1340

true1339:                                         ; preds = %true1337
  %"%<tSimStruct>_6478" = load i8** %"%<tSimStruct>_", align 1
  call void @vm_ssSetSolverNeedsReset(i8* %"%<tSimStruct>_6478")
  %_rtDW_6479.pre = load %DW_REVS_VM_T.16** %_rtDW_, align 1
  br label %false1340

false1340:                                        ; preds = %true1339, %true1337
  %_rtDW_6479 = phi %DW_REVS_VM_T.16* [ %_rtDW_6479.pre, %true1339 ], [ %_rtDW_6471, %true1337 ]
  %2459 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_6479, i32 0, i32 1049
  store i8 1, i8* %2459, align 1
  br label %false1330

true1341:                                         ; preds = %false1330
  %"%<tSimStruct>_6482" = load i8** %"%<tSimStruct>_", align 1
  %_rtB_6483 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %2460 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_6483, i32 0, i32 369
  %_rtB__Gain1_b = load double* %2460, align 1
  %2461 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_6483, i32 0, i32 64
  %_rtB__ClutchSpeedDisengaged6485 = load double* %2461, align 1
  %2462 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_6483, i32 0, i32 881
  %_rtP_6487 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %2463 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_6487, i32 0, i32 1565
  %_rtX_6488 = load %X_REVS_VM_T.18** %_rtX_, align 1
  %2464 = getelementptr inbounds %X_REVS_VM_T.18* %_rtX_6488, i32 0, i32 96
  call void @REVS_VM_MechEnergyNmradps(i8* %"%<tSimStruct>_6482", double %_rtB__Gain1_b, double %_rtB__ClutchSpeedDisengaged6485, %B_MechEnergyNmradps_REVS_VM_T.4* %2462, %P_MechEnergyNmradps_REVS_VM_T.6* %2463, %X_MechEnergyNmradps_REVS_VM_T.7* %2464)
  %vm_ssIsSampleHitVar0_6489 = load i32* %vm_ssIsSampleHitVar0_, align 1
  store i32 %vm_ssIsSampleHitVar0_6489, i32* %i_0_, align 1
  %2465 = icmp eq i32 %vm_ssIsSampleHitVar0_6489, 0
  br i1 %2465, label %false1344, label %true1343

false1342:                                        ; preds = %true1345, %false1344, %false1330
  %vm_ssIsSampleHitVar0_6499 = load i32* %vm_ssIsSampleHitVar0_, align 1
  store i32 %vm_ssIsSampleHitVar0_6499, i32* %i_0_, align 1
  %2466 = icmp eq i32 %vm_ssIsSampleHitVar0_6499, 0
  br i1 %2466, label %false1348, label %true1347

true1343:                                         ; preds = %true1341
  %"%<tSimStruct>_6491" = load i8** %"%<tSimStruct>_", align 1
  call void @vm_ssCallAccelRunBlock(i8* %"%<tSimStruct>_6491", i32 116, i32 1, i32 104)
  %"%<tSimStruct>_6492" = load i8** %"%<tSimStruct>_", align 1
  call void @vm_ssCallAccelRunBlock(i8* %"%<tSimStruct>_6492", i32 116, i32 2, i32 104)
  %"%<tSimStruct>_6493" = load i8** %"%<tSimStruct>_", align 1
  call void @vm_ssCallAccelRunBlock(i8* %"%<tSimStruct>_6493", i32 116, i32 3, i32 104)
  %"%<tSimStruct>_6494" = load i8** %"%<tSimStruct>_", align 1
  call void @vm_ssCallAccelRunBlock(i8* %"%<tSimStruct>_6494", i32 116, i32 4, i32 104)
  %"%<tSimStruct>_6495" = load i8** %"%<tSimStruct>_", align 1
  call void @vm_ssCallAccelRunBlock(i8* %"%<tSimStruct>_6495", i32 116, i32 5, i32 104)
  %"%<tSimStruct>_6496" = load i8** %"%<tSimStruct>_", align 1
  call void @vm_ssCallAccelRunBlock(i8* %"%<tSimStruct>_6496", i32 116, i32 6, i32 104)
  br label %false1344

false1344:                                        ; preds = %true1341, %true1343
  %vm_ssIsMajorTimeStepVar1_6497 = load i32* %vm_ssIsMajorTimeStepVar1_, align 1
  %2467 = icmp eq i32 %vm_ssIsMajorTimeStepVar1_6497, 0
  br i1 %2467, label %false1342, label %true1345

true1345:                                         ; preds = %false1344
  %_rtDW_6498 = load %DW_REVS_VM_T.16** %_rtDW_, align 1
  %2468 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_6498, i32 0, i32 921
  call void @vm_srUpdateBC(i8* %2468)
  br label %false1342

true1347:                                         ; preds = %false1342
  %_rtDW_6501 = load %DW_REVS_VM_T.16** %_rtDW_, align 1
  %2469 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_6501, i32 0, i32 89
  %_rtDW__Memory_PreviousInput_d = load double* %2469, align 1
  %_rtB_6502 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %2470 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_6502, i32 0, i32 370
  store double %_rtDW__Memory_PreviousInput_d, double* %2470, align 1
  %_rtDW_6503 = load %DW_REVS_VM_T.16** %_rtDW_, align 1
  %2471 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_6503, i32 0, i32 3
  %_rtDW__DelayInput1_DSTATE_k = load double* %2471, align 1
  %_rtB_6504 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %2472 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_6504, i32 0, i32 371
  store double %_rtDW__DelayInput1_DSTATE_k, double* %2472, align 1
  %vm_ssIsSampleHitVar0_6505.pre = load i32* %vm_ssIsSampleHitVar0_, align 1
  br label %false1348

false1348:                                        ; preds = %false1342, %true1347
  %vm_ssIsSampleHitVar0_6505 = phi i32 [ 0, %false1342 ], [ %vm_ssIsSampleHitVar0_6505.pre, %true1347 ]
  store i32 %vm_ssIsSampleHitVar0_6505, i32* %i_0_, align 1
  %2473 = icmp eq i32 %vm_ssIsSampleHitVar0_6505, 0
  br i1 %2473, label %false1350, label %true1349

true1349:                                         ; preds = %false1348
  %_rtDW_6507 = load %DW_REVS_VM_T.16** %_rtDW_, align 1
  %2474 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_6507, i32 0, i32 90
  %_rtDW__Memory1_PreviousInput_l = load double* %2474, align 1
  %_rtB_6508 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %2475 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_6508, i32 0, i32 372
  store double %_rtDW__Memory1_PreviousInput_l, double* %2475, align 1
  br label %false1350

false1350:                                        ; preds = %false1348, %true1349
  %_rtB_6509 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %2476 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_6509, i32 0, i32 61
  %_rtB__Saturation6510 = load double* %2476, align 1
  %2477 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_6509, i32 0, i32 371
  %_rtB__Uk1_d = load double* %2477, align 1
  %2478 = fcmp olt double %_rtB__Saturation6510, %_rtB__Uk1_d
  %2479 = uitofp i1 %2478 to double
  %2480 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_6509, i32 0, i32 370
  %_rtB__Memory_d = load double* %2480, align 1
  %tmp315 = fmul double %2479, %_rtB__Memory_d
  %2481 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_6509, i32 0, i32 372
  %_rtB__Memory1_eg = load double* %2481, align 1
  %tmp316 = fadd double %tmp315, %_rtB__Memory1_eg
  %2482 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_6509, i32 0, i32 373
  store double %tmp316, double* %2482, align 1
  %vm_ssIsSampleHitVar0_6515 = load i32* %vm_ssIsSampleHitVar0_, align 1
  store i32 %vm_ssIsSampleHitVar0_6515, i32* %i_0_, align 1
  %2483 = icmp eq i32 %vm_ssIsSampleHitVar0_6515, 0
  br i1 %2483, label %false1352, label %true1351

true1351:                                         ; preds = %false1350
  %_rtB_6517 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %2484 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_6517, i32 0, i32 740
  %_rtB__Compare_fa = load i8* %2484, align 1
  %2485 = and i8 %_rtB__Compare_fa, 1
  %2486 = icmp eq i8 %2485, 0
  br i1 %2486, label %false1352, label %true1353

false1352:                                        ; preds = %true1355, %true1353, %true1351, %false1350
  %_rtB_6521 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %2487 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_6521, i32 0, i32 292
  %_rtB__Product4_ck6522 = load double* %2487, align 1
  %2488 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_6521, i32 0, i32 64
  %_rtB__ClutchSpeedDisengaged6524 = load double* %2488, align 1
  %tmp317 = fmul double %_rtB__Product4_ck6522, %_rtB__ClutchSpeedDisengaged6524
  %tmp318 = fmul double %_rtB__ClutchSpeedDisengaged6524, %tmp317
  %_rtP_6527 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %2489 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_6527, i32 0, i32 898
  %_rtP__Gain_Gain_en = load double* %2489, align 1
  %tmp319 = fmul double %tmp318, %_rtP__Gain_Gain_en
  %2490 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_6521, i32 0, i32 374
  store double %tmp319, double* %2490, align 1
  %vm_ssIsSampleHitVar0_6529 = load i32* %vm_ssIsSampleHitVar0_, align 1
  store i32 %vm_ssIsSampleHitVar0_6529, i32* %i_0_, align 1
  %2491 = icmp eq i32 %vm_ssIsSampleHitVar0_6529, 0
  br i1 %2491, label %false1358, label %true1357

true1353:                                         ; preds = %true1351
  %"%<tSimStruct>_6518" = load i8** %"%<tSimStruct>_", align 1
  call void @vm_ssCallAccelRunBlock(i8* %"%<tSimStruct>_6518", i32 117, i32 0, i32 104)
  %vm_ssIsMajorTimeStepVar1_6519 = load i32* %vm_ssIsMajorTimeStepVar1_, align 1
  %2492 = icmp eq i32 %vm_ssIsMajorTimeStepVar1_6519, 0
  br i1 %2492, label %false1352, label %true1355

true1355:                                         ; preds = %true1353
  %_rtDW_6520 = load %DW_REVS_VM_T.16** %_rtDW_, align 1
  %2493 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_6520, i32 0, i32 922
  call void @vm_srUpdateBC(i8* %2493)
  br label %false1352

true1357:                                         ; preds = %false1352
  %_rtB_6531 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %2494 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_6531, i32 0, i32 741
  %_rtB__RelationalOperator_lk = load i8* %2494, align 1
  %2495 = and i8 %_rtB__RelationalOperator_lk, 1
  %2496 = icmp eq i8 %2495, 0
  br i1 %2496, label %false1360, label %true1359

false1358:                                        ; preds = %true1369, %true1367, %false1364, %false1352
  %rtb_Sum5_6543 = load double* %rtb_Sum5_, align 1
  %_rtB_6544 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %2497 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_6544, i32 0, i32 303
  %_rtB__Product1_p6545 = load double* %2497, align 1
  %tmp320 = fsub double %rtb_Sum5_6543, %_rtB__Product1_p6545
  %rtb_Sum6_k_6546 = load double* %rtb_Sum6_k_, align 1
  %tmp321 = fdiv double %tmp320, %rtb_Sum6_k_6546
  %2498 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_6544, i32 0, i32 375
  store double %tmp321, double* %2498, align 1
  %_rtB_6548 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %2499 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_6548, i32 0, i32 61
  %_rtB__Saturation6549 = load double* %2499, align 1
  %2500 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_6548, i32 0, i32 378
  %_rtB__Constant_jp = load double* %2500, align 1
  %2501 = fcmp ogt double %_rtB__Saturation6549, %_rtB__Constant_jp
  %rtb_Product3_6551 = load double* %rtb_Product3_, align 1
  %2502 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_6548, i32 0, i32 376
  %_rtB__Constant_lj = load double* %2502, align 1
  %2503 = fcmp ole double %rtb_Product3_6551, %_rtB__Constant_lj
  %2504 = and i1 %2501, %2503
  %2505 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_6548, i32 0, i32 64
  %_rtB__ClutchSpeedDisengaged6554 = load double* %2505, align 1
  %2506 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_6548, i32 0, i32 377
  %_rtB__Constant_n = load double* %2506, align 1
  %2507 = fcmp ole double %_rtB__ClutchSpeedDisengaged6554, %_rtB__Constant_n
  %2508 = and i1 %2504, %2507
  %2509 = zext i1 %2508 to i8
  %2510 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_6548, i32 0, i32 744
  store i8 %2509, i8* %2510, align 1
  %rtb_Sum_d_6557 = load double* %rtb_Sum_d_, align 1
  %_rtB_6558 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %2511 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_6558, i32 0, i32 280
  %_rtB__hydrodynamic_load_torque6559 = load double* %2511, align 1
  %tmp322 = fadd double %rtb_Sum_d_6557, %_rtB__hydrodynamic_load_torque6559
  store double %tmp322, double* %rtb_unlocked_load_Nm_, align 1
  %2512 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_6558, i32 0, i32 633
  %_rtB__LogicalOperator26561 = load i8* %2512, align 1
  %2513 = and i8 %_rtB__LogicalOperator26561, 1
  %2514 = icmp eq i8 %2513, 0
  br i1 %2514, label %false1372, label %true1371

true1359:                                         ; preds = %true1357
  %"%<tSimStruct>_6532" = load i8** %"%<tSimStruct>_", align 1
  call void @vm_ssCallAccelRunBlock(i8* %"%<tSimStruct>_6532", i32 122, i32 0, i32 104)
  %vm_ssIsMajorTimeStepVar1_6533 = load i32* %vm_ssIsMajorTimeStepVar1_, align 1
  %2515 = icmp eq i32 %vm_ssIsMajorTimeStepVar1_6533, 0
  br i1 %2515, label %false1362, label %true1361

false1360:                                        ; preds = %true1357, %false1362
  %_rtB_6535 = phi %B_REVS_VM_T.12* [ %_rtB_6531, %true1357 ], [ %_rtB_6535.pre, %false1362 ]
  %2516 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_6535, i32 0, i32 742
  %_rtB__RelationalOperator_aeq = load i8* %2516, align 1
  %2517 = and i8 %_rtB__RelationalOperator_aeq, 1
  %2518 = icmp eq i8 %2517, 0
  br i1 %2518, label %false1364, label %true1363

true1361:                                         ; preds = %true1359
  %_rtDW_6534 = load %DW_REVS_VM_T.16** %_rtDW_, align 1
  %2519 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_6534, i32 0, i32 923
  call void @vm_srUpdateBC(i8* %2519)
  br label %false1362

false1362:                                        ; preds = %true1359, %true1361
  %_rtB_6535.pre = load %B_REVS_VM_T.12** %_rtB_, align 1
  br label %false1360

true1363:                                         ; preds = %false1360
  %"%<tSimStruct>_6536" = load i8** %"%<tSimStruct>_", align 1
  call void @vm_ssCallAccelRunBlock(i8* %"%<tSimStruct>_6536", i32 123, i32 0, i32 104)
  %vm_ssIsMajorTimeStepVar1_6537 = load i32* %vm_ssIsMajorTimeStepVar1_, align 1
  %2520 = icmp eq i32 %vm_ssIsMajorTimeStepVar1_6537, 0
  br i1 %2520, label %false1366, label %true1365

false1364:                                        ; preds = %false1360, %false1366
  %_rtB_6539 = phi %B_REVS_VM_T.12* [ %_rtB_6535, %false1360 ], [ %_rtB_6539.pre, %false1366 ]
  %2521 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_6539, i32 0, i32 743
  %_rtB__RelationalOperator_co = load i8* %2521, align 1
  %2522 = and i8 %_rtB__RelationalOperator_co, 1
  %2523 = icmp eq i8 %2522, 0
  br i1 %2523, label %false1358, label %true1367

true1365:                                         ; preds = %true1363
  %_rtDW_6538 = load %DW_REVS_VM_T.16** %_rtDW_, align 1
  %2524 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_6538, i32 0, i32 924
  call void @vm_srUpdateBC(i8* %2524)
  br label %false1366

false1366:                                        ; preds = %true1363, %true1365
  %_rtB_6539.pre = load %B_REVS_VM_T.12** %_rtB_, align 1
  br label %false1364

true1367:                                         ; preds = %false1364
  %"%<tSimStruct>_6540" = load i8** %"%<tSimStruct>_", align 1
  call void @vm_ssCallAccelRunBlock(i8* %"%<tSimStruct>_6540", i32 124, i32 0, i32 104)
  %vm_ssIsMajorTimeStepVar1_6541 = load i32* %vm_ssIsMajorTimeStepVar1_, align 1
  %2525 = icmp eq i32 %vm_ssIsMajorTimeStepVar1_6541, 0
  br i1 %2525, label %false1358, label %true1369

true1369:                                         ; preds = %true1367
  %_rtDW_6542 = load %DW_REVS_VM_T.16** %_rtDW_, align 1
  %2526 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_6542, i32 0, i32 925
  call void @vm_srUpdateBC(i8* %2526)
  br label %false1358

true1371:                                         ; preds = %false1358
  %2527 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_6558, i32 0, i32 254
  %_rtB__Sum36567 = load double* %2527, align 1
  %2528 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_6558, i32 0, i32 379
  store double %_rtB__Sum36567, double* %2528, align 1
  br label %merge2680

false1372:                                        ; preds = %false1358
  %2529 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_6558, i32 0, i32 270
  %_rtB__Lookup_i6564 = load double* %2529, align 1
  %tmp323 = fadd double %tmp322, %_rtB__Lookup_i6564
  %2530 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_6558, i32 0, i32 379
  store double %tmp323, double* %2530, align 1
  br label %merge2680

false1374:                                        ; preds = %false1378, %false1384, %false1388, %true1377, %merge2680
  %_rtDW_6586 = load %DW_REVS_VM_T.16** %_rtDW_, align 1
  %2531 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_6586, i32 0, i32 1050
  %_rtDW__Subsystem_MODE_p6587 = load i8* %2531, align 1
  %2532 = and i8 %_rtDW__Subsystem_MODE_p6587, 1
  %2533 = icmp eq i8 %2532, 0
  br i1 %2533, label %false1390, label %true1389

true1375:                                         ; preds = %merge2680
  %_rtB_6572 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %2534 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_6572, i32 0, i32 745
  %_rtB__Compare_gi = load i8* %2534, align 1
  %2535 = and i8 %_rtB__Compare_gi, 1
  %2536 = icmp eq i8 %2535, 0
  %_rtDW_6573 = load %DW_REVS_VM_T.16** %_rtDW_, align 1
  %2537 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_6573, i32 0, i32 1050
  %_rtDW__Subsystem_MODE_p = load i8* %2537, align 1
  %2538 = and i8 %_rtDW__Subsystem_MODE_p, 1
  %2539 = icmp eq i8 %2538, 0
  br i1 %2536, label %false1378, label %true1377

true1377:                                         ; preds = %true1375
  br i1 %2539, label %true1385, label %false1374

false1378:                                        ; preds = %true1375
  br i1 %2539, label %false1374, label %true1379

true1379:                                         ; preds = %false1378
  %"%<tSimStruct>_6574" = load i8** %"%<tSimStruct>_", align 1
  call void @vm_ssSetSolverNeedsReset(i8* %"%<tSimStruct>_6574")
  %_rtDW_6575 = load %DW_REVS_VM_T.16** %_rtDW_, align 1
  %2540 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_6575, i32 0, i32 1067
  %_rtDW__Subsystem_MODE_hk = load i8* %2540, align 1
  %2541 = and i8 %_rtDW__Subsystem_MODE_hk, 1
  %2542 = icmp eq i8 %2541, 0
  br i1 %2542, label %false1382, label %true1381

true1381:                                         ; preds = %true1379
  store i8 0, i8* %2540, align 1
  %_rtDW_6577.pre = load %DW_REVS_VM_T.16** %_rtDW_, align 1
  br label %false1382

false1382:                                        ; preds = %true1379, %true1381
  %_rtDW_6578 = phi %DW_REVS_VM_T.16* [ %_rtDW_6575, %true1379 ], [ %_rtDW_6577.pre, %true1381 ]
  %2543 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_6578, i32 0, i32 1068
  %_rtDW__Subsystem_MODE_j3 = load i8* %2543, align 1
  %2544 = and i8 %_rtDW__Subsystem_MODE_j3, 1
  %2545 = icmp eq i8 %2544, 0
  br i1 %2545, label %false1384, label %true1383

true1383:                                         ; preds = %false1382
  store i8 0, i8* %2543, align 1
  %_rtDW_6579.pre = load %DW_REVS_VM_T.16** %_rtDW_, align 1
  br label %false1384

false1384:                                        ; preds = %false1382, %true1383
  %_rtDW_6579 = phi %DW_REVS_VM_T.16* [ %_rtDW_6578, %false1382 ], [ %_rtDW_6579.pre, %true1383 ]
  %2546 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_6579, i32 0, i32 1050
  store i8 0, i8* %2546, align 1
  br label %false1374

true1385:                                         ; preds = %true1377
  %vm_ssGetTaskTimeVar2_6582 = load double* %vm_ssGetTaskTimeVar2_, align 1
  %vm_ssGetTStartVar3_6583 = load double* %vm_ssGetTStartVar3_, align 1
  %2547 = fcmp une double %vm_ssGetTaskTimeVar2_6582, %vm_ssGetTStartVar3_6583
  br i1 %2547, label %true1387, label %false1388

true1387:                                         ; preds = %true1385
  %"%<tSimStruct>_6584" = load i8** %"%<tSimStruct>_", align 1
  call void @vm_ssSetSolverNeedsReset(i8* %"%<tSimStruct>_6584")
  %_rtDW_6585.pre = load %DW_REVS_VM_T.16** %_rtDW_, align 1
  br label %false1388

false1388:                                        ; preds = %true1387, %true1385
  %_rtDW_6585 = phi %DW_REVS_VM_T.16* [ %_rtDW_6585.pre, %true1387 ], [ %_rtDW_6573, %true1385 ]
  %2548 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_6585, i32 0, i32 1050
  store i8 1, i8* %2548, align 1
  br label %false1374

true1389:                                         ; preds = %false1374
  %vm_ssIsSampleHitVar0_6588 = load i32* %vm_ssIsSampleHitVar0_, align 1
  store i32 %vm_ssIsSampleHitVar0_6588, i32* %i_0_, align 1
  %2549 = icmp eq i32 %vm_ssIsSampleHitVar0_6588, 0
  %vm_ssIsMajorTimeStepVar1_6590 = load i32* %vm_ssIsMajorTimeStepVar1_, align 1
  %2550 = icmp eq i32 %vm_ssIsMajorTimeStepVar1_6590, 0
  %or.cond10152 = or i1 %2549, %2550
  br i1 %or.cond10152, label %false1392, label %true1393

false1390:                                        ; preds = %true1441, %false1440, %false1374
  %vm_ssIsSampleHitVar0_6706 = load i32* %vm_ssIsSampleHitVar0_, align 1
  store i32 %vm_ssIsSampleHitVar0_6706, i32* %i_0_, align 1
  %2551 = icmp eq i32 %vm_ssIsSampleHitVar0_6706, 0
  %vm_ssIsMajorTimeStepVar1_6708 = load i32* %vm_ssIsMajorTimeStepVar1_, align 1
  %2552 = icmp eq i32 %vm_ssIsMajorTimeStepVar1_6708, 0
  %or.cond10156 = or i1 %2551, %2552
  br i1 %or.cond10156, label %false1444, label %true1445

false1392:                                        ; preds = %merge2682, %true1389
  %_rtDW_6602 = phi %DW_REVS_VM_T.16* [ %_rtDW_6586, %true1389 ], [ %_rtDW_6602.pre.pre, %merge2682 ]
  %2553 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_6602, i32 0, i32 1067
  %_rtDW__Subsystem_MODE_hk6603 = load i8* %2553, align 1
  %2554 = and i8 %_rtDW__Subsystem_MODE_hk6603, 1
  %2555 = icmp eq i8 %2554, 0
  br i1 %2555, label %false1404, label %true1403

true1393:                                         ; preds = %true1389
  %_rtB_6591 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %2556 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_6591, i32 0, i32 851
  %_rtB__Compare_fd = load i8* %2556, align 1
  %2557 = and i8 %_rtB__Compare_fd, 1
  %2558 = icmp eq i8 %2557, 0
  %2559 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_6586, i32 0, i32 1067
  %_rtDW__Subsystem_MODE_hk6593 = load i8* %2559, align 1
  %2560 = and i8 %_rtDW__Subsystem_MODE_hk6593, 1
  %2561 = icmp eq i8 %2560, 0
  br i1 %2558, label %false1396, label %true1395

true1395:                                         ; preds = %true1393
  br i1 %2561, label %true1399, label %merge2682

false1396:                                        ; preds = %true1393
  br i1 %2561, label %merge2682, label %true1397

true1397:                                         ; preds = %false1396
  %"%<tSimStruct>_6594" = load i8** %"%<tSimStruct>_", align 1
  call void @vm_ssSetSolverNeedsReset(i8* %"%<tSimStruct>_6594")
  %_rtDW_6595 = load %DW_REVS_VM_T.16** %_rtDW_, align 1
  %2562 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_6595, i32 0, i32 1067
  store i8 0, i8* %2562, align 1
  br label %merge2682

true1399:                                         ; preds = %true1395
  %vm_ssGetTaskTimeVar2_6598 = load double* %vm_ssGetTaskTimeVar2_, align 1
  %vm_ssGetTStartVar3_6599 = load double* %vm_ssGetTStartVar3_, align 1
  %2563 = fcmp une double %vm_ssGetTaskTimeVar2_6598, %vm_ssGetTStartVar3_6599
  br i1 %2563, label %true1401, label %false1402

true1401:                                         ; preds = %true1399
  %"%<tSimStruct>_6600" = load i8** %"%<tSimStruct>_", align 1
  call void @vm_ssSetSolverNeedsReset(i8* %"%<tSimStruct>_6600")
  %_rtDW_6601.pre = load %DW_REVS_VM_T.16** %_rtDW_, align 1
  br label %false1402

false1402:                                        ; preds = %true1401, %true1399
  %_rtDW_6601 = phi %DW_REVS_VM_T.16* [ %_rtDW_6601.pre, %true1401 ], [ %_rtDW_6586, %true1399 ]
  %2564 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_6601, i32 0, i32 1067
  store i8 1, i8* %2564, align 1
  br label %merge2682

true1403:                                         ; preds = %false1392
  %_rtB_6604 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %2565 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_6604, i32 0, i32 96
  %_rtB__tc_spd_in_radps6605 = load double* %2565, align 1
  %tmp324 = fmul double %_rtB__tc_spd_in_radps6605, %_rtB__tc_spd_in_radps6605
  %2566 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_6604, i32 0, i32 275
  %_rtB__PumpInertia = load double* %2566, align 1
  %tmp325 = fmul double %tmp324, %_rtB__PumpInertia
  %_rtP_6609 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %2567 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_6609, i32 0, i32 80
  %_rtP__onehalf_Gain_db = load double* %2567, align 1
  %tmp326 = fmul double %tmp325, %_rtP__onehalf_Gain_db
  %2568 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_6604, i32 0, i32 593
  store double %tmp326, double* %2568, align 1
  %vm_ssIsSampleHitVar0_6611 = load i32* %vm_ssIsSampleHitVar0_, align 1
  store i32 %vm_ssIsSampleHitVar0_6611, i32* %i_0_, align 1
  %2569 = icmp eq i32 %vm_ssIsSampleHitVar0_6611, 0
  br i1 %2569, label %false1406, label %true1405

false1404:                                        ; preds = %true1409, %false1408, %false1392
  %vm_ssIsSampleHitVar0_6632 = load i32* %vm_ssIsSampleHitVar0_, align 1
  store i32 %vm_ssIsSampleHitVar0_6632, i32* %i_0_, align 1
  %2570 = icmp eq i32 %vm_ssIsSampleHitVar0_6632, 0
  %vm_ssIsMajorTimeStepVar1_6634 = load i32* %vm_ssIsMajorTimeStepVar1_, align 1
  %2571 = icmp eq i32 %vm_ssIsMajorTimeStepVar1_6634, 0
  %or.cond10154 = or i1 %2570, %2571
  br i1 %or.cond10154, label %false1412, label %true1413

true1405:                                         ; preds = %true1403
  %"%<tSimStruct>_6613" = load i8** %"%<tSimStruct>_", align 1
  call void @vm_ssCallAccelRunBlock(i8* %"%<tSimStruct>_6613", i32 137, i32 3, i32 104)
  br label %false1406

false1406:                                        ; preds = %true1403, %true1405
  %"%<tSimStruct>_6614" = load i8** %"%<tSimStruct>_", align 1
  %_rtB_6615 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %2572 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_6615, i32 0, i32 379
  %_rtB__torqueconverterengineloadSW = load double* %2572, align 1
  %2573 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_6615, i32 0, i32 96
  %_rtB__tc_spd_in_radps6617 = load double* %2573, align 1
  %2574 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_6615, i32 0, i32 878
  %_rtP_6619 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %2575 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_6619, i32 0, i32 1562
  %_rtX_6620 = load %X_REVS_VM_T.18** %_rtX_, align 1
  %2576 = getelementptr inbounds %X_REVS_VM_T.18* %_rtX_6620, i32 0, i32 93
  call void @REVS_VM_MechEnergyNmradps(i8* %"%<tSimStruct>_6614", double %_rtB__torqueconverterengineloadSW, double %_rtB__tc_spd_in_radps6617, %B_MechEnergyNmradps_REVS_VM_T.4* %2574, %P_MechEnergyNmradps_REVS_VM_T.6* %2575, %X_MechEnergyNmradps_REVS_VM_T.7* %2576)
  %vm_ssIsSampleHitVar0_6621 = load i32* %vm_ssIsSampleHitVar0_, align 1
  store i32 %vm_ssIsSampleHitVar0_6621, i32* %i_0_, align 1
  %2577 = icmp eq i32 %vm_ssIsSampleHitVar0_6621, 0
  br i1 %2577, label %false1408, label %true1407

true1407:                                         ; preds = %false1406
  %"%<tSimStruct>_6623" = load i8** %"%<tSimStruct>_", align 1
  call void @vm_ssCallAccelRunBlock(i8* %"%<tSimStruct>_6623", i32 137, i32 5, i32 104)
  %"%<tSimStruct>_6624" = load i8** %"%<tSimStruct>_", align 1
  call void @vm_ssCallAccelRunBlock(i8* %"%<tSimStruct>_6624", i32 137, i32 6, i32 104)
  %"%<tSimStruct>_6625" = load i8** %"%<tSimStruct>_", align 1
  call void @vm_ssCallAccelRunBlock(i8* %"%<tSimStruct>_6625", i32 137, i32 7, i32 104)
  %"%<tSimStruct>_6626" = load i8** %"%<tSimStruct>_", align 1
  call void @vm_ssCallAccelRunBlock(i8* %"%<tSimStruct>_6626", i32 137, i32 8, i32 104)
  %"%<tSimStruct>_6627" = load i8** %"%<tSimStruct>_", align 1
  call void @vm_ssCallAccelRunBlock(i8* %"%<tSimStruct>_6627", i32 137, i32 9, i32 104)
  %"%<tSimStruct>_6628" = load i8** %"%<tSimStruct>_", align 1
  call void @vm_ssCallAccelRunBlock(i8* %"%<tSimStruct>_6628", i32 137, i32 10, i32 104)
  %"%<tSimStruct>_6629" = load i8** %"%<tSimStruct>_", align 1
  call void @vm_ssCallAccelRunBlock(i8* %"%<tSimStruct>_6629", i32 137, i32 11, i32 104)
  br label %false1408

false1408:                                        ; preds = %false1406, %true1407
  %vm_ssIsMajorTimeStepVar1_6630 = load i32* %vm_ssIsMajorTimeStepVar1_, align 1
  %2578 = icmp eq i32 %vm_ssIsMajorTimeStepVar1_6630, 0
  br i1 %2578, label %false1404, label %true1409

true1409:                                         ; preds = %false1408
  %_rtDW_6631 = load %DW_REVS_VM_T.16** %_rtDW_, align 1
  %2579 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_6631, i32 0, i32 1010
  call void @vm_srUpdateBC(i8* %2579)
  br label %false1404

false1412:                                        ; preds = %false1416, %true1417, %false1422, %true1415, %false1404
  %_rtDW_6646 = load %DW_REVS_VM_T.16** %_rtDW_, align 1
  %2580 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_6646, i32 0, i32 1068
  %_rtDW__Subsystem_MODE_j36647 = load i8* %2580, align 1
  %2581 = and i8 %_rtDW__Subsystem_MODE_j36647, 1
  %2582 = icmp eq i8 %2581, 0
  br i1 %2582, label %false1424, label %true1423

true1413:                                         ; preds = %false1404
  %_rtB_6635 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %2583 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_6635, i32 0, i32 852
  %_rtB__Compare_bp = load i8* %2583, align 1
  %2584 = and i8 %_rtB__Compare_bp, 1
  %2585 = icmp eq i8 %2584, 0
  %_rtDW_6636 = load %DW_REVS_VM_T.16** %_rtDW_, align 1
  %2586 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_6636, i32 0, i32 1068
  %_rtDW__Subsystem_MODE_j36637 = load i8* %2586, align 1
  %2587 = and i8 %_rtDW__Subsystem_MODE_j36637, 1
  %2588 = icmp eq i8 %2587, 0
  br i1 %2585, label %false1416, label %true1415

true1415:                                         ; preds = %true1413
  br i1 %2588, label %true1419, label %false1412

false1416:                                        ; preds = %true1413
  br i1 %2588, label %false1412, label %true1417

true1417:                                         ; preds = %false1416
  %"%<tSimStruct>_6638" = load i8** %"%<tSimStruct>_", align 1
  call void @vm_ssSetSolverNeedsReset(i8* %"%<tSimStruct>_6638")
  %_rtDW_6639 = load %DW_REVS_VM_T.16** %_rtDW_, align 1
  %2589 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_6639, i32 0, i32 1068
  store i8 0, i8* %2589, align 1
  br label %false1412

true1419:                                         ; preds = %true1415
  %vm_ssGetTaskTimeVar2_6642 = load double* %vm_ssGetTaskTimeVar2_, align 1
  %vm_ssGetTStartVar3_6643 = load double* %vm_ssGetTStartVar3_, align 1
  %2590 = fcmp une double %vm_ssGetTaskTimeVar2_6642, %vm_ssGetTStartVar3_6643
  br i1 %2590, label %true1421, label %false1422

true1421:                                         ; preds = %true1419
  %"%<tSimStruct>_6644" = load i8** %"%<tSimStruct>_", align 1
  call void @vm_ssSetSolverNeedsReset(i8* %"%<tSimStruct>_6644")
  %_rtDW_6645.pre = load %DW_REVS_VM_T.16** %_rtDW_, align 1
  br label %false1422

false1422:                                        ; preds = %true1421, %true1419
  %_rtDW_6645 = phi %DW_REVS_VM_T.16* [ %_rtDW_6645.pre, %true1421 ], [ %_rtDW_6636, %true1419 ]
  %2591 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_6645, i32 0, i32 1068
  store i8 1, i8* %2591, align 1
  br label %false1412

true1423:                                         ; preds = %false1412
  %_rtB_6648 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %2592 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_6648, i32 0, i32 64
  %_rtB__ClutchSpeedDisengaged6649 = load double* %2592, align 1
  %tmp327 = fmul double %_rtB__ClutchSpeedDisengaged6649, %_rtB__ClutchSpeedDisengaged6649
  %2593 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_6648, i32 0, i32 295
  %_rtB__TurbineInertia16653 = load double* %2593, align 1
  %tmp328 = fmul double %tmp327, %_rtB__TurbineInertia16653
  %_rtP_6654 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %2594 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_6654, i32 0, i32 83
  %_rtP__onehalf_Gain_ds = load double* %2594, align 1
  %tmp329 = fmul double %tmp328, %_rtP__onehalf_Gain_ds
  %2595 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_6648, i32 0, i32 592
  store double %tmp329, double* %2595, align 1
  %vm_ssIsSampleHitVar0_6656 = load i32* %vm_ssIsSampleHitVar0_, align 1
  store i32 %vm_ssIsSampleHitVar0_6656, i32* %i_0_, align 1
  %2596 = icmp eq i32 %vm_ssIsSampleHitVar0_6656, 0
  br i1 %2596, label %false1426, label %true1425

false1424:                                        ; preds = %true1429, %false1428, %false1412
  %_rtB_6678 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %2597 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_6678, i32 0, i32 878, i32 2
  %_rtB__MechEnergyNmradps_e_Integrator1 = load double* %2597, align 1
  %2598 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_6678, i32 0, i32 877, i32 2
  %_rtB__MechEnergyNmradps_j_Integrator1 = load double* %2598, align 1
  %tmp330 = fsub double %_rtB__MechEnergyNmradps_e_Integrator1, %_rtB__MechEnergyNmradps_j_Integrator1
  store double %tmp330, double* %u0_0_, align 1
  %2599 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_6678, i32 0, i32 877, i32 0
  %_rtB__MechEnergyNmradps_j_Gain = load double* %2599, align 1
  %2600 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_6678, i32 0, i32 878, i32 0
  %_rtB__MechEnergyNmradps_e_Gain = load double* %2600, align 1
  %tmp331 = fsub double %_rtB__MechEnergyNmradps_j_Gain, %_rtB__MechEnergyNmradps_e_Gain
  store double %tmp331, double* %u0_, align 1
  %_rtP_6683 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %2601 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_6683, i32 0, i32 88
  %_rtP__Pos_UpperSat_h = load double* %2601, align 1
  %2602 = fcmp ogt double %tmp330, %_rtP__Pos_UpperSat_h
  br i1 %2602, label %true1431, label %false1432

true1425:                                         ; preds = %true1423
  %"%<tSimStruct>_6658" = load i8** %"%<tSimStruct>_", align 1
  call void @vm_ssCallAccelRunBlock(i8* %"%<tSimStruct>_6658", i32 139, i32 3, i32 104)
  br label %false1426

false1426:                                        ; preds = %true1423, %true1425
  %"%<tSimStruct>_6659" = load i8** %"%<tSimStruct>_", align 1
  %_rtB_6660 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %2603 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_6660, i32 0, i32 281
  %_rtB__tc_trq_out_Nm6661 = load double* %2603, align 1
  %2604 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_6660, i32 0, i32 64
  %_rtB__ClutchSpeedDisengaged6663 = load double* %2604, align 1
  %2605 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_6660, i32 0, i32 877
  %_rtP_6665 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %2606 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_6665, i32 0, i32 1561
  %_rtX_6666 = load %X_REVS_VM_T.18** %_rtX_, align 1
  %2607 = getelementptr inbounds %X_REVS_VM_T.18* %_rtX_6666, i32 0, i32 92
  call void @REVS_VM_MechEnergyNmradps(i8* %"%<tSimStruct>_6659", double %_rtB__tc_trq_out_Nm6661, double %_rtB__ClutchSpeedDisengaged6663, %B_MechEnergyNmradps_REVS_VM_T.4* %2605, %P_MechEnergyNmradps_REVS_VM_T.6* %2606, %X_MechEnergyNmradps_REVS_VM_T.7* %2607)
  %vm_ssIsSampleHitVar0_6667 = load i32* %vm_ssIsSampleHitVar0_, align 1
  store i32 %vm_ssIsSampleHitVar0_6667, i32* %i_0_, align 1
  %2608 = icmp eq i32 %vm_ssIsSampleHitVar0_6667, 0
  br i1 %2608, label %false1428, label %true1427

true1427:                                         ; preds = %false1426
  %"%<tSimStruct>_6669" = load i8** %"%<tSimStruct>_", align 1
  call void @vm_ssCallAccelRunBlock(i8* %"%<tSimStruct>_6669", i32 139, i32 5, i32 104)
  %"%<tSimStruct>_6670" = load i8** %"%<tSimStruct>_", align 1
  call void @vm_ssCallAccelRunBlock(i8* %"%<tSimStruct>_6670", i32 139, i32 6, i32 104)
  %"%<tSimStruct>_6671" = load i8** %"%<tSimStruct>_", align 1
  call void @vm_ssCallAccelRunBlock(i8* %"%<tSimStruct>_6671", i32 139, i32 7, i32 104)
  %"%<tSimStruct>_6672" = load i8** %"%<tSimStruct>_", align 1
  call void @vm_ssCallAccelRunBlock(i8* %"%<tSimStruct>_6672", i32 139, i32 8, i32 104)
  %"%<tSimStruct>_6673" = load i8** %"%<tSimStruct>_", align 1
  call void @vm_ssCallAccelRunBlock(i8* %"%<tSimStruct>_6673", i32 139, i32 9, i32 104)
  %"%<tSimStruct>_6674" = load i8** %"%<tSimStruct>_", align 1
  call void @vm_ssCallAccelRunBlock(i8* %"%<tSimStruct>_6674", i32 139, i32 10, i32 104)
  %"%<tSimStruct>_6675" = load i8** %"%<tSimStruct>_", align 1
  call void @vm_ssCallAccelRunBlock(i8* %"%<tSimStruct>_6675", i32 139, i32 11, i32 104)
  br label %false1428

false1428:                                        ; preds = %false1426, %true1427
  %vm_ssIsMajorTimeStepVar1_6676 = load i32* %vm_ssIsMajorTimeStepVar1_, align 1
  %2609 = icmp eq i32 %vm_ssIsMajorTimeStepVar1_6676, 0
  br i1 %2609, label %false1424, label %true1429

true1429:                                         ; preds = %false1428
  %_rtDW_6677 = load %DW_REVS_VM_T.16** %_rtDW_, align 1
  %2610 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_6677, i32 0, i32 1011
  call void @vm_srUpdateBC(i8* %2610)
  br label %false1424

true1431:                                         ; preds = %false1424
  store double %_rtP__Pos_UpperSat_h, double* %u0_0_, align 1
  br label %merge2684

false1432:                                        ; preds = %false1424
  %2611 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_6683, i32 0, i32 89
  %_rtP__Pos_LowerSat_b = load double* %2611, align 1
  %2612 = fcmp olt double %tmp330, %_rtP__Pos_LowerSat_b
  br i1 %2612, label %true1433, label %merge2684

true1433:                                         ; preds = %false1432
  store double %_rtP__Pos_LowerSat_b, double* %u0_0_, align 1
  br label %merge2684

true1435:                                         ; preds = %merge2684
  store double %_rtP__Pos2_UpperSat_k, double* %u0_, align 1
  br label %merge2685

false1436:                                        ; preds = %merge2684
  %2613 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_6683, i32 0, i32 91
  %_rtP__Pos2_LowerSat_f = load double* %2613, align 1
  %2614 = fcmp olt double %tmp331, %_rtP__Pos2_LowerSat_f
  br i1 %2614, label %true1437, label %merge2685

true1437:                                         ; preds = %false1436
  store double %_rtP__Pos2_LowerSat_f, double* %u0_, align 1
  br label %merge2685

true1439:                                         ; preds = %merge2685
  %"%<tSimStruct>_6703" = load i8** %"%<tSimStruct>_", align 1
  call void @vm_ssCallAccelRunBlock(i8* %"%<tSimStruct>_6703", i32 140, i32 13, i32 104)
  br label %false1440

false1440:                                        ; preds = %merge2685, %true1439
  %vm_ssIsMajorTimeStepVar1_6704 = load i32* %vm_ssIsMajorTimeStepVar1_, align 1
  %2615 = icmp eq i32 %vm_ssIsMajorTimeStepVar1_6704, 0
  br i1 %2615, label %false1390, label %true1441

true1441:                                         ; preds = %false1440
  %_rtDW_6705 = load %DW_REVS_VM_T.16** %_rtDW_, align 1
  %2616 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_6705, i32 0, i32 926
  call void @vm_srUpdateBC(i8* %2616)
  br label %false1390

false1444:                                        ; preds = %false1448, %true1449, %false1454, %true1447, %false1390
  %_rtDW_6719 = load %DW_REVS_VM_T.16** %_rtDW_, align 1
  %2617 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_6719, i32 0, i32 1051
  %_rtDW__Subsystem_MODE_bo6720 = load i8* %2617, align 1
  %2618 = and i8 %_rtDW__Subsystem_MODE_bo6720, 1
  %2619 = icmp eq i8 %2618, 0
  br i1 %2619, label %false1456, label %true1455

true1445:                                         ; preds = %false1390
  %_rtB_6709 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %2620 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_6709, i32 0, i32 746
  %_rtB__Compare_a4 = load i8* %2620, align 1
  %2621 = and i8 %_rtB__Compare_a4, 1
  %2622 = icmp eq i8 %2621, 0
  %_rtDW_6710 = load %DW_REVS_VM_T.16** %_rtDW_, align 1
  %2623 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_6710, i32 0, i32 1051
  %_rtDW__Subsystem_MODE_bo = load i8* %2623, align 1
  %2624 = and i8 %_rtDW__Subsystem_MODE_bo, 1
  %2625 = icmp eq i8 %2624, 0
  br i1 %2622, label %false1448, label %true1447

true1447:                                         ; preds = %true1445
  br i1 %2625, label %true1451, label %false1444

false1448:                                        ; preds = %true1445
  br i1 %2625, label %false1444, label %true1449

true1449:                                         ; preds = %false1448
  %"%<tSimStruct>_6711" = load i8** %"%<tSimStruct>_", align 1
  call void @vm_ssSetSolverNeedsReset(i8* %"%<tSimStruct>_6711")
  %_rtDW_6712 = load %DW_REVS_VM_T.16** %_rtDW_, align 1
  %2626 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_6712, i32 0, i32 1051
  store i8 0, i8* %2626, align 1
  br label %false1444

true1451:                                         ; preds = %true1447
  %vm_ssGetTaskTimeVar2_6715 = load double* %vm_ssGetTaskTimeVar2_, align 1
  %vm_ssGetTStartVar3_6716 = load double* %vm_ssGetTStartVar3_, align 1
  %2627 = fcmp une double %vm_ssGetTaskTimeVar2_6715, %vm_ssGetTStartVar3_6716
  br i1 %2627, label %true1453, label %false1454

true1453:                                         ; preds = %true1451
  %"%<tSimStruct>_6717" = load i8** %"%<tSimStruct>_", align 1
  call void @vm_ssSetSolverNeedsReset(i8* %"%<tSimStruct>_6717")
  %_rtDW_6718.pre = load %DW_REVS_VM_T.16** %_rtDW_, align 1
  br label %false1454

false1454:                                        ; preds = %true1453, %true1451
  %_rtDW_6718 = phi %DW_REVS_VM_T.16* [ %_rtDW_6718.pre, %true1453 ], [ %_rtDW_6710, %true1451 ]
  %2628 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_6718, i32 0, i32 1051
  store i8 1, i8* %2628, align 1
  br label %false1444

true1455:                                         ; preds = %false1444
  %"%<tSimStruct>_6721" = load i8** %"%<tSimStruct>_", align 1
  %_rtB_6722 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %2629 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_6722, i32 0, i32 270
  %_rtB__Lookup_i6723 = load double* %2629, align 1
  %2630 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_6722, i32 0, i32 96
  %_rtB__tc_spd_in_radps6725 = load double* %2630, align 1
  %2631 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_6722, i32 0, i32 876
  %_rtP_6727 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %2632 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_6727, i32 0, i32 1560
  %_rtX_6728 = load %X_REVS_VM_T.18** %_rtX_, align 1
  %2633 = getelementptr inbounds %X_REVS_VM_T.18* %_rtX_6728, i32 0, i32 91
  call void @REVS_VM_MechEnergyNmradps(i8* %"%<tSimStruct>_6721", double %_rtB__Lookup_i6723, double %_rtB__tc_spd_in_radps6725, %B_MechEnergyNmradps_REVS_VM_T.4* %2631, %P_MechEnergyNmradps_REVS_VM_T.6* %2632, %X_MechEnergyNmradps_REVS_VM_T.7* %2633)
  %vm_ssIsSampleHitVar0_6729 = load i32* %vm_ssIsSampleHitVar0_, align 1
  store i32 %vm_ssIsSampleHitVar0_6729, i32* %i_0_, align 1
  %2634 = icmp eq i32 %vm_ssIsSampleHitVar0_6729, 0
  br i1 %2634, label %false1458, label %true1457

false1456:                                        ; preds = %true1459, %false1458, %false1444
  %vm_ssIsSampleHitVar0_6739 = load i32* %vm_ssIsSampleHitVar0_, align 1
  store i32 %vm_ssIsSampleHitVar0_6739, i32* %i_0_, align 1
  %2635 = icmp eq i32 %vm_ssIsSampleHitVar0_6739, 0
  br i1 %2635, label %false1462, label %true1461

true1457:                                         ; preds = %true1455
  %"%<tSimStruct>_6731" = load i8** %"%<tSimStruct>_", align 1
  call void @vm_ssCallAccelRunBlock(i8* %"%<tSimStruct>_6731", i32 142, i32 1, i32 104)
  %"%<tSimStruct>_6732" = load i8** %"%<tSimStruct>_", align 1
  call void @vm_ssCallAccelRunBlock(i8* %"%<tSimStruct>_6732", i32 142, i32 2, i32 104)
  %"%<tSimStruct>_6733" = load i8** %"%<tSimStruct>_", align 1
  call void @vm_ssCallAccelRunBlock(i8* %"%<tSimStruct>_6733", i32 142, i32 3, i32 104)
  %"%<tSimStruct>_6734" = load i8** %"%<tSimStruct>_", align 1
  call void @vm_ssCallAccelRunBlock(i8* %"%<tSimStruct>_6734", i32 142, i32 4, i32 104)
  %"%<tSimStruct>_6735" = load i8** %"%<tSimStruct>_", align 1
  call void @vm_ssCallAccelRunBlock(i8* %"%<tSimStruct>_6735", i32 142, i32 5, i32 104)
  %"%<tSimStruct>_6736" = load i8** %"%<tSimStruct>_", align 1
  call void @vm_ssCallAccelRunBlock(i8* %"%<tSimStruct>_6736", i32 142, i32 6, i32 104)
  br label %false1458

false1458:                                        ; preds = %true1455, %true1457
  %vm_ssIsMajorTimeStepVar1_6737 = load i32* %vm_ssIsMajorTimeStepVar1_, align 1
  %2636 = icmp eq i32 %vm_ssIsMajorTimeStepVar1_6737, 0
  br i1 %2636, label %false1456, label %true1459

true1459:                                         ; preds = %false1458
  %_rtDW_6738 = load %DW_REVS_VM_T.16** %_rtDW_, align 1
  %2637 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_6738, i32 0, i32 927
  call void @vm_srUpdateBC(i8* %2637)
  br label %false1456

true1461:                                         ; preds = %false1456
  %_rtB_6741 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %2638 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_6741, i32 0, i32 747
  %_rtB__RelationalOperator_j2 = load i8* %2638, align 1
  %2639 = and i8 %_rtB__RelationalOperator_j2, 1
  %2640 = icmp eq i8 %2639, 0
  br i1 %2640, label %false1464, label %true1463

false1462:                                        ; preds = %true1481, %true1479, %false1476, %false1456
  %_rtB_6761 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %2641 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_6761, i32 0, i32 91
  %_rtB__tcc_engage_norm6762 = load double* %2641, align 1
  %2642 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_6761, i32 0, i32 380
  %_rtB__Constant_mz = load double* %2642, align 1
  %2643 = fcmp oge double %_rtB__tcc_engage_norm6762, %_rtB__Constant_mz
  %2644 = zext i1 %2643 to i8
  %2645 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_6761, i32 0, i32 752
  store i8 %2644, i8* %2645, align 1
  %rtb_Subtract2_6765 = load double* %rtb_Subtract2_, align 1
  %tmp333 = fsub double %rtb_Subtract2_6765, %tmp322
  %_rtB_6767 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %2646 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_6767, i32 0, i32 276
  %_rtB__Sum6_m6768 = load double* %2646, align 1
  %tmp334 = fdiv double %tmp333, %_rtB__Sum6_m6768
  %2647 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_6767, i32 0, i32 381
  store double %tmp334, double* %2647, align 1
  %vm_ssIsSampleHitVar0_6770 = load i32* %vm_ssIsSampleHitVar0_, align 1
  store i32 %vm_ssIsSampleHitVar0_6770, i32* %i_0_, align 1
  %2648 = icmp eq i32 %vm_ssIsSampleHitVar0_6770, 0
  %vm_ssIsMajorTimeStepVar1_6772 = load i32* %vm_ssIsMajorTimeStepVar1_, align 1
  %2649 = icmp eq i32 %vm_ssIsMajorTimeStepVar1_6772, 0
  %or.cond10158 = or i1 %2648, %2649
  br i1 %or.cond10158, label %false1484, label %true1485

true1463:                                         ; preds = %true1461
  %"%<tSimStruct>_6742" = load i8** %"%<tSimStruct>_", align 1
  call void @vm_ssCallAccelRunBlock(i8* %"%<tSimStruct>_6742", i32 143, i32 0, i32 104)
  %vm_ssIsMajorTimeStepVar1_6743 = load i32* %vm_ssIsMajorTimeStepVar1_, align 1
  %2650 = icmp eq i32 %vm_ssIsMajorTimeStepVar1_6743, 0
  br i1 %2650, label %false1466, label %true1465

false1464:                                        ; preds = %true1461, %false1466
  %_rtB_6745 = phi %B_REVS_VM_T.12* [ %_rtB_6741, %true1461 ], [ %_rtB_6745.pre, %false1466 ]
  %2651 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_6745, i32 0, i32 748
  %_rtB__RelationalOperator_nw = load i8* %2651, align 1
  %2652 = and i8 %_rtB__RelationalOperator_nw, 1
  %2653 = icmp eq i8 %2652, 0
  br i1 %2653, label %false1468, label %true1467

true1465:                                         ; preds = %true1463
  %_rtDW_6744 = load %DW_REVS_VM_T.16** %_rtDW_, align 1
  %2654 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_6744, i32 0, i32 928
  call void @vm_srUpdateBC(i8* %2654)
  br label %false1466

false1466:                                        ; preds = %true1463, %true1465
  %_rtB_6745.pre = load %B_REVS_VM_T.12** %_rtB_, align 1
  br label %false1464

true1467:                                         ; preds = %false1464
  %"%<tSimStruct>_6746" = load i8** %"%<tSimStruct>_", align 1
  call void @vm_ssCallAccelRunBlock(i8* %"%<tSimStruct>_6746", i32 144, i32 0, i32 104)
  %vm_ssIsMajorTimeStepVar1_6747 = load i32* %vm_ssIsMajorTimeStepVar1_, align 1
  %2655 = icmp eq i32 %vm_ssIsMajorTimeStepVar1_6747, 0
  br i1 %2655, label %false1470, label %true1469

false1468:                                        ; preds = %false1464, %false1470
  %_rtB_6749 = phi %B_REVS_VM_T.12* [ %_rtB_6745, %false1464 ], [ %_rtB_6749.pre, %false1470 ]
  %2656 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_6749, i32 0, i32 749
  %_rtB__RelationalOperator_me = load i8* %2656, align 1
  %2657 = and i8 %_rtB__RelationalOperator_me, 1
  %2658 = icmp eq i8 %2657, 0
  br i1 %2658, label %false1472, label %true1471

true1469:                                         ; preds = %true1467
  %_rtDW_6748 = load %DW_REVS_VM_T.16** %_rtDW_, align 1
  %2659 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_6748, i32 0, i32 929
  call void @vm_srUpdateBC(i8* %2659)
  br label %false1470

false1470:                                        ; preds = %true1467, %true1469
  %_rtB_6749.pre = load %B_REVS_VM_T.12** %_rtB_, align 1
  br label %false1468

true1471:                                         ; preds = %false1468
  %"%<tSimStruct>_6750" = load i8** %"%<tSimStruct>_", align 1
  call void @vm_ssCallAccelRunBlock(i8* %"%<tSimStruct>_6750", i32 145, i32 0, i32 104)
  %vm_ssIsMajorTimeStepVar1_6751 = load i32* %vm_ssIsMajorTimeStepVar1_, align 1
  %2660 = icmp eq i32 %vm_ssIsMajorTimeStepVar1_6751, 0
  br i1 %2660, label %false1474, label %true1473

false1472:                                        ; preds = %false1468, %false1474
  %_rtB_6753 = phi %B_REVS_VM_T.12* [ %_rtB_6749, %false1468 ], [ %_rtB_6753.pre, %false1474 ]
  %2661 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_6753, i32 0, i32 750
  %_rtB__RelationalOperator_ld = load i8* %2661, align 1
  %2662 = and i8 %_rtB__RelationalOperator_ld, 1
  %2663 = icmp eq i8 %2662, 0
  br i1 %2663, label %false1476, label %true1475

true1473:                                         ; preds = %true1471
  %_rtDW_6752 = load %DW_REVS_VM_T.16** %_rtDW_, align 1
  %2664 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_6752, i32 0, i32 930
  call void @vm_srUpdateBC(i8* %2664)
  br label %false1474

false1474:                                        ; preds = %true1471, %true1473
  %_rtB_6753.pre = load %B_REVS_VM_T.12** %_rtB_, align 1
  br label %false1472

true1475:                                         ; preds = %false1472
  %"%<tSimStruct>_6754" = load i8** %"%<tSimStruct>_", align 1
  call void @vm_ssCallAccelRunBlock(i8* %"%<tSimStruct>_6754", i32 146, i32 0, i32 104)
  %vm_ssIsMajorTimeStepVar1_6755 = load i32* %vm_ssIsMajorTimeStepVar1_, align 1
  %2665 = icmp eq i32 %vm_ssIsMajorTimeStepVar1_6755, 0
  br i1 %2665, label %false1478, label %true1477

false1476:                                        ; preds = %false1472, %false1478
  %_rtB_6757 = phi %B_REVS_VM_T.12* [ %_rtB_6753, %false1472 ], [ %_rtB_6757.pre, %false1478 ]
  %2666 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_6757, i32 0, i32 751
  %_rtB__RelationalOperator_oa = load i8* %2666, align 1
  %2667 = and i8 %_rtB__RelationalOperator_oa, 1
  %2668 = icmp eq i8 %2667, 0
  br i1 %2668, label %false1462, label %true1479

true1477:                                         ; preds = %true1475
  %_rtDW_6756 = load %DW_REVS_VM_T.16** %_rtDW_, align 1
  %2669 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_6756, i32 0, i32 931
  call void @vm_srUpdateBC(i8* %2669)
  br label %false1478

false1478:                                        ; preds = %true1475, %true1477
  %_rtB_6757.pre = load %B_REVS_VM_T.12** %_rtB_, align 1
  br label %false1476

true1479:                                         ; preds = %false1476
  %"%<tSimStruct>_6758" = load i8** %"%<tSimStruct>_", align 1
  call void @vm_ssCallAccelRunBlock(i8* %"%<tSimStruct>_6758", i32 147, i32 0, i32 104)
  %vm_ssIsMajorTimeStepVar1_6759 = load i32* %vm_ssIsMajorTimeStepVar1_, align 1
  %2670 = icmp eq i32 %vm_ssIsMajorTimeStepVar1_6759, 0
  br i1 %2670, label %false1462, label %true1481

true1481:                                         ; preds = %true1479
  %_rtDW_6760 = load %DW_REVS_VM_T.16** %_rtDW_, align 1
  %2671 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_6760, i32 0, i32 932
  call void @vm_srUpdateBC(i8* %2671)
  br label %false1462

false1484:                                        ; preds = %false1488, %true1489, %false1494, %true1487, %false1462
  %_rtDW_6783 = load %DW_REVS_VM_T.16** %_rtDW_, align 1
  %2672 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_6783, i32 0, i32 1052
  %_rtDW__Subsystem_MODE_n6784 = load i8* %2672, align 1
  %2673 = and i8 %_rtDW__Subsystem_MODE_n6784, 1
  %2674 = icmp eq i8 %2673, 0
  br i1 %2674, label %false1496, label %true1495

true1485:                                         ; preds = %false1462
  %_rtB_6773 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %2675 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_6773, i32 0, i32 753
  %_rtB__Compare_mo = load i8* %2675, align 1
  %2676 = and i8 %_rtB__Compare_mo, 1
  %2677 = icmp eq i8 %2676, 0
  %_rtDW_6774 = load %DW_REVS_VM_T.16** %_rtDW_, align 1
  %2678 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_6774, i32 0, i32 1052
  %_rtDW__Subsystem_MODE_n = load i8* %2678, align 1
  %2679 = and i8 %_rtDW__Subsystem_MODE_n, 1
  %2680 = icmp eq i8 %2679, 0
  br i1 %2677, label %false1488, label %true1487

true1487:                                         ; preds = %true1485
  br i1 %2680, label %true1491, label %false1484

false1488:                                        ; preds = %true1485
  br i1 %2680, label %false1484, label %true1489

true1489:                                         ; preds = %false1488
  %"%<tSimStruct>_6775" = load i8** %"%<tSimStruct>_", align 1
  call void @vm_ssSetSolverNeedsReset(i8* %"%<tSimStruct>_6775")
  %_rtDW_6776 = load %DW_REVS_VM_T.16** %_rtDW_, align 1
  %2681 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_6776, i32 0, i32 1052
  store i8 0, i8* %2681, align 1
  br label %false1484

true1491:                                         ; preds = %true1487
  %vm_ssGetTaskTimeVar2_6779 = load double* %vm_ssGetTaskTimeVar2_, align 1
  %vm_ssGetTStartVar3_6780 = load double* %vm_ssGetTStartVar3_, align 1
  %2682 = fcmp une double %vm_ssGetTaskTimeVar2_6779, %vm_ssGetTStartVar3_6780
  br i1 %2682, label %true1493, label %false1494

true1493:                                         ; preds = %true1491
  %"%<tSimStruct>_6781" = load i8** %"%<tSimStruct>_", align 1
  call void @vm_ssSetSolverNeedsReset(i8* %"%<tSimStruct>_6781")
  %_rtDW_6782.pre = load %DW_REVS_VM_T.16** %_rtDW_, align 1
  br label %false1494

false1494:                                        ; preds = %true1493, %true1491
  %_rtDW_6782 = phi %DW_REVS_VM_T.16* [ %_rtDW_6782.pre, %true1493 ], [ %_rtDW_6774, %true1491 ]
  %2683 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_6782, i32 0, i32 1052
  store i8 1, i8* %2683, align 1
  br label %false1484

true1495:                                         ; preds = %false1484
  %_rtB_6785 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %2684 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_6785, i32 0, i32 96
  %_rtB__tc_spd_in_radps6786 = load double* %2684, align 1
  %tmp335 = fmul double %_rtB__tc_spd_in_radps6786, %_rtB__tc_spd_in_radps6786
  %2685 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_6785, i32 0, i32 222
  %_rtB__Constant2_p = load double* %2685, align 1
  %tmp336 = fmul double %tmp335, %_rtB__Constant2_p
  %_rtP_6790 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %2686 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_6790, i32 0, i32 92
  %_rtP__onehalf_Gain_o = load double* %2686, align 1
  %tmp337 = fmul double %tmp336, %_rtP__onehalf_Gain_o
  %2687 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_6785, i32 0, i32 590
  store double %tmp337, double* %2687, align 1
  %vm_ssIsSampleHitVar0_6792 = load i32* %vm_ssIsSampleHitVar0_, align 1
  store i32 %vm_ssIsSampleHitVar0_6792, i32* %i_0_, align 1
  %2688 = icmp eq i32 %vm_ssIsSampleHitVar0_6792, 0
  br i1 %2688, label %false1498, label %true1497

false1496:                                        ; preds = %true1501, %false1500, %false1484
  %vm_ssIsSampleHitVar0_6814 = load i32* %vm_ssIsSampleHitVar0_, align 1
  store i32 %vm_ssIsSampleHitVar0_6814, i32* %i_0_, align 1
  %2689 = icmp eq i32 %vm_ssIsSampleHitVar0_6814, 0
  %vm_ssIsMajorTimeStepVar1_6816 = load i32* %vm_ssIsMajorTimeStepVar1_, align 1
  %2690 = icmp eq i32 %vm_ssIsMajorTimeStepVar1_6816, 0
  %or.cond10160 = or i1 %2689, %2690
  br i1 %or.cond10160, label %false1504, label %true1505

true1497:                                         ; preds = %true1495
  %"%<tSimStruct>_6794" = load i8** %"%<tSimStruct>_", align 1
  call void @vm_ssCallAccelRunBlock(i8* %"%<tSimStruct>_6794", i32 149, i32 3, i32 104)
  br label %false1498

false1498:                                        ; preds = %true1495, %true1497
  %"%<tSimStruct>_6795" = load i8** %"%<tSimStruct>_", align 1
  %_rtB_6796 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %2691 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_6796, i32 0, i32 253
  %_rtB__Sum66797 = load double* %2691, align 1
  %2692 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_6796, i32 0, i32 96
  %_rtB__tc_spd_in_radps6799 = load double* %2692, align 1
  %2693 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_6796, i32 0, i32 875
  %_rtP_6801 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %2694 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_6801, i32 0, i32 1559
  %_rtX_6802 = load %X_REVS_VM_T.18** %_rtX_, align 1
  %2695 = getelementptr inbounds %X_REVS_VM_T.18* %_rtX_6802, i32 0, i32 90
  call void @REVS_VM_MechEnergyNmradps(i8* %"%<tSimStruct>_6795", double %_rtB__Sum66797, double %_rtB__tc_spd_in_radps6799, %B_MechEnergyNmradps_REVS_VM_T.4* %2693, %P_MechEnergyNmradps_REVS_VM_T.6* %2694, %X_MechEnergyNmradps_REVS_VM_T.7* %2695)
  %vm_ssIsSampleHitVar0_6803 = load i32* %vm_ssIsSampleHitVar0_, align 1
  store i32 %vm_ssIsSampleHitVar0_6803, i32* %i_0_, align 1
  %2696 = icmp eq i32 %vm_ssIsSampleHitVar0_6803, 0
  br i1 %2696, label %false1500, label %true1499

true1499:                                         ; preds = %false1498
  %"%<tSimStruct>_6805" = load i8** %"%<tSimStruct>_", align 1
  call void @vm_ssCallAccelRunBlock(i8* %"%<tSimStruct>_6805", i32 149, i32 5, i32 104)
  %"%<tSimStruct>_6806" = load i8** %"%<tSimStruct>_", align 1
  call void @vm_ssCallAccelRunBlock(i8* %"%<tSimStruct>_6806", i32 149, i32 6, i32 104)
  %"%<tSimStruct>_6807" = load i8** %"%<tSimStruct>_", align 1
  call void @vm_ssCallAccelRunBlock(i8* %"%<tSimStruct>_6807", i32 149, i32 7, i32 104)
  %"%<tSimStruct>_6808" = load i8** %"%<tSimStruct>_", align 1
  call void @vm_ssCallAccelRunBlock(i8* %"%<tSimStruct>_6808", i32 149, i32 8, i32 104)
  %"%<tSimStruct>_6809" = load i8** %"%<tSimStruct>_", align 1
  call void @vm_ssCallAccelRunBlock(i8* %"%<tSimStruct>_6809", i32 149, i32 9, i32 104)
  %"%<tSimStruct>_6810" = load i8** %"%<tSimStruct>_", align 1
  call void @vm_ssCallAccelRunBlock(i8* %"%<tSimStruct>_6810", i32 149, i32 10, i32 104)
  %"%<tSimStruct>_6811" = load i8** %"%<tSimStruct>_", align 1
  call void @vm_ssCallAccelRunBlock(i8* %"%<tSimStruct>_6811", i32 149, i32 11, i32 104)
  br label %false1500

false1500:                                        ; preds = %false1498, %true1499
  %vm_ssIsMajorTimeStepVar1_6812 = load i32* %vm_ssIsMajorTimeStepVar1_, align 1
  %2697 = icmp eq i32 %vm_ssIsMajorTimeStepVar1_6812, 0
  br i1 %2697, label %false1496, label %true1501

true1501:                                         ; preds = %false1500
  %_rtDW_6813 = load %DW_REVS_VM_T.16** %_rtDW_, align 1
  %2698 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_6813, i32 0, i32 933
  call void @vm_srUpdateBC(i8* %2698)
  br label %false1496

false1504:                                        ; preds = %false1508, %true1509, %false1514, %true1507, %false1496
  %_rtDW_6827 = load %DW_REVS_VM_T.16** %_rtDW_, align 1
  %2699 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_6827, i32 0, i32 1053
  %_rtDW__Subsystem_MODE_no6828 = load i8* %2699, align 1
  %2700 = and i8 %_rtDW__Subsystem_MODE_no6828, 1
  %2701 = icmp eq i8 %2700, 0
  br i1 %2701, label %false1516, label %true1515

true1505:                                         ; preds = %false1496
  %_rtB_6817 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %2702 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_6817, i32 0, i32 754
  %_rtB__Compare_ad = load i8* %2702, align 1
  %2703 = and i8 %_rtB__Compare_ad, 1
  %2704 = icmp eq i8 %2703, 0
  %_rtDW_6818 = load %DW_REVS_VM_T.16** %_rtDW_, align 1
  %2705 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_6818, i32 0, i32 1053
  %_rtDW__Subsystem_MODE_no = load i8* %2705, align 1
  %2706 = and i8 %_rtDW__Subsystem_MODE_no, 1
  %2707 = icmp eq i8 %2706, 0
  br i1 %2704, label %false1508, label %true1507

true1507:                                         ; preds = %true1505
  br i1 %2707, label %true1511, label %false1504

false1508:                                        ; preds = %true1505
  br i1 %2707, label %false1504, label %true1509

true1509:                                         ; preds = %false1508
  %"%<tSimStruct>_6819" = load i8** %"%<tSimStruct>_", align 1
  call void @vm_ssSetSolverNeedsReset(i8* %"%<tSimStruct>_6819")
  %_rtDW_6820 = load %DW_REVS_VM_T.16** %_rtDW_, align 1
  %2708 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_6820, i32 0, i32 1053
  store i8 0, i8* %2708, align 1
  br label %false1504

true1511:                                         ; preds = %true1507
  %vm_ssGetTaskTimeVar2_6823 = load double* %vm_ssGetTaskTimeVar2_, align 1
  %vm_ssGetTStartVar3_6824 = load double* %vm_ssGetTStartVar3_, align 1
  %2709 = fcmp une double %vm_ssGetTaskTimeVar2_6823, %vm_ssGetTStartVar3_6824
  br i1 %2709, label %true1513, label %false1514

true1513:                                         ; preds = %true1511
  %"%<tSimStruct>_6825" = load i8** %"%<tSimStruct>_", align 1
  call void @vm_ssSetSolverNeedsReset(i8* %"%<tSimStruct>_6825")
  %_rtDW_6826.pre = load %DW_REVS_VM_T.16** %_rtDW_, align 1
  br label %false1514

false1514:                                        ; preds = %true1513, %true1511
  %_rtDW_6826 = phi %DW_REVS_VM_T.16* [ %_rtDW_6826.pre, %true1513 ], [ %_rtDW_6818, %true1511 ]
  %2710 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_6826, i32 0, i32 1053
  store i8 1, i8* %2710, align 1
  br label %false1504

true1515:                                         ; preds = %false1504
  %_rtB_6829 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %2711 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_6829, i32 0, i32 96
  %_rtB__tc_spd_in_radps6830 = load double* %2711, align 1
  %tmp338 = fmul double %_rtB__tc_spd_in_radps6830, %_rtB__tc_spd_in_radps6830
  %2712 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_6829, i32 0, i32 383
  %_rtB__zero = load double* %2712, align 1
  %tmp339 = fmul double %tmp338, %_rtB__zero
  %_rtP_6834 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %2713 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_6834, i32 0, i32 93
  %_rtP__onehalf_Gain_c = load double* %2713, align 1
  %tmp340 = fmul double %tmp339, %_rtP__onehalf_Gain_c
  %2714 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_6829, i32 0, i32 589
  store double %tmp340, double* %2714, align 1
  %vm_ssIsSampleHitVar0_6836 = load i32* %vm_ssIsSampleHitVar0_, align 1
  store i32 %vm_ssIsSampleHitVar0_6836, i32* %i_0_, align 1
  %2715 = icmp eq i32 %vm_ssIsSampleHitVar0_6836, 0
  br i1 %2715, label %false1518, label %true1517

false1516:                                        ; preds = %true1521, %false1520, %false1504
  %_rtB_6858 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %2716 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_6858, i32 0, i32 384, i32 0
  %2717 = bitcast double* %2716 to i8*
  %_rtX_6859 = load %X_REVS_VM_T.18** %_rtX_, align 1
  %2718 = getelementptr inbounds %X_REVS_VM_T.18* %_rtX_6859, i32 0, i32 35, i32 0
  %2719 = bitcast double* %2718 to i8*
  %2720 = call i8* @memcpy(i8* %2717, i8* %2719, i32 mul (i32 ptrtoint (double* getelementptr (double* null, i32 1) to i32), i32 10))
  %vm_ssIsSampleHitVar0_6860 = load i32* %vm_ssIsSampleHitVar0_, align 1
  store i32 %vm_ssIsSampleHitVar0_6860, i32* %i_0_, align 1
  %2721 = icmp eq i32 %vm_ssIsSampleHitVar0_6860, 0
  br i1 %2721, label %false1524, label %true1523

true1517:                                         ; preds = %true1515
  %"%<tSimStruct>_6838" = load i8** %"%<tSimStruct>_", align 1
  call void @vm_ssCallAccelRunBlock(i8* %"%<tSimStruct>_6838", i32 151, i32 3, i32 104)
  br label %false1518

false1518:                                        ; preds = %true1515, %true1517
  %"%<tSimStruct>_6839" = load i8** %"%<tSimStruct>_", align 1
  %_rtB_6840 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %2722 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_6840, i32 0, i32 254
  %_rtB__Sum36841 = load double* %2722, align 1
  %2723 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_6840, i32 0, i32 96
  %_rtB__tc_spd_in_radps6843 = load double* %2723, align 1
  %2724 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_6840, i32 0, i32 874
  %_rtP_6845 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %2725 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_6845, i32 0, i32 1558
  %_rtX_6846 = load %X_REVS_VM_T.18** %_rtX_, align 1
  %2726 = getelementptr inbounds %X_REVS_VM_T.18* %_rtX_6846, i32 0, i32 89
  call void @REVS_VM_MechEnergyNmradps(i8* %"%<tSimStruct>_6839", double %_rtB__Sum36841, double %_rtB__tc_spd_in_radps6843, %B_MechEnergyNmradps_REVS_VM_T.4* %2724, %P_MechEnergyNmradps_REVS_VM_T.6* %2725, %X_MechEnergyNmradps_REVS_VM_T.7* %2726)
  %vm_ssIsSampleHitVar0_6847 = load i32* %vm_ssIsSampleHitVar0_, align 1
  store i32 %vm_ssIsSampleHitVar0_6847, i32* %i_0_, align 1
  %2727 = icmp eq i32 %vm_ssIsSampleHitVar0_6847, 0
  br i1 %2727, label %false1520, label %true1519

true1519:                                         ; preds = %false1518
  %"%<tSimStruct>_6849" = load i8** %"%<tSimStruct>_", align 1
  call void @vm_ssCallAccelRunBlock(i8* %"%<tSimStruct>_6849", i32 151, i32 5, i32 104)
  %"%<tSimStruct>_6850" = load i8** %"%<tSimStruct>_", align 1
  call void @vm_ssCallAccelRunBlock(i8* %"%<tSimStruct>_6850", i32 151, i32 6, i32 104)
  %"%<tSimStruct>_6851" = load i8** %"%<tSimStruct>_", align 1
  call void @vm_ssCallAccelRunBlock(i8* %"%<tSimStruct>_6851", i32 151, i32 7, i32 104)
  %"%<tSimStruct>_6852" = load i8** %"%<tSimStruct>_", align 1
  call void @vm_ssCallAccelRunBlock(i8* %"%<tSimStruct>_6852", i32 151, i32 8, i32 104)
  %"%<tSimStruct>_6853" = load i8** %"%<tSimStruct>_", align 1
  call void @vm_ssCallAccelRunBlock(i8* %"%<tSimStruct>_6853", i32 151, i32 9, i32 104)
  %"%<tSimStruct>_6854" = load i8** %"%<tSimStruct>_", align 1
  call void @vm_ssCallAccelRunBlock(i8* %"%<tSimStruct>_6854", i32 151, i32 10, i32 104)
  %"%<tSimStruct>_6855" = load i8** %"%<tSimStruct>_", align 1
  call void @vm_ssCallAccelRunBlock(i8* %"%<tSimStruct>_6855", i32 151, i32 11, i32 104)
  br label %false1520

false1520:                                        ; preds = %false1518, %true1519
  %vm_ssIsMajorTimeStepVar1_6856 = load i32* %vm_ssIsMajorTimeStepVar1_, align 1
  %2728 = icmp eq i32 %vm_ssIsMajorTimeStepVar1_6856, 0
  br i1 %2728, label %false1516, label %true1521

true1521:                                         ; preds = %false1520
  %_rtDW_6857 = load %DW_REVS_VM_T.16** %_rtDW_, align 1
  %2729 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_6857, i32 0, i32 934
  call void @vm_srUpdateBC(i8* %2729)
  br label %false1516

true1523:                                         ; preds = %false1516
  %"%<tSimStruct>_6862" = load i8** %"%<tSimStruct>_", align 1
  call void @vm_ssCallAccelRunBlock(i8* %"%<tSimStruct>_6862", i32 248, i32 1585, i32 104)
  br label %false1524

false1524:                                        ; preds = %false1516, %true1523
  %_rtX_6863 = load %X_REVS_VM_T.18** %_rtX_, align 1
  %2730 = getelementptr inbounds %X_REVS_VM_T.18* %_rtX_6863, i32 0, i32 36
  %_rtX__Integrator1_CSTATE_d = load double* %2730, align 1
  %_rtB_6864 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %2731 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_6864, i32 0, i32 385
  store double %_rtX__Integrator1_CSTATE_d, double* %2731, align 1
  %vm_ssIsSampleHitVar0_6865 = load i32* %vm_ssIsSampleHitVar0_, align 1
  store i32 %vm_ssIsSampleHitVar0_6865, i32* %i_0_, align 1
  %2732 = icmp eq i32 %vm_ssIsSampleHitVar0_6865, 0
  br i1 %2732, label %false1526, label %true1525

true1525:                                         ; preds = %false1524
  %"%<tSimStruct>_6867" = load i8** %"%<tSimStruct>_", align 1
  call void @vm_ssCallAccelRunBlock(i8* %"%<tSimStruct>_6867", i32 248, i32 1587, i32 104)
  br label %false1526

false1526:                                        ; preds = %false1524, %true1525
  %_rtDW_6868 = load %DW_REVS_VM_T.16** %_rtDW_, align 1
  %2733 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_6868, i32 0, i32 91
  %_rtDW__TimeStampA_b = load double* %2733, align 1
  %vm_ssGetTVar5_6869 = load double* %vm_ssGetTVar5_, align 1
  %2734 = fcmp oge double %_rtDW__TimeStampA_b, %vm_ssGetTVar5_6869
  %2735 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_6868, i32 0, i32 93
  %_rtDW__TimeStampB_k = load double* %2735, align 1
  %2736 = fcmp oge double %_rtDW__TimeStampB_k, %vm_ssGetTVar5_6869
  %2737 = and i1 %2734, %2736
  br i1 %2737, label %true1527, label %false1528

true1527:                                         ; preds = %false1526
  %_rtB_6897.pre = load %B_REVS_VM_T.12** %_rtB_, align 1
  %.phi.trans.insert = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_6897.pre, i32 0, i32 96
  %_rtB__tc_spd_in_radps6903.pre = load double* %.phi.trans.insert, align 1
  br label %merge2690

false1528:                                        ; preds = %false1526
  store double %_rtDW__TimeStampA_b, double* %u0_, align 1
  %2738 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_6868, i32 0, i32 92
  store double* %2738, double** %lastU_, align 1
  %_rtDW__TimeStampA_b6876 = load double* %2733, align 1
  %_rtDW__TimeStampB_k6878 = load double* %2735, align 1
  %2739 = fcmp olt double %_rtDW__TimeStampA_b6876, %_rtDW__TimeStampB_k6878
  br i1 %2739, label %true1529, label %false1530

true1529:                                         ; preds = %false1528
  %2740 = fcmp olt double %_rtDW__TimeStampB_k6878, %vm_ssGetTVar5_6869
  br i1 %2740, label %true1533, label %merge2689

false1530:                                        ; preds = %false1528
  %2741 = fcmp ult double %_rtDW__TimeStampA_b6876, %vm_ssGetTVar5_6869
  br i1 %2741, label %merge2689, label %true1531

true1531:                                         ; preds = %false1530
  store double %_rtDW__TimeStampB_k6878, double* %u0_, align 1
  %2742 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_6868, i32 0, i32 94
  store double* %2742, double** %lastU_, align 1
  br label %merge2689

true1533:                                         ; preds = %true1529
  store double %_rtDW__TimeStampB_k6878, double* %u0_, align 1
  %2743 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_6868, i32 0, i32 94
  store double* %2743, double** %lastU_, align 1
  br label %merge2689

true1535:                                         ; preds = %merge2691
  %_rtB_9443 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %2744 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_9443, i32 0, i32 172, i32 %i_0_9448
  %_rtB__DataTypeConversion_el9445 = load double* %2744, align 1
  %2745 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_9443, i32 0, i32 386
  %_rtB__Gain_c = load double* %2745, align 1
  %tmp596 = fmul double %_rtB__DataTypeConversion_el9445, %_rtB__Gain_c
  %2746 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_9443, i32 0, i32 387, i32 %i_0_9448
  store double %tmp596, double* %2746, align 1
  %i_0_9449 = load i32* %i_0_, align 1
  %tmp597 = add i32 %i_0_9449, 1
  br label %merge2691

false1536:                                        ; preds = %merge2691
  %vm_ssIsSampleHitVar0_6909 = load i32* %vm_ssIsSampleHitVar0_, align 1
  store i32 %vm_ssIsSampleHitVar0_6909, i32* %i_0_, align 1
  %2747 = icmp eq i32 %vm_ssIsSampleHitVar0_6909, 0
  br i1 %2747, label %merge2692, label %true1537

true1537:                                         ; preds = %false1536
  %_rtB_6911 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %2748 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_6911, i32 0, i32 388, i32 0
  %2749 = bitcast double* %2748 to i8*
  %_rtDW_6912 = load %DW_REVS_VM_T.16** %_rtDW_, align 1
  %2750 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_6912, i32 0, i32 95, i32 0
  %2751 = bitcast double* %2750 to i8*
  %2752 = call i8* @memcpy(i8* %2749, i8* %2751, i32 mul (i32 ptrtoint (double* getelementptr (double* null, i32 1) to i32), i32 10))
  %"%<tSimStruct>_6913" = load i8** %"%<tSimStruct>_", align 1
  call void @vm_ssCallAccelRunBlock(i8* %"%<tSimStruct>_6913", i32 248, i32 1596, i32 104)
  %_rtDW_6914 = load %DW_REVS_VM_T.16** %_rtDW_, align 1
  %2753 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_6914, i32 0, i32 96
  %_rtDW__TotalMemory_PreviousInput_g = load double* %2753, align 1
  %_rtB_6915 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %2754 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_6915, i32 0, i32 389
  store double %_rtDW__TotalMemory_PreviousInput_g, double* %2754, align 1
  %"%<tSimStruct>_6916" = load i8** %"%<tSimStruct>_", align 1
  call void @vm_ssCallAccelRunBlock(i8* %"%<tSimStruct>_6916", i32 248, i32 1598, i32 104)
  %_rtB_6917 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %2755 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_6917, i32 0, i32 390
  %_rtB__Constant_bi = load double* %2755, align 1
  %_rtDW_6918 = load %DW_REVS_VM_T.16** %_rtDW_, align 1
  %2756 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_6918, i32 0, i32 4
  %_rtDW__DelayInput1_DSTATE_h = load double* %2756, align 1
  %2757 = fcmp ogt double %_rtB__Constant_bi, %_rtDW__DelayInput1_DSTATE_h
  %2758 = uitofp i1 %2757 to double
  %2759 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_6917, i32 0, i32 391
  store double %2758, double* %2759, align 1
  br label %merge2692

true1539:                                         ; preds = %merge2692
  %_rtB_9433 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %2760 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_9433, i32 0, i32 172, i32 %i_0_9439
  %_rtB__DataTypeConversion_el9435 = load double* %2760, align 1
  %2761 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_9433, i32 0, i32 391
  %_rtB__DataTypeConversion_d9437 = load double* %2761, align 1
  %tmp593 = fmul double %_rtB__DataTypeConversion_el9435, %_rtB__DataTypeConversion_d9437
  %2762 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_9433, i32 0, i32 388, i32 %i_0_9439
  %_rtB__PhaseMemory_c_el = load double* %2762, align 1
  %tmp594 = fadd double %tmp593, %_rtB__PhaseMemory_c_el
  %2763 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_9433, i32 0, i32 392, i32 %i_0_9439
  store double %tmp594, double* %2763, align 1
  %i_0_9442 = load i32* %i_0_, align 1
  %tmp595 = add i32 %i_0_9442, 1
  br label %merge2692

false1540:                                        ; preds = %merge2692
  %vm_ssIsSampleHitVar0_6921 = load i32* %vm_ssIsSampleHitVar0_, align 1
  store i32 %vm_ssIsSampleHitVar0_6921, i32* %i_0_, align 1
  %2764 = icmp eq i32 %vm_ssIsSampleHitVar0_6921, 0
  br i1 %2764, label %false1542, label %true1541

true1541:                                         ; preds = %false1540
  %_rtB_6923 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %2765 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_6923, i32 0, i32 391
  %_rtB__DataTypeConversion_d = load double* %2765, align 1
  %2766 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_6923, i32 0, i32 389
  %_rtB__TotalMemory_c = load double* %2766, align 1
  %tmp351 = fadd double %_rtB__DataTypeConversion_d, %_rtB__TotalMemory_c
  %2767 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_6923, i32 0, i32 393
  store double %tmp351, double* %2767, align 1
  br label %false1542

false1542:                                        ; preds = %false1540, %true1541
  %_rtB_6926 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %2768 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_6926, i32 0, i32 394, i32 0
  %2769 = bitcast double* %2768 to i8*
  %_rtX_6927 = load %X_REVS_VM_T.18** %_rtX_, align 1
  %2770 = getelementptr inbounds %X_REVS_VM_T.18* %_rtX_6927, i32 0, i32 37, i32 0
  %2771 = bitcast double* %2770 to i8*
  %2772 = call i8* @memcpy(i8* %2769, i8* %2771, i32 mul (i32 ptrtoint (double* getelementptr (double* null, i32 1) to i32), i32 10))
  %vm_ssIsSampleHitVar0_6928 = load i32* %vm_ssIsSampleHitVar0_, align 1
  store i32 %vm_ssIsSampleHitVar0_6928, i32* %i_0_, align 1
  %2773 = icmp eq i32 %vm_ssIsSampleHitVar0_6928, 0
  br i1 %2773, label %false1544, label %true1543

true1543:                                         ; preds = %false1542
  %"%<tSimStruct>_6930" = load i8** %"%<tSimStruct>_", align 1
  call void @vm_ssCallAccelRunBlock(i8* %"%<tSimStruct>_6930", i32 248, i32 1607, i32 104)
  br label %false1544

false1544:                                        ; preds = %false1542, %true1543
  %_rtX_6931 = load %X_REVS_VM_T.18** %_rtX_, align 1
  %2774 = getelementptr inbounds %X_REVS_VM_T.18* %_rtX_6931, i32 0, i32 38
  %_rtX__Integrator1_CSTATE_n4 = load double* %2774, align 1
  %_rtB_6932 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %2775 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_6932, i32 0, i32 395
  store double %_rtX__Integrator1_CSTATE_n4, double* %2775, align 1
  %vm_ssIsSampleHitVar0_6933 = load i32* %vm_ssIsSampleHitVar0_, align 1
  store i32 %vm_ssIsSampleHitVar0_6933, i32* %i_0_, align 1
  %2776 = icmp eq i32 %vm_ssIsSampleHitVar0_6933, 0
  br i1 %2776, label %merge2693, label %true1545

true1545:                                         ; preds = %false1544
  %"%<tSimStruct>_6935" = load i8** %"%<tSimStruct>_", align 1
  call void @vm_ssCallAccelRunBlock(i8* %"%<tSimStruct>_6935", i32 248, i32 1609, i32 104)
  br label %merge2693

true1547:                                         ; preds = %merge2693
  %_rtB_9421 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %2777 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_9421, i32 0, i32 390
  %_rtB__Constant_bi9422 = load double* %2777, align 1
  %2778 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_9421, i32 0, i32 172, i32 %i_0_9424
  %_rtB__DataTypeConversion_el9425 = load double* %2778, align 1
  %tmp591 = fmul double %_rtB__Constant_bi9422, %_rtB__DataTypeConversion_el9425
  %2779 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_9421, i32 0, i32 396, i32 %i_0_9424
  store double %tmp591, double* %2779, align 1
  %_rtX_9428 = load %X_REVS_VM_T.18** %_rtX_, align 1
  %i_0_9429 = load i32* %i_0_, align 1
  %2780 = getelementptr inbounds %X_REVS_VM_T.18* %_rtX_9428, i32 0, i32 39, i32 %i_0_9429
  %_rtX__Integrator2_CSTATE_m_el = load double* %2780, align 1
  %_rtB_9430 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %2781 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_9430, i32 0, i32 397, i32 %i_0_9429
  store double %_rtX__Integrator2_CSTATE_m_el, double* %2781, align 1
  %i_0_9432 = load i32* %i_0_, align 1
  %tmp592 = add i32 %i_0_9432, 1
  br label %merge2693

false1548:                                        ; preds = %merge2693
  %vm_ssIsSampleHitVar0_6937 = load i32* %vm_ssIsSampleHitVar0_, align 1
  store i32 %vm_ssIsSampleHitVar0_6937, i32* %i_0_, align 1
  %2782 = icmp eq i32 %vm_ssIsSampleHitVar0_6937, 0
  br i1 %2782, label %false1550, label %true1549

true1549:                                         ; preds = %false1548
  %"%<tSimStruct>_6939" = load i8** %"%<tSimStruct>_", align 1
  call void @vm_ssCallAccelRunBlock(i8* %"%<tSimStruct>_6939", i32 248, i32 1612, i32 104)
  br label %false1550

false1550:                                        ; preds = %false1548, %true1549
  %_rtX_6940 = load %X_REVS_VM_T.18** %_rtX_, align 1
  %2783 = getelementptr inbounds %X_REVS_VM_T.18* %_rtX_6940, i32 0, i32 40
  %_rtX__Integrator1_CSTATE_f = load double* %2783, align 1
  %_rtB_6941 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %2784 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_6941, i32 0, i32 398
  store double %_rtX__Integrator1_CSTATE_f, double* %2784, align 1
  %vm_ssIsSampleHitVar0_6942 = load i32* %vm_ssIsSampleHitVar0_, align 1
  store i32 %vm_ssIsSampleHitVar0_6942, i32* %i_0_, align 1
  %2785 = icmp eq i32 %vm_ssIsSampleHitVar0_6942, 0
  br i1 %2785, label %false1552, label %true1551

true1551:                                         ; preds = %false1550
  %"%<tSimStruct>_6944" = load i8** %"%<tSimStruct>_", align 1
  call void @vm_ssCallAccelRunBlock(i8* %"%<tSimStruct>_6944", i32 248, i32 1614, i32 104)
  br label %false1552

false1552:                                        ; preds = %false1550, %true1551
  %_rtP_6945 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %2786 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_6945, i32 0, i32 940
  %_rtP__Gain_Gain_b = load double* %2786, align 1
  %rtb_reduceonly_6946 = load double* %rtb_reduceonly_, align 1
  %tmp353 = fmul double %_rtP__Gain_Gain_b, %rtb_reduceonly_6946
  %minV_6947 = load double* %minV_, align 1
  %tmp354 = fadd double %tmp353, %minV_6947
  store double %tmp354, double* %u0_0_, align 1
  %2787 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_6945, i32 0, i32 941
  %_rtP__pos1_UpperSat_k = load double* %2787, align 1
  %2788 = fcmp ogt double %tmp354, %_rtP__pos1_UpperSat_k
  br i1 %2788, label %true1553, label %false1554

true1553:                                         ; preds = %false1552
  store double %_rtP__pos1_UpperSat_k, double* %u0_0_, align 1
  br label %merge2694

false1554:                                        ; preds = %false1552
  %2789 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_6945, i32 0, i32 942
  %_rtP__pos1_LowerSat_c = load double* %2789, align 1
  %2790 = fcmp olt double %tmp354, %_rtP__pos1_LowerSat_c
  br i1 %2790, label %true1555, label %merge2694

true1555:                                         ; preds = %false1554
  store double %_rtP__pos1_LowerSat_c, double* %u0_0_, align 1
  br label %merge2694

true1557:                                         ; preds = %merge2694
  %_rtB_6978 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %2791 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_6978, i32 0, i32 390
  %_rtB__Constant_bi6979 = load double* %2791, align 1
  %_rtDW_6980 = load %DW_REVS_VM_T.16** %_rtDW_, align 1
  %2792 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_6980, i32 0, i32 97
  %_rtDW__PrevY_j = load double* %2792, align 1
  %tmp356 = fsub double %_rtB__Constant_bi6979, %_rtDW__PrevY_j
  store double %tmp356, double* %rateLimiterRate_, align 1
  %_rtP_6982 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %2793 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_6982, i32 0, i32 949
  %_rtP__RateLimiter_RisingLim_n = load double* %2793, align 1
  %2794 = fcmp ogt double %tmp356, %_rtP__RateLimiter_RisingLim_n
  br i1 %2794, label %true1559, label %false1560

false1558:                                        ; preds = %merge2694, %merge2696
  %2795 = call double @muDoubleScalarMin(double %5039, double %5047)
  %_rtB_7002 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %2796 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_7002, i32 0, i32 400
  %_rtB__RateLimiter_mg7003 = load double* %2796, align 1
  %tmp359 = fmul double %2795, %_rtB__RateLimiter_mg7003
  store double %tmp359, double* %rtb_Product2_f_, align 1
  %vm_ssIsSampleHitVar0_7004 = load i32* %vm_ssIsSampleHitVar0_, align 1
  store i32 %vm_ssIsSampleHitVar0_7004, i32* %i_0_, align 1
  %2797 = icmp eq i32 %vm_ssIsSampleHitVar0_7004, 0
  br i1 %2797, label %false1564, label %true1563

true1559:                                         ; preds = %true1557
  %tmp358 = fadd double %_rtDW__PrevY_j, %_rtP__RateLimiter_RisingLim_n
  %2798 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_6978, i32 0, i32 400
  store double %tmp358, double* %2798, align 1
  br label %merge2696

false1560:                                        ; preds = %true1557
  %2799 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_6982, i32 0, i32 950
  %_rtP__RateLimiter_FallingLim_b = load double* %2799, align 1
  %2800 = fcmp olt double %tmp356, %_rtP__RateLimiter_FallingLim_b
  br i1 %2800, label %true1561, label %false1562

true1561:                                         ; preds = %false1560
  %tmp357 = fadd double %_rtDW__PrevY_j, %_rtP__RateLimiter_FallingLim_b
  %2801 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_6978, i32 0, i32 400
  store double %tmp357, double* %2801, align 1
  br label %merge2696

false1562:                                        ; preds = %false1560
  %2802 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_6978, i32 0, i32 400
  store double %_rtB__Constant_bi6979, double* %2802, align 1
  br label %merge2696

true1563:                                         ; preds = %false1558
  %_rtB__RateLimiter_mg7007 = load double* %2796, align 1
  %tmp360 = fsub double 1.000000e+00, %_rtB__RateLimiter_mg7007
  %2803 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_7002, i32 0, i32 401
  store double %tmp360, double* %2803, align 1
  %_rtB_7010.pre = load %B_REVS_VM_T.12** %_rtB_, align 1
  %vm_ssIsSampleHitVar0_7011.pre = load i32* %vm_ssIsSampleHitVar0_, align 1
  br label %false1564

false1564:                                        ; preds = %false1558, %true1563
  %vm_ssIsSampleHitVar0_7011 = phi i32 [ 0, %false1558 ], [ %vm_ssIsSampleHitVar0_7011.pre, %true1563 ]
  %_rtB_7016 = phi %B_REVS_VM_T.12* [ %_rtB_7002, %false1558 ], [ %_rtB_7010.pre, %true1563 ]
  %2804 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_7016, i32 0, i32 401
  %_rtB__Fcn_p = load double* %2804, align 1
  %tmp361 = fmul double %5047, %_rtB__Fcn_p
  store double %tmp361, double* %rtb_Product6_f_, align 1
  store i32 %vm_ssIsSampleHitVar0_7011, i32* %i_0_, align 1
  %2805 = icmp eq i32 %vm_ssIsSampleHitVar0_7011, 0
  br i1 %2805, label %false1566, label %true1565

true1565:                                         ; preds = %false1564
  %2806 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_7016, i32 0, i32 1
  %_rtB__veh_spd_mps7014 = load double* %2806, align 1
  %2807 = fcmp ogt double %_rtB__veh_spd_mps7014, 2.000000e+01
  %2808 = zext i1 %2807 to i32
  store i32 %2808, i32* %rtb_Fcn_ls_, align 1
  %_rtDW_7015 = load %DW_REVS_VM_T.16** %_rtDW_, align 1
  %2809 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_7015, i32 0, i32 98
  %_rtDW__Memory_16_PreviousInput = load double* %2809, align 1
  %2810 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_7016, i32 0, i32 228
  %_rtB__Memory_b7017 = load double* %2810, align 1
  %_rtP_7018 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %2811 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_7018, i32 0, i32 954, i32 0
  %2812 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_7018, i32 0, i32 955, i32 0
  %2813 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_7018, i32 0, i32 953, i32 0
  %2814 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_7015, i32 0, i32 807, i32 0
  %2815 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_7018, i32 0, i32 1407, i32 0
  %2816 = call double @look2_pbinlxpw(double %_rtDW__Memory_16_PreviousInput, double %_rtB__Memory_b7017, double* %2811, double* %2812, double* %2813, i32* %2814, i32* %2815, i32 2)
  %_rtB_7023 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %2817 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_7023, i32 0, i32 626
  %_rtB__ctrl_eng_on7024 = load i8* %2817, align 1
  %2818 = uitofp i8 %_rtB__ctrl_eng_on7024 to double
  %tmp362 = fmul double %2816, %2818
  %_rtDW_7026 = load %DW_REVS_VM_T.16** %_rtDW_, align 1
  %2819 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_7026, i32 0, i32 99
  %_rtDW__Memory_18_PreviousInput = load double* %2819, align 1
  %2820 = call double @muDoubleScalarMin(double %tmp362, double %_rtDW__Memory_18_PreviousInput)
  %_rtB_7027 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %2821 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_7027, i32 0, i32 402
  store double %2820, double* %2821, align 1
  %_rtB_7029.pre = load %B_REVS_VM_T.12** %_rtB_, align 1
  br label %false1566

false1566:                                        ; preds = %false1564, %true1565
  %_rtB_7037 = phi %B_REVS_VM_T.12* [ %_rtB_7016, %false1564 ], [ %_rtB_7029.pre, %true1565 ]
  %rtb_Add_l4_7028 = load double* %rtb_Add_l4_, align 1
  %2822 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_7037, i32 0, i32 250
  %_rtB__Constant_f = load double* %2822, align 1
  %tmp363 = fadd double %rtb_Add_l4_7028, %_rtB__Constant_f
  %2823 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_7037, i32 0, i32 234
  %_rtB__DataTypeConversion2_l7031 = load double* %2823, align 1
  %tmp364 = fmul double %tmp363, %_rtB__DataTypeConversion2_l7031
  store double %tmp364, double* %u0_0_, align 1
  %_rtP_7033 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %2824 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_7033, i32 0, i32 957
  %_rtP__pos_UpperSat_k = load double* %2824, align 1
  %2825 = fcmp ogt double %tmp364, %_rtP__pos_UpperSat_k
  br i1 %2825, label %true1567, label %false1568

true1567:                                         ; preds = %false1566
  %2826 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_7037, i32 0, i32 403
  store double %_rtP__pos_UpperSat_k, double* %2826, align 1
  br label %merge2698

false1568:                                        ; preds = %false1566
  %2827 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_7033, i32 0, i32 958
  %_rtP__pos_LowerSat_p = load double* %2827, align 1
  %2828 = fcmp olt double %tmp364, %_rtP__pos_LowerSat_p
  %2829 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_7037, i32 0, i32 403
  br i1 %2828, label %true1569, label %false1570

true1569:                                         ; preds = %false1568
  store double %_rtP__pos_LowerSat_p, double* %2829, align 1
  br label %merge2698

false1570:                                        ; preds = %false1568
  store double %tmp364, double* %2829, align 1
  br label %merge2698

true1571:                                         ; preds = %merge2698
  %_rtP_7051 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %2830 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_7051, i32 0, i32 960
  %_rtP__Relay_OnVal = load double* %2830, align 1
  %2831 = fcmp ult double %tmp367, %_rtP__Relay_OnVal
  br i1 %2831, label %false1574, label %true1573

false1572:                                        ; preds = %true1573, %false1574, %true1575, %merge2698
  %vm_ssIsSampleHitVar0_7056 = load i32* %vm_ssIsSampleHitVar0_, align 1
  store i32 %vm_ssIsSampleHitVar0_7056, i32* %i_0_, align 1
  %2832 = icmp eq i32 %vm_ssIsSampleHitVar0_7056, 0
  br i1 %2832, label %false1578, label %true1577

true1573:                                         ; preds = %true1571
  %_rtDW_7055 = load %DW_REVS_VM_T.16** %_rtDW_, align 1
  %2833 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_7055, i32 0, i32 1029
  store i8 1, i8* %2833, align 1
  br label %false1572

false1574:                                        ; preds = %true1571
  %2834 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_7051, i32 0, i32 961
  %_rtP__Relay_OffVal = load double* %2834, align 1
  %2835 = fcmp ugt double %tmp367, %_rtP__Relay_OffVal
  br i1 %2835, label %false1572, label %true1575

true1575:                                         ; preds = %false1574
  %_rtDW_7054 = load %DW_REVS_VM_T.16** %_rtDW_, align 1
  %2836 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_7054, i32 0, i32 1029
  store i8 0, i8* %2836, align 1
  br label %false1572

true1577:                                         ; preds = %false1572
  %_rtDW_7058 = load %DW_REVS_VM_T.16** %_rtDW_, align 1
  %2837 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_7058, i32 0, i32 1029
  %_rtDW__Relay_Mode = load i8* %2837, align 1
  %2838 = and i8 %_rtDW__Relay_Mode, 1
  %2839 = icmp eq i8 %2838, 0
  %_rtP_7059 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %2840 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_7059, i32 0, i32 963
  %2841 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_7059, i32 0, i32 962
  %storemerge9664.in = select i1 %2839, double* %2840, double* %2841
  %storemerge9664 = load double* %storemerge9664.in, align 1
  store double %storemerge9664, double* %u0_0_, align 1
  %rtb_Fcn_ls_7061 = load i32* %rtb_Fcn_ls_, align 1
  %2842 = icmp ne i32 %rtb_Fcn_ls_7061, 0
  %2843 = fcmp une double %storemerge9664, 0.000000e+00
  %2844 = and i1 %2842, %2843
  %_rtB_7063 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %2845 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_7063, i32 0, i32 405
  %_rtB__Relay1 = load double* %2845, align 1
  %2846 = fcmp une double %_rtB__Relay1, 0.000000e+00
  %2847 = and i1 %2844, %2846
  %2848 = zext i1 %2847 to i8
  %2849 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_7063, i32 0, i32 755
  store i8 %2848, i8* %2849, align 1
  %_rtB_7065 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %2850 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_7065, i32 0, i32 755
  %_rtB__LogicalOperator_d = load i8* %2850, align 1
  %2851 = and i8 %_rtB__LogicalOperator_d, 1
  %2852 = xor i8 %2851, 1
  store i8 %2852, i8* %rtb_LogicalOperator_j_, align 1
  %2853 = uitofp i8 %2852 to double
  %_rtDW_7067 = load %DW_REVS_VM_T.16** %_rtDW_, align 1
  %2854 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_7067, i32 0, i32 100
  %_rtDW__PrevY_n = load double* %2854, align 1
  %tmp368 = fsub double %2853, %_rtDW__PrevY_n
  store double %tmp368, double* %rateLimiterRate_, align 1
  %_rtP_7069 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %2855 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_7069, i32 0, i32 968
  %_rtP__RateLimiter1_RisingLim = load double* %2855, align 1
  %2856 = fcmp ogt double %tmp368, %_rtP__RateLimiter1_RisingLim
  br i1 %2856, label %true1581, label %false1582

false1578:                                        ; preds = %false1572, %merge2702
  %rtb_Product2_f_7086 = load double* %rtb_Product2_f_, align 1
  %rtb_Product6_f_7087 = load double* %rtb_Product6_f_, align 1
  %tmp371 = fadd double %rtb_Product2_f_7086, %rtb_Product6_f_7087
  %_rtB_7088 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %2857 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_7088, i32 0, i32 626
  %_rtB__ctrl_eng_on7089 = load i8* %2857, align 1
  %2858 = uitofp i8 %_rtB__ctrl_eng_on7089 to double
  %tmp372 = fmul double %tmp371, %2858
  %2859 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_7088, i32 0, i32 406
  %_rtB__RateLimiter17091 = load double* %2859, align 1
  %tmp373 = fmul double %_rtB__RateLimiter17091, %tmp372
  %2860 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_7088, i32 0, i32 407
  store double %tmp373, double* %2860, align 1
  %vm_ssIsSampleHitVar0_7093 = load i32* %vm_ssIsSampleHitVar0_, align 1
  store i32 %vm_ssIsSampleHitVar0_7093, i32* %i_0_, align 1
  %2861 = icmp eq i32 %vm_ssIsSampleHitVar0_7093, 0
  br i1 %2861, label %false1586, label %true1585

true1581:                                         ; preds = %true1577
  %_rtDW__PrevY_n7080 = load double* %2854, align 1
  %tmp370 = fadd double %_rtDW__PrevY_n7080, %_rtP__RateLimiter1_RisingLim
  %2862 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_7065, i32 0, i32 406
  store double %tmp370, double* %2862, align 1
  br label %merge2702

false1582:                                        ; preds = %true1577
  %2863 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_7069, i32 0, i32 969
  %_rtP__RateLimiter1_FallingLim = load double* %2863, align 1
  %2864 = fcmp olt double %tmp368, %_rtP__RateLimiter1_FallingLim
  br i1 %2864, label %true1583, label %false1584

true1583:                                         ; preds = %false1582
  %_rtDW__PrevY_n7075 = load double* %2854, align 1
  %tmp369 = fadd double %_rtDW__PrevY_n7075, %_rtP__RateLimiter1_FallingLim
  %2865 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_7065, i32 0, i32 406
  store double %tmp369, double* %2865, align 1
  br label %merge2702

false1584:                                        ; preds = %false1582
  %2866 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_7065, i32 0, i32 406
  store double %2853, double* %2866, align 1
  br label %merge2702

true1585:                                         ; preds = %false1578
  %_rtB_7095 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %2867 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_7095, i32 0, i32 755
  %_rtB__LogicalOperator_d7096 = load i8* %2867, align 1
  %2868 = and i8 %_rtB__LogicalOperator_d7096, 1
  %2869 = icmp eq i8 %2868, 0
  %_rtDW_7097 = load %DW_REVS_VM_T.16** %_rtDW_, align 1
  %2870 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_7097, i32 0, i32 1031
  %_rtDW__Memory2_PreviousInput_p = load i8* %2870, align 1
  %2871 = and i8 %_rtDW__Memory2_PreviousInput_p, 1
  %2872 = icmp ne i8 %2871, 0
  %2873 = and i1 %2869, %2872
  %2874 = zext i1 %2873 to i8
  %2875 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_7095, i32 0, i32 756
  store i8 %2874, i8* %2875, align 1
  br label %false1586

false1586:                                        ; preds = %false1578, %true1585
  %vm_ssIsMajorTimeStepVar1_7099 = load i32* %vm_ssIsMajorTimeStepVar1_, align 1
  %2876 = icmp eq i32 %vm_ssIsMajorTimeStepVar1_7099, 0
  br i1 %2876, label %false1588, label %true1587

true1587:                                         ; preds = %false1586
  store i8 0, i8* %tmp_, align 1
  %_rtB_7100 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %2877 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_7100, i32 0, i32 756
  %_rtB__LogicalOperator1_i = load i8* %2877, align 1
  %2878 = and i8 %_rtB__LogicalOperator1_i, 1
  %2879 = icmp ne i8 %2878, 0
  %_rtZCE_7101 = load %PrevZCX_REVS_VM_T.20** %_rtZCE_, align 1
  %2880 = getelementptr inbounds %PrevZCX_REVS_VM_T.20* %_rtZCE_7101, i32 0, i32 14
  %_rtZCE__dfcorefueltimer_Reset_ZCE = load i8* %2880, align 1
  %2881 = icmp ne i8 %_rtZCE__dfcorefueltimer_Reset_ZCE, 1
  %2882 = and i1 %2879, %2881
  %2883 = zext i1 %2882 to i8
  store i8 %2883, i8* %didZcEventOccur_, align 1
  store i8 %_rtB__LogicalOperator1_i, i8* %2880, align 1
  %2884 = and i8 %2883, 1
  %2885 = icmp eq i8 %2884, 0
  br i1 %2885, label %false1590, label %true1589

false1588:                                        ; preds = %true1591, %false1590, %false1586
  %_rtX_7110 = load %X_REVS_VM_T.18** %_rtX_, align 1
  %2886 = getelementptr inbounds %X_REVS_VM_T.18* %_rtX_7110, i32 0, i32 41
  %_rtX__dfcorefueltimer_CSTATE = load double* %2886, align 1
  %_rtB_7111 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %2887 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_7111, i32 0, i32 408
  store double %_rtX__dfcorefueltimer_CSTATE, double* %2887, align 1
  %_rtB_7112 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %2888 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_7112, i32 0, i32 408
  %_rtB__dfcorefueltimer = load double* %2888, align 1
  %_rtP_7113 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %2889 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_7113, i32 0, i32 973, i32 0
  %2890 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_7113, i32 0, i32 972, i32 0
  %_rtDW_7115 = load %DW_REVS_VM_T.16** %_rtDW_, align 1
  %2891 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_7115, i32 0, i32 808
  %2892 = call double @look1_plinlcpw(double %_rtB__dfcorefueltimer, double* %2889, double* %2890, i32* %2891, i32 2)
  %_rtP_7117 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %2893 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_7117, i32 0, i32 974
  %_rtP__Bias_Bias = load double* %2893, align 1
  %tmp374 = fadd double %2892, %_rtP__Bias_Bias
  %_rtB_7118 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %2894 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_7118, i32 0, i32 407
  %_rtB__Product7_a = load double* %2894, align 1
  %tmp375 = fmul double %tmp374, %_rtB__Product7_a
  store double %tmp375, double* %u0_0_, align 1
  %2895 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_7117, i32 0, i32 975
  %_rtP__fuelflow3_UpperSat = load double* %2895, align 1
  %2896 = fcmp ogt double %tmp375, %_rtP__fuelflow3_UpperSat
  br i1 %2896, label %true1593, label %false1594

true1589:                                         ; preds = %true1587
  store i8 1, i8* %tmp_, align 1
  %_rtP_7106 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %2897 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_7106, i32 0, i32 971
  %_rtP__dfcorefueltimer_IC = load double* %2897, align 1
  %_rtX_7107 = load %X_REVS_VM_T.18** %_rtX_, align 1
  %2898 = getelementptr inbounds %X_REVS_VM_T.18* %_rtX_7107, i32 0, i32 41
  store double %_rtP__dfcorefueltimer_IC, double* %2898, align 1
  br label %false1590

false1590:                                        ; preds = %true1587, %true1589
  %tmp_7108 = load i8* %tmp_, align 1
  %2899 = and i8 %tmp_7108, 1
  %2900 = icmp eq i8 %2899, 0
  br i1 %2900, label %false1588, label %true1591

true1591:                                         ; preds = %false1590
  %"%<tSimStruct>_7109" = load i8** %"%<tSimStruct>_", align 1
  call void @vm_ssSetSolverNeedsReset(i8* %"%<tSimStruct>_7109")
  br label %false1588

true1593:                                         ; preds = %false1588
  %2901 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_7118, i32 0, i32 409
  store double %_rtP__fuelflow3_UpperSat, double* %2901, align 1
  br label %merge2704

false1594:                                        ; preds = %false1588
  %2902 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_7117, i32 0, i32 976
  %_rtP__fuelflow3_LowerSat = load double* %2902, align 1
  %2903 = fcmp olt double %tmp375, %_rtP__fuelflow3_LowerSat
  %2904 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_7118, i32 0, i32 409
  br i1 %2903, label %true1595, label %false1596

true1595:                                         ; preds = %false1594
  store double %_rtP__fuelflow3_LowerSat, double* %2904, align 1
  br label %merge2704

false1596:                                        ; preds = %false1594
  store double %tmp375, double* %2904, align 1
  br label %merge2704

true1597:                                         ; preds = %merge2704
  store i8 0, i8* %tmp_, align 1
  %_rtZCE_7132 = load %PrevZCX_REVS_VM_T.20** %_rtZCE_, align 1
  %2905 = getelementptr inbounds %PrevZCX_REVS_VM_T.20* %_rtZCE_7132, i32 0, i32 15
  %_rtB_7133 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %2906 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_7133, i32 0, i32 400
  %_rtB__RateLimiter_mg7134 = load double* %2906, align 1
  %2907 = call i32 @rt_ZCFcn(i32 0, i8* %2905, double %_rtB__RateLimiter_mg7134)
  %2908 = icmp ne i32 %2907, 0
  %_rtB_7136 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %2909 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_7136, i32 0, i32 400
  %_rtB__RateLimiter_mg7137 = load double* %2909, align 1
  %2910 = fcmp une double %_rtB__RateLimiter_mg7137, 0.000000e+00
  %2911 = or i1 %2908, %2910
  br i1 %2911, label %true1599, label %false1600

false1598:                                        ; preds = %true1601, %false1600, %merge2704
  %_rtX_7142 = load %X_REVS_VM_T.18** %_rtX_, align 1
  %2912 = getelementptr inbounds %X_REVS_VM_T.18* %_rtX_7142, i32 0, i32 42
  %_rtX__deac_off_timer_CSTATE = load double* %2912, align 1
  %_rtB_7143 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %2913 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_7143, i32 0, i32 410
  store double %_rtX__deac_off_timer_CSTATE, double* %2913, align 1
  %_rtB_7144 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %2914 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_7144, i32 0, i32 410
  %_rtB__deac_off_timer = load double* %2914, align 1
  %_rtP_7145 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %2915 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_7145, i32 0, i32 979, i32 0
  %2916 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_7145, i32 0, i32 978, i32 0
  %_rtDW_7147 = load %DW_REVS_VM_T.16** %_rtDW_, align 1
  %2917 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_7147, i32 0, i32 809
  %2918 = call double @look1_plinlcpw(double %_rtB__deac_off_timer, double* %2915, double* %2916, i32* %2917, i32 1)
  %_rtP_7149 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %2919 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_7149, i32 0, i32 980
  %_rtP__Bias1_Bias = load double* %2919, align 1
  %tmp376 = fadd double %2918, %_rtP__Bias1_Bias
  %_rtB_7150 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %2920 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_7150, i32 0, i32 407
  %_rtB__Product7_a7151 = load double* %2920, align 1
  %tmp377 = fmul double %tmp376, %_rtB__Product7_a7151
  store double %tmp377, double* %u0_0_, align 1
  %2921 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_7149, i32 0, i32 981
  %_rtP__fuelflow2_UpperSat = load double* %2921, align 1
  %2922 = fcmp ogt double %tmp377, %_rtP__fuelflow2_UpperSat
  br i1 %2922, label %true1603, label %false1604

true1599:                                         ; preds = %true1597
  store i8 1, i8* %tmp_, align 1
  %_rtP_7138 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %2923 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_7138, i32 0, i32 977
  %_rtP__deac_off_timer_IC = load double* %2923, align 1
  %_rtX_7139 = load %X_REVS_VM_T.18** %_rtX_, align 1
  %2924 = getelementptr inbounds %X_REVS_VM_T.18* %_rtX_7139, i32 0, i32 42
  store double %_rtP__deac_off_timer_IC, double* %2924, align 1
  br label %false1600

false1600:                                        ; preds = %true1599, %true1597
  %tmp_7140 = load i8* %tmp_, align 1
  %2925 = and i8 %tmp_7140, 1
  %2926 = icmp eq i8 %2925, 0
  br i1 %2926, label %false1598, label %true1601

true1601:                                         ; preds = %false1600
  %"%<tSimStruct>_7141" = load i8** %"%<tSimStruct>_", align 1
  call void @vm_ssSetSolverNeedsReset(i8* %"%<tSimStruct>_7141")
  br label %false1598

true1603:                                         ; preds = %false1598
  %2927 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_7150, i32 0, i32 411
  store double %_rtP__fuelflow2_UpperSat, double* %2927, align 1
  br label %merge2706

false1604:                                        ; preds = %false1598
  %2928 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_7149, i32 0, i32 982
  %_rtP__fuelflow2_LowerSat = load double* %2928, align 1
  %2929 = fcmp olt double %tmp377, %_rtP__fuelflow2_LowerSat
  %2930 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_7150, i32 0, i32 411
  br i1 %2929, label %true1605, label %false1606

true1605:                                         ; preds = %false1604
  store double %_rtP__fuelflow2_LowerSat, double* %2930, align 1
  br label %merge2706

false1606:                                        ; preds = %false1604
  store double %tmp377, double* %2930, align 1
  br label %merge2706

false1608:                                        ; preds = %merge2706
  store double %_rtDW__TimeStampA_c, double* %u0_, align 1
  %2931 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_7170, i32 0, i32 102
  store double* %2931, double** %lastU_, align 1
  %_rtDW__TimeStampA_c7178 = load double* %5063, align 1
  %_rtDW__TimeStampB_p7180 = load double* %5065, align 1
  %2932 = fcmp olt double %_rtDW__TimeStampA_c7178, %_rtDW__TimeStampB_p7180
  br i1 %2932, label %true1609, label %false1610

true1609:                                         ; preds = %false1608
  %2933 = fcmp olt double %_rtDW__TimeStampB_p7180, %vm_ssGetTVar5_7171
  br i1 %2933, label %true1613, label %merge2707

false1610:                                        ; preds = %false1608
  %2934 = fcmp ult double %_rtDW__TimeStampA_c7178, %vm_ssGetTVar5_7171
  br i1 %2934, label %merge2707, label %true1611

true1611:                                         ; preds = %false1610
  store double %_rtDW__TimeStampB_p7180, double* %u0_, align 1
  %2935 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_7170, i32 0, i32 104
  store double* %2935, double** %lastU_, align 1
  br label %merge2707

true1613:                                         ; preds = %true1609
  store double %_rtDW__TimeStampB_p7180, double* %u0_, align 1
  %2936 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_7170, i32 0, i32 104
  store double* %2936, double** %lastU_, align 1
  br label %merge2707

false1616:                                        ; preds = %merge2708
  %2937 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_7199, i32 0, i32 985
  %_rtP__pwrratelimit_LowerSat = load double* %2937, align 1
  %2938 = fcmp olt double %rtb_Derivative_k_7202, %_rtP__pwrratelimit_LowerSat
  %_rtP__pwrratelimit_LowerSat.rtb_Derivative_k_7202 = select i1 %2938, double %_rtP__pwrratelimit_LowerSat, double %rtb_Derivative_k_7202
  br label %merge2710

true1619:                                         ; preds = %merge2710
  %2939 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_7207, i32 0, i32 416
  store double %_rtP__fuelflow1_UpperSat, double* %2939, align 1
  br label %merge2712

false1620:                                        ; preds = %merge2710
  %2940 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_7199, i32 0, i32 990
  %_rtP__fuelflow1_LowerSat = load double* %2940, align 1
  %2941 = fcmp olt double %tmp385, %_rtP__fuelflow1_LowerSat
  %2942 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_7207, i32 0, i32 416
  br i1 %2941, label %true1621, label %false1622

true1621:                                         ; preds = %false1620
  store double %_rtP__fuelflow1_LowerSat, double* %2942, align 1
  br label %merge2712

false1622:                                        ; preds = %false1620
  store double %tmp385, double* %2942, align 1
  br label %merge2712

true1623:                                         ; preds = %merge2712
  %2943 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_7226, i32 0, i32 417
  store double %_rtP__u_UpperSat_cv, double* %2943, align 1
  br label %merge2715

false1624:                                        ; preds = %merge2712
  %2944 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_7232, i32 0, i32 992
  %_rtP__u_LowerSat_j = load double* %2944, align 1
  %2945 = fcmp olt double %tmp388, %_rtP__u_LowerSat_j
  %2946 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_7226, i32 0, i32 417
  br i1 %2945, label %true1625, label %false1626

true1625:                                         ; preds = %false1624
  store double %_rtP__u_LowerSat_j, double* %2946, align 1
  br label %merge2715

false1626:                                        ; preds = %false1624
  store double %tmp388, double* %2946, align 1
  br label %merge2715

true1627:                                         ; preds = %merge2715
  %_rtB_9410 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %2947 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_9410, i32 0, i32 417
  %_rtB__u_g = load double* %2947, align 1
  %2948 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_9410, i32 0, i32 172, i32 %i_0_9412
  %_rtB__DataTypeConversion_el9413 = load double* %2948, align 1
  %tmp589 = fmul double %_rtB__u_g, %_rtB__DataTypeConversion_el9413
  %2949 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_9410, i32 0, i32 418, i32 %i_0_9412
  store double %tmp589, double* %2949, align 1
  %_rtX_9416 = load %X_REVS_VM_T.18** %_rtX_, align 1
  %i_0_9417 = load i32* %i_0_, align 1
  %2950 = getelementptr inbounds %X_REVS_VM_T.18* %_rtX_9416, i32 0, i32 43, i32 %i_0_9417
  %_rtX__Integrator2_CSTATE_h_el = load double* %2950, align 1
  %_rtB_9418 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %2951 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_9418, i32 0, i32 419, i32 %i_0_9417
  store double %_rtX__Integrator2_CSTATE_h_el, double* %2951, align 1
  %i_0_9420 = load i32* %i_0_, align 1
  %tmp590 = add i32 %i_0_9420, 1
  br label %merge2715

false1628:                                        ; preds = %merge2715
  %vm_ssIsSampleHitVar0_7244 = load i32* %vm_ssIsSampleHitVar0_, align 1
  store i32 %vm_ssIsSampleHitVar0_7244, i32* %i_0_, align 1
  %2952 = icmp eq i32 %vm_ssIsSampleHitVar0_7244, 0
  br i1 %2952, label %false1630, label %true1629

true1629:                                         ; preds = %false1628
  %"%<tSimStruct>_7246" = load i8** %"%<tSimStruct>_", align 1
  call void @vm_ssCallAccelRunBlock(i8* %"%<tSimStruct>_7246", i32 248, i32 1674, i32 104)
  br label %false1630

false1630:                                        ; preds = %false1628, %true1629
  %_rtX_7247 = load %X_REVS_VM_T.18** %_rtX_, align 1
  %2953 = getelementptr inbounds %X_REVS_VM_T.18* %_rtX_7247, i32 0, i32 44
  %_rtX__Integrator1_CSTATE_dr = load double* %2953, align 1
  %_rtB_7248 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %2954 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_7248, i32 0, i32 420
  store double %_rtX__Integrator1_CSTATE_dr, double* %2954, align 1
  %vm_ssIsSampleHitVar0_7249 = load i32* %vm_ssIsSampleHitVar0_, align 1
  store i32 %vm_ssIsSampleHitVar0_7249, i32* %i_0_, align 1
  %2955 = icmp eq i32 %vm_ssIsSampleHitVar0_7249, 0
  br i1 %2955, label %false1632, label %true1631

true1631:                                         ; preds = %false1630
  %"%<tSimStruct>_7251" = load i8** %"%<tSimStruct>_", align 1
  call void @vm_ssCallAccelRunBlock(i8* %"%<tSimStruct>_7251", i32 248, i32 1676, i32 104)
  br label %false1632

false1632:                                        ; preds = %false1630, %true1631
  %_rtP_7252 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %2956 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_7252, i32 0, i32 995
  %_rtP__Gain_Gain_k = load double* %2956, align 1
  %_rtB_7253 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %2957 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_7253, i32 0, i32 96
  %_rtB__tc_spd_in_radps7254 = load double* %2957, align 1
  %tmp389 = fmul double %_rtP__Gain_Gain_k, %_rtB__tc_spd_in_radps7254
  %2958 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_7253, i32 0, i32 421
  store double %tmp389, double* %2958, align 1
  br label %merge2716

true1633:                                         ; preds = %merge2716
  %_rtB_9399 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %2959 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_9399, i32 0, i32 421
  %_rtB__Gain_p = load double* %2959, align 1
  %2960 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_9399, i32 0, i32 172, i32 %i_0_9401
  %_rtB__DataTypeConversion_el9402 = load double* %2960, align 1
  %tmp587 = fmul double %_rtB__Gain_p, %_rtB__DataTypeConversion_el9402
  %2961 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_9399, i32 0, i32 422, i32 %i_0_9401
  store double %tmp587, double* %2961, align 1
  %_rtX_9405 = load %X_REVS_VM_T.18** %_rtX_, align 1
  %i_0_9406 = load i32* %i_0_, align 1
  %2962 = getelementptr inbounds %X_REVS_VM_T.18* %_rtX_9405, i32 0, i32 45, i32 %i_0_9406
  %_rtX__Integrator2_CSTATE_kr_el = load double* %2962, align 1
  %_rtB_9407 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %2963 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_9407, i32 0, i32 423, i32 %i_0_9406
  store double %_rtX__Integrator2_CSTATE_kr_el, double* %2963, align 1
  %i_0_9409 = load i32* %i_0_, align 1
  %tmp588 = add i32 %i_0_9409, 1
  br label %merge2716

false1634:                                        ; preds = %merge2716
  %vm_ssIsSampleHitVar0_7257 = load i32* %vm_ssIsSampleHitVar0_, align 1
  store i32 %vm_ssIsSampleHitVar0_7257, i32* %i_0_, align 1
  %2964 = icmp eq i32 %vm_ssIsSampleHitVar0_7257, 0
  br i1 %2964, label %false1636, label %true1635

true1635:                                         ; preds = %false1634
  %"%<tSimStruct>_7259" = load i8** %"%<tSimStruct>_", align 1
  call void @vm_ssCallAccelRunBlock(i8* %"%<tSimStruct>_7259", i32 248, i32 1680, i32 104)
  br label %false1636

false1636:                                        ; preds = %false1634, %true1635
  %_rtX_7260 = load %X_REVS_VM_T.18** %_rtX_, align 1
  %2965 = getelementptr inbounds %X_REVS_VM_T.18* %_rtX_7260, i32 0, i32 46
  %_rtX__Integrator1_CSTATE_o5 = load double* %2965, align 1
  %_rtB_7261 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %2966 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_7261, i32 0, i32 424
  store double %_rtX__Integrator1_CSTATE_o5, double* %2966, align 1
  %vm_ssIsSampleHitVar0_7262 = load i32* %vm_ssIsSampleHitVar0_, align 1
  store i32 %vm_ssIsSampleHitVar0_7262, i32* %i_0_, align 1
  %2967 = icmp eq i32 %vm_ssIsSampleHitVar0_7262, 0
  br i1 %2967, label %false1638, label %true1637

true1637:                                         ; preds = %false1636
  %"%<tSimStruct>_7264" = load i8** %"%<tSimStruct>_", align 1
  call void @vm_ssCallAccelRunBlock(i8* %"%<tSimStruct>_7264", i32 248, i32 1682, i32 104)
  br label %false1638

false1638:                                        ; preds = %false1636, %true1637
  %_rtB_7265 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %2968 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_7265, i32 0, i32 96
  %_rtB__tc_spd_in_radps7266 = load double* %2968, align 1
  %2969 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_7265, i32 0, i32 425
  %_rtB__Constant_jy = load double* %2969, align 1
  %2970 = fcmp ogt double %_rtB__tc_spd_in_radps7266, %_rtB__Constant_jy
  %2971 = uitofp i1 %2970 to double
  %2972 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_7265, i32 0, i32 426
  store double %2971, double* %2972, align 1
  br label %merge2717

true1639:                                         ; preds = %merge2717
  %_rtB_9388 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %2973 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_9388, i32 0, i32 426
  %_rtB__DataTypeConversion_dn = load double* %2973, align 1
  %2974 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_9388, i32 0, i32 172, i32 %i_0_9390
  %_rtB__DataTypeConversion_el9391 = load double* %2974, align 1
  %tmp585 = fmul double %_rtB__DataTypeConversion_dn, %_rtB__DataTypeConversion_el9391
  %2975 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_9388, i32 0, i32 427, i32 %i_0_9390
  store double %tmp585, double* %2975, align 1
  %_rtX_9394 = load %X_REVS_VM_T.18** %_rtX_, align 1
  %i_0_9395 = load i32* %i_0_, align 1
  %2976 = getelementptr inbounds %X_REVS_VM_T.18* %_rtX_9394, i32 0, i32 47, i32 %i_0_9395
  %_rtX__Integrator2_CSTATE_j_el = load double* %2976, align 1
  %_rtB_9396 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %2977 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_9396, i32 0, i32 428, i32 %i_0_9395
  store double %_rtX__Integrator2_CSTATE_j_el, double* %2977, align 1
  %i_0_9398 = load i32* %i_0_, align 1
  %tmp586 = add i32 %i_0_9398, 1
  br label %merge2717

false1640:                                        ; preds = %merge2717
  %vm_ssIsSampleHitVar0_7270 = load i32* %vm_ssIsSampleHitVar0_, align 1
  store i32 %vm_ssIsSampleHitVar0_7270, i32* %i_0_, align 1
  %2978 = icmp eq i32 %vm_ssIsSampleHitVar0_7270, 0
  br i1 %2978, label %false1642, label %true1641

true1641:                                         ; preds = %false1640
  %"%<tSimStruct>_7272" = load i8** %"%<tSimStruct>_", align 1
  call void @vm_ssCallAccelRunBlock(i8* %"%<tSimStruct>_7272", i32 248, i32 1688, i32 104)
  br label %false1642

false1642:                                        ; preds = %false1640, %true1641
  %_rtX_7273 = load %X_REVS_VM_T.18** %_rtX_, align 1
  %2979 = getelementptr inbounds %X_REVS_VM_T.18* %_rtX_7273, i32 0, i32 48
  %_rtX__Integrator1_CSTATE_j = load double* %2979, align 1
  %_rtB_7274 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %2980 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_7274, i32 0, i32 429
  store double %_rtX__Integrator1_CSTATE_j, double* %2980, align 1
  %vm_ssIsSampleHitVar0_7275 = load i32* %vm_ssIsSampleHitVar0_, align 1
  store i32 %vm_ssIsSampleHitVar0_7275, i32* %i_0_, align 1
  %2981 = icmp eq i32 %vm_ssIsSampleHitVar0_7275, 0
  br i1 %2981, label %false1644, label %true1643

true1643:                                         ; preds = %false1642
  %"%<tSimStruct>_7277" = load i8** %"%<tSimStruct>_", align 1
  call void @vm_ssCallAccelRunBlock(i8* %"%<tSimStruct>_7277", i32 248, i32 1690, i32 104)
  br label %false1644

false1644:                                        ; preds = %false1642, %true1643
  %_rtDW_7278 = load %DW_REVS_VM_T.16** %_rtDW_, align 1
  %2982 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_7278, i32 0, i32 105
  %_rtDW__TimeStampA_n = load double* %2982, align 1
  %vm_ssGetTVar5_7279 = load double* %vm_ssGetTVar5_, align 1
  %2983 = fcmp oge double %_rtDW__TimeStampA_n, %vm_ssGetTVar5_7279
  %2984 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_7278, i32 0, i32 107
  %_rtDW__TimeStampB_o = load double* %2984, align 1
  %2985 = fcmp oge double %_rtDW__TimeStampB_o, %vm_ssGetTVar5_7279
  %2986 = and i1 %2983, %2985
  br i1 %2986, label %true1645, label %false1646

true1645:                                         ; preds = %false1644
  %_rtB_7307.pre = load %B_REVS_VM_T.12** %_rtB_, align 1
  %.phi.trans.insert9766 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_7307.pre, i32 0, i32 96
  %_rtB__tc_spd_in_radps7312.pre = load double* %.phi.trans.insert9766, align 1
  br label %merge2719

false1646:                                        ; preds = %false1644
  store double %_rtDW__TimeStampA_n, double* %u0_, align 1
  %2987 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_7278, i32 0, i32 106
  store double* %2987, double** %lastU_, align 1
  %_rtDW__TimeStampA_n7286 = load double* %2982, align 1
  %_rtDW__TimeStampB_o7288 = load double* %2984, align 1
  %2988 = fcmp olt double %_rtDW__TimeStampA_n7286, %_rtDW__TimeStampB_o7288
  br i1 %2988, label %true1647, label %false1648

true1647:                                         ; preds = %false1646
  %2989 = fcmp olt double %_rtDW__TimeStampB_o7288, %vm_ssGetTVar5_7279
  br i1 %2989, label %true1651, label %merge2718

false1648:                                        ; preds = %false1646
  %2990 = fcmp ult double %_rtDW__TimeStampA_n7286, %vm_ssGetTVar5_7279
  br i1 %2990, label %merge2718, label %true1649

true1649:                                         ; preds = %false1648
  store double %_rtDW__TimeStampB_o7288, double* %u0_, align 1
  %2991 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_7278, i32 0, i32 108
  store double* %2991, double** %lastU_, align 1
  br label %merge2718

true1651:                                         ; preds = %true1647
  store double %_rtDW__TimeStampB_o7288, double* %u0_, align 1
  %2992 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_7278, i32 0, i32 108
  store double* %2992, double** %lastU_, align 1
  br label %merge2718

true1653:                                         ; preds = %merge2720
  %_rtB_9381 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %2993 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_9381, i32 0, i32 172, i32 %i_0_9386
  %_rtB__DataTypeConversion_el9383 = load double* %2993, align 1
  %2994 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_9381, i32 0, i32 430
  %_rtB__Gain_o = load double* %2994, align 1
  %tmp583 = fmul double %_rtB__DataTypeConversion_el9383, %_rtB__Gain_o
  %2995 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_9381, i32 0, i32 431, i32 %i_0_9386
  store double %tmp583, double* %2995, align 1
  %i_0_9387 = load i32* %i_0_, align 1
  %tmp584 = add i32 %i_0_9387, 1
  br label %merge2720

false1654:                                        ; preds = %merge2720
  %vm_ssIsSampleHitVar0_7318 = load i32* %vm_ssIsSampleHitVar0_, align 1
  store i32 %vm_ssIsSampleHitVar0_7318, i32* %i_0_, align 1
  %2996 = icmp eq i32 %vm_ssIsSampleHitVar0_7318, 0
  br i1 %2996, label %false1656, label %true1655

true1655:                                         ; preds = %false1654
  %_rtB_7320 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %2997 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_7320, i32 0, i32 757
  %_rtB__RelationalOperator_oc = load i8* %2997, align 1
  %2998 = and i8 %_rtB__RelationalOperator_oc, 1
  %2999 = icmp eq i8 %2998, 0
  br i1 %2999, label %false1658, label %true1657

false1656:                                        ; preds = %true1671, %true1669, %false1666, %false1654
  %_rtX_7336 = load %X_REVS_VM_T.18** %_rtX_, align 1
  %3000 = getelementptr inbounds %X_REVS_VM_T.18* %_rtX_7336, i32 0, i32 49
  %_rtX__Integrator_CSTATE_c = load double* %3000, align 1
  %_rtB_7337 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %3001 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_7337, i32 0, i32 432
  store double %_rtX__Integrator_CSTATE_c, double* %3001, align 1
  %vm_ssIsSampleHitVar0_7338 = load i32* %vm_ssIsSampleHitVar0_, align 1
  store i32 %vm_ssIsSampleHitVar0_7338, i32* %i_0_, align 1
  %3002 = icmp eq i32 %vm_ssIsSampleHitVar0_7338, 0
  br i1 %3002, label %false1674, label %true1673

true1657:                                         ; preds = %true1655
  %"%<tSimStruct>_7321" = load i8** %"%<tSimStruct>_", align 1
  call void @vm_ssCallAccelRunBlock(i8* %"%<tSimStruct>_7321", i32 187, i32 0, i32 104)
  %vm_ssIsMajorTimeStepVar1_7322 = load i32* %vm_ssIsMajorTimeStepVar1_, align 1
  %3003 = icmp eq i32 %vm_ssIsMajorTimeStepVar1_7322, 0
  br i1 %3003, label %false1660, label %true1659

false1658:                                        ; preds = %true1655, %false1660
  %_rtB_7324 = phi %B_REVS_VM_T.12* [ %_rtB_7320, %true1655 ], [ %_rtB_7324.pre, %false1660 ]
  %3004 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_7324, i32 0, i32 758
  %_rtB__RelationalOperator_nq = load i8* %3004, align 1
  %3005 = and i8 %_rtB__RelationalOperator_nq, 1
  %3006 = icmp eq i8 %3005, 0
  br i1 %3006, label %false1662, label %true1661

true1659:                                         ; preds = %true1657
  %_rtDW_7323 = load %DW_REVS_VM_T.16** %_rtDW_, align 1
  %3007 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_7323, i32 0, i32 935
  call void @vm_srUpdateBC(i8* %3007)
  br label %false1660

false1660:                                        ; preds = %true1657, %true1659
  %_rtB_7324.pre = load %B_REVS_VM_T.12** %_rtB_, align 1
  br label %false1658

true1661:                                         ; preds = %false1658
  %"%<tSimStruct>_7325" = load i8** %"%<tSimStruct>_", align 1
  call void @vm_ssCallAccelRunBlock(i8* %"%<tSimStruct>_7325", i32 188, i32 0, i32 104)
  %vm_ssIsMajorTimeStepVar1_7326 = load i32* %vm_ssIsMajorTimeStepVar1_, align 1
  %3008 = icmp eq i32 %vm_ssIsMajorTimeStepVar1_7326, 0
  br i1 %3008, label %false1664, label %true1663

false1662:                                        ; preds = %false1658, %false1664
  %_rtB_7328 = phi %B_REVS_VM_T.12* [ %_rtB_7324, %false1658 ], [ %_rtB_7328.pre, %false1664 ]
  %3009 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_7328, i32 0, i32 759
  %_rtB__RelationalOperator_og = load i8* %3009, align 1
  %3010 = and i8 %_rtB__RelationalOperator_og, 1
  %3011 = icmp eq i8 %3010, 0
  br i1 %3011, label %false1666, label %true1665

true1663:                                         ; preds = %true1661
  %_rtDW_7327 = load %DW_REVS_VM_T.16** %_rtDW_, align 1
  %3012 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_7327, i32 0, i32 936
  call void @vm_srUpdateBC(i8* %3012)
  br label %false1664

false1664:                                        ; preds = %true1661, %true1663
  %_rtB_7328.pre = load %B_REVS_VM_T.12** %_rtB_, align 1
  br label %false1662

true1665:                                         ; preds = %false1662
  %"%<tSimStruct>_7329" = load i8** %"%<tSimStruct>_", align 1
  call void @vm_ssCallAccelRunBlock(i8* %"%<tSimStruct>_7329", i32 189, i32 0, i32 104)
  %vm_ssIsMajorTimeStepVar1_7330 = load i32* %vm_ssIsMajorTimeStepVar1_, align 1
  %3013 = icmp eq i32 %vm_ssIsMajorTimeStepVar1_7330, 0
  br i1 %3013, label %false1668, label %true1667

false1666:                                        ; preds = %false1662, %false1668
  %_rtB_7332 = phi %B_REVS_VM_T.12* [ %_rtB_7328, %false1662 ], [ %_rtB_7332.pre, %false1668 ]
  %3014 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_7332, i32 0, i32 760
  %_rtB__RelationalOperator_oi = load i8* %3014, align 1
  %3015 = and i8 %_rtB__RelationalOperator_oi, 1
  %3016 = icmp eq i8 %3015, 0
  br i1 %3016, label %false1656, label %true1669

true1667:                                         ; preds = %true1665
  %_rtDW_7331 = load %DW_REVS_VM_T.16** %_rtDW_, align 1
  %3017 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_7331, i32 0, i32 937
  call void @vm_srUpdateBC(i8* %3017)
  br label %false1668

false1668:                                        ; preds = %true1665, %true1667
  %_rtB_7332.pre = load %B_REVS_VM_T.12** %_rtB_, align 1
  br label %false1666

true1669:                                         ; preds = %false1666
  %"%<tSimStruct>_7333" = load i8** %"%<tSimStruct>_", align 1
  call void @vm_ssCallAccelRunBlock(i8* %"%<tSimStruct>_7333", i32 190, i32 0, i32 104)
  %vm_ssIsMajorTimeStepVar1_7334 = load i32* %vm_ssIsMajorTimeStepVar1_, align 1
  %3018 = icmp eq i32 %vm_ssIsMajorTimeStepVar1_7334, 0
  br i1 %3018, label %false1656, label %true1671

true1671:                                         ; preds = %true1669
  %_rtDW_7335 = load %DW_REVS_VM_T.16** %_rtDW_, align 1
  %3019 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_7335, i32 0, i32 938
  call void @vm_srUpdateBC(i8* %3019)
  br label %false1656

true1673:                                         ; preds = %false1656
  %_rtB_7340 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %3020 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_7340, i32 0, i32 761
  %_rtB__RelationalOperator_oqk = load i8* %3020, align 1
  %3021 = and i8 %_rtB__RelationalOperator_oqk, 1
  %3022 = icmp eq i8 %3021, 0
  br i1 %3022, label %false1676, label %true1675

false1674:                                        ; preds = %false1656, %false1688
  %vm_ssIsSampleHitVar0_7360 = phi i32 [ 0, %false1656 ], [ %vm_ssIsSampleHitVar0_7360.pre, %false1688 ]
  %_rtB_7356 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %3023 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_7356, i32 0, i32 402
  %_rtB__MinMax57357 = load double* %3023, align 1
  %3024 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_7356, i32 0, i32 403
  %_rtB__pos7359 = load double* %3024, align 1
  %tmp398 = fadd double %_rtB__MinMax57357, %_rtB__pos7359
  store double %tmp398, double* %rtb_Sum_h_, align 1
  store i32 %vm_ssIsSampleHitVar0_7360, i32* %i_0_, align 1
  %3025 = icmp eq i32 %vm_ssIsSampleHitVar0_7360, 0
  br i1 %3025, label %false1692, label %true1691

true1675:                                         ; preds = %true1673
  %"%<tSimStruct>_7341" = load i8** %"%<tSimStruct>_", align 1
  call void @vm_ssCallAccelRunBlock(i8* %"%<tSimStruct>_7341", i32 191, i32 0, i32 104)
  %vm_ssIsMajorTimeStepVar1_7342 = load i32* %vm_ssIsMajorTimeStepVar1_, align 1
  %3026 = icmp eq i32 %vm_ssIsMajorTimeStepVar1_7342, 0
  br i1 %3026, label %false1678, label %true1677

false1676:                                        ; preds = %true1673, %false1678
  %_rtB_7344 = phi %B_REVS_VM_T.12* [ %_rtB_7340, %true1673 ], [ %_rtB_7344.pre, %false1678 ]
  %3027 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_7344, i32 0, i32 762
  %_rtB__RelationalOperator_od3 = load i8* %3027, align 1
  %3028 = and i8 %_rtB__RelationalOperator_od3, 1
  %3029 = icmp eq i8 %3028, 0
  br i1 %3029, label %false1680, label %true1679

true1677:                                         ; preds = %true1675
  %_rtDW_7343 = load %DW_REVS_VM_T.16** %_rtDW_, align 1
  %3030 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_7343, i32 0, i32 939
  call void @vm_srUpdateBC(i8* %3030)
  br label %false1678

false1678:                                        ; preds = %true1675, %true1677
  %_rtB_7344.pre = load %B_REVS_VM_T.12** %_rtB_, align 1
  br label %false1676

true1679:                                         ; preds = %false1676
  %"%<tSimStruct>_7345" = load i8** %"%<tSimStruct>_", align 1
  call void @vm_ssCallAccelRunBlock(i8* %"%<tSimStruct>_7345", i32 192, i32 0, i32 104)
  %vm_ssIsMajorTimeStepVar1_7346 = load i32* %vm_ssIsMajorTimeStepVar1_, align 1
  %3031 = icmp eq i32 %vm_ssIsMajorTimeStepVar1_7346, 0
  br i1 %3031, label %false1682, label %true1681

false1680:                                        ; preds = %false1676, %false1682
  %_rtB_7348 = phi %B_REVS_VM_T.12* [ %_rtB_7344, %false1676 ], [ %_rtB_7348.pre, %false1682 ]
  %3032 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_7348, i32 0, i32 763
  %_rtB__RelationalOperator_h1 = load i8* %3032, align 1
  %3033 = and i8 %_rtB__RelationalOperator_h1, 1
  %3034 = icmp eq i8 %3033, 0
  br i1 %3034, label %false1684, label %true1683

true1681:                                         ; preds = %true1679
  %_rtDW_7347 = load %DW_REVS_VM_T.16** %_rtDW_, align 1
  %3035 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_7347, i32 0, i32 940
  call void @vm_srUpdateBC(i8* %3035)
  br label %false1682

false1682:                                        ; preds = %true1679, %true1681
  %_rtB_7348.pre = load %B_REVS_VM_T.12** %_rtB_, align 1
  br label %false1680

true1683:                                         ; preds = %false1680
  %"%<tSimStruct>_7349" = load i8** %"%<tSimStruct>_", align 1
  call void @vm_ssCallAccelRunBlock(i8* %"%<tSimStruct>_7349", i32 193, i32 0, i32 104)
  %vm_ssIsMajorTimeStepVar1_7350 = load i32* %vm_ssIsMajorTimeStepVar1_, align 1
  %3036 = icmp eq i32 %vm_ssIsMajorTimeStepVar1_7350, 0
  br i1 %3036, label %false1686, label %true1685

false1684:                                        ; preds = %false1680, %false1686
  %_rtB_7352 = phi %B_REVS_VM_T.12* [ %_rtB_7348, %false1680 ], [ %_rtB_7352.pre, %false1686 ]
  %3037 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_7352, i32 0, i32 764
  %_rtB__RelationalOperator_bz = load i8* %3037, align 1
  %3038 = and i8 %_rtB__RelationalOperator_bz, 1
  %3039 = icmp eq i8 %3038, 0
  br i1 %3039, label %false1688, label %true1687

true1685:                                         ; preds = %true1683
  %_rtDW_7351 = load %DW_REVS_VM_T.16** %_rtDW_, align 1
  %3040 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_7351, i32 0, i32 941
  call void @vm_srUpdateBC(i8* %3040)
  br label %false1686

false1686:                                        ; preds = %true1683, %true1685
  %_rtB_7352.pre = load %B_REVS_VM_T.12** %_rtB_, align 1
  br label %false1684

true1687:                                         ; preds = %false1684
  %"%<tSimStruct>_7353" = load i8** %"%<tSimStruct>_", align 1
  call void @vm_ssCallAccelRunBlock(i8* %"%<tSimStruct>_7353", i32 194, i32 0, i32 104)
  %vm_ssIsMajorTimeStepVar1_7354 = load i32* %vm_ssIsMajorTimeStepVar1_, align 1
  %3041 = icmp eq i32 %vm_ssIsMajorTimeStepVar1_7354, 0
  br i1 %3041, label %false1688, label %true1689

false1688:                                        ; preds = %true1689, %true1687, %false1684
  %vm_ssIsSampleHitVar0_7360.pre = load i32* %vm_ssIsSampleHitVar0_, align 1
  br label %false1674

true1689:                                         ; preds = %true1687
  %_rtDW_7355 = load %DW_REVS_VM_T.16** %_rtDW_, align 1
  %3042 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_7355, i32 0, i32 942
  call void @vm_srUpdateBC(i8* %3042)
  br label %false1688

true1691:                                         ; preds = %false1674
  %3043 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_7356, i32 0, i32 765
  %_rtB__RelationalOperator_e0 = load i8* %3043, align 1
  %3044 = and i8 %_rtB__RelationalOperator_e0, 1
  %3045 = icmp eq i8 %3044, 0
  br i1 %3045, label %false1694, label %true1693

false1692:                                        ; preds = %false1708, %false1702, %false1674
  %_rtB_7380 = phi %B_REVS_VM_T.12* [ %_rtB_7356, %false1674 ], [ %_rtB_7375, %false1702 ], [ %_rtB_7380.pre.pre, %false1708 ]
  %_rtX_7379 = load %X_REVS_VM_T.18** %_rtX_, align 1
  %3046 = getelementptr inbounds %X_REVS_VM_T.18* %_rtX_7379, i32 0, i32 50
  %_rtX__Integrator_CSTATE_b = load double* %3046, align 1
  %3047 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_7380, i32 0, i32 433
  store double %_rtX__Integrator_CSTATE_b, double* %3047, align 1
  %vm_ssIsSampleHitVar0_7381 = load i32* %vm_ssIsSampleHitVar0_, align 1
  store i32 %vm_ssIsSampleHitVar0_7381, i32* %i_0_, align 1
  %3048 = icmp eq i32 %vm_ssIsSampleHitVar0_7381, 0
  br i1 %3048, label %false1710, label %true1709

true1693:                                         ; preds = %true1691
  %"%<tSimStruct>_7363" = load i8** %"%<tSimStruct>_", align 1
  call void @vm_ssCallAccelRunBlock(i8* %"%<tSimStruct>_7363", i32 152, i32 0, i32 104)
  %vm_ssIsMajorTimeStepVar1_7364 = load i32* %vm_ssIsMajorTimeStepVar1_, align 1
  %3049 = icmp eq i32 %vm_ssIsMajorTimeStepVar1_7364, 0
  br i1 %3049, label %false1694, label %true1695

false1694:                                        ; preds = %true1695, %true1693, %true1691
  %"%<tSimStruct>_7366" = load i8** %"%<tSimStruct>_", align 1
  call void @vm_ssCallAccelRunBlock(i8* %"%<tSimStruct>_7366", i32 248, i32 1736, i32 104)
  %_rtB_7367 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %3050 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_7367, i32 0, i32 766
  %_rtB__RelationalOperator_hn = load i8* %3050, align 1
  %3051 = and i8 %_rtB__RelationalOperator_hn, 1
  %3052 = icmp eq i8 %3051, 0
  br i1 %3052, label %false1698, label %true1697

true1695:                                         ; preds = %true1693
  %_rtDW_7365 = load %DW_REVS_VM_T.16** %_rtDW_, align 1
  %3053 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_7365, i32 0, i32 943
  call void @vm_srUpdateBC(i8* %3053)
  br label %false1694

true1697:                                         ; preds = %false1694
  %"%<tSimStruct>_7368" = load i8** %"%<tSimStruct>_", align 1
  call void @vm_ssCallAccelRunBlock(i8* %"%<tSimStruct>_7368", i32 154, i32 0, i32 104)
  %vm_ssIsMajorTimeStepVar1_7369 = load i32* %vm_ssIsMajorTimeStepVar1_, align 1
  %3054 = icmp eq i32 %vm_ssIsMajorTimeStepVar1_7369, 0
  br i1 %3054, label %false1700, label %true1699

false1698:                                        ; preds = %false1694, %false1700
  %_rtB_7371 = phi %B_REVS_VM_T.12* [ %_rtB_7367, %false1694 ], [ %_rtB_7371.pre, %false1700 ]
  %3055 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_7371, i32 0, i32 767
  %_rtB__RelationalOperator_bt = load i8* %3055, align 1
  %3056 = and i8 %_rtB__RelationalOperator_bt, 1
  %3057 = icmp eq i8 %3056, 0
  br i1 %3057, label %false1702, label %true1701

true1699:                                         ; preds = %true1697
  %_rtDW_7370 = load %DW_REVS_VM_T.16** %_rtDW_, align 1
  %3058 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_7370, i32 0, i32 944
  call void @vm_srUpdateBC(i8* %3058)
  br label %false1700

false1700:                                        ; preds = %true1697, %true1699
  %_rtB_7371.pre = load %B_REVS_VM_T.12** %_rtB_, align 1
  br label %false1698

true1701:                                         ; preds = %false1698
  %"%<tSimStruct>_7372" = load i8** %"%<tSimStruct>_", align 1
  call void @vm_ssCallAccelRunBlock(i8* %"%<tSimStruct>_7372", i32 155, i32 0, i32 104)
  %vm_ssIsMajorTimeStepVar1_7373 = load i32* %vm_ssIsMajorTimeStepVar1_, align 1
  %3059 = icmp eq i32 %vm_ssIsMajorTimeStepVar1_7373, 0
  br i1 %3059, label %false1704, label %true1703

false1702:                                        ; preds = %false1698, %false1704
  %_rtB_7375 = phi %B_REVS_VM_T.12* [ %_rtB_7371, %false1698 ], [ %_rtB_7375.pre, %false1704 ]
  %3060 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_7375, i32 0, i32 768
  %_rtB__RelationalOperator_g1d = load i8* %3060, align 1
  %3061 = and i8 %_rtB__RelationalOperator_g1d, 1
  %3062 = icmp eq i8 %3061, 0
  br i1 %3062, label %false1692, label %true1705

true1703:                                         ; preds = %true1701
  %_rtDW_7374 = load %DW_REVS_VM_T.16** %_rtDW_, align 1
  %3063 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_7374, i32 0, i32 945
  call void @vm_srUpdateBC(i8* %3063)
  br label %false1704

false1704:                                        ; preds = %true1701, %true1703
  %_rtB_7375.pre = load %B_REVS_VM_T.12** %_rtB_, align 1
  br label %false1702

true1705:                                         ; preds = %false1702
  %"%<tSimStruct>_7376" = load i8** %"%<tSimStruct>_", align 1
  call void @vm_ssCallAccelRunBlock(i8* %"%<tSimStruct>_7376", i32 156, i32 0, i32 104)
  %vm_ssIsMajorTimeStepVar1_7377 = load i32* %vm_ssIsMajorTimeStepVar1_, align 1
  %3064 = icmp eq i32 %vm_ssIsMajorTimeStepVar1_7377, 0
  br i1 %3064, label %false1708, label %true1707

true1707:                                         ; preds = %true1705
  %_rtDW_7378 = load %DW_REVS_VM_T.16** %_rtDW_, align 1
  %3065 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_7378, i32 0, i32 946
  call void @vm_srUpdateBC(i8* %3065)
  br label %false1708

false1708:                                        ; preds = %true1705, %true1707
  %_rtB_7380.pre.pre = load %B_REVS_VM_T.12** %_rtB_, align 1
  br label %false1692

true1709:                                         ; preds = %false1692
  %_rtB_7383 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %3066 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_7383, i32 0, i32 769
  %_rtB__RelationalOperator_hj = load i8* %3066, align 1
  %3067 = and i8 %_rtB__RelationalOperator_hj, 1
  %3068 = icmp eq i8 %3067, 0
  br i1 %3068, label %false1710, label %true1711

false1710:                                        ; preds = %true1713, %true1711, %true1709, %false1692
  %_rtX_7387 = load %X_REVS_VM_T.18** %_rtX_, align 1
  %3069 = getelementptr inbounds %X_REVS_VM_T.18* %_rtX_7387, i32 0, i32 51
  %_rtX__Integrator1_CSTATE_o2 = load double* %3069, align 1
  %_rtB_7388 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %3070 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_7388, i32 0, i32 434
  store double %_rtX__Integrator1_CSTATE_o2, double* %3070, align 1
  %vm_ssIsSampleHitVar0_7389 = load i32* %vm_ssIsSampleHitVar0_, align 1
  store i32 %vm_ssIsSampleHitVar0_7389, i32* %i_0_, align 1
  %3071 = icmp eq i32 %vm_ssIsSampleHitVar0_7389, 0
  br i1 %3071, label %false1716, label %true1715

true1711:                                         ; preds = %true1709
  %"%<tSimStruct>_7384" = load i8** %"%<tSimStruct>_", align 1
  call void @vm_ssCallAccelRunBlock(i8* %"%<tSimStruct>_7384", i32 157, i32 0, i32 104)
  %vm_ssIsMajorTimeStepVar1_7385 = load i32* %vm_ssIsMajorTimeStepVar1_, align 1
  %3072 = icmp eq i32 %vm_ssIsMajorTimeStepVar1_7385, 0
  br i1 %3072, label %false1710, label %true1713

true1713:                                         ; preds = %true1711
  %_rtDW_7386 = load %DW_REVS_VM_T.16** %_rtDW_, align 1
  %3073 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_7386, i32 0, i32 947
  call void @vm_srUpdateBC(i8* %3073)
  br label %false1710

true1715:                                         ; preds = %false1710
  %_rtB_7391 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %3074 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_7391, i32 0, i32 770
  %_rtB__RelationalOperator_nh = load i8* %3074, align 1
  %3075 = and i8 %_rtB__RelationalOperator_nh, 1
  %3076 = icmp eq i8 %3075, 0
  br i1 %3076, label %false1716, label %true1717

false1716:                                        ; preds = %true1719, %true1717, %true1715, %false1710
  %_rtX_7395 = load %X_REVS_VM_T.18** %_rtX_, align 1
  %3077 = getelementptr inbounds %X_REVS_VM_T.18* %_rtX_7395, i32 0, i32 52
  %_rtX__Integrator2_CSTATE_c = load double* %3077, align 1
  %_rtB_7396 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %3078 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_7396, i32 0, i32 435
  store double %_rtX__Integrator2_CSTATE_c, double* %3078, align 1
  %vm_ssIsSampleHitVar0_7397 = load i32* %vm_ssIsSampleHitVar0_, align 1
  store i32 %vm_ssIsSampleHitVar0_7397, i32* %i_0_, align 1
  %3079 = icmp eq i32 %vm_ssIsSampleHitVar0_7397, 0
  br i1 %3079, label %false1722, label %true1721

true1717:                                         ; preds = %true1715
  %"%<tSimStruct>_7392" = load i8** %"%<tSimStruct>_", align 1
  call void @vm_ssCallAccelRunBlock(i8* %"%<tSimStruct>_7392", i32 158, i32 0, i32 104)
  %vm_ssIsMajorTimeStepVar1_7393 = load i32* %vm_ssIsMajorTimeStepVar1_, align 1
  %3080 = icmp eq i32 %vm_ssIsMajorTimeStepVar1_7393, 0
  br i1 %3080, label %false1716, label %true1719

true1719:                                         ; preds = %true1717
  %_rtDW_7394 = load %DW_REVS_VM_T.16** %_rtDW_, align 1
  %3081 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_7394, i32 0, i32 948
  call void @vm_srUpdateBC(i8* %3081)
  br label %false1716

true1721:                                         ; preds = %false1716
  %_rtB_7399 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %3082 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_7399, i32 0, i32 771
  %_rtB__RelationalOperator_ee = load i8* %3082, align 1
  %3083 = and i8 %_rtB__RelationalOperator_ee, 1
  %3084 = icmp eq i8 %3083, 0
  br i1 %3084, label %false1724, label %true1723

false1722:                                        ; preds = %true1733, %true1731, %false1728, %false1716
  %_rtX_7411 = load %X_REVS_VM_T.18** %_rtX_, align 1
  %3085 = getelementptr inbounds %X_REVS_VM_T.18* %_rtX_7411, i32 0, i32 53
  %_rtX__Integrator3_CSTATE_o = load double* %3085, align 1
  %_rtB_7412 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %3086 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_7412, i32 0, i32 436
  store double %_rtX__Integrator3_CSTATE_o, double* %3086, align 1
  %vm_ssIsSampleHitVar0_7413 = load i32* %vm_ssIsSampleHitVar0_, align 1
  store i32 %vm_ssIsSampleHitVar0_7413, i32* %i_0_, align 1
  %3087 = icmp eq i32 %vm_ssIsSampleHitVar0_7413, 0
  br i1 %3087, label %false1736, label %true1735

true1723:                                         ; preds = %true1721
  %"%<tSimStruct>_7400" = load i8** %"%<tSimStruct>_", align 1
  call void @vm_ssCallAccelRunBlock(i8* %"%<tSimStruct>_7400", i32 159, i32 0, i32 104)
  %vm_ssIsMajorTimeStepVar1_7401 = load i32* %vm_ssIsMajorTimeStepVar1_, align 1
  %3088 = icmp eq i32 %vm_ssIsMajorTimeStepVar1_7401, 0
  br i1 %3088, label %false1726, label %true1725

false1724:                                        ; preds = %true1721, %false1726
  %_rtB_7403 = phi %B_REVS_VM_T.12* [ %_rtB_7399, %true1721 ], [ %_rtB_7403.pre, %false1726 ]
  %3089 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_7403, i32 0, i32 772
  %_rtB__RelationalOperator_cd = load i8* %3089, align 1
  %3090 = and i8 %_rtB__RelationalOperator_cd, 1
  %3091 = icmp eq i8 %3090, 0
  br i1 %3091, label %false1728, label %true1727

true1725:                                         ; preds = %true1723
  %_rtDW_7402 = load %DW_REVS_VM_T.16** %_rtDW_, align 1
  %3092 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_7402, i32 0, i32 949
  call void @vm_srUpdateBC(i8* %3092)
  br label %false1726

false1726:                                        ; preds = %true1723, %true1725
  %_rtB_7403.pre = load %B_REVS_VM_T.12** %_rtB_, align 1
  br label %false1724

true1727:                                         ; preds = %false1724
  %"%<tSimStruct>_7404" = load i8** %"%<tSimStruct>_", align 1
  call void @vm_ssCallAccelRunBlock(i8* %"%<tSimStruct>_7404", i32 160, i32 0, i32 104)
  %vm_ssIsMajorTimeStepVar1_7405 = load i32* %vm_ssIsMajorTimeStepVar1_, align 1
  %3093 = icmp eq i32 %vm_ssIsMajorTimeStepVar1_7405, 0
  br i1 %3093, label %false1730, label %true1729

false1728:                                        ; preds = %false1724, %false1730
  %_rtB_7407 = phi %B_REVS_VM_T.12* [ %_rtB_7403, %false1724 ], [ %_rtB_7407.pre, %false1730 ]
  %3094 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_7407, i32 0, i32 773
  %_rtB__RelationalOperator_o3 = load i8* %3094, align 1
  %3095 = and i8 %_rtB__RelationalOperator_o3, 1
  %3096 = icmp eq i8 %3095, 0
  br i1 %3096, label %false1722, label %true1731

true1729:                                         ; preds = %true1727
  %_rtDW_7406 = load %DW_REVS_VM_T.16** %_rtDW_, align 1
  %3097 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_7406, i32 0, i32 950
  call void @vm_srUpdateBC(i8* %3097)
  br label %false1730

false1730:                                        ; preds = %true1727, %true1729
  %_rtB_7407.pre = load %B_REVS_VM_T.12** %_rtB_, align 1
  br label %false1728

true1731:                                         ; preds = %false1728
  %"%<tSimStruct>_7408" = load i8** %"%<tSimStruct>_", align 1
  call void @vm_ssCallAccelRunBlock(i8* %"%<tSimStruct>_7408", i32 161, i32 0, i32 104)
  %vm_ssIsMajorTimeStepVar1_7409 = load i32* %vm_ssIsMajorTimeStepVar1_, align 1
  %3098 = icmp eq i32 %vm_ssIsMajorTimeStepVar1_7409, 0
  br i1 %3098, label %false1722, label %true1733

true1733:                                         ; preds = %true1731
  %_rtDW_7410 = load %DW_REVS_VM_T.16** %_rtDW_, align 1
  %3099 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_7410, i32 0, i32 951
  call void @vm_srUpdateBC(i8* %3099)
  br label %false1722

true1735:                                         ; preds = %false1722
  %_rtB_7415 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %3100 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_7415, i32 0, i32 774
  %_rtB__RelationalOperator_fl = load i8* %3100, align 1
  %3101 = and i8 %_rtB__RelationalOperator_fl, 1
  %3102 = icmp eq i8 %3101, 0
  br i1 %3102, label %false1738, label %true1737

false1736:                                        ; preds = %false1722, %false1742
  %vm_ssIsMajorTimeStepVar1_7426 = load i32* %vm_ssIsMajorTimeStepVar1_, align 1
  %3103 = icmp eq i32 %vm_ssIsMajorTimeStepVar1_7426, 0
  br i1 %3103, label %false1746, label %true1745

true1737:                                         ; preds = %true1735
  %"%<tSimStruct>_7416" = load i8** %"%<tSimStruct>_", align 1
  call void @vm_ssCallAccelRunBlock(i8* %"%<tSimStruct>_7416", i32 162, i32 0, i32 104)
  %vm_ssIsMajorTimeStepVar1_7417 = load i32* %vm_ssIsMajorTimeStepVar1_, align 1
  %3104 = icmp eq i32 %vm_ssIsMajorTimeStepVar1_7417, 0
  br i1 %3104, label %false1740, label %true1739

false1738:                                        ; preds = %true1735, %false1740
  %_rtB_7419 = phi %B_REVS_VM_T.12* [ %_rtB_7415, %true1735 ], [ %_rtB_7419.pre, %false1740 ]
  %3105 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_7419, i32 0, i32 775
  %_rtB__RelationalOperator_l3 = load i8* %3105, align 1
  %3106 = and i8 %_rtB__RelationalOperator_l3, 1
  %3107 = icmp eq i8 %3106, 0
  br i1 %3107, label %false1742, label %true1741

true1739:                                         ; preds = %true1737
  %_rtDW_7418 = load %DW_REVS_VM_T.16** %_rtDW_, align 1
  %3108 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_7418, i32 0, i32 952
  call void @vm_srUpdateBC(i8* %3108)
  br label %false1740

false1740:                                        ; preds = %true1737, %true1739
  %_rtB_7419.pre = load %B_REVS_VM_T.12** %_rtB_, align 1
  br label %false1738

true1741:                                         ; preds = %false1738
  %"%<tSimStruct>_7420" = load i8** %"%<tSimStruct>_", align 1
  call void @vm_ssCallAccelRunBlock(i8* %"%<tSimStruct>_7420", i32 163, i32 0, i32 104)
  %vm_ssIsMajorTimeStepVar1_7421 = load i32* %vm_ssIsMajorTimeStepVar1_, align 1
  %3109 = icmp eq i32 %vm_ssIsMajorTimeStepVar1_7421, 0
  br i1 %3109, label %false1744, label %true1743

false1742:                                        ; preds = %false1738, %false1744
  %_rtB_7423 = phi %B_REVS_VM_T.12* [ %_rtB_7419, %false1738 ], [ %_rtB_7423.pre, %false1744 ]
  %3110 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_7423, i32 0, i32 755
  %_rtB__LogicalOperator_d7424 = load i8* %3110, align 1
  %3111 = uitofp i8 %_rtB__LogicalOperator_d7424 to double
  %3112 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_7423, i32 0, i32 440
  store double %3111, double* %3112, align 1
  br label %false1736

true1743:                                         ; preds = %true1741
  %_rtDW_7422 = load %DW_REVS_VM_T.16** %_rtDW_, align 1
  %3113 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_7422, i32 0, i32 953
  call void @vm_srUpdateBC(i8* %3113)
  br label %false1744

false1744:                                        ; preds = %true1741, %true1743
  %_rtB_7423.pre = load %B_REVS_VM_T.12** %_rtB_, align 1
  br label %false1742

true1745:                                         ; preds = %false1736
  store i8 0, i8* %tmp_, align 1
  %_rtZCE_7427 = load %PrevZCX_REVS_VM_T.20** %_rtZCE_, align 1
  %3114 = getelementptr inbounds %PrevZCX_REVS_VM_T.20* %_rtZCE_7427, i32 0, i32 16
  %_rtB_7428 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %3115 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_7428, i32 0, i32 440
  %_rtB__DataTypeConversion2_h = load double* %3115, align 1
  %3116 = call i32 @rt_ZCFcn(i32 -1, i8* %3114, double %_rtB__DataTypeConversion2_h)
  %3117 = icmp eq i32 %3116, 0
  br i1 %3117, label %false1748, label %true1747

false1746:                                        ; preds = %true1749, %false1748, %false1736
  %_rtX_7434 = load %X_REVS_VM_T.18** %_rtX_, align 1
  %3118 = getelementptr inbounds %X_REVS_VM_T.18* %_rtX_7434, i32 0, i32 54
  %_rtX__Integrator1_CSTATE_od = load double* %3118, align 1
  %_rtP_7435 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %3119 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_7435, i32 0, i32 1049
  %_rtP__Integrator1_UpperSat_h3 = load double* %3119, align 1
  %3120 = fcmp ult double %_rtX__Integrator1_CSTATE_od, %_rtP__Integrator1_UpperSat_h3
  br i1 %3120, label %false1752, label %true1751

true1747:                                         ; preds = %true1745
  store i8 1, i8* %tmp_, align 1
  %_rtP_7430 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %3121 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_7430, i32 0, i32 1048
  %_rtP__Integrator1_IC_fkt = load double* %3121, align 1
  %_rtX_7431 = load %X_REVS_VM_T.18** %_rtX_, align 1
  %3122 = getelementptr inbounds %X_REVS_VM_T.18* %_rtX_7431, i32 0, i32 54
  store double %_rtP__Integrator1_IC_fkt, double* %3122, align 1
  br label %false1748

false1748:                                        ; preds = %true1745, %true1747
  %tmp_7432 = load i8* %tmp_, align 1
  %3123 = and i8 %tmp_7432, 1
  %3124 = icmp eq i8 %3123, 0
  br i1 %3124, label %false1746, label %true1749

true1749:                                         ; preds = %false1748
  %"%<tSimStruct>_7433" = load i8** %"%<tSimStruct>_", align 1
  call void @vm_ssSetSolverNeedsReset(i8* %"%<tSimStruct>_7433")
  br label %false1746

true1751:                                         ; preds = %false1746
  %3125 = fcmp une double %_rtX__Integrator1_CSTATE_od, %_rtP__Integrator1_UpperSat_h3
  br i1 %3125, label %true1757, label %merge2721

false1752:                                        ; preds = %false1746
  %3126 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_7435, i32 0, i32 1050
  %_rtP__Integrator1_LowerSat_c = load double* %3126, align 1
  %3127 = fcmp ole double %_rtX__Integrator1_CSTATE_od, %_rtP__Integrator1_LowerSat_c
  %3128 = fcmp une double %_rtX__Integrator1_CSTATE_od, %_rtP__Integrator1_LowerSat_c
  %or.cond10161 = and i1 %3127, %3128
  br i1 %or.cond10161, label %true1755, label %merge2721

true1755:                                         ; preds = %false1752
  store double %_rtP__Integrator1_LowerSat_c, double* %3118, align 1
  %"%<tSimStruct>_7446" = load i8** %"%<tSimStruct>_", align 1
  call void @vm_ssSetSolverNeedsReset(i8* %"%<tSimStruct>_7446")
  br label %merge2721

true1757:                                         ; preds = %true1751
  store double %_rtP__Integrator1_UpperSat_h3, double* %3118, align 1
  %"%<tSimStruct>_7454" = load i8** %"%<tSimStruct>_", align 1
  call void @vm_ssSetSolverNeedsReset(i8* %"%<tSimStruct>_7454")
  br label %merge2721

true1759:                                         ; preds = %merge2721
  %3129 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_7456, i32 0, i32 94
  %_rtP__normalize_Gain_o = load double* %3129, align 1
  %_rtX_7460 = load %X_REVS_VM_T.18** %_rtX_, align 1
  %3130 = getelementptr inbounds %X_REVS_VM_T.18* %_rtX_7460, i32 0, i32 54
  %_rtX__Integrator1_CSTATE_od7461 = load double* %3130, align 1
  %tmp399 = fmul double %_rtP__normalize_Gain_o, %_rtX__Integrator1_CSTATE_od7461
  br label %merge2722

false1760:                                        ; preds = %merge2721
  %_rtX_7457 = load %X_REVS_VM_T.18** %_rtX_, align 1
  %3131 = getelementptr inbounds %X_REVS_VM_T.18* %_rtX_7457, i32 0, i32 54
  %_rtX__Integrator1_CSTATE_od7458 = load double* %3131, align 1
  br label %merge2722

true1761:                                         ; preds = %merge2722
  %_rtB_7467 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %3132 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_7467, i32 0, i32 777
  %_rtB__RelationalOperator_p0 = load i8* %3132, align 1
  %3133 = and i8 %_rtB__RelationalOperator_p0, 1
  %3134 = icmp eq i8 %3133, 0
  br i1 %3134, label %false1762, label %true1763

false1762:                                        ; preds = %true1765, %true1763, %true1761, %merge2722
  %rtb_pos2_7471 = load double* %rtb_pos2_, align 1
  %rtb_Sum4_7472 = load double* %rtb_Sum4_, align 1
  %tmp400 = fdiv double %rtb_pos2_7471, %rtb_Sum4_7472
  %_rtB_7473 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %3135 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_7473, i32 0, i32 442
  store double %tmp400, double* %3135, align 1
  %vm_ssIsSampleHitVar0_7474 = load i32* %vm_ssIsSampleHitVar0_, align 1
  store i32 %vm_ssIsSampleHitVar0_7474, i32* %i_0_, align 1
  %3136 = icmp eq i32 %vm_ssIsSampleHitVar0_7474, 0
  br i1 %3136, label %false1768, label %true1767

true1763:                                         ; preds = %true1761
  %"%<tSimStruct>_7468" = load i8** %"%<tSimStruct>_", align 1
  call void @vm_ssCallAccelRunBlock(i8* %"%<tSimStruct>_7468", i32 164, i32 0, i32 104)
  %vm_ssIsMajorTimeStepVar1_7469 = load i32* %vm_ssIsMajorTimeStepVar1_, align 1
  %3137 = icmp eq i32 %vm_ssIsMajorTimeStepVar1_7469, 0
  br i1 %3137, label %false1762, label %true1765

true1765:                                         ; preds = %true1763
  %_rtDW_7470 = load %DW_REVS_VM_T.16** %_rtDW_, align 1
  %3138 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_7470, i32 0, i32 954
  call void @vm_srUpdateBC(i8* %3138)
  br label %false1762

true1767:                                         ; preds = %false1762
  %_rtB_7476 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %3139 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_7476, i32 0, i32 778
  %_rtB__RelationalOperator_d2 = load i8* %3139, align 1
  %3140 = and i8 %_rtB__RelationalOperator_d2, 1
  %3141 = icmp eq i8 %3140, 0
  br i1 %3141, label %false1768, label %true1769

false1768:                                        ; preds = %true1771, %true1769, %true1767, %false1762
  %_rtX_7480 = load %X_REVS_VM_T.18** %_rtX_, align 1
  %3142 = getelementptr inbounds %X_REVS_VM_T.18* %_rtX_7480, i32 0, i32 55
  %_rtX__Integrator_CSTATE_k = load double* %3142, align 1
  %rtb_Sum7_7481 = load double* %rtb_Sum7_, align 1
  %3143 = fcmp ogt double %_rtX__Integrator_CSTATE_k, %rtb_Sum7_7481
  %3144 = zext i1 %3143 to i8
  store i8 %3144, i8* %rtb_uppersaturation_, align 1
  %_rtB_7482 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %3145 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_7482, i32 0, i32 96
  %_rtB__tc_spd_in_radps7483 = load double* %3145, align 1
  %_rtP_7484 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %3146 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_7484, i32 0, i32 1058, i32 0
  %3147 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_7484, i32 0, i32 1057, i32 0
  %_rtDW_7486 = load %DW_REVS_VM_T.16** %_rtDW_, align 1
  %3148 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_7486, i32 0, i32 810
  %3149 = call double @look1_plinlcapw(double %_rtB__tc_spd_in_radps7483, double* %3146, double* %3147, i32* %3148, i32 14)
  %rtb_ClosedThrottleTorqueLimit_7488 = load double* %rtb_ClosedThrottleTorqueLimit_, align 1
  %tmp401 = fsub double %3149, %rtb_ClosedThrottleTorqueLimit_7488
  %_rtB_7489 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %3150 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_7489, i32 0, i32 443
  store double %tmp401, double* %3150, align 1
  %_rtB_7490 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %3151 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_7490, i32 0, i32 443
  %_rtB__Sum8 = load double* %3151, align 1
  %tmp402 = fsub double %_rtB__Sum8, %rtb_ClosedThrottleTorqueLimit_7488
  store double %tmp402, double* %rtb_Sum1_f_, align 1
  %3152 = and i8 %3144, 1
  %3153 = icmp ne i8 %3152, 0
  %_rtX_7493 = load %X_REVS_VM_T.18** %_rtX_, align 1
  %3154 = getelementptr inbounds %X_REVS_VM_T.18* %_rtX_7493, i32 0, i32 55
  %_rtX__Integrator_CSTATE_k7494 = load double* %3154, align 1
  %3155 = fcmp olt double %_rtX__Integrator_CSTATE_k7494, %tmp402
  %3156 = or i1 %3153, %3155
  %3157 = zext i1 %3156 to i8
  %3158 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_7490, i32 0, i32 779
  store i8 %3157, i8* %3158, align 1
  %_rtX_7498 = load %X_REVS_VM_T.18** %_rtX_, align 1
  %3159 = getelementptr inbounds %X_REVS_VM_T.18* %_rtX_7498, i32 0, i32 55
  %_rtX__Integrator_CSTATE_k7499 = load double* %3159, align 1
  %3160 = call double @muDoubleScalarMax(double %_rtX__Integrator_CSTATE_k7499, double %tmp402)
  %3161 = call double @muDoubleScalarMin(double %rtb_Sum7_7481, double %3160)
  %_rtB_7501 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %3162 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_7501, i32 0, i32 444
  store double %3161, double* %3162, align 1
  %vm_ssIsMajorTimeStepVar1_7502 = load i32* %vm_ssIsMajorTimeStepVar1_, align 1
  %3163 = icmp eq i32 %vm_ssIsMajorTimeStepVar1_7502, 0
  br i1 %3163, label %false1774, label %true1773

true1769:                                         ; preds = %true1767
  %"%<tSimStruct>_7477" = load i8** %"%<tSimStruct>_", align 1
  call void @vm_ssCallAccelRunBlock(i8* %"%<tSimStruct>_7477", i32 165, i32 0, i32 104)
  %vm_ssIsMajorTimeStepVar1_7478 = load i32* %vm_ssIsMajorTimeStepVar1_, align 1
  %3164 = icmp eq i32 %vm_ssIsMajorTimeStepVar1_7478, 0
  br i1 %3164, label %false1768, label %true1771

true1771:                                         ; preds = %true1769
  %_rtDW_7479 = load %DW_REVS_VM_T.16** %_rtDW_, align 1
  %3165 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_7479, i32 0, i32 955
  call void @vm_srUpdateBC(i8* %3165)
  br label %false1768

true1773:                                         ; preds = %false1768
  store i8 0, i8* %tmp_, align 1
  %_rtZCE_7503 = load %PrevZCX_REVS_VM_T.20** %_rtZCE_, align 1
  %3166 = getelementptr inbounds %PrevZCX_REVS_VM_T.20* %_rtZCE_7503, i32 0, i32 17
  %_rtZCE__Integrator_Reset_ZCE_j = load i8* %3166, align 1
  %3167 = icmp eq i8 %_rtZCE__Integrator_Reset_ZCE_j, 1
  %3168 = zext i1 %3167 to i8
  %_rtB_7504 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %3169 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_7504, i32 0, i32 779
  %_rtB__LogicalOperator_o = load i8* %3169, align 1
  %3170 = icmp ne i8 %3168, %_rtB__LogicalOperator_o
  %3171 = icmp ne i8 %_rtZCE__Integrator_Reset_ZCE_j, 3
  %3172 = and i1 %3170, %3171
  %3173 = zext i1 %3172 to i8
  store i8 %3173, i8* %didZcEventOccur_, align 1
  store i8 %_rtB__LogicalOperator_o, i8* %3166, align 1
  %_rtB_7511 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %3174 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_7511, i32 0, i32 779
  %_rtB__LogicalOperator_o7512 = load i8* %3174, align 1
  %3175 = or i8 %_rtB__LogicalOperator_o7512, %3173
  %3176 = and i8 %3175, 1
  %3177 = icmp ne i8 %3176, 0
  %_rtDW_7513 = load %DW_REVS_VM_T.16** %_rtDW_, align 1
  %3178 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_7513, i32 0, i32 843
  %_rtDW__Integrator_IWORK_j = load i32* %3178, align 1
  %3179 = icmp ne i32 %_rtDW__Integrator_IWORK_j, 0
  %3180 = or i1 %3177, %3179
  br i1 %3180, label %true1775, label %false1776

false1774:                                        ; preds = %true1777, %false1776, %false1768
  %_rtX_7519 = load %X_REVS_VM_T.18** %_rtX_, align 1
  %3181 = getelementptr inbounds %X_REVS_VM_T.18* %_rtX_7519, i32 0, i32 55
  %_rtX__Integrator_CSTATE_k7520 = load double* %3181, align 1
  %_rtB_7521 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %3182 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_7521, i32 0, i32 445
  store double %_rtX__Integrator_CSTATE_k7520, double* %3182, align 1
  %vm_ssIsSampleHitVar0_7522 = load i32* %vm_ssIsSampleHitVar0_, align 1
  store i32 %vm_ssIsSampleHitVar0_7522, i32* %i_0_, align 1
  %3183 = icmp eq i32 %vm_ssIsSampleHitVar0_7522, 0
  br i1 %3183, label %false1780, label %true1779

true1775:                                         ; preds = %true1773
  store i8 1, i8* %tmp_, align 1
  %3184 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_7511, i32 0, i32 444
  %_rtB__upperlimit = load double* %3184, align 1
  %_rtX_7515 = load %X_REVS_VM_T.18** %_rtX_, align 1
  %3185 = getelementptr inbounds %X_REVS_VM_T.18* %_rtX_7515, i32 0, i32 55
  store double %_rtB__upperlimit, double* %3185, align 1
  br label %false1776

false1776:                                        ; preds = %true1775, %true1773
  %tmp_7516 = load i8* %tmp_, align 1
  %3186 = and i8 %tmp_7516, 1
  %3187 = icmp eq i8 %3186, 0
  br i1 %3187, label %false1774, label %true1777

true1777:                                         ; preds = %false1776
  %"%<tSimStruct>_7517" = load i8** %"%<tSimStruct>_", align 1
  call void @vm_ssSetSolverNeedsReset(i8* %"%<tSimStruct>_7517")
  %"%<tSimStruct>_7518" = load i8** %"%<tSimStruct>_", align 1
  call void @vm_ssSetBlkStateChange(i8* %"%<tSimStruct>_7518")
  br label %false1774

true1779:                                         ; preds = %false1774
  %_rtB_7524 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %3188 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_7524, i32 0, i32 780
  %_rtB__RelationalOperator_ao = load i8* %3188, align 1
  %3189 = and i8 %_rtB__RelationalOperator_ao, 1
  %3190 = icmp eq i8 %3189, 0
  br i1 %3190, label %false1782, label %true1781

false1780:                                        ; preds = %false1774, %false1786
  %rtb_Sum_h_7535 = load double* %rtb_Sum_h_, align 1
  %_rtB_7536 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %3191 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_7536, i32 0, i32 782
  %_rtB__LogicalOperator_i = load i8* %3191, align 1
  %3192 = uitofp i8 %_rtB__LogicalOperator_i to double
  %tmp403 = fmul double %rtb_Sum_h_7535, %3192
  store double %tmp403, double* %u0_0_, align 1
  %_rtP_7538 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %3193 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_7538, i32 0, i32 1063
  %_rtP__pos_UpperSat_l = load double* %3193, align 1
  %3194 = fcmp ogt double %tmp403, %_rtP__pos_UpperSat_l
  br i1 %3194, label %true1789, label %false1790

true1781:                                         ; preds = %true1779
  %"%<tSimStruct>_7525" = load i8** %"%<tSimStruct>_", align 1
  call void @vm_ssCallAccelRunBlock(i8* %"%<tSimStruct>_7525", i32 166, i32 0, i32 104)
  %vm_ssIsMajorTimeStepVar1_7526 = load i32* %vm_ssIsMajorTimeStepVar1_, align 1
  %3195 = icmp eq i32 %vm_ssIsMajorTimeStepVar1_7526, 0
  br i1 %3195, label %false1784, label %true1783

false1782:                                        ; preds = %true1779, %false1784
  %_rtB_7528 = phi %B_REVS_VM_T.12* [ %_rtB_7524, %true1779 ], [ %_rtB_7528.pre, %false1784 ]
  %3196 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_7528, i32 0, i32 781
  %_rtB__RelationalOperator_e4o = load i8* %3196, align 1
  %3197 = and i8 %_rtB__RelationalOperator_e4o, 1
  %3198 = icmp eq i8 %3197, 0
  br i1 %3198, label %false1786, label %true1785

true1783:                                         ; preds = %true1781
  %_rtDW_7527 = load %DW_REVS_VM_T.16** %_rtDW_, align 1
  %3199 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_7527, i32 0, i32 956
  call void @vm_srUpdateBC(i8* %3199)
  br label %false1784

false1784:                                        ; preds = %true1781, %true1783
  %_rtB_7528.pre = load %B_REVS_VM_T.12** %_rtB_, align 1
  br label %false1782

true1785:                                         ; preds = %false1782
  %"%<tSimStruct>_7529" = load i8** %"%<tSimStruct>_", align 1
  call void @vm_ssCallAccelRunBlock(i8* %"%<tSimStruct>_7529", i32 167, i32 0, i32 104)
  %vm_ssIsMajorTimeStepVar1_7530 = load i32* %vm_ssIsMajorTimeStepVar1_, align 1
  %3200 = icmp eq i32 %vm_ssIsMajorTimeStepVar1_7530, 0
  br i1 %3200, label %false1788, label %true1787

false1786:                                        ; preds = %false1782, %false1788
  %_rtB_7532 = phi %B_REVS_VM_T.12* [ %_rtB_7528, %false1782 ], [ %_rtB_7532.pre, %false1788 ]
  %3201 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_7532, i32 0, i32 755
  %_rtB__LogicalOperator_d7533 = load i8* %3201, align 1
  %3202 = and i8 %_rtB__LogicalOperator_d7533, 1
  %3203 = xor i8 %3202, 1
  %3204 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_7532, i32 0, i32 782
  store i8 %3203, i8* %3204, align 1
  br label %false1780

true1787:                                         ; preds = %true1785
  %_rtDW_7531 = load %DW_REVS_VM_T.16** %_rtDW_, align 1
  %3205 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_7531, i32 0, i32 957
  call void @vm_srUpdateBC(i8* %3205)
  br label %false1788

false1788:                                        ; preds = %true1785, %true1787
  %_rtB_7532.pre = load %B_REVS_VM_T.12** %_rtB_, align 1
  br label %false1786

true1789:                                         ; preds = %false1780
  %3206 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_7536, i32 0, i32 446
  store double %_rtP__pos_UpperSat_l, double* %3206, align 1
  br label %merge2724

false1790:                                        ; preds = %false1780
  %3207 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_7538, i32 0, i32 1064
  %_rtP__pos_LowerSat_n = load double* %3207, align 1
  %3208 = fcmp olt double %tmp403, %_rtP__pos_LowerSat_n
  %3209 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_7536, i32 0, i32 446
  br i1 %3208, label %true1791, label %false1792

true1791:                                         ; preds = %false1790
  store double %_rtP__pos_LowerSat_n, double* %3209, align 1
  br label %merge2724

false1792:                                        ; preds = %false1790
  store double %tmp403, double* %3209, align 1
  br label %merge2724

true1793:                                         ; preds = %merge2724
  %_rtB_7551 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %3210 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_7551, i32 0, i32 783
  %_rtB__RelationalOperator_ja = load i8* %3210, align 1
  %3211 = and i8 %_rtB__RelationalOperator_ja, 1
  %3212 = icmp eq i8 %3211, 0
  br i1 %3212, label %false1796, label %true1795

false1794:                                        ; preds = %true1805, %true1803, %false1800, %merge2724
  %_rtB_7563 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %3213 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_7563, i32 0, i32 445
  %_rtB__Integrator_i = load double* %3213, align 1
  %rtb_eps_7564 = load double* %rtb_eps_, align 1
  %tmp404 = fmul double %_rtB__Integrator_i, %rtb_eps_7564
  %3214 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_7563, i32 0, i32 447
  store double %tmp404, double* %3214, align 1
  %vm_ssIsSampleHitVar0_7566 = load i32* %vm_ssIsSampleHitVar0_, align 1
  store i32 %vm_ssIsSampleHitVar0_7566, i32* %i_0_, align 1
  %3215 = icmp eq i32 %vm_ssIsSampleHitVar0_7566, 0
  br i1 %3215, label %false1808, label %true1807

true1795:                                         ; preds = %true1793
  %"%<tSimStruct>_7552" = load i8** %"%<tSimStruct>_", align 1
  call void @vm_ssCallAccelRunBlock(i8* %"%<tSimStruct>_7552", i32 168, i32 0, i32 104)
  %vm_ssIsMajorTimeStepVar1_7553 = load i32* %vm_ssIsMajorTimeStepVar1_, align 1
  %3216 = icmp eq i32 %vm_ssIsMajorTimeStepVar1_7553, 0
  br i1 %3216, label %false1798, label %true1797

false1796:                                        ; preds = %true1793, %false1798
  %_rtB_7555 = phi %B_REVS_VM_T.12* [ %_rtB_7551, %true1793 ], [ %_rtB_7555.pre, %false1798 ]
  %3217 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_7555, i32 0, i32 784
  %_rtB__RelationalOperator_fy = load i8* %3217, align 1
  %3218 = and i8 %_rtB__RelationalOperator_fy, 1
  %3219 = icmp eq i8 %3218, 0
  br i1 %3219, label %false1800, label %true1799

true1797:                                         ; preds = %true1795
  %_rtDW_7554 = load %DW_REVS_VM_T.16** %_rtDW_, align 1
  %3220 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_7554, i32 0, i32 958
  call void @vm_srUpdateBC(i8* %3220)
  br label %false1798

false1798:                                        ; preds = %true1795, %true1797
  %_rtB_7555.pre = load %B_REVS_VM_T.12** %_rtB_, align 1
  br label %false1796

true1799:                                         ; preds = %false1796
  %"%<tSimStruct>_7556" = load i8** %"%<tSimStruct>_", align 1
  call void @vm_ssCallAccelRunBlock(i8* %"%<tSimStruct>_7556", i32 169, i32 0, i32 104)
  %vm_ssIsMajorTimeStepVar1_7557 = load i32* %vm_ssIsMajorTimeStepVar1_, align 1
  %3221 = icmp eq i32 %vm_ssIsMajorTimeStepVar1_7557, 0
  br i1 %3221, label %false1802, label %true1801

false1800:                                        ; preds = %false1796, %false1802
  %_rtB_7559 = phi %B_REVS_VM_T.12* [ %_rtB_7555, %false1796 ], [ %_rtB_7559.pre, %false1802 ]
  %3222 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_7559, i32 0, i32 785
  %_rtB__RelationalOperator_hf3 = load i8* %3222, align 1
  %3223 = and i8 %_rtB__RelationalOperator_hf3, 1
  %3224 = icmp eq i8 %3223, 0
  br i1 %3224, label %false1794, label %true1803

true1801:                                         ; preds = %true1799
  %_rtDW_7558 = load %DW_REVS_VM_T.16** %_rtDW_, align 1
  %3225 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_7558, i32 0, i32 959
  call void @vm_srUpdateBC(i8* %3225)
  br label %false1802

false1802:                                        ; preds = %true1799, %true1801
  %_rtB_7559.pre = load %B_REVS_VM_T.12** %_rtB_, align 1
  br label %false1800

true1803:                                         ; preds = %false1800
  %"%<tSimStruct>_7560" = load i8** %"%<tSimStruct>_", align 1
  call void @vm_ssCallAccelRunBlock(i8* %"%<tSimStruct>_7560", i32 170, i32 0, i32 104)
  %vm_ssIsMajorTimeStepVar1_7561 = load i32* %vm_ssIsMajorTimeStepVar1_, align 1
  %3226 = icmp eq i32 %vm_ssIsMajorTimeStepVar1_7561, 0
  br i1 %3226, label %false1794, label %true1805

true1805:                                         ; preds = %true1803
  %_rtDW_7562 = load %DW_REVS_VM_T.16** %_rtDW_, align 1
  %3227 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_7562, i32 0, i32 960
  call void @vm_srUpdateBC(i8* %3227)
  br label %false1794

true1807:                                         ; preds = %false1794
  %_rtB_7568 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %3228 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_7568, i32 0, i32 786
  %_rtB__RelationalOperator_k = load i8* %3228, align 1
  %3229 = and i8 %_rtB__RelationalOperator_k, 1
  %3230 = icmp eq i8 %3229, 0
  br i1 %3230, label %false1808, label %true1809

false1808:                                        ; preds = %true1811, %true1809, %true1807, %false1794
  %_rtB_7572 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %3231 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_7572, i32 0, i32 445
  %_rtB__Integrator_i7573 = load double* %3231, align 1
  %_rtP_7574 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %3232 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_7574, i32 0, i32 1073
  %_rtP__eps1_UpperSat_f = load double* %3232, align 1
  %3233 = fcmp ogt double %_rtB__Integrator_i7573, %_rtP__eps1_UpperSat_f
  br i1 %3233, label %merge2726, label %false1814

true1809:                                         ; preds = %true1807
  %"%<tSimStruct>_7569" = load i8** %"%<tSimStruct>_", align 1
  call void @vm_ssCallAccelRunBlock(i8* %"%<tSimStruct>_7569", i32 171, i32 0, i32 104)
  %vm_ssIsMajorTimeStepVar1_7570 = load i32* %vm_ssIsMajorTimeStepVar1_, align 1
  %3234 = icmp eq i32 %vm_ssIsMajorTimeStepVar1_7570, 0
  br i1 %3234, label %false1808, label %true1811

true1811:                                         ; preds = %true1809
  %_rtDW_7571 = load %DW_REVS_VM_T.16** %_rtDW_, align 1
  %3235 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_7571, i32 0, i32 961
  call void @vm_srUpdateBC(i8* %3235)
  br label %false1808

false1814:                                        ; preds = %false1808
  %3236 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_7574, i32 0, i32 1074
  %_rtP__eps1_LowerSat_b = load double* %3236, align 1
  %3237 = fcmp olt double %_rtB__Integrator_i7573, %_rtP__eps1_LowerSat_b
  %_rtP__eps1_LowerSat_b._rtB__Integrator_i7573 = select i1 %3237, double %_rtP__eps1_LowerSat_b, double %_rtB__Integrator_i7573
  %.10091 = select i1 %3237, double* %3236, double* %3231
  br label %merge2726

true1817:                                         ; preds = %merge2726
  %3238 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_7572, i32 0, i32 448
  store double %_rtP__u1_UpperSat, double* %3238, align 1
  br label %merge2728

false1818:                                        ; preds = %merge2726
  %3239 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_7574, i32 0, i32 1076
  %_rtP__u1_LowerSat = load double* %3239, align 1
  %3240 = fcmp olt double %tmp405, %_rtP__u1_LowerSat
  %3241 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_7572, i32 0, i32 448
  br i1 %3240, label %true1819, label %false1820

true1819:                                         ; preds = %false1818
  store double %_rtP__u1_LowerSat, double* %3241, align 1
  br label %merge2728

false1820:                                        ; preds = %false1818
  store double %tmp405, double* %3241, align 1
  br label %merge2728

true1821:                                         ; preds = %merge2728
  %_rtB_7600 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %3242 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_7600, i32 0, i32 787
  %_rtB__RelationalOperator_jl = load i8* %3242, align 1
  %3243 = and i8 %_rtB__RelationalOperator_jl, 1
  %3244 = icmp eq i8 %3243, 0
  br i1 %3244, label %false1822, label %true1823

false1822:                                        ; preds = %true1825, %true1823, %true1821, %merge2728
  %rtb_Sum7_7604 = load double* %rtb_Sum7_, align 1
  %_rtB_7605 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %3245 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_7605, i32 0, i32 446
  %_rtB__pos_f7606 = load double* %3245, align 1
  %rtb_Sum1_f_7607 = load double* %rtb_Sum1_f_, align 1
  %3246 = call double @muDoubleScalarMax(double %_rtB__pos_f7606, double %rtb_Sum1_f_7607)
  %3247 = call double @muDoubleScalarMin(double %rtb_Sum7_7604, double %3246)
  %_rtB_7608 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %3248 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_7608, i32 0, i32 445
  %_rtB__Integrator_i7609 = load double* %3248, align 1
  %tmp406 = fsub double %3247, %_rtB__Integrator_i7609
  store double %tmp406, double* %rtb_Sum_gx_, align 1
  %_rtP_7611 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %3249 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_7611, i32 0, i32 1081
  %_rtP__Switch_Threshold_f = load double* %3249, align 1
  %3250 = fcmp ogt double %tmp406, %_rtP__Switch_Threshold_f
  %3251 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_7608, i32 0, i32 450
  %3252 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_7608, i32 0, i32 449
  %storemerge9649.in = select i1 %3250, double* %3252, double* %3251
  %storemerge9649 = load double* %storemerge9649.in, align 1
  store double %storemerge9649, double* %minV_, align 1
  %tmp407 = fdiv double %tmp406, %storemerge9649
  %3253 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_7608, i32 0, i32 451
  store double %tmp407, double* %3253, align 1
  %_rtB_7617 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %3254 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_7617, i32 0, i32 445
  %_rtB__Integrator_i7618 = load double* %3254, align 1
  %3255 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_7617, i32 0, i32 446
  %_rtB__pos_f7620 = load double* %3255, align 1
  %3256 = call double @muDoubleScalarMin(double %_rtB__Integrator_i7618, double %_rtB__pos_f7620)
  %rtb_eps_7621 = load double* %rtb_eps_, align 1
  %tmp408 = fmul double %3256, %rtb_eps_7621
  %rtb_Integrator_iq_7622 = load double* %rtb_Integrator_iq_, align 1
  %tmp409 = fsub double %tmp408, %rtb_Integrator_iq_7622
  %_rtB_7623 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %3257 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_7623, i32 0, i32 452
  %_rtB__Constant_dl = load double* %3257, align 1
  %tmp410 = fmul double %tmp409, %_rtB__Constant_dl
  %3258 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_7623, i32 0, i32 453
  store double %tmp410, double* %3258, align 1
  %vm_ssIsSampleHitVar0_7625 = load i32* %vm_ssIsSampleHitVar0_, align 1
  store i32 %vm_ssIsSampleHitVar0_7625, i32* %i_0_, align 1
  %3259 = icmp eq i32 %vm_ssIsSampleHitVar0_7625, 0
  br i1 %3259, label %false1830, label %true1829

true1823:                                         ; preds = %true1821
  %"%<tSimStruct>_7601" = load i8** %"%<tSimStruct>_", align 1
  call void @vm_ssCallAccelRunBlock(i8* %"%<tSimStruct>_7601", i32 172, i32 0, i32 104)
  %vm_ssIsMajorTimeStepVar1_7602 = load i32* %vm_ssIsMajorTimeStepVar1_, align 1
  %3260 = icmp eq i32 %vm_ssIsMajorTimeStepVar1_7602, 0
  br i1 %3260, label %false1822, label %true1825

true1825:                                         ; preds = %true1823
  %_rtDW_7603 = load %DW_REVS_VM_T.16** %_rtDW_, align 1
  %3261 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_7603, i32 0, i32 962
  call void @vm_srUpdateBC(i8* %3261)
  br label %false1822

true1829:                                         ; preds = %false1822
  %_rtB_7627 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %3262 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_7627, i32 0, i32 788
  %_rtB__RelationalOperator_bk = load i8* %3262, align 1
  %3263 = and i8 %_rtB__RelationalOperator_bk, 1
  %3264 = icmp eq i8 %3263, 0
  br i1 %3264, label %false1832, label %true1831

false1830:                                        ; preds = %true1849, %true1847, %false1844, %false1822
  %_rtB_7647 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %3265 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_7647, i32 0, i32 234
  %_rtB__DataTypeConversion2_l7648 = load double* %3265, align 1
  %rtb_Integrator_d_7649 = load double* %rtb_Integrator_d_, align 1
  %tmp411 = fmul double %_rtB__DataTypeConversion2_l7648, %rtb_Integrator_d_7649
  %3266 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_7647, i32 0, i32 454
  store double %tmp411, double* %3266, align 1
  %vm_ssIsSampleHitVar0_7651 = load i32* %vm_ssIsSampleHitVar0_, align 1
  store i32 %vm_ssIsSampleHitVar0_7651, i32* %i_0_, align 1
  %3267 = icmp eq i32 %vm_ssIsSampleHitVar0_7651, 0
  br i1 %3267, label %false1852, label %true1851

true1831:                                         ; preds = %true1829
  %"%<tSimStruct>_7628" = load i8** %"%<tSimStruct>_", align 1
  call void @vm_ssCallAccelRunBlock(i8* %"%<tSimStruct>_7628", i32 178, i32 0, i32 104)
  %vm_ssIsMajorTimeStepVar1_7629 = load i32* %vm_ssIsMajorTimeStepVar1_, align 1
  %3268 = icmp eq i32 %vm_ssIsMajorTimeStepVar1_7629, 0
  br i1 %3268, label %false1834, label %true1833

false1832:                                        ; preds = %true1829, %false1834
  %_rtB_7631 = phi %B_REVS_VM_T.12* [ %_rtB_7627, %true1829 ], [ %_rtB_7631.pre, %false1834 ]
  %3269 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_7631, i32 0, i32 789
  %_rtB__RelationalOperator_lf = load i8* %3269, align 1
  %3270 = and i8 %_rtB__RelationalOperator_lf, 1
  %3271 = icmp eq i8 %3270, 0
  br i1 %3271, label %false1836, label %true1835

true1833:                                         ; preds = %true1831
  %_rtDW_7630 = load %DW_REVS_VM_T.16** %_rtDW_, align 1
  %3272 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_7630, i32 0, i32 963
  call void @vm_srUpdateBC(i8* %3272)
  br label %false1834

false1834:                                        ; preds = %true1831, %true1833
  %_rtB_7631.pre = load %B_REVS_VM_T.12** %_rtB_, align 1
  br label %false1832

true1835:                                         ; preds = %false1832
  %"%<tSimStruct>_7632" = load i8** %"%<tSimStruct>_", align 1
  call void @vm_ssCallAccelRunBlock(i8* %"%<tSimStruct>_7632", i32 179, i32 0, i32 104)
  %vm_ssIsMajorTimeStepVar1_7633 = load i32* %vm_ssIsMajorTimeStepVar1_, align 1
  %3273 = icmp eq i32 %vm_ssIsMajorTimeStepVar1_7633, 0
  br i1 %3273, label %false1838, label %true1837

false1836:                                        ; preds = %false1832, %false1838
  %_rtB_7635 = phi %B_REVS_VM_T.12* [ %_rtB_7631, %false1832 ], [ %_rtB_7635.pre, %false1838 ]
  %3274 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_7635, i32 0, i32 790
  %_rtB__RelationalOperator_ji = load i8* %3274, align 1
  %3275 = and i8 %_rtB__RelationalOperator_ji, 1
  %3276 = icmp eq i8 %3275, 0
  br i1 %3276, label %false1840, label %true1839

true1837:                                         ; preds = %true1835
  %_rtDW_7634 = load %DW_REVS_VM_T.16** %_rtDW_, align 1
  %3277 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_7634, i32 0, i32 964
  call void @vm_srUpdateBC(i8* %3277)
  br label %false1838

false1838:                                        ; preds = %true1835, %true1837
  %_rtB_7635.pre = load %B_REVS_VM_T.12** %_rtB_, align 1
  br label %false1836

true1839:                                         ; preds = %false1836
  %"%<tSimStruct>_7636" = load i8** %"%<tSimStruct>_", align 1
  call void @vm_ssCallAccelRunBlock(i8* %"%<tSimStruct>_7636", i32 180, i32 0, i32 104)
  %vm_ssIsMajorTimeStepVar1_7637 = load i32* %vm_ssIsMajorTimeStepVar1_, align 1
  %3278 = icmp eq i32 %vm_ssIsMajorTimeStepVar1_7637, 0
  br i1 %3278, label %false1842, label %true1841

false1840:                                        ; preds = %false1836, %false1842
  %_rtB_7639 = phi %B_REVS_VM_T.12* [ %_rtB_7635, %false1836 ], [ %_rtB_7639.pre, %false1842 ]
  %3279 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_7639, i32 0, i32 791
  %_rtB__RelationalOperator_ch = load i8* %3279, align 1
  %3280 = and i8 %_rtB__RelationalOperator_ch, 1
  %3281 = icmp eq i8 %3280, 0
  br i1 %3281, label %false1844, label %true1843

true1841:                                         ; preds = %true1839
  %_rtDW_7638 = load %DW_REVS_VM_T.16** %_rtDW_, align 1
  %3282 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_7638, i32 0, i32 965
  call void @vm_srUpdateBC(i8* %3282)
  br label %false1842

false1842:                                        ; preds = %true1839, %true1841
  %_rtB_7639.pre = load %B_REVS_VM_T.12** %_rtB_, align 1
  br label %false1840

true1843:                                         ; preds = %false1840
  %"%<tSimStruct>_7640" = load i8** %"%<tSimStruct>_", align 1
  call void @vm_ssCallAccelRunBlock(i8* %"%<tSimStruct>_7640", i32 181, i32 0, i32 104)
  %vm_ssIsMajorTimeStepVar1_7641 = load i32* %vm_ssIsMajorTimeStepVar1_, align 1
  %3283 = icmp eq i32 %vm_ssIsMajorTimeStepVar1_7641, 0
  br i1 %3283, label %false1846, label %true1845

false1844:                                        ; preds = %false1840, %false1846
  %_rtB_7643 = phi %B_REVS_VM_T.12* [ %_rtB_7639, %false1840 ], [ %_rtB_7643.pre, %false1846 ]
  %3284 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_7643, i32 0, i32 792
  %_rtB__RelationalOperator_pr = load i8* %3284, align 1
  %3285 = and i8 %_rtB__RelationalOperator_pr, 1
  %3286 = icmp eq i8 %3285, 0
  br i1 %3286, label %false1830, label %true1847

true1845:                                         ; preds = %true1843
  %_rtDW_7642 = load %DW_REVS_VM_T.16** %_rtDW_, align 1
  %3287 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_7642, i32 0, i32 966
  call void @vm_srUpdateBC(i8* %3287)
  br label %false1846

false1846:                                        ; preds = %true1843, %true1845
  %_rtB_7643.pre = load %B_REVS_VM_T.12** %_rtB_, align 1
  br label %false1844

true1847:                                         ; preds = %false1844
  %"%<tSimStruct>_7644" = load i8** %"%<tSimStruct>_", align 1
  call void @vm_ssCallAccelRunBlock(i8* %"%<tSimStruct>_7644", i32 182, i32 0, i32 104)
  %vm_ssIsMajorTimeStepVar1_7645 = load i32* %vm_ssIsMajorTimeStepVar1_, align 1
  %3288 = icmp eq i32 %vm_ssIsMajorTimeStepVar1_7645, 0
  br i1 %3288, label %false1830, label %true1849

true1849:                                         ; preds = %true1847
  %_rtDW_7646 = load %DW_REVS_VM_T.16** %_rtDW_, align 1
  %3289 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_7646, i32 0, i32 967
  call void @vm_srUpdateBC(i8* %3289)
  br label %false1830

true1851:                                         ; preds = %false1830
  %_rtB_7653 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %3290 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_7653, i32 0, i32 793
  %_rtB__RelationalOperator_my = load i8* %3290, align 1
  %3291 = and i8 %_rtB__RelationalOperator_my, 1
  %3292 = icmp eq i8 %3291, 0
  br i1 %3292, label %false1852, label %true1853

false1852:                                        ; preds = %true1855, %true1853, %true1851, %false1830
  %_rtB_7657 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %3293 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_7657, i32 0, i32 234
  %_rtB__DataTypeConversion2_l7658 = load double* %3293, align 1
  %rtb_Kp_7659 = load double* %rtb_Kp_, align 1
  %tmp412 = fmul double %_rtB__DataTypeConversion2_l7658, %rtb_Kp_7659
  %3294 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_7657, i32 0, i32 455
  store double %tmp412, double* %3294, align 1
  %vm_ssIsSampleHitVar0_7661 = load i32* %vm_ssIsSampleHitVar0_, align 1
  store i32 %vm_ssIsSampleHitVar0_7661, i32* %i_0_, align 1
  %3295 = icmp eq i32 %vm_ssIsSampleHitVar0_7661, 0
  br i1 %3295, label %false1858, label %true1857

true1853:                                         ; preds = %true1851
  %"%<tSimStruct>_7654" = load i8** %"%<tSimStruct>_", align 1
  call void @vm_ssCallAccelRunBlock(i8* %"%<tSimStruct>_7654", i32 174, i32 0, i32 104)
  %vm_ssIsMajorTimeStepVar1_7655 = load i32* %vm_ssIsMajorTimeStepVar1_, align 1
  %3296 = icmp eq i32 %vm_ssIsMajorTimeStepVar1_7655, 0
  br i1 %3296, label %false1852, label %true1855

true1855:                                         ; preds = %true1853
  %_rtDW_7656 = load %DW_REVS_VM_T.16** %_rtDW_, align 1
  %3297 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_7656, i32 0, i32 968
  call void @vm_srUpdateBC(i8* %3297)
  br label %false1852

true1857:                                         ; preds = %false1852
  %_rtB_7663 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %3298 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_7663, i32 0, i32 794
  %_rtB__RelationalOperator_cq = load i8* %3298, align 1
  %3299 = and i8 %_rtB__RelationalOperator_cq, 1
  %3300 = icmp eq i8 %3299, 0
  br i1 %3300, label %false1858, label %true1859

false1858:                                        ; preds = %true1861, %true1859, %true1857, %false1852
  %_rtP_7667 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %3301 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_7667, i32 0, i32 1097
  %_rtP__Ki_Gain = load double* %3301, align 1
  %rtb_enginer_7668 = load double* %rtb_enginer_, align 1
  %tmp413 = fmul double %_rtP__Ki_Gain, %rtb_enginer_7668
  %_rtB_7669 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %3302 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_7669, i32 0, i32 456
  store double %tmp413, double* %3302, align 1
  %vm_ssIsSampleHitVar0_7670 = load i32* %vm_ssIsSampleHitVar0_, align 1
  store i32 %vm_ssIsSampleHitVar0_7670, i32* %i_0_, align 1
  %3303 = icmp eq i32 %vm_ssIsSampleHitVar0_7670, 0
  br i1 %3303, label %false1864, label %true1863

true1859:                                         ; preds = %true1857
  %"%<tSimStruct>_7664" = load i8** %"%<tSimStruct>_", align 1
  call void @vm_ssCallAccelRunBlock(i8* %"%<tSimStruct>_7664", i32 175, i32 0, i32 104)
  %vm_ssIsMajorTimeStepVar1_7665 = load i32* %vm_ssIsMajorTimeStepVar1_, align 1
  %3304 = icmp eq i32 %vm_ssIsMajorTimeStepVar1_7665, 0
  br i1 %3304, label %false1858, label %true1861

true1861:                                         ; preds = %true1859
  %_rtDW_7666 = load %DW_REVS_VM_T.16** %_rtDW_, align 1
  %3305 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_7666, i32 0, i32 969
  call void @vm_srUpdateBC(i8* %3305)
  br label %false1858

true1863:                                         ; preds = %false1858
  %_rtB_7672 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %3306 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_7672, i32 0, i32 795
  %_rtB__RelationalOperator_m1 = load i8* %3306, align 1
  %3307 = and i8 %_rtB__RelationalOperator_m1, 1
  %3308 = icmp eq i8 %3307, 0
  br i1 %3308, label %false1866, label %true1865

false1864:                                        ; preds = %true1871, %true1869, %false1866, %false1858
  %_rtB_7680 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %3309 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_7680, i32 0, i32 403
  %_rtB__pos7681 = load double* %3309, align 1
  %3310 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_7680, i32 0, i32 227
  %_rtB__Integrator1_k7683 = load double* %3310, align 1
  %tmp414 = fsub double %_rtB__pos7681, %_rtB__Integrator1_k7683
  %3311 = fcmp olt double %tmp414, 0.000000e+00
  %3312 = uitofp i1 %3311 to double
  %tmp415 = fmul double 1.000000e+01, %3312
  %tmp416 = fadd double 1.000000e+00, %tmp415
  %tmp417 = fmul double %tmp414, %tmp416
  %tmp418 = fdiv double %tmp417, 2.000000e-01
  %3313 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_7680, i32 0, i32 457
  store double %tmp418, double* %3313, align 1
  %vm_ssIsSampleHitVar0_7687 = load i32* %vm_ssIsSampleHitVar0_, align 1
  store i32 %vm_ssIsSampleHitVar0_7687, i32* %i_0_, align 1
  %3314 = icmp eq i32 %vm_ssIsSampleHitVar0_7687, 0
  br i1 %3314, label %false1874, label %true1873

true1865:                                         ; preds = %true1863
  %"%<tSimStruct>_7673" = load i8** %"%<tSimStruct>_", align 1
  call void @vm_ssCallAccelRunBlock(i8* %"%<tSimStruct>_7673", i32 176, i32 0, i32 104)
  %vm_ssIsMajorTimeStepVar1_7674 = load i32* %vm_ssIsMajorTimeStepVar1_, align 1
  %3315 = icmp eq i32 %vm_ssIsMajorTimeStepVar1_7674, 0
  br i1 %3315, label %false1868, label %true1867

false1866:                                        ; preds = %true1863, %false1868
  %_rtB_7676 = phi %B_REVS_VM_T.12* [ %_rtB_7672, %true1863 ], [ %_rtB_7676.pre, %false1868 ]
  %3316 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_7676, i32 0, i32 796
  %_rtB__RelationalOperator_do = load i8* %3316, align 1
  %3317 = and i8 %_rtB__RelationalOperator_do, 1
  %3318 = icmp eq i8 %3317, 0
  br i1 %3318, label %false1864, label %true1869

true1867:                                         ; preds = %true1865
  %_rtDW_7675 = load %DW_REVS_VM_T.16** %_rtDW_, align 1
  %3319 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_7675, i32 0, i32 970
  call void @vm_srUpdateBC(i8* %3319)
  br label %false1868

false1868:                                        ; preds = %true1865, %true1867
  %_rtB_7676.pre = load %B_REVS_VM_T.12** %_rtB_, align 1
  br label %false1866

true1869:                                         ; preds = %false1866
  %"%<tSimStruct>_7677" = load i8** %"%<tSimStruct>_", align 1
  call void @vm_ssCallAccelRunBlock(i8* %"%<tSimStruct>_7677", i32 177, i32 0, i32 104)
  %vm_ssIsMajorTimeStepVar1_7678 = load i32* %vm_ssIsMajorTimeStepVar1_, align 1
  %3320 = icmp eq i32 %vm_ssIsMajorTimeStepVar1_7678, 0
  br i1 %3320, label %false1864, label %true1871

true1871:                                         ; preds = %true1869
  %_rtDW_7679 = load %DW_REVS_VM_T.16** %_rtDW_, align 1
  %3321 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_7679, i32 0, i32 971
  call void @vm_srUpdateBC(i8* %3321)
  br label %false1864

true1873:                                         ; preds = %false1864
  %_rtB_7689 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %3322 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_7689, i32 0, i32 797
  %_rtB__RelationalOperator_db = load i8* %3322, align 1
  %3323 = and i8 %_rtB__RelationalOperator_db, 1
  %3324 = icmp eq i8 %3323, 0
  br i1 %3324, label %false1876, label %true1875

false1874:                                        ; preds = %true1901, %true1899, %false1896, %false1864
  %_rtB_7748 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %3325 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_7748, i32 0, i32 463, i32 0
  %3326 = bitcast double* %3325 to i8*
  %_rtX_7749 = load %X_REVS_VM_T.18** %_rtX_, align 1
  %3327 = getelementptr inbounds %X_REVS_VM_T.18* %_rtX_7749, i32 0, i32 56, i32 0
  %3328 = bitcast double* %3327 to i8*
  %3329 = call i8* @memcpy(i8* %3326, i8* %3328, i32 mul (i32 ptrtoint (double* getelementptr (double* null, i32 1) to i32), i32 10))
  %vm_ssIsSampleHitVar0_7750 = load i32* %vm_ssIsSampleHitVar0_, align 1
  store i32 %vm_ssIsSampleHitVar0_7750, i32* %i_0_, align 1
  %3330 = icmp eq i32 %vm_ssIsSampleHitVar0_7750, 0
  br i1 %3330, label %false1904, label %true1903

true1875:                                         ; preds = %true1873
  %"%<tSimStruct>_7690" = load i8** %"%<tSimStruct>_", align 1
  call void @vm_ssCallAccelRunBlock(i8* %"%<tSimStruct>_7690", i32 183, i32 0, i32 104)
  %vm_ssIsMajorTimeStepVar1_7691 = load i32* %vm_ssIsMajorTimeStepVar1_, align 1
  %3331 = icmp eq i32 %vm_ssIsMajorTimeStepVar1_7691, 0
  br i1 %3331, label %false1878, label %true1877

false1876:                                        ; preds = %true1873, %false1878
  %_rtB_7693 = phi %B_REVS_VM_T.12* [ %_rtB_7689, %true1873 ], [ %_rtB_7693.pre, %false1878 ]
  %3332 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_7693, i32 0, i32 228
  %_rtB__Memory_b7694 = load double* %3332, align 1
  %_rtP_7695 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %3333 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_7695, i32 0, i32 1105, i32 0
  %3334 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_7695, i32 0, i32 1104, i32 0
  %_rtDW_7697 = load %DW_REVS_VM_T.16** %_rtDW_, align 1
  %3335 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_7697, i32 0, i32 811
  %3336 = call double @look1_pbinlcapw(double %_rtB__Memory_b7694, double* %3333, double* %3334, i32* %3335, i32 8)
  %_rtB_7699 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %3337 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_7699, i32 0, i32 402
  %_rtB__MinMax57700 = load double* %3337, align 1
  %tmp419 = fadd double %3336, %_rtB__MinMax57700
  %3338 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_7699, i32 0, i32 458
  store double %tmp419, double* %3338, align 1
  %_rtB_7702 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %3339 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_7702, i32 0, i32 798
  %_rtB__RelationalOperator_kw = load i8* %3339, align 1
  %3340 = and i8 %_rtB__RelationalOperator_kw, 1
  %3341 = icmp eq i8 %3340, 0
  br i1 %3341, label %false1880, label %true1879

true1877:                                         ; preds = %true1875
  %_rtDW_7692 = load %DW_REVS_VM_T.16** %_rtDW_, align 1
  %3342 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_7692, i32 0, i32 972
  call void @vm_srUpdateBC(i8* %3342)
  br label %false1878

false1878:                                        ; preds = %true1875, %true1877
  %_rtB_7693.pre = load %B_REVS_VM_T.12** %_rtB_, align 1
  br label %false1876

true1879:                                         ; preds = %false1876
  %"%<tSimStruct>_7703" = load i8** %"%<tSimStruct>_", align 1
  call void @vm_ssCallAccelRunBlock(i8* %"%<tSimStruct>_7703", i32 184, i32 0, i32 104)
  %vm_ssIsMajorTimeStepVar1_7704 = load i32* %vm_ssIsMajorTimeStepVar1_, align 1
  %3343 = icmp eq i32 %vm_ssIsMajorTimeStepVar1_7704, 0
  br i1 %3343, label %false1882, label %true1881

false1880:                                        ; preds = %false1876, %false1882
  %_rtB_7706 = phi %B_REVS_VM_T.12* [ %_rtB_7702, %false1876 ], [ %_rtB_7706.pre, %false1882 ]
  %3344 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_7706, i32 0, i32 228
  %_rtB__Memory_b7707 = load double* %3344, align 1
  %3345 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_7706, i32 0, i32 458
  %_rtB__Sum_k = load double* %3345, align 1
  %tmp420 = fmul double %_rtB__Memory_b7707, %_rtB__Sum_k
  %3346 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_7706, i32 0, i32 459
  store double %tmp420, double* %3346, align 1
  %_rtB_7710 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %3347 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_7710, i32 0, i32 799
  %_rtB__RelationalOperator_fw = load i8* %3347, align 1
  %3348 = and i8 %_rtB__RelationalOperator_fw, 1
  %3349 = icmp eq i8 %3348, 0
  br i1 %3349, label %false1884, label %true1883

true1881:                                         ; preds = %true1879
  %_rtDW_7705 = load %DW_REVS_VM_T.16** %_rtDW_, align 1
  %3350 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_7705, i32 0, i32 973
  call void @vm_srUpdateBC(i8* %3350)
  br label %false1882

false1882:                                        ; preds = %true1879, %true1881
  %_rtB_7706.pre = load %B_REVS_VM_T.12** %_rtB_, align 1
  br label %false1880

true1883:                                         ; preds = %false1880
  %"%<tSimStruct>_7711" = load i8** %"%<tSimStruct>_", align 1
  call void @vm_ssCallAccelRunBlock(i8* %"%<tSimStruct>_7711", i32 185, i32 0, i32 104)
  %vm_ssIsMajorTimeStepVar1_7712 = load i32* %vm_ssIsMajorTimeStepVar1_, align 1
  %3351 = icmp eq i32 %vm_ssIsMajorTimeStepVar1_7712, 0
  br i1 %3351, label %false1886, label %true1885

false1884:                                        ; preds = %false1880, %false1886
  %_rtB_7714 = phi %B_REVS_VM_T.12* [ %_rtB_7710, %false1880 ], [ %_rtB_7714.pre, %false1886 ]
  %3352 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_7714, i32 0, i32 800
  %_rtB__RelationalOperator_hl = load i8* %3352, align 1
  %3353 = and i8 %_rtB__RelationalOperator_hl, 1
  %3354 = icmp eq i8 %3353, 0
  br i1 %3354, label %false1888, label %true1887

true1885:                                         ; preds = %true1883
  %_rtDW_7713 = load %DW_REVS_VM_T.16** %_rtDW_, align 1
  %3355 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_7713, i32 0, i32 974
  call void @vm_srUpdateBC(i8* %3355)
  br label %false1886

false1886:                                        ; preds = %true1883, %true1885
  %_rtB_7714.pre = load %B_REVS_VM_T.12** %_rtB_, align 1
  br label %false1884

true1887:                                         ; preds = %false1884
  %"%<tSimStruct>_7715" = load i8** %"%<tSimStruct>_", align 1
  call void @vm_ssCallAccelRunBlock(i8* %"%<tSimStruct>_7715", i32 186, i32 0, i32 104)
  %vm_ssIsMajorTimeStepVar1_7716 = load i32* %vm_ssIsMajorTimeStepVar1_, align 1
  %3356 = icmp eq i32 %vm_ssIsMajorTimeStepVar1_7716, 0
  br i1 %3356, label %false1890, label %true1889

false1888:                                        ; preds = %false1884, %false1890
  %_rtB_7718 = phi %B_REVS_VM_T.12* [ %_rtB_7714, %false1884 ], [ %_rtB_7718.pre, %false1890 ]
  %3357 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_7718, i32 0, i32 228
  %_rtB__Memory_b7719 = load double* %3357, align 1
  %_rtP_7720 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %3358 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_7720, i32 0, i32 1113, i32 0
  %3359 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_7720, i32 0, i32 1112, i32 0
  %_rtDW_7722 = load %DW_REVS_VM_T.16** %_rtDW_, align 1
  %3360 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_7722, i32 0, i32 812
  %3361 = call double @look1_pbinlcapw(double %_rtB__Memory_b7719, double* %3358, double* %3359, i32* %3360, i32 14)
  %_rtB_7723 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %3362 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_7723, i32 0, i32 460
  store double %3361, double* %3362, align 1
  %_rtB_7724 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %3363 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_7724, i32 0, i32 626
  %_rtB__ctrl_eng_on7725 = load i8* %3363, align 1
  %3364 = uitofp i8 %_rtB__ctrl_eng_on7725 to double
  %3365 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_7724, i32 0, i32 228
  %_rtB__Memory_b7727 = load double* %3365, align 1
  %tmp421 = fmul double %3364, %_rtB__Memory_b7727
  %3366 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_7724, i32 0, i32 460
  %_rtB__FullThrottleTorque = load double* %3366, align 1
  %tmp422 = fmul double %tmp421, %_rtB__FullThrottleTorque
  %3367 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_7724, i32 0, i32 461
  store double %tmp422, double* %3367, align 1
  %_rtB_7730 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %3368 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_7730, i32 0, i32 801
  %_rtB__RelationalOperator_g0 = load i8* %3368, align 1
  %3369 = and i8 %_rtB__RelationalOperator_g0, 1
  %3370 = icmp eq i8 %3369, 0
  br i1 %3370, label %false1892, label %true1891

true1889:                                         ; preds = %true1887
  %_rtDW_7717 = load %DW_REVS_VM_T.16** %_rtDW_, align 1
  %3371 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_7717, i32 0, i32 975
  call void @vm_srUpdateBC(i8* %3371)
  br label %false1890

false1890:                                        ; preds = %true1887, %true1889
  %_rtB_7718.pre = load %B_REVS_VM_T.12** %_rtB_, align 1
  br label %false1888

true1891:                                         ; preds = %false1888
  %"%<tSimStruct>_7731" = load i8** %"%<tSimStruct>_", align 1
  call void @vm_ssCallAccelRunBlock(i8* %"%<tSimStruct>_7731", i32 195, i32 0, i32 104)
  %vm_ssIsMajorTimeStepVar1_7732 = load i32* %vm_ssIsMajorTimeStepVar1_, align 1
  %3372 = icmp eq i32 %vm_ssIsMajorTimeStepVar1_7732, 0
  br i1 %3372, label %false1894, label %true1893

false1892:                                        ; preds = %false1888, %false1894
  %_rtB_7734 = phi %B_REVS_VM_T.12* [ %_rtB_7730, %false1888 ], [ %_rtB_7734.pre, %false1894 ]
  %3373 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_7734, i32 0, i32 802
  %_rtB__RelationalOperator_gg = load i8* %3373, align 1
  %3374 = and i8 %_rtB__RelationalOperator_gg, 1
  %3375 = icmp eq i8 %3374, 0
  br i1 %3375, label %false1896, label %true1895

true1893:                                         ; preds = %true1891
  %_rtDW_7733 = load %DW_REVS_VM_T.16** %_rtDW_, align 1
  %3376 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_7733, i32 0, i32 976
  call void @vm_srUpdateBC(i8* %3376)
  br label %false1894

false1894:                                        ; preds = %true1891, %true1893
  %_rtB_7734.pre = load %B_REVS_VM_T.12** %_rtB_, align 1
  br label %false1892

true1895:                                         ; preds = %false1892
  %"%<tSimStruct>_7735" = load i8** %"%<tSimStruct>_", align 1
  call void @vm_ssCallAccelRunBlock(i8* %"%<tSimStruct>_7735", i32 196, i32 0, i32 104)
  %vm_ssIsMajorTimeStepVar1_7736 = load i32* %vm_ssIsMajorTimeStepVar1_, align 1
  %3377 = icmp eq i32 %vm_ssIsMajorTimeStepVar1_7736, 0
  br i1 %3377, label %false1898, label %true1897

false1896:                                        ; preds = %false1892, %false1898
  %_rtB_7738 = phi %B_REVS_VM_T.12* [ %_rtB_7734, %false1892 ], [ %_rtB_7738.pre, %false1898 ]
  %3378 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_7738, i32 0, i32 228
  %_rtB__Memory_b7739 = load double* %3378, align 1
  %_rtP_7740 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %3379 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_7740, i32 0, i32 1119, i32 0
  %3380 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_7740, i32 0, i32 1118, i32 0
  %_rtDW_7742 = load %DW_REVS_VM_T.16** %_rtDW_, align 1
  %3381 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_7742, i32 0, i32 813
  %3382 = call double @look1_pbinlcapw(double %_rtB__Memory_b7739, double* %3379, double* %3380, i32* %3381, i32 8)
  %_rtB_7743 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %3383 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_7743, i32 0, i32 462
  store double %3382, double* %3383, align 1
  %_rtB_7744 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %3384 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_7744, i32 0, i32 803
  %_rtB__RelationalOperator_na = load i8* %3384, align 1
  %3385 = and i8 %_rtB__RelationalOperator_na, 1
  %3386 = icmp eq i8 %3385, 0
  br i1 %3386, label %false1874, label %true1899

true1897:                                         ; preds = %true1895
  %_rtDW_7737 = load %DW_REVS_VM_T.16** %_rtDW_, align 1
  %3387 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_7737, i32 0, i32 977
  call void @vm_srUpdateBC(i8* %3387)
  br label %false1898

false1898:                                        ; preds = %true1895, %true1897
  %_rtB_7738.pre = load %B_REVS_VM_T.12** %_rtB_, align 1
  br label %false1896

true1899:                                         ; preds = %false1896
  %"%<tSimStruct>_7745" = load i8** %"%<tSimStruct>_", align 1
  call void @vm_ssCallAccelRunBlock(i8* %"%<tSimStruct>_7745", i32 197, i32 0, i32 104)
  %vm_ssIsMajorTimeStepVar1_7746 = load i32* %vm_ssIsMajorTimeStepVar1_, align 1
  %3388 = icmp eq i32 %vm_ssIsMajorTimeStepVar1_7746, 0
  br i1 %3388, label %false1874, label %true1901

true1901:                                         ; preds = %true1899
  %_rtDW_7747 = load %DW_REVS_VM_T.16** %_rtDW_, align 1
  %3389 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_7747, i32 0, i32 978
  call void @vm_srUpdateBC(i8* %3389)
  br label %false1874

true1903:                                         ; preds = %false1874
  %"%<tSimStruct>_7752" = load i8** %"%<tSimStruct>_", align 1
  call void @vm_ssCallAccelRunBlock(i8* %"%<tSimStruct>_7752", i32 248, i32 1932, i32 104)
  br label %false1904

false1904:                                        ; preds = %false1874, %true1903
  %_rtX_7753 = load %X_REVS_VM_T.18** %_rtX_, align 1
  %3390 = getelementptr inbounds %X_REVS_VM_T.18* %_rtX_7753, i32 0, i32 57
  %_rtX__Integrator1_CSTATE_e = load double* %3390, align 1
  %_rtB_7754 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %3391 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_7754, i32 0, i32 464
  store double %_rtX__Integrator1_CSTATE_e, double* %3391, align 1
  %vm_ssIsSampleHitVar0_7755 = load i32* %vm_ssIsSampleHitVar0_, align 1
  store i32 %vm_ssIsSampleHitVar0_7755, i32* %i_0_, align 1
  %3392 = icmp eq i32 %vm_ssIsSampleHitVar0_7755, 0
  br i1 %3392, label %false1906, label %true1905

true1905:                                         ; preds = %false1904
  %"%<tSimStruct>_7757" = load i8** %"%<tSimStruct>_", align 1
  call void @vm_ssCallAccelRunBlock(i8* %"%<tSimStruct>_7757", i32 248, i32 1934, i32 104)
  br label %false1906

false1906:                                        ; preds = %false1904, %true1905
  %_rtDW_7758 = load %DW_REVS_VM_T.16** %_rtDW_, align 1
  %3393 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_7758, i32 0, i32 109
  %_rtDW__TimeStampA_lw = load double* %3393, align 1
  %vm_ssGetTVar5_7759 = load double* %vm_ssGetTVar5_, align 1
  %3394 = fcmp oge double %_rtDW__TimeStampA_lw, %vm_ssGetTVar5_7759
  %3395 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_7758, i32 0, i32 111
  %_rtDW__TimeStampB_hf = load double* %3395, align 1
  %3396 = fcmp oge double %_rtDW__TimeStampB_hf, %vm_ssGetTVar5_7759
  %3397 = and i1 %3394, %3396
  br i1 %3397, label %merge2731, label %false1908

false1908:                                        ; preds = %false1906
  store double %_rtDW__TimeStampA_lw, double* %u0_, align 1
  %3398 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_7758, i32 0, i32 110
  store double* %3398, double** %lastU_, align 1
  %_rtDW__TimeStampA_lw7766 = load double* %3393, align 1
  %_rtDW__TimeStampB_hf7768 = load double* %3395, align 1
  %3399 = fcmp olt double %_rtDW__TimeStampA_lw7766, %_rtDW__TimeStampB_hf7768
  br i1 %3399, label %true1909, label %false1910

true1909:                                         ; preds = %false1908
  %3400 = fcmp olt double %_rtDW__TimeStampB_hf7768, %vm_ssGetTVar5_7759
  br i1 %3400, label %true1913, label %merge2730

false1910:                                        ; preds = %false1908
  %3401 = fcmp ult double %_rtDW__TimeStampA_lw7766, %vm_ssGetTVar5_7759
  br i1 %3401, label %merge2730, label %true1911

true1911:                                         ; preds = %false1910
  store double %_rtDW__TimeStampB_hf7768, double* %u0_, align 1
  %3402 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_7758, i32 0, i32 112
  store double* %3402, double** %lastU_, align 1
  br label %merge2730

true1913:                                         ; preds = %true1909
  store double %_rtDW__TimeStampB_hf7768, double* %u0_, align 1
  %3403 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_7758, i32 0, i32 112
  store double* %3403, double** %lastU_, align 1
  br label %merge2730

true1915:                                         ; preds = %merge2731
  %_rtP_7789 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %3404 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_7789, i32 0, i32 1124
  %_rtP__Efficiency_Value = load double* %3404, align 1
  %_rtB_7790 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %3405 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_7790, i32 0, i32 465
  store double %_rtP__Efficiency_Value, double* %3405, align 1
  %_rtB_7791 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %3406 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_7791, i32 0, i32 465
  %_rtB__Efficiency = load double* %3406, align 1
  %tmp427 = fdiv double 1.000000e+00, %_rtB__Efficiency
  %3407 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_7791, i32 0, i32 466
  store double %tmp427, double* %3407, align 1
  br label %false1916

false1916:                                        ; preds = %merge2731, %true1915
  %_rtB_7793 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %3408 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_7793, i32 0, i32 308
  %_rtB__gb_trq_out_Nm7794 = load double* %3408, align 1
  %_rtP_7795 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %3409 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_7795, i32 0, i32 1125
  %_rtP__Switch_Threshold_pf = load double* %3409, align 1
  %3410 = fcmp ult double %_rtB__gb_trq_out_Nm7794, %_rtP__Switch_Threshold_pf
  %3411 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_7793, i32 0, i32 466
  %3412 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_7793, i32 0, i32 465
  %storemerge9651.in = select i1 %3410, double* %3411, double* %3412
  %storemerge9651 = load double* %storemerge9651.in, align 1
  store double %storemerge9651, double* %u0_0_, align 1
  %_rtB__gb_trq_out_Nm7801 = load double* %3408, align 1
  %tmp428 = fmul double %storemerge9651, %_rtB__gb_trq_out_Nm7801
  %3413 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_7793, i32 0, i32 42
  %_rtB__FinalDriveGearRatio7803 = load double* %3413, align 1
  %tmp429 = fmul double %tmp428, %_rtB__FinalDriveGearRatio7803
  %3414 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_7793, i32 0, i32 467
  store double %tmp429, double* %3414, align 1
  %vm_ssIsSampleHitVar0_7805 = load i32* %vm_ssIsSampleHitVar0_, align 1
  store i32 %vm_ssIsSampleHitVar0_7805, i32* %i_0_, align 1
  %3415 = icmp eq i32 %vm_ssIsSampleHitVar0_7805, 0
  br i1 %3415, label %false1920, label %true1919

true1919:                                         ; preds = %false1916
  %_rtB_7807 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %3416 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_7807, i32 0, i32 42
  %_rtB__FinalDriveGearRatio7808 = load double* %3416, align 1
  %tmp430 = fmul double %_rtB__FinalDriveGearRatio7808, %_rtB__FinalDriveGearRatio7808
  %3417 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_7807, i32 0, i32 468
  store double %tmp430, double* %3417, align 1
  %vm_ssIsSampleHitVar0_7812.pre = load i32* %vm_ssIsSampleHitVar0_, align 1
  br label %false1920

false1920:                                        ; preds = %false1916, %true1919
  %vm_ssIsSampleHitVar0_7812 = phi i32 [ 0, %false1916 ], [ %vm_ssIsSampleHitVar0_7812.pre, %true1919 ]
  store i32 %vm_ssIsSampleHitVar0_7812, i32* %i_0_, align 1
  %3418 = icmp eq i32 %vm_ssIsSampleHitVar0_7812, 0
  br i1 %3418, label %false1922, label %true1921

true1921:                                         ; preds = %false1920
  %_rtP_7814 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %3419 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_7814, i32 0, i32 1126
  %_rtP__FinalDriveInertia_Value = load double* %3419, align 1
  %_rtB_7815 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %3420 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_7815, i32 0, i32 469
  store double %_rtP__FinalDriveInertia_Value, double* %3420, align 1
  br label %false1922

false1922:                                        ; preds = %false1920, %true1921
  %_rtB_7816 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %3421 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_7816, i32 0, i32 468
  %_rtB__MathFunction_bx = load double* %3421, align 1
  %3422 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_7816, i32 0, i32 310
  %_rtB__Sum2_b7818 = load double* %3422, align 1
  %tmp431 = fmul double %_rtB__MathFunction_bx, %_rtB__Sum2_b7818
  %3423 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_7816, i32 0, i32 469
  %_rtB__FinalDriveInertia = load double* %3423, align 1
  %tmp432 = fadd double %tmp431, %_rtB__FinalDriveInertia
  %3424 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_7816, i32 0, i32 470
  store double %tmp432, double* %3424, align 1
  %_rtB_7821 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %3425 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_7821, i32 0, i32 467
  %_rtB__Product_ow = load double* %3425, align 1
  %rtb_Derivative_h_7822 = load double* %rtb_Derivative_h_, align 1
  %3426 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_7821, i32 0, i32 470
  %_rtB__Sum_n = load double* %3426, align 1
  %tmp433 = fmul double %rtb_Derivative_h_7822, %_rtB__Sum_n
  %tmp434 = fsub double %_rtB__Product_ow, %tmp433
  %3427 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_7821, i32 0, i32 46
  %_rtB__u7825 = load double* %3427, align 1
  %tmp435 = fmul double %tmp434, %_rtB__u7825
  %3428 = fcmp oge double %tmp435, 0.000000e+00
  %3429 = uitofp i1 %3428 to double
  %tmp436 = fmul double %tmp435, %3429
  %_rtP_7828 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %3430 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_7828, i32 0, i32 1127
  %_rtP__Gain_Gain_f3 = load double* %3430, align 1
  %tmp437 = fmul double %_rtP__Gain_Gain_f3, %tmp436
  %3431 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_7821, i32 0, i32 471
  store double %tmp437, double* %3431, align 1
  br label %merge2733

true1923:                                         ; preds = %merge2733
  %_rtB_9374 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %3432 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_9374, i32 0, i32 172, i32 %i_0_9379
  %_rtB__DataTypeConversion_el9376 = load double* %3432, align 1
  %3433 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_9374, i32 0, i32 471
  %_rtB__Gain_cu = load double* %3433, align 1
  %tmp581 = fmul double %_rtB__DataTypeConversion_el9376, %_rtB__Gain_cu
  %3434 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_9374, i32 0, i32 472, i32 %i_0_9379
  store double %tmp581, double* %3434, align 1
  %i_0_9380 = load i32* %i_0_, align 1
  %tmp582 = add i32 %i_0_9380, 1
  br label %merge2733

false1924:                                        ; preds = %merge2733
  %vm_ssIsSampleHitVar0_7831 = load i32* %vm_ssIsSampleHitVar0_, align 1
  store i32 %vm_ssIsSampleHitVar0_7831, i32* %i_0_, align 1
  %3435 = icmp eq i32 %vm_ssIsSampleHitVar0_7831, 0
  br i1 %3435, label %false1926, label %true1925

true1925:                                         ; preds = %false1924
  %_rtP_7833 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %3436 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_7833, i32 0, i32 1128
  %_rtP__Constant_Value_psc = load double* %3436, align 1
  %3437 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_7833, i32 0, i32 1129
  %_rtP__Constant1_Value_gp = load double* %3437, align 1
  %3438 = fcmp oge double %_rtP__Constant_Value_psc, %_rtP__Constant1_Value_gp
  %3439 = zext i1 %3438 to i8
  %_rtB_7835 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %3440 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_7835, i32 0, i32 804
  store i8 %3439, i8* %3440, align 1
  %_rtB_7836 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %3441 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_7836, i32 0, i32 804
  %_rtB__RelationalOperator_dl = load i8* %3441, align 1
  %3442 = and i8 %_rtB__RelationalOperator_dl, 1
  %3443 = icmp eq i8 %3442, 0
  br i1 %3443, label %false1928, label %true1927

false1926:                                        ; preds = %false1924, %false1936
  %vm_ssIsSampleHitVar0_7864 = phi i32 [ 0, %false1924 ], [ %vm_ssIsSampleHitVar0_7864.pre, %false1936 ]
  %_rtB_7861 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %3444 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_7861, i32 0, i32 807
  %_rtB__Compare_hn = load i8* %3444, align 1
  %3445 = uitofp i8 %_rtB__Compare_hn to double
  %3446 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_7861, i32 0, i32 467
  %_rtB__Product_ow7863 = load double* %3446, align 1
  %tmp439 = fmul double %3445, %_rtB__Product_ow7863
  store double %tmp439, double* %rtb_Product2_h_, align 1
  store i32 %vm_ssIsSampleHitVar0_7864, i32* %i_0_, align 1
  %3447 = icmp eq i32 %vm_ssIsSampleHitVar0_7864, 0
  br i1 %3447, label %false1940, label %true1939

true1927:                                         ; preds = %true1925
  %"%<tSimStruct>_7837" = load i8** %"%<tSimStruct>_", align 1
  call void @vm_ssCallAccelRunBlock(i8* %"%<tSimStruct>_7837", i32 219, i32 0, i32 104)
  %vm_ssIsMajorTimeStepVar1_7838 = load i32* %vm_ssIsMajorTimeStepVar1_, align 1
  %3448 = icmp eq i32 %vm_ssIsMajorTimeStepVar1_7838, 0
  br i1 %3448, label %false1930, label %true1929

false1928:                                        ; preds = %true1925, %false1930
  %_rtB_7842 = phi %B_REVS_VM_T.12* [ %_rtB_7836, %true1925 ], [ %_rtB_7842.pre, %false1930 ]
  %_rtP_7840 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %3449 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_7840, i32 0, i32 1130
  %_rtP__Constant_Value_ey = load double* %3449, align 1
  %3450 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_7840, i32 0, i32 1131
  %_rtP__Constant1_Value_ou = load double* %3450, align 1
  %3451 = fcmp oge double %_rtP__Constant_Value_ey, %_rtP__Constant1_Value_ou
  %3452 = zext i1 %3451 to i8
  %3453 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_7842, i32 0, i32 805
  store i8 %3452, i8* %3453, align 1
  %_rtB_7843 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %3454 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_7843, i32 0, i32 805
  %_rtB__RelationalOperator_dht = load i8* %3454, align 1
  %3455 = and i8 %_rtB__RelationalOperator_dht, 1
  %3456 = icmp eq i8 %3455, 0
  br i1 %3456, label %false1932, label %true1931

true1929:                                         ; preds = %true1927
  %_rtDW_7839 = load %DW_REVS_VM_T.16** %_rtDW_, align 1
  %3457 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_7839, i32 0, i32 979
  call void @vm_srUpdateBC(i8* %3457)
  br label %false1930

false1930:                                        ; preds = %true1927, %true1929
  %_rtB_7842.pre = load %B_REVS_VM_T.12** %_rtB_, align 1
  br label %false1928

true1931:                                         ; preds = %false1928
  %"%<tSimStruct>_7844" = load i8** %"%<tSimStruct>_", align 1
  call void @vm_ssCallAccelRunBlock(i8* %"%<tSimStruct>_7844", i32 220, i32 0, i32 104)
  %vm_ssIsMajorTimeStepVar1_7845 = load i32* %vm_ssIsMajorTimeStepVar1_, align 1
  %3458 = icmp eq i32 %vm_ssIsMajorTimeStepVar1_7845, 0
  br i1 %3458, label %false1934, label %true1933

false1932:                                        ; preds = %false1928, %false1934
  %_rtB_7849 = phi %B_REVS_VM_T.12* [ %_rtB_7843, %false1928 ], [ %_rtB_7849.pre, %false1934 ]
  %_rtP_7847 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %3459 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_7847, i32 0, i32 1132
  %_rtP__Constant_Value_den = load double* %3459, align 1
  %3460 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_7847, i32 0, i32 1133
  %_rtP__Constant1_Value_obj = load double* %3460, align 1
  %3461 = fcmp oge double %_rtP__Constant_Value_den, %_rtP__Constant1_Value_obj
  %3462 = zext i1 %3461 to i8
  %3463 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_7849, i32 0, i32 806
  store i8 %3462, i8* %3463, align 1
  %_rtB_7850 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %3464 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_7850, i32 0, i32 806
  %_rtB__RelationalOperator_ag = load i8* %3464, align 1
  %3465 = and i8 %_rtB__RelationalOperator_ag, 1
  %3466 = icmp eq i8 %3465, 0
  br i1 %3466, label %false1936, label %true1935

true1933:                                         ; preds = %true1931
  %_rtDW_7846 = load %DW_REVS_VM_T.16** %_rtDW_, align 1
  %3467 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_7846, i32 0, i32 980
  call void @vm_srUpdateBC(i8* %3467)
  br label %false1934

false1934:                                        ; preds = %true1931, %true1933
  %_rtB_7849.pre = load %B_REVS_VM_T.12** %_rtB_, align 1
  br label %false1932

true1935:                                         ; preds = %false1932
  %"%<tSimStruct>_7851" = load i8** %"%<tSimStruct>_", align 1
  call void @vm_ssCallAccelRunBlock(i8* %"%<tSimStruct>_7851", i32 221, i32 0, i32 104)
  %vm_ssIsMajorTimeStepVar1_7852 = load i32* %vm_ssIsMajorTimeStepVar1_, align 1
  %3468 = icmp eq i32 %vm_ssIsMajorTimeStepVar1_7852, 0
  br i1 %3468, label %false1938, label %true1937

false1936:                                        ; preds = %false1932, %false1938
  %_rtB_7858 = phi %B_REVS_VM_T.12* [ %_rtB_7850, %false1932 ], [ %_rtB_7858.pre, %false1938 ]
  %_rtP_7854 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %3469 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_7854, i32 0, i32 1134
  %_rtP__Constant1_Value_du = load double* %3469, align 1
  store double %_rtP__Constant1_Value_du, double* %rtb_Constant1_bp_, align 1
  %3470 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_7854, i32 0, i32 1135
  %_rtP__poslim_Gain = load double* %3470, align 1
  %tmp438 = fmul double %_rtP__poslim_Gain, %_rtP__Constant1_Value_du
  %3471 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_7858, i32 0, i32 473
  store double %tmp438, double* %3471, align 1
  %rtb_driver_brk_norm_7859 = load double* %rtb_driver_brk_norm_, align 1
  %3472 = fcmp ogt double %rtb_driver_brk_norm_7859, 0.000000e+00
  %3473 = zext i1 %3472 to i8
  %_rtB_7860 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %3474 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_7860, i32 0, i32 807
  store i8 %3473, i8* %3474, align 1
  %vm_ssIsSampleHitVar0_7864.pre = load i32* %vm_ssIsSampleHitVar0_, align 1
  br label %false1926

true1937:                                         ; preds = %true1935
  %_rtDW_7853 = load %DW_REVS_VM_T.16** %_rtDW_, align 1
  %3475 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_7853, i32 0, i32 981
  call void @vm_srUpdateBC(i8* %3475)
  br label %false1938

false1938:                                        ; preds = %true1935, %true1937
  %_rtB_7858.pre = load %B_REVS_VM_T.12** %_rtB_, align 1
  br label %false1936

true1939:                                         ; preds = %false1926
  %_rtP_7866 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %3476 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_7866, i32 0, i32 1137
  %_rtP__neglim_Gain = load double* %3476, align 1
  %rtb_Constant1_bp_7867 = load double* %rtb_Constant1_bp_, align 1
  %tmp440 = fmul double %_rtP__neglim_Gain, %rtb_Constant1_bp_7867
  %3477 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_7861, i32 0, i32 474
  store double %tmp440, double* %3477, align 1
  %vm_ssIsSampleHitVar0_7869.pre = load i32* %vm_ssIsSampleHitVar0_, align 1
  br label %false1940

false1940:                                        ; preds = %false1926, %true1939
  %vm_ssIsSampleHitVar0_7869 = phi i32 [ 0, %false1926 ], [ %vm_ssIsSampleHitVar0_7869.pre, %true1939 ]
  store i32 %vm_ssIsSampleHitVar0_7869, i32* %i_0_, align 1
  %3478 = icmp eq i32 %vm_ssIsSampleHitVar0_7869, 0
  br i1 %3478, label %false1942, label %true1941

true1941:                                         ; preds = %false1940
  %_rtB_7871 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %3479 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_7871, i32 0, i32 0
  %_rtB__cycle_spd_mps = load double* %3479, align 1
  %3480 = fcmp ole double %_rtB__cycle_spd_mps, 0.000000e+00
  %3481 = zext i1 %3480 to i8
  %3482 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_7871, i32 0, i32 808
  store i8 %3481, i8* %3482, align 1
  %vm_ssIsSampleHitVar0_7873.pre = load i32* %vm_ssIsSampleHitVar0_, align 1
  br label %false1942

false1942:                                        ; preds = %false1940, %true1941
  %vm_ssIsSampleHitVar0_7873 = phi i32 [ 0, %false1940 ], [ %vm_ssIsSampleHitVar0_7873.pre, %true1941 ]
  store i32 %vm_ssIsSampleHitVar0_7873, i32* %i_0_, align 1
  %3483 = icmp eq i32 %vm_ssIsSampleHitVar0_7873, 0
  br i1 %3483, label %false1944, label %true1943

true1943:                                         ; preds = %false1942
  %_rtP_7875 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %3484 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_7875, i32 0, i32 1140
  %_rtP__Gain2_Gain = load double* %3484, align 1
  %rtb_driver_brk_norm_7876 = load double* %rtb_driver_brk_norm_, align 1
  %tmp441 = fmul double %_rtP__Gain2_Gain, %rtb_driver_brk_norm_7876
  %_rtB_7877 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %3485 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_7877, i32 0, i32 475
  store double %tmp441, double* %3485, align 1
  br label %false1944

false1944:                                        ; preds = %false1942, %true1943
  %_rtB_7878 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %3486 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_7878, i32 0, i32 46
  %_rtB__u7879 = load double* %3486, align 1
  %3487 = fcmp oeq double %_rtB__u7879, 0.000000e+00
  %3488 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_7878, i32 0, i32 808
  %_rtB__Compare_ha = load i8* %3488, align 1
  %3489 = and i8 %_rtB__Compare_ha, 1
  %3490 = icmp ne i8 %3489, 0
  %3491 = and i1 %3487, %3490
  br i1 %3491, label %true1945, label %false1946

true1945:                                         ; preds = %false1944
  %3492 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_7878, i32 0, i32 473
  %_rtB__poslim = load double* %3492, align 1
  %_rtP_7896 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %3493 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_7896, i32 0, i32 100
  %_rtP__Gain3_Gain = load double* %3493, align 1
  %tmp446 = fmul double %_rtP__Gain3_Gain, %tmp439
  %3494 = call double @muDoubleScalarMin(double %_rtB__poslim, double %tmp446)
  %_rtB_7898 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %3495 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_7898, i32 0, i32 474
  %_rtB__neglim = load double* %3495, align 1
  %3496 = call double @muDoubleScalarMax(double %3494, double %_rtB__neglim)
  %_rtB_7899 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %3497 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_7899, i32 0, i32 476
  store double %3496, double* %3497, align 1
  br label %merge2734

false1946:                                        ; preds = %false1944
  %_rtP_7883 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %3498 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_7883, i32 0, i32 97, i32 0
  %3499 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_7883, i32 0, i32 96, i32 0
  %_rtDW_7885 = load %DW_REVS_VM_T.16** %_rtDW_, align 1
  %3500 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_7885, i32 0, i32 828
  %3501 = call double @look1_pbinlcapw(double %_rtB__u7879, double* %3498, double* %3499, i32* %3500, i32 2)
  %_rtB_7886 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %3502 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_7886, i32 0, i32 475
  %_rtB__Gain2 = load double* %3502, align 1
  %tmp442 = fmul double %3501, %_rtB__Gain2
  store double %tmp442, double* %rtb_desired_net_torquevector_, align 1
  %3503 = fcmp ogt double %tmp442, 0.000000e+00
  %3504 = uitofp i1 %3503 to double
  %_rtP_7889 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %3505 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_7889, i32 0, i32 99
  %_rtP__Gain_Gain_g = load double* %3505, align 1
  %tmp443 = fmul double %_rtP__Gain_Gain_g, %3504
  %tmp444 = fsub double %tmp442, %tmp439
  %3506 = call double @muDoubleScalarMin(double %tmp443, double %tmp444)
  %3507 = fcmp olt double %tmp442, 0.000000e+00
  %3508 = uitofp i1 %3507 to double
  %_rtP_7893 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %3509 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_7893, i32 0, i32 98
  %_rtP__Gain1_Gain = load double* %3509, align 1
  %tmp445 = fmul double %3508, %_rtP__Gain1_Gain
  %3510 = call double @muDoubleScalarMax(double %3506, double %tmp445)
  %_rtB_7894 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %3511 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_7894, i32 0, i32 476
  store double %3510, double* %3511, align 1
  br label %merge2734

true1947:                                         ; preds = %merge2734
  %_rtB_7925 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %3512 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_7925, i32 0, i32 476
  %_rtB__Switch_gz7926 = load double* %3512, align 1
  %3513 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_7925, i32 0, i32 477
  store double %_rtB__Switch_gz7926, double* %3513, align 1
  br label %merge2737

false1948:                                        ; preds = %merge2734
  %vm_ssGetTaskTimeVar4_7901 = load double* %vm_ssGetTaskTimeVar4_, align 1
  %tmp447 = fsub double %vm_ssGetTaskTimeVar4_7901, %_rtDW__LastMajorTime_c
  store double %tmp447, double* %u0_0_, align 1
  %_rtP_7905 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %3514 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_7905, i32 0, i32 1143
  %_rtP__RateLimiter_RisingLim_ad = load double* %3514, align 1
  %tmp448 = fmul double %tmp447, %_rtP__RateLimiter_RisingLim_ad
  store double %tmp448, double* %riseValLimit_, align 1
  %_rtB_7906 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %3515 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_7906, i32 0, i32 476
  %_rtB__Switch_gz = load double* %3515, align 1
  %3516 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_7900, i32 0, i32 113
  %_rtDW__PrevY_dg = load double* %3516, align 1
  %tmp449 = fsub double %_rtB__Switch_gz, %_rtDW__PrevY_dg
  store double %tmp449, double* %rateLimiterRate_, align 1
  %3517 = fcmp ogt double %tmp449, %tmp448
  br i1 %3517, label %true1949, label %false1950

true1949:                                         ; preds = %false1948
  %tmp452 = fadd double %_rtDW__PrevY_dg, %tmp448
  %3518 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_7906, i32 0, i32 477
  store double %tmp452, double* %3518, align 1
  br label %merge2737

false1950:                                        ; preds = %false1948
  %3519 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_7905, i32 0, i32 1144
  %_rtP__RateLimiter_FallingLim_n = load double* %3519, align 1
  %tmp450 = fmul double %tmp447, %_rtP__RateLimiter_FallingLim_n
  store double %tmp450, double* %u0_0_, align 1
  %3520 = fcmp olt double %tmp449, %tmp450
  br i1 %3520, label %true1951, label %false1952

true1951:                                         ; preds = %false1950
  %_rtDW__PrevY_dg7918 = load double* %3516, align 1
  %tmp451 = fadd double %_rtDW__PrevY_dg7918, %tmp450
  %3521 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_7906, i32 0, i32 477
  store double %tmp451, double* %3521, align 1
  br label %merge2737

false1952:                                        ; preds = %false1950
  %_rtB__Switch_gz7915 = load double* %3515, align 1
  %3522 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_7906, i32 0, i32 477
  store double %_rtB__Switch_gz7915, double* %3522, align 1
  br label %merge2737

true1953:                                         ; preds = %merge2737
  %_rtP_7934 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %3523 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_7934, i32 0, i32 1145
  %_rtP__AxleInertiakgm2_Value = load double* %3523, align 1
  %_rtB_7935 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %3524 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_7935, i32 0, i32 479
  store double %_rtP__AxleInertiakgm2_Value, double* %3524, align 1
  %vm_ssIsSampleHitVar0_7939.pre = load i32* %vm_ssIsSampleHitVar0_, align 1
  br label %false1954

false1954:                                        ; preds = %merge2737, %true1953
  %vm_ssIsSampleHitVar0_7939 = phi i32 [ 0, %merge2737 ], [ %vm_ssIsSampleHitVar0_7939.pre, %true1953 ]
  %_rtB_7936 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %3525 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_7936, i32 0, i32 479
  %_rtB__AxleInertiakgm2 = load double* %3525, align 1
  %3526 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_7936, i32 0, i32 470
  %_rtB__Sum_n7938 = load double* %3526, align 1
  %tmp454 = fadd double %_rtB__AxleInertiakgm2, %_rtB__Sum_n7938
  store double %tmp454, double* %rtb_Sum1_o_, align 1
  store i32 %vm_ssIsSampleHitVar0_7939, i32* %i_0_, align 1
  %3527 = icmp eq i32 %vm_ssIsSampleHitVar0_7939, 0
  br i1 %3527, label %false1956, label %true1955

true1955:                                         ; preds = %false1954
  %_rtP_7941 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %3528 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_7941, i32 0, i32 1146
  %_rtP__Constant_Value_glq = load double* %3528, align 1
  %3529 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_7941, i32 0, i32 1147
  %_rtP__Constant_Value_op1 = load double* %3529, align 1
  %3530 = fcmp oge double %_rtP__Constant_Value_glq, %_rtP__Constant_Value_op1
  %3531 = zext i1 %3530 to i8
  %3532 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_7936, i32 0, i32 809
  store i8 %3531, i8* %3532, align 1
  %vm_ssIsMajorTimeStepVar1_7944 = load i32* %vm_ssIsMajorTimeStepVar1_, align 1
  %3533 = icmp eq i32 %vm_ssIsMajorTimeStepVar1_7944, 0
  br i1 %3533, label %false1956, label %true1957

false1956:                                        ; preds = %false1960, %true1961, %false1966, %true1959, %true1955, %false1954
  %_rtDW_7955 = load %DW_REVS_VM_T.16** %_rtDW_, align 1
  %3534 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_7955, i32 0, i32 1054
  %_rtDW__Subsystem_MODE_d7956 = load i8* %3534, align 1
  %3535 = and i8 %_rtDW__Subsystem_MODE_d7956, 1
  %3536 = icmp eq i8 %3535, 0
  br i1 %3536, label %false1968, label %true1967

true1957:                                         ; preds = %true1955
  %_rtB_7945 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %3537 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_7945, i32 0, i32 809
  %_rtB__Compare_p = load i8* %3537, align 1
  %3538 = and i8 %_rtB__Compare_p, 1
  %3539 = icmp eq i8 %3538, 0
  %_rtDW_7946 = load %DW_REVS_VM_T.16** %_rtDW_, align 1
  %3540 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_7946, i32 0, i32 1054
  %_rtDW__Subsystem_MODE_d = load i8* %3540, align 1
  %3541 = and i8 %_rtDW__Subsystem_MODE_d, 1
  %3542 = icmp eq i8 %3541, 0
  br i1 %3539, label %false1960, label %true1959

true1959:                                         ; preds = %true1957
  br i1 %3542, label %true1963, label %false1956

false1960:                                        ; preds = %true1957
  br i1 %3542, label %false1956, label %true1961

true1961:                                         ; preds = %false1960
  %"%<tSimStruct>_7947" = load i8** %"%<tSimStruct>_", align 1
  call void @vm_ssSetSolverNeedsReset(i8* %"%<tSimStruct>_7947")
  %_rtDW_7948 = load %DW_REVS_VM_T.16** %_rtDW_, align 1
  %3543 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_7948, i32 0, i32 1054
  store i8 0, i8* %3543, align 1
  br label %false1956

true1963:                                         ; preds = %true1959
  %vm_ssGetTaskTimeVar2_7951 = load double* %vm_ssGetTaskTimeVar2_, align 1
  %vm_ssGetTStartVar3_7952 = load double* %vm_ssGetTStartVar3_, align 1
  %3544 = fcmp une double %vm_ssGetTaskTimeVar2_7951, %vm_ssGetTStartVar3_7952
  br i1 %3544, label %true1965, label %false1966

true1965:                                         ; preds = %true1963
  %"%<tSimStruct>_7953" = load i8** %"%<tSimStruct>_", align 1
  call void @vm_ssSetSolverNeedsReset(i8* %"%<tSimStruct>_7953")
  %_rtDW_7954.pre = load %DW_REVS_VM_T.16** %_rtDW_, align 1
  br label %false1966

false1966:                                        ; preds = %true1965, %true1963
  %_rtDW_7954 = phi %DW_REVS_VM_T.16* [ %_rtDW_7954.pre, %true1965 ], [ %_rtDW_7946, %true1963 ]
  %3545 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_7954, i32 0, i32 1054
  store i8 1, i8* %3545, align 1
  br label %false1956

true1967:                                         ; preds = %false1956
  %_rtB_7957 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %3546 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_7957, i32 0, i32 46
  %_rtB__u7958 = load double* %3546, align 1
  %tmp455 = fmul double %_rtB__u7958, %_rtB__u7958
  %3547 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_7957, i32 0, i32 479
  %_rtB__AxleInertiakgm27962 = load double* %3547, align 1
  %tmp456 = fmul double %tmp455, %_rtB__AxleInertiakgm27962
  %_rtP_7963 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %3548 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_7963, i32 0, i32 101
  %_rtP__onehalf_Gain_lm = load double* %3548, align 1
  %tmp457 = fmul double %tmp456, %_rtP__onehalf_Gain_lm
  %3549 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_7957, i32 0, i32 588
  store double %tmp457, double* %3549, align 1
  %vm_ssIsSampleHitVar0_7965 = load i32* %vm_ssIsSampleHitVar0_, align 1
  store i32 %vm_ssIsSampleHitVar0_7965, i32* %i_0_, align 1
  %3550 = icmp eq i32 %vm_ssIsSampleHitVar0_7965, 0
  br i1 %3550, label %false1970, label %true1969

false1968:                                        ; preds = %true1973, %false1972, %false1956
  %vm_ssIsSampleHitVar0_7987 = load i32* %vm_ssIsSampleHitVar0_, align 1
  store i32 %vm_ssIsSampleHitVar0_7987, i32* %i_0_, align 1
  %3551 = icmp eq i32 %vm_ssIsSampleHitVar0_7987, 0
  br i1 %3551, label %false1976, label %true1975

true1969:                                         ; preds = %true1967
  %"%<tSimStruct>_7967" = load i8** %"%<tSimStruct>_", align 1
  call void @vm_ssCallAccelRunBlock(i8* %"%<tSimStruct>_7967", i32 201, i32 3, i32 104)
  br label %false1970

false1970:                                        ; preds = %true1967, %true1969
  %"%<tSimStruct>_7968" = load i8** %"%<tSimStruct>_", align 1
  %_rtB_7969 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %3552 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_7969, i32 0, i32 477
  %_rtB__RateLimiter_n7970 = load double* %3552, align 1
  %3553 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_7969, i32 0, i32 46
  %_rtB__u7972 = load double* %3553, align 1
  %3554 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_7969, i32 0, i32 873
  %_rtP_7974 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %3555 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_7974, i32 0, i32 1557
  %_rtX_7975 = load %X_REVS_VM_T.18** %_rtX_, align 1
  %3556 = getelementptr inbounds %X_REVS_VM_T.18* %_rtX_7975, i32 0, i32 88
  call void @REVS_VM_MechEnergyNmradps(i8* %"%<tSimStruct>_7968", double %_rtB__RateLimiter_n7970, double %_rtB__u7972, %B_MechEnergyNmradps_REVS_VM_T.4* %3554, %P_MechEnergyNmradps_REVS_VM_T.6* %3555, %X_MechEnergyNmradps_REVS_VM_T.7* %3556)
  %vm_ssIsSampleHitVar0_7976 = load i32* %vm_ssIsSampleHitVar0_, align 1
  store i32 %vm_ssIsSampleHitVar0_7976, i32* %i_0_, align 1
  %3557 = icmp eq i32 %vm_ssIsSampleHitVar0_7976, 0
  br i1 %3557, label %false1972, label %true1971

true1971:                                         ; preds = %false1970
  %"%<tSimStruct>_7978" = load i8** %"%<tSimStruct>_", align 1
  call void @vm_ssCallAccelRunBlock(i8* %"%<tSimStruct>_7978", i32 201, i32 5, i32 104)
  %"%<tSimStruct>_7979" = load i8** %"%<tSimStruct>_", align 1
  call void @vm_ssCallAccelRunBlock(i8* %"%<tSimStruct>_7979", i32 201, i32 6, i32 104)
  %"%<tSimStruct>_7980" = load i8** %"%<tSimStruct>_", align 1
  call void @vm_ssCallAccelRunBlock(i8* %"%<tSimStruct>_7980", i32 201, i32 7, i32 104)
  %"%<tSimStruct>_7981" = load i8** %"%<tSimStruct>_", align 1
  call void @vm_ssCallAccelRunBlock(i8* %"%<tSimStruct>_7981", i32 201, i32 8, i32 104)
  %"%<tSimStruct>_7982" = load i8** %"%<tSimStruct>_", align 1
  call void @vm_ssCallAccelRunBlock(i8* %"%<tSimStruct>_7982", i32 201, i32 9, i32 104)
  %"%<tSimStruct>_7983" = load i8** %"%<tSimStruct>_", align 1
  call void @vm_ssCallAccelRunBlock(i8* %"%<tSimStruct>_7983", i32 201, i32 10, i32 104)
  %"%<tSimStruct>_7984" = load i8** %"%<tSimStruct>_", align 1
  call void @vm_ssCallAccelRunBlock(i8* %"%<tSimStruct>_7984", i32 201, i32 11, i32 104)
  br label %false1972

false1972:                                        ; preds = %false1970, %true1971
  %vm_ssIsMajorTimeStepVar1_7985 = load i32* %vm_ssIsMajorTimeStepVar1_, align 1
  %3558 = icmp eq i32 %vm_ssIsMajorTimeStepVar1_7985, 0
  br i1 %3558, label %false1968, label %true1973

true1973:                                         ; preds = %false1972
  %_rtDW_7986 = load %DW_REVS_VM_T.16** %_rtDW_, align 1
  %3559 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_7986, i32 0, i32 982
  call void @vm_srUpdateBC(i8* %3559)
  br label %false1968

true1975:                                         ; preds = %false1968
  %_rtP_7989 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %3560 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_7989, i32 0, i32 1148
  %_rtP__zero_Value_i = load double* %3560, align 1
  %_rtB_7990 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %3561 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_7990, i32 0, i32 480
  store double %_rtP__zero_Value_i, double* %3561, align 1
  %_rtP_7991 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %3562 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_7991, i32 0, i32 1149
  %_rtP__Constant_Value_o5 = load double* %3562, align 1
  %3563 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_7991, i32 0, i32 1150
  %_rtP__Constant_Value_ehn = load double* %3563, align 1
  %3564 = fcmp oge double %_rtP__Constant_Value_o5, %_rtP__Constant_Value_ehn
  %3565 = zext i1 %3564 to i8
  %_rtB_7993 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %3566 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_7993, i32 0, i32 810
  store i8 %3565, i8* %3566, align 1
  %vm_ssIsMajorTimeStepVar1_7994 = load i32* %vm_ssIsMajorTimeStepVar1_, align 1
  %3567 = icmp eq i32 %vm_ssIsMajorTimeStepVar1_7994, 0
  br i1 %3567, label %false1976, label %true1977

false1976:                                        ; preds = %false1980, %false1986, %false1990, %true1979, %true1975, %false1968
  %_rtDW_8009 = load %DW_REVS_VM_T.16** %_rtDW_, align 1
  %3568 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_8009, i32 0, i32 1055
  %_rtDW__Subsystem_MODE_a8010 = load i8* %3568, align 1
  %3569 = and i8 %_rtDW__Subsystem_MODE_a8010, 1
  %3570 = icmp eq i8 %3569, 0
  br i1 %3570, label %false1992, label %true1991

true1977:                                         ; preds = %true1975
  %_rtB_7995 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %3571 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_7995, i32 0, i32 810
  %_rtB__Compare_pl = load i8* %3571, align 1
  %3572 = and i8 %_rtB__Compare_pl, 1
  %3573 = icmp eq i8 %3572, 0
  %_rtDW_7996 = load %DW_REVS_VM_T.16** %_rtDW_, align 1
  %3574 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_7996, i32 0, i32 1055
  %_rtDW__Subsystem_MODE_a = load i8* %3574, align 1
  %3575 = and i8 %_rtDW__Subsystem_MODE_a, 1
  %3576 = icmp eq i8 %3575, 0
  br i1 %3573, label %false1980, label %true1979

true1979:                                         ; preds = %true1977
  br i1 %3576, label %true1987, label %false1976

false1980:                                        ; preds = %true1977
  br i1 %3576, label %false1976, label %true1981

true1981:                                         ; preds = %false1980
  %"%<tSimStruct>_7997" = load i8** %"%<tSimStruct>_", align 1
  call void @vm_ssSetSolverNeedsReset(i8* %"%<tSimStruct>_7997")
  %_rtDW_7998 = load %DW_REVS_VM_T.16** %_rtDW_, align 1
  %3577 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_7998, i32 0, i32 1065
  %_rtDW__Subsystem_MODE_ia = load i8* %3577, align 1
  %3578 = and i8 %_rtDW__Subsystem_MODE_ia, 1
  %3579 = icmp eq i8 %3578, 0
  br i1 %3579, label %false1984, label %true1983

true1983:                                         ; preds = %true1981
  store i8 0, i8* %3577, align 1
  %_rtDW_8000.pre = load %DW_REVS_VM_T.16** %_rtDW_, align 1
  br label %false1984

false1984:                                        ; preds = %true1981, %true1983
  %_rtDW_8001 = phi %DW_REVS_VM_T.16* [ %_rtDW_7998, %true1981 ], [ %_rtDW_8000.pre, %true1983 ]
  %3580 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_8001, i32 0, i32 1066
  %_rtDW__Subsystem_MODE_gq = load i8* %3580, align 1
  %3581 = and i8 %_rtDW__Subsystem_MODE_gq, 1
  %3582 = icmp eq i8 %3581, 0
  br i1 %3582, label %false1986, label %true1985

true1985:                                         ; preds = %false1984
  store i8 0, i8* %3580, align 1
  %_rtDW_8002.pre = load %DW_REVS_VM_T.16** %_rtDW_, align 1
  br label %false1986

false1986:                                        ; preds = %false1984, %true1985
  %_rtDW_8002 = phi %DW_REVS_VM_T.16* [ %_rtDW_8001, %false1984 ], [ %_rtDW_8002.pre, %true1985 ]
  %3583 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_8002, i32 0, i32 1055
  store i8 0, i8* %3583, align 1
  br label %false1976

true1987:                                         ; preds = %true1979
  %vm_ssGetTaskTimeVar2_8005 = load double* %vm_ssGetTaskTimeVar2_, align 1
  %vm_ssGetTStartVar3_8006 = load double* %vm_ssGetTStartVar3_, align 1
  %3584 = fcmp une double %vm_ssGetTaskTimeVar2_8005, %vm_ssGetTStartVar3_8006
  br i1 %3584, label %true1989, label %false1990

true1989:                                         ; preds = %true1987
  %"%<tSimStruct>_8007" = load i8** %"%<tSimStruct>_", align 1
  call void @vm_ssSetSolverNeedsReset(i8* %"%<tSimStruct>_8007")
  %_rtDW_8008.pre = load %DW_REVS_VM_T.16** %_rtDW_, align 1
  br label %false1990

false1990:                                        ; preds = %true1989, %true1987
  %_rtDW_8008 = phi %DW_REVS_VM_T.16* [ %_rtDW_8008.pre, %true1989 ], [ %_rtDW_7996, %true1987 ]
  %3585 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_8008, i32 0, i32 1055
  store i8 1, i8* %3585, align 1
  br label %false1976

true1991:                                         ; preds = %false1976
  %vm_ssIsSampleHitVar0_8011 = load i32* %vm_ssIsSampleHitVar0_, align 1
  store i32 %vm_ssIsSampleHitVar0_8011, i32* %i_0_, align 1
  %3586 = icmp eq i32 %vm_ssIsSampleHitVar0_8011, 0
  br i1 %3586, label %false1994, label %true1993

false1992:                                        ; preds = %true2043, %false2042, %false1976
  %vm_ssIsSampleHitVar0_8136 = load i32* %vm_ssIsSampleHitVar0_, align 1
  store i32 %vm_ssIsSampleHitVar0_8136, i32* %i_0_, align 1
  %3587 = icmp eq i32 %vm_ssIsSampleHitVar0_8136, 0
  br i1 %3587, label %false2046, label %true2045

true1993:                                         ; preds = %true1991
  %_rtP_8013 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %3588 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_8013, i32 0, i32 108
  %_rtP__Constant_Value_e4 = load double* %3588, align 1
  %3589 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_8013, i32 0, i32 109
  %_rtP__Constant_Value_ce = load double* %3589, align 1
  %3590 = fcmp oge double %_rtP__Constant_Value_e4, %_rtP__Constant_Value_ce
  %3591 = zext i1 %3590 to i8
  %_rtB_8015 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %3592 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_8015, i32 0, i32 849
  store i8 %3591, i8* %3592, align 1
  %vm_ssIsMajorTimeStepVar1_8016 = load i32* %vm_ssIsMajorTimeStepVar1_, align 1
  %3593 = icmp eq i32 %vm_ssIsMajorTimeStepVar1_8016, 0
  br i1 %3593, label %false1996, label %true1995

false1994:                                        ; preds = %true1991, %false1996
  %_rtDW_8028 = phi %DW_REVS_VM_T.16* [ %_rtDW_8009, %true1991 ], [ %_rtDW_8028.pre, %false1996 ]
  %3594 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_8028, i32 0, i32 1065
  %_rtDW__Subsystem_MODE_ia8029 = load i8* %3594, align 1
  %3595 = and i8 %_rtDW__Subsystem_MODE_ia8029, 1
  %3596 = icmp eq i8 %3595, 0
  br i1 %3596, label %false2006, label %true2005

true1995:                                         ; preds = %true1993
  %_rtB_8017 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %3597 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_8017, i32 0, i32 849
  %_rtB__Compare_bb = load i8* %3597, align 1
  %3598 = and i8 %_rtB__Compare_bb, 1
  %3599 = icmp eq i8 %3598, 0
  %_rtDW_8018 = load %DW_REVS_VM_T.16** %_rtDW_, align 1
  %3600 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_8018, i32 0, i32 1065
  %_rtDW__Subsystem_MODE_ia8019 = load i8* %3600, align 1
  %3601 = and i8 %_rtDW__Subsystem_MODE_ia8019, 1
  %3602 = icmp eq i8 %3601, 0
  br i1 %3599, label %false1998, label %true1997

false1996:                                        ; preds = %false1998, %true1999, %false2004, %true1997, %true1993
  %_rtDW_8028.pre = load %DW_REVS_VM_T.16** %_rtDW_, align 1
  br label %false1994

true1997:                                         ; preds = %true1995
  br i1 %3602, label %true2001, label %false1996

false1998:                                        ; preds = %true1995
  br i1 %3602, label %false1996, label %true1999

true1999:                                         ; preds = %false1998
  %"%<tSimStruct>_8020" = load i8** %"%<tSimStruct>_", align 1
  call void @vm_ssSetSolverNeedsReset(i8* %"%<tSimStruct>_8020")
  %_rtDW_8021 = load %DW_REVS_VM_T.16** %_rtDW_, align 1
  %3603 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_8021, i32 0, i32 1065
  store i8 0, i8* %3603, align 1
  br label %false1996

true2001:                                         ; preds = %true1997
  %vm_ssGetTaskTimeVar2_8024 = load double* %vm_ssGetTaskTimeVar2_, align 1
  %vm_ssGetTStartVar3_8025 = load double* %vm_ssGetTStartVar3_, align 1
  %3604 = fcmp une double %vm_ssGetTaskTimeVar2_8024, %vm_ssGetTStartVar3_8025
  br i1 %3604, label %true2003, label %false2004

true2003:                                         ; preds = %true2001
  %"%<tSimStruct>_8026" = load i8** %"%<tSimStruct>_", align 1
  call void @vm_ssSetSolverNeedsReset(i8* %"%<tSimStruct>_8026")
  %_rtDW_8027.pre = load %DW_REVS_VM_T.16** %_rtDW_, align 1
  br label %false2004

false2004:                                        ; preds = %true2003, %true2001
  %_rtDW_8027 = phi %DW_REVS_VM_T.16* [ %_rtDW_8027.pre, %true2003 ], [ %_rtDW_8018, %true2001 ]
  %3605 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_8027, i32 0, i32 1065
  store i8 1, i8* %3605, align 1
  br label %false1996

true2005:                                         ; preds = %false1994
  %_rtB_8030 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %3606 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_8030, i32 0, i32 47
  %_rtB__Product38031 = load double* %3606, align 1
  %tmp458 = fmul double %_rtB__Product38031, %_rtB__Product38031
  %3607 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_8030, i32 0, i32 480
  %_rtB__zero_k = load double* %3607, align 1
  %tmp459 = fmul double %tmp458, %_rtB__zero_k
  %_rtP_8035 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %3608 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_8035, i32 0, i32 104
  %_rtP__onehalf_Gain_dn = load double* %3608, align 1
  %tmp460 = fmul double %tmp459, %_rtP__onehalf_Gain_dn
  %3609 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_8030, i32 0, i32 587
  store double %tmp460, double* %3609, align 1
  %vm_ssIsSampleHitVar0_8037 = load i32* %vm_ssIsSampleHitVar0_, align 1
  store i32 %vm_ssIsSampleHitVar0_8037, i32* %i_0_, align 1
  %3610 = icmp eq i32 %vm_ssIsSampleHitVar0_8037, 0
  br i1 %3610, label %false2008, label %true2007

false2006:                                        ; preds = %true2011, %false2010, %false1994
  %vm_ssIsSampleHitVar0_8059 = load i32* %vm_ssIsSampleHitVar0_, align 1
  store i32 %vm_ssIsSampleHitVar0_8059, i32* %i_0_, align 1
  %3611 = icmp eq i32 %vm_ssIsSampleHitVar0_8059, 0
  br i1 %3611, label %false2014, label %true2013

true2007:                                         ; preds = %true2005
  %"%<tSimStruct>_8039" = load i8** %"%<tSimStruct>_", align 1
  call void @vm_ssCallAccelRunBlock(i8* %"%<tSimStruct>_8039", i32 203, i32 3, i32 104)
  br label %false2008

false2008:                                        ; preds = %true2005, %true2007
  %"%<tSimStruct>_8040" = load i8** %"%<tSimStruct>_", align 1
  %_rtB_8041 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %3612 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_8041, i32 0, i32 308
  %_rtB__gb_trq_out_Nm8042 = load double* %3612, align 1
  %3613 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_8041, i32 0, i32 47
  %_rtB__Product38044 = load double* %3613, align 1
  %3614 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_8041, i32 0, i32 872
  %_rtP_8046 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %3615 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_8046, i32 0, i32 1556
  %_rtX_8047 = load %X_REVS_VM_T.18** %_rtX_, align 1
  %3616 = getelementptr inbounds %X_REVS_VM_T.18* %_rtX_8047, i32 0, i32 87
  call void @REVS_VM_MechEnergyNmradps(i8* %"%<tSimStruct>_8040", double %_rtB__gb_trq_out_Nm8042, double %_rtB__Product38044, %B_MechEnergyNmradps_REVS_VM_T.4* %3614, %P_MechEnergyNmradps_REVS_VM_T.6* %3615, %X_MechEnergyNmradps_REVS_VM_T.7* %3616)
  %vm_ssIsSampleHitVar0_8048 = load i32* %vm_ssIsSampleHitVar0_, align 1
  store i32 %vm_ssIsSampleHitVar0_8048, i32* %i_0_, align 1
  %3617 = icmp eq i32 %vm_ssIsSampleHitVar0_8048, 0
  br i1 %3617, label %false2010, label %true2009

true2009:                                         ; preds = %false2008
  %"%<tSimStruct>_8050" = load i8** %"%<tSimStruct>_", align 1
  call void @vm_ssCallAccelRunBlock(i8* %"%<tSimStruct>_8050", i32 203, i32 5, i32 104)
  %"%<tSimStruct>_8051" = load i8** %"%<tSimStruct>_", align 1
  call void @vm_ssCallAccelRunBlock(i8* %"%<tSimStruct>_8051", i32 203, i32 6, i32 104)
  %"%<tSimStruct>_8052" = load i8** %"%<tSimStruct>_", align 1
  call void @vm_ssCallAccelRunBlock(i8* %"%<tSimStruct>_8052", i32 203, i32 7, i32 104)
  %"%<tSimStruct>_8053" = load i8** %"%<tSimStruct>_", align 1
  call void @vm_ssCallAccelRunBlock(i8* %"%<tSimStruct>_8053", i32 203, i32 8, i32 104)
  %"%<tSimStruct>_8054" = load i8** %"%<tSimStruct>_", align 1
  call void @vm_ssCallAccelRunBlock(i8* %"%<tSimStruct>_8054", i32 203, i32 9, i32 104)
  %"%<tSimStruct>_8055" = load i8** %"%<tSimStruct>_", align 1
  call void @vm_ssCallAccelRunBlock(i8* %"%<tSimStruct>_8055", i32 203, i32 10, i32 104)
  %"%<tSimStruct>_8056" = load i8** %"%<tSimStruct>_", align 1
  call void @vm_ssCallAccelRunBlock(i8* %"%<tSimStruct>_8056", i32 203, i32 11, i32 104)
  br label %false2010

false2010:                                        ; preds = %false2008, %true2009
  %vm_ssIsMajorTimeStepVar1_8057 = load i32* %vm_ssIsMajorTimeStepVar1_, align 1
  %3618 = icmp eq i32 %vm_ssIsMajorTimeStepVar1_8057, 0
  br i1 %3618, label %false2006, label %true2011

true2011:                                         ; preds = %false2010
  %_rtDW_8058 = load %DW_REVS_VM_T.16** %_rtDW_, align 1
  %3619 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_8058, i32 0, i32 1008
  call void @vm_srUpdateBC(i8* %3619)
  br label %false2006

true2013:                                         ; preds = %false2006
  %_rtP_8061 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %3620 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_8061, i32 0, i32 110
  %_rtP__Constant_Value_n0 = load double* %3620, align 1
  %3621 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_8061, i32 0, i32 111
  %_rtP__Constant_Value_l = load double* %3621, align 1
  %3622 = fcmp oge double %_rtP__Constant_Value_n0, %_rtP__Constant_Value_l
  %3623 = zext i1 %3622 to i8
  %_rtB_8063 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %3624 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_8063, i32 0, i32 850
  store i8 %3623, i8* %3624, align 1
  %vm_ssIsMajorTimeStepVar1_8064 = load i32* %vm_ssIsMajorTimeStepVar1_, align 1
  %3625 = icmp eq i32 %vm_ssIsMajorTimeStepVar1_8064, 0
  br i1 %3625, label %false2014, label %true2015

false2014:                                        ; preds = %false2018, %true2019, %false2024, %true2017, %true2013, %false2006
  %_rtDW_8076 = load %DW_REVS_VM_T.16** %_rtDW_, align 1
  %3626 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_8076, i32 0, i32 1066
  %_rtDW__Subsystem_MODE_gq8077 = load i8* %3626, align 1
  %3627 = and i8 %_rtDW__Subsystem_MODE_gq8077, 1
  %3628 = icmp eq i8 %3627, 0
  br i1 %3628, label %false2026, label %true2025

true2015:                                         ; preds = %true2013
  %_rtB_8065 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %3629 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_8065, i32 0, i32 850
  %_rtB__Compare_ob = load i8* %3629, align 1
  %3630 = and i8 %_rtB__Compare_ob, 1
  %3631 = icmp eq i8 %3630, 0
  %_rtDW_8066 = load %DW_REVS_VM_T.16** %_rtDW_, align 1
  %3632 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_8066, i32 0, i32 1066
  %_rtDW__Subsystem_MODE_gq8067 = load i8* %3632, align 1
  %3633 = and i8 %_rtDW__Subsystem_MODE_gq8067, 1
  %3634 = icmp eq i8 %3633, 0
  br i1 %3631, label %false2018, label %true2017

true2017:                                         ; preds = %true2015
  br i1 %3634, label %true2021, label %false2014

false2018:                                        ; preds = %true2015
  br i1 %3634, label %false2014, label %true2019

true2019:                                         ; preds = %false2018
  %"%<tSimStruct>_8068" = load i8** %"%<tSimStruct>_", align 1
  call void @vm_ssSetSolverNeedsReset(i8* %"%<tSimStruct>_8068")
  %_rtDW_8069 = load %DW_REVS_VM_T.16** %_rtDW_, align 1
  %3635 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_8069, i32 0, i32 1066
  store i8 0, i8* %3635, align 1
  br label %false2014

true2021:                                         ; preds = %true2017
  %vm_ssGetTaskTimeVar2_8072 = load double* %vm_ssGetTaskTimeVar2_, align 1
  %vm_ssGetTStartVar3_8073 = load double* %vm_ssGetTStartVar3_, align 1
  %3636 = fcmp une double %vm_ssGetTaskTimeVar2_8072, %vm_ssGetTStartVar3_8073
  br i1 %3636, label %true2023, label %false2024

true2023:                                         ; preds = %true2021
  %"%<tSimStruct>_8074" = load i8** %"%<tSimStruct>_", align 1
  call void @vm_ssSetSolverNeedsReset(i8* %"%<tSimStruct>_8074")
  %_rtDW_8075.pre = load %DW_REVS_VM_T.16** %_rtDW_, align 1
  br label %false2024

false2024:                                        ; preds = %true2023, %true2021
  %_rtDW_8075 = phi %DW_REVS_VM_T.16* [ %_rtDW_8075.pre, %true2023 ], [ %_rtDW_8066, %true2021 ]
  %3637 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_8075, i32 0, i32 1066
  store i8 1, i8* %3637, align 1
  br label %false2014

true2025:                                         ; preds = %false2014
  %_rtB_8078 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %3638 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_8078, i32 0, i32 46
  %_rtB__u8079 = load double* %3638, align 1
  %tmp461 = fmul double %_rtB__u8079, %_rtB__u8079
  %3639 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_8078, i32 0, i32 469
  %_rtB__FinalDriveInertia8083 = load double* %3639, align 1
  %tmp462 = fmul double %tmp461, %_rtB__FinalDriveInertia8083
  %_rtP_8084 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %3640 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_8084, i32 0, i32 107
  %_rtP__onehalf_Gain_b = load double* %3640, align 1
  %tmp463 = fmul double %tmp462, %_rtP__onehalf_Gain_b
  %3641 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_8078, i32 0, i32 586
  store double %tmp463, double* %3641, align 1
  %vm_ssIsSampleHitVar0_8086 = load i32* %vm_ssIsSampleHitVar0_, align 1
  store i32 %vm_ssIsSampleHitVar0_8086, i32* %i_0_, align 1
  %3642 = icmp eq i32 %vm_ssIsSampleHitVar0_8086, 0
  br i1 %3642, label %false2028, label %true2027

false2026:                                        ; preds = %true2031, %false2030, %false2014
  %_rtB_8108 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %3643 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_8108, i32 0, i32 872, i32 2
  %_rtB__MechEnergyNmradps_p_Integrator1 = load double* %3643, align 1
  %3644 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_8108, i32 0, i32 871, i32 2
  %_rtB__MechEnergyNmradps_mq_Integrator1 = load double* %3644, align 1
  %tmp464 = fsub double %_rtB__MechEnergyNmradps_p_Integrator1, %_rtB__MechEnergyNmradps_mq_Integrator1
  store double %tmp464, double* %u0_0_, align 1
  %3645 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_8108, i32 0, i32 871, i32 0
  %_rtB__MechEnergyNmradps_mq_Gain = load double* %3645, align 1
  %3646 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_8108, i32 0, i32 872, i32 0
  %_rtB__MechEnergyNmradps_p_Gain = load double* %3646, align 1
  %tmp465 = fsub double %_rtB__MechEnergyNmradps_mq_Gain, %_rtB__MechEnergyNmradps_p_Gain
  store double %tmp465, double* %u0_, align 1
  %_rtP_8113 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %3647 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_8113, i32 0, i32 112
  %_rtP__Pos_UpperSat_m = load double* %3647, align 1
  %3648 = fcmp ogt double %tmp464, %_rtP__Pos_UpperSat_m
  br i1 %3648, label %true2033, label %false2034

true2027:                                         ; preds = %true2025
  %"%<tSimStruct>_8088" = load i8** %"%<tSimStruct>_", align 1
  call void @vm_ssCallAccelRunBlock(i8* %"%<tSimStruct>_8088", i32 205, i32 3, i32 104)
  br label %false2028

false2028:                                        ; preds = %true2025, %true2027
  %"%<tSimStruct>_8089" = load i8** %"%<tSimStruct>_", align 1
  %_rtB_8090 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %3649 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_8090, i32 0, i32 467
  %_rtB__Product_ow8091 = load double* %3649, align 1
  %3650 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_8090, i32 0, i32 46
  %_rtB__u8093 = load double* %3650, align 1
  %3651 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_8090, i32 0, i32 871
  %_rtP_8095 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %3652 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_8095, i32 0, i32 1555
  %_rtX_8096 = load %X_REVS_VM_T.18** %_rtX_, align 1
  %3653 = getelementptr inbounds %X_REVS_VM_T.18* %_rtX_8096, i32 0, i32 86
  call void @REVS_VM_MechEnergyNmradps(i8* %"%<tSimStruct>_8089", double %_rtB__Product_ow8091, double %_rtB__u8093, %B_MechEnergyNmradps_REVS_VM_T.4* %3651, %P_MechEnergyNmradps_REVS_VM_T.6* %3652, %X_MechEnergyNmradps_REVS_VM_T.7* %3653)
  %vm_ssIsSampleHitVar0_8097 = load i32* %vm_ssIsSampleHitVar0_, align 1
  store i32 %vm_ssIsSampleHitVar0_8097, i32* %i_0_, align 1
  %3654 = icmp eq i32 %vm_ssIsSampleHitVar0_8097, 0
  br i1 %3654, label %false2030, label %true2029

true2029:                                         ; preds = %false2028
  %"%<tSimStruct>_8099" = load i8** %"%<tSimStruct>_", align 1
  call void @vm_ssCallAccelRunBlock(i8* %"%<tSimStruct>_8099", i32 205, i32 5, i32 104)
  %"%<tSimStruct>_8100" = load i8** %"%<tSimStruct>_", align 1
  call void @vm_ssCallAccelRunBlock(i8* %"%<tSimStruct>_8100", i32 205, i32 6, i32 104)
  %"%<tSimStruct>_8101" = load i8** %"%<tSimStruct>_", align 1
  call void @vm_ssCallAccelRunBlock(i8* %"%<tSimStruct>_8101", i32 205, i32 7, i32 104)
  %"%<tSimStruct>_8102" = load i8** %"%<tSimStruct>_", align 1
  call void @vm_ssCallAccelRunBlock(i8* %"%<tSimStruct>_8102", i32 205, i32 8, i32 104)
  %"%<tSimStruct>_8103" = load i8** %"%<tSimStruct>_", align 1
  call void @vm_ssCallAccelRunBlock(i8* %"%<tSimStruct>_8103", i32 205, i32 9, i32 104)
  %"%<tSimStruct>_8104" = load i8** %"%<tSimStruct>_", align 1
  call void @vm_ssCallAccelRunBlock(i8* %"%<tSimStruct>_8104", i32 205, i32 10, i32 104)
  %"%<tSimStruct>_8105" = load i8** %"%<tSimStruct>_", align 1
  call void @vm_ssCallAccelRunBlock(i8* %"%<tSimStruct>_8105", i32 205, i32 11, i32 104)
  br label %false2030

false2030:                                        ; preds = %false2028, %true2029
  %vm_ssIsMajorTimeStepVar1_8106 = load i32* %vm_ssIsMajorTimeStepVar1_, align 1
  %3655 = icmp eq i32 %vm_ssIsMajorTimeStepVar1_8106, 0
  br i1 %3655, label %false2026, label %true2031

true2031:                                         ; preds = %false2030
  %_rtDW_8107 = load %DW_REVS_VM_T.16** %_rtDW_, align 1
  %3656 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_8107, i32 0, i32 1009
  call void @vm_srUpdateBC(i8* %3656)
  br label %false2026

true2033:                                         ; preds = %false2026
  store double %_rtP__Pos_UpperSat_m, double* %u0_0_, align 1
  br label %merge2742

false2034:                                        ; preds = %false2026
  %3657 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_8113, i32 0, i32 113
  %_rtP__Pos_LowerSat_m = load double* %3657, align 1
  %3658 = fcmp olt double %tmp464, %_rtP__Pos_LowerSat_m
  br i1 %3658, label %true2035, label %merge2742

true2035:                                         ; preds = %false2034
  store double %_rtP__Pos_LowerSat_m, double* %u0_0_, align 1
  br label %merge2742

true2037:                                         ; preds = %merge2742
  store double %_rtP__Pos2_UpperSat_o, double* %u0_, align 1
  br label %merge2743

false2038:                                        ; preds = %merge2742
  %3659 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_8113, i32 0, i32 115
  %_rtP__Pos2_LowerSat_ak = load double* %3659, align 1
  %3660 = fcmp olt double %tmp465, %_rtP__Pos2_LowerSat_ak
  br i1 %3660, label %true2039, label %merge2743

true2039:                                         ; preds = %false2038
  store double %_rtP__Pos2_LowerSat_ak, double* %u0_, align 1
  br label %merge2743

true2041:                                         ; preds = %merge2743
  %"%<tSimStruct>_8133" = load i8** %"%<tSimStruct>_", align 1
  call void @vm_ssCallAccelRunBlock(i8* %"%<tSimStruct>_8133", i32 206, i32 13, i32 104)
  br label %false2042

false2042:                                        ; preds = %merge2743, %true2041
  %vm_ssIsMajorTimeStepVar1_8134 = load i32* %vm_ssIsMajorTimeStepVar1_, align 1
  %3661 = icmp eq i32 %vm_ssIsMajorTimeStepVar1_8134, 0
  br i1 %3661, label %false1992, label %true2043

true2043:                                         ; preds = %false2042
  %_rtDW_8135 = load %DW_REVS_VM_T.16** %_rtDW_, align 1
  %3662 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_8135, i32 0, i32 983
  call void @vm_srUpdateBC(i8* %3662)
  br label %false1992

true2045:                                         ; preds = %false1992
  %_rtP_8138 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %3663 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_8138, i32 0, i32 1151
  %_rtP__TireInertiakgm2_Value = load double* %3663, align 1
  %_rtB_8139 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %3664 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_8139, i32 0, i32 481
  store double %_rtP__TireInertiakgm2_Value, double* %3664, align 1
  br label %false2046

false2046:                                        ; preds = %false1992, %true2045
  %_rtB_8140 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %3665 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_8140, i32 0, i32 478
  %_rtB__Sum_g = load double* %3665, align 1
  %3666 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_8140, i32 0, i32 43
  %_rtB__sateps8142 = load double* %3666, align 1
  %tmp467 = fdiv double %_rtB__Sum_g, %_rtB__sateps8142
  %3667 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_8140, i32 0, i32 482
  store double %tmp467, double* %3667, align 1
  %vm_ssIsSampleHitVar0_8144 = load i32* %vm_ssIsSampleHitVar0_, align 1
  store i32 %vm_ssIsSampleHitVar0_8144, i32* %i_0_, align 1
  %3668 = icmp eq i32 %vm_ssIsSampleHitVar0_8144, 0
  br i1 %3668, label %false2048, label %true2047

true2047:                                         ; preds = %false2046
  %_rtP_8146 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %3669 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_8146, i32 0, i32 1152
  %_rtP__zero_Value_g = load double* %3669, align 1
  %_rtB_8147 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %3670 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_8147, i32 0, i32 483
  store double %_rtP__zero_Value_g, double* %3670, align 1
  %_rtP_8148 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %3671 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_8148, i32 0, i32 1153
  %_rtP__Constant_Value_j5 = load double* %3671, align 1
  %3672 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_8148, i32 0, i32 1154
  %_rtP__Constant_Value_aa = load double* %3672, align 1
  %3673 = fcmp oge double %_rtP__Constant_Value_j5, %_rtP__Constant_Value_aa
  %3674 = zext i1 %3673 to i8
  %_rtB_8150 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %3675 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_8150, i32 0, i32 811
  store i8 %3674, i8* %3675, align 1
  %vm_ssIsMajorTimeStepVar1_8151 = load i32* %vm_ssIsMajorTimeStepVar1_, align 1
  %3676 = icmp eq i32 %vm_ssIsMajorTimeStepVar1_8151, 0
  br i1 %3676, label %false2048, label %true2049

false2048:                                        ; preds = %false2052, %false2058, %false2062, %true2051, %true2047, %false2046
  %_rtDW_8166 = load %DW_REVS_VM_T.16** %_rtDW_, align 1
  %3677 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_8166, i32 0, i32 1056
  %_rtDW__Subsystem_MODE_a08167 = load i8* %3677, align 1
  %3678 = and i8 %_rtDW__Subsystem_MODE_a08167, 1
  %3679 = icmp eq i8 %3678, 0
  br i1 %3679, label %false2064, label %true2063

true2049:                                         ; preds = %true2047
  %_rtB_8152 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %3680 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_8152, i32 0, i32 811
  %_rtB__Compare_c5 = load i8* %3680, align 1
  %3681 = and i8 %_rtB__Compare_c5, 1
  %3682 = icmp eq i8 %3681, 0
  %_rtDW_8153 = load %DW_REVS_VM_T.16** %_rtDW_, align 1
  %3683 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_8153, i32 0, i32 1056
  %_rtDW__Subsystem_MODE_a0 = load i8* %3683, align 1
  %3684 = and i8 %_rtDW__Subsystem_MODE_a0, 1
  %3685 = icmp eq i8 %3684, 0
  br i1 %3682, label %false2052, label %true2051

true2051:                                         ; preds = %true2049
  br i1 %3685, label %true2059, label %false2048

false2052:                                        ; preds = %true2049
  br i1 %3685, label %false2048, label %true2053

true2053:                                         ; preds = %false2052
  %"%<tSimStruct>_8154" = load i8** %"%<tSimStruct>_", align 1
  call void @vm_ssSetSolverNeedsReset(i8* %"%<tSimStruct>_8154")
  %_rtDW_8155 = load %DW_REVS_VM_T.16** %_rtDW_, align 1
  %3686 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_8155, i32 0, i32 1063
  %_rtDW__Subsystem_MODE_oq = load i8* %3686, align 1
  %3687 = and i8 %_rtDW__Subsystem_MODE_oq, 1
  %3688 = icmp eq i8 %3687, 0
  br i1 %3688, label %false2056, label %true2055

true2055:                                         ; preds = %true2053
  store i8 0, i8* %3686, align 1
  %_rtDW_8157.pre = load %DW_REVS_VM_T.16** %_rtDW_, align 1
  br label %false2056

false2056:                                        ; preds = %true2053, %true2055
  %_rtDW_8158 = phi %DW_REVS_VM_T.16* [ %_rtDW_8155, %true2053 ], [ %_rtDW_8157.pre, %true2055 ]
  %3689 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_8158, i32 0, i32 1064
  %_rtDW__Subsystem_MODE_pj = load i8* %3689, align 1
  %3690 = and i8 %_rtDW__Subsystem_MODE_pj, 1
  %3691 = icmp eq i8 %3690, 0
  br i1 %3691, label %false2058, label %true2057

true2057:                                         ; preds = %false2056
  store i8 0, i8* %3689, align 1
  %_rtDW_8159.pre = load %DW_REVS_VM_T.16** %_rtDW_, align 1
  br label %false2058

false2058:                                        ; preds = %false2056, %true2057
  %_rtDW_8159 = phi %DW_REVS_VM_T.16* [ %_rtDW_8158, %false2056 ], [ %_rtDW_8159.pre, %true2057 ]
  %3692 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_8159, i32 0, i32 1056
  store i8 0, i8* %3692, align 1
  br label %false2048

true2059:                                         ; preds = %true2051
  %vm_ssGetTaskTimeVar2_8162 = load double* %vm_ssGetTaskTimeVar2_, align 1
  %vm_ssGetTStartVar3_8163 = load double* %vm_ssGetTStartVar3_, align 1
  %3693 = fcmp une double %vm_ssGetTaskTimeVar2_8162, %vm_ssGetTStartVar3_8163
  br i1 %3693, label %true2061, label %false2062

true2061:                                         ; preds = %true2059
  %"%<tSimStruct>_8164" = load i8** %"%<tSimStruct>_", align 1
  call void @vm_ssSetSolverNeedsReset(i8* %"%<tSimStruct>_8164")
  %_rtDW_8165.pre = load %DW_REVS_VM_T.16** %_rtDW_, align 1
  br label %false2062

false2062:                                        ; preds = %true2061, %true2059
  %_rtDW_8165 = phi %DW_REVS_VM_T.16* [ %_rtDW_8165.pre, %true2061 ], [ %_rtDW_8153, %true2059 ]
  %3694 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_8165, i32 0, i32 1056
  store i8 1, i8* %3694, align 1
  br label %false2048

true2063:                                         ; preds = %false2048
  %vm_ssIsSampleHitVar0_8168 = load i32* %vm_ssIsSampleHitVar0_, align 1
  store i32 %vm_ssIsSampleHitVar0_8168, i32* %i_0_, align 1
  %3695 = icmp eq i32 %vm_ssIsSampleHitVar0_8168, 0
  br i1 %3695, label %false2066, label %true2065

false2064:                                        ; preds = %true2125, %false2124, %false2048
  %vm_ssIsSampleHitVar0_8318 = load i32* %vm_ssIsSampleHitVar0_, align 1
  store i32 %vm_ssIsSampleHitVar0_8318, i32* %i_0_, align 1
  %3696 = icmp eq i32 %vm_ssIsSampleHitVar0_8318, 0
  br i1 %3696, label %false2128, label %true2127

true2065:                                         ; preds = %true2063
  %_rtP_8170 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %3697 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_8170, i32 0, i32 128
  %_rtP__Constant_Value_a = load double* %3697, align 1
  %3698 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_8170, i32 0, i32 129
  %_rtP__Constant_Value_ok = load double* %3698, align 1
  %3699 = fcmp oge double %_rtP__Constant_Value_a, %_rtP__Constant_Value_ok
  %3700 = zext i1 %3699 to i8
  %_rtB_8172 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %3701 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_8172, i32 0, i32 847
  store i8 %3700, i8* %3701, align 1
  %vm_ssIsMajorTimeStepVar1_8173 = load i32* %vm_ssIsMajorTimeStepVar1_, align 1
  %3702 = icmp eq i32 %vm_ssIsMajorTimeStepVar1_8173, 0
  br i1 %3702, label %false2068, label %true2067

false2066:                                        ; preds = %true2063, %false2068
  %_rtDW_8185 = phi %DW_REVS_VM_T.16* [ %_rtDW_8166, %true2063 ], [ %_rtDW_8185.pre, %false2068 ]
  %3703 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_8185, i32 0, i32 1063
  %_rtDW__Subsystem_MODE_oq8186 = load i8* %3703, align 1
  %3704 = and i8 %_rtDW__Subsystem_MODE_oq8186, 1
  %3705 = icmp eq i8 %3704, 0
  br i1 %3705, label %false2078, label %true2077

true2067:                                         ; preds = %true2065
  %_rtB_8174 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %3706 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_8174, i32 0, i32 847
  %_rtB__Compare_dx = load i8* %3706, align 1
  %3707 = and i8 %_rtB__Compare_dx, 1
  %3708 = icmp eq i8 %3707, 0
  %_rtDW_8175 = load %DW_REVS_VM_T.16** %_rtDW_, align 1
  %3709 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_8175, i32 0, i32 1063
  %_rtDW__Subsystem_MODE_oq8176 = load i8* %3709, align 1
  %3710 = and i8 %_rtDW__Subsystem_MODE_oq8176, 1
  %3711 = icmp eq i8 %3710, 0
  br i1 %3708, label %false2070, label %true2069

false2068:                                        ; preds = %false2070, %true2071, %false2076, %true2069, %true2065
  %_rtDW_8185.pre = load %DW_REVS_VM_T.16** %_rtDW_, align 1
  br label %false2066

true2069:                                         ; preds = %true2067
  br i1 %3711, label %true2073, label %false2068

false2070:                                        ; preds = %true2067
  br i1 %3711, label %false2068, label %true2071

true2071:                                         ; preds = %false2070
  %"%<tSimStruct>_8177" = load i8** %"%<tSimStruct>_", align 1
  call void @vm_ssSetSolverNeedsReset(i8* %"%<tSimStruct>_8177")
  %_rtDW_8178 = load %DW_REVS_VM_T.16** %_rtDW_, align 1
  %3712 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_8178, i32 0, i32 1063
  store i8 0, i8* %3712, align 1
  br label %false2068

true2073:                                         ; preds = %true2069
  %vm_ssGetTaskTimeVar2_8181 = load double* %vm_ssGetTaskTimeVar2_, align 1
  %vm_ssGetTStartVar3_8182 = load double* %vm_ssGetTStartVar3_, align 1
  %3713 = fcmp une double %vm_ssGetTaskTimeVar2_8181, %vm_ssGetTStartVar3_8182
  br i1 %3713, label %true2075, label %false2076

true2075:                                         ; preds = %true2073
  %"%<tSimStruct>_8183" = load i8** %"%<tSimStruct>_", align 1
  call void @vm_ssSetSolverNeedsReset(i8* %"%<tSimStruct>_8183")
  %_rtDW_8184.pre = load %DW_REVS_VM_T.16** %_rtDW_, align 1
  br label %false2076

false2076:                                        ; preds = %true2075, %true2073
  %_rtDW_8184 = phi %DW_REVS_VM_T.16* [ %_rtDW_8184.pre, %true2075 ], [ %_rtDW_8175, %true2073 ]
  %3714 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_8184, i32 0, i32 1063
  store i8 1, i8* %3714, align 1
  br label %false2068

true2077:                                         ; preds = %false2066
  %_rtB_8187 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %3715 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_8187, i32 0, i32 45
  %_rtB__Sum28188 = load double* %3715, align 1
  %tmp468 = fmul double %_rtB__Sum28188, %_rtB__Sum28188
  %3716 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_8187, i32 0, i32 481
  %_rtB__TireInertiakgm2 = load double* %3716, align 1
  %tmp469 = fmul double %tmp468, %_rtB__TireInertiakgm2
  %_rtP_8192 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %3717 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_8192, i32 0, i32 121
  %_rtP__onehalf_Gain_j = load double* %3717, align 1
  %tmp470 = fmul double %tmp469, %_rtP__onehalf_Gain_j
  %3718 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_8187, i32 0, i32 584
  store double %tmp470, double* %3718, align 1
  %vm_ssIsSampleHitVar0_8194 = load i32* %vm_ssIsSampleHitVar0_, align 1
  store i32 %vm_ssIsSampleHitVar0_8194, i32* %i_0_, align 1
  %3719 = icmp eq i32 %vm_ssIsSampleHitVar0_8194, 0
  br i1 %3719, label %false2080, label %true2079

false2078:                                        ; preds = %true2083, %false2082, %false2066
  %vm_ssIsSampleHitVar0_8216 = load i32* %vm_ssIsSampleHitVar0_, align 1
  store i32 %vm_ssIsSampleHitVar0_8216, i32* %i_0_, align 1
  %3720 = icmp eq i32 %vm_ssIsSampleHitVar0_8216, 0
  br i1 %3720, label %false2086, label %true2085

true2079:                                         ; preds = %true2077
  %"%<tSimStruct>_8196" = load i8** %"%<tSimStruct>_", align 1
  call void @vm_ssCallAccelRunBlock(i8* %"%<tSimStruct>_8196", i32 209, i32 3, i32 104)
  br label %false2080

false2080:                                        ; preds = %true2077, %true2079
  %"%<tSimStruct>_8197" = load i8** %"%<tSimStruct>_", align 1
  %_rtB_8198 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %3721 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_8198, i32 0, i32 478
  %_rtB__Sum_g8199 = load double* %3721, align 1
  %3722 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_8198, i32 0, i32 45
  %_rtB__Sum28201 = load double* %3722, align 1
  %3723 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_8198, i32 0, i32 870
  %_rtP_8203 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %3724 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_8203, i32 0, i32 1554
  %_rtX_8204 = load %X_REVS_VM_T.18** %_rtX_, align 1
  %3725 = getelementptr inbounds %X_REVS_VM_T.18* %_rtX_8204, i32 0, i32 85
  call void @REVS_VM_MechEnergyNmradps(i8* %"%<tSimStruct>_8197", double %_rtB__Sum_g8199, double %_rtB__Sum28201, %B_MechEnergyNmradps_REVS_VM_T.4* %3723, %P_MechEnergyNmradps_REVS_VM_T.6* %3724, %X_MechEnergyNmradps_REVS_VM_T.7* %3725)
  %vm_ssIsSampleHitVar0_8205 = load i32* %vm_ssIsSampleHitVar0_, align 1
  store i32 %vm_ssIsSampleHitVar0_8205, i32* %i_0_, align 1
  %3726 = icmp eq i32 %vm_ssIsSampleHitVar0_8205, 0
  br i1 %3726, label %false2082, label %true2081

true2081:                                         ; preds = %false2080
  %"%<tSimStruct>_8207" = load i8** %"%<tSimStruct>_", align 1
  call void @vm_ssCallAccelRunBlock(i8* %"%<tSimStruct>_8207", i32 209, i32 5, i32 104)
  %"%<tSimStruct>_8208" = load i8** %"%<tSimStruct>_", align 1
  call void @vm_ssCallAccelRunBlock(i8* %"%<tSimStruct>_8208", i32 209, i32 6, i32 104)
  %"%<tSimStruct>_8209" = load i8** %"%<tSimStruct>_", align 1
  call void @vm_ssCallAccelRunBlock(i8* %"%<tSimStruct>_8209", i32 209, i32 7, i32 104)
  %"%<tSimStruct>_8210" = load i8** %"%<tSimStruct>_", align 1
  call void @vm_ssCallAccelRunBlock(i8* %"%<tSimStruct>_8210", i32 209, i32 8, i32 104)
  %"%<tSimStruct>_8211" = load i8** %"%<tSimStruct>_", align 1
  call void @vm_ssCallAccelRunBlock(i8* %"%<tSimStruct>_8211", i32 209, i32 9, i32 104)
  %"%<tSimStruct>_8212" = load i8** %"%<tSimStruct>_", align 1
  call void @vm_ssCallAccelRunBlock(i8* %"%<tSimStruct>_8212", i32 209, i32 10, i32 104)
  %"%<tSimStruct>_8213" = load i8** %"%<tSimStruct>_", align 1
  call void @vm_ssCallAccelRunBlock(i8* %"%<tSimStruct>_8213", i32 209, i32 11, i32 104)
  br label %false2082

false2082:                                        ; preds = %false2080, %true2081
  %vm_ssIsMajorTimeStepVar1_8214 = load i32* %vm_ssIsMajorTimeStepVar1_, align 1
  %3727 = icmp eq i32 %vm_ssIsMajorTimeStepVar1_8214, 0
  br i1 %3727, label %false2078, label %true2083

true2083:                                         ; preds = %false2082
  %_rtDW_8215 = load %DW_REVS_VM_T.16** %_rtDW_, align 1
  %3728 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_8215, i32 0, i32 1006
  call void @vm_srUpdateBC(i8* %3728)
  br label %false2078

true2085:                                         ; preds = %false2078
  %_rtP_8218 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %3729 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_8218, i32 0, i32 130
  %_rtP__Constant_Value_lv = load double* %3729, align 1
  %3730 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_8218, i32 0, i32 131
  %_rtP__Constant_Value_cp = load double* %3730, align 1
  %3731 = fcmp oge double %_rtP__Constant_Value_lv, %_rtP__Constant_Value_cp
  %3732 = zext i1 %3731 to i8
  %_rtB_8220 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %3733 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_8220, i32 0, i32 848
  store i8 %3732, i8* %3733, align 1
  %vm_ssIsMajorTimeStepVar1_8221 = load i32* %vm_ssIsMajorTimeStepVar1_, align 1
  %3734 = icmp eq i32 %vm_ssIsMajorTimeStepVar1_8221, 0
  br i1 %3734, label %false2086, label %true2087

false2086:                                        ; preds = %false2090, %true2091, %false2096, %true2089, %true2085, %false2078
  %_rtDW_8233 = load %DW_REVS_VM_T.16** %_rtDW_, align 1
  %3735 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_8233, i32 0, i32 1064
  %_rtDW__Subsystem_MODE_pj8234 = load i8* %3735, align 1
  %3736 = and i8 %_rtDW__Subsystem_MODE_pj8234, 1
  %3737 = icmp eq i8 %3736, 0
  br i1 %3737, label %false2098, label %true2097

true2087:                                         ; preds = %true2085
  %_rtB_8222 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %3738 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_8222, i32 0, i32 848
  %_rtB__Compare_pk = load i8* %3738, align 1
  %3739 = and i8 %_rtB__Compare_pk, 1
  %3740 = icmp eq i8 %3739, 0
  %_rtDW_8223 = load %DW_REVS_VM_T.16** %_rtDW_, align 1
  %3741 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_8223, i32 0, i32 1064
  %_rtDW__Subsystem_MODE_pj8224 = load i8* %3741, align 1
  %3742 = and i8 %_rtDW__Subsystem_MODE_pj8224, 1
  %3743 = icmp eq i8 %3742, 0
  br i1 %3740, label %false2090, label %true2089

true2089:                                         ; preds = %true2087
  br i1 %3743, label %true2093, label %false2086

false2090:                                        ; preds = %true2087
  br i1 %3743, label %false2086, label %true2091

true2091:                                         ; preds = %false2090
  %"%<tSimStruct>_8225" = load i8** %"%<tSimStruct>_", align 1
  call void @vm_ssSetSolverNeedsReset(i8* %"%<tSimStruct>_8225")
  %_rtDW_8226 = load %DW_REVS_VM_T.16** %_rtDW_, align 1
  %3744 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_8226, i32 0, i32 1064
  store i8 0, i8* %3744, align 1
  br label %false2086

true2093:                                         ; preds = %true2089
  %vm_ssGetTaskTimeVar2_8229 = load double* %vm_ssGetTaskTimeVar2_, align 1
  %vm_ssGetTStartVar3_8230 = load double* %vm_ssGetTStartVar3_, align 1
  %3745 = fcmp une double %vm_ssGetTaskTimeVar2_8229, %vm_ssGetTStartVar3_8230
  br i1 %3745, label %true2095, label %false2096

true2095:                                         ; preds = %true2093
  %"%<tSimStruct>_8231" = load i8** %"%<tSimStruct>_", align 1
  call void @vm_ssSetSolverNeedsReset(i8* %"%<tSimStruct>_8231")
  %_rtDW_8232.pre = load %DW_REVS_VM_T.16** %_rtDW_, align 1
  br label %false2096

false2096:                                        ; preds = %true2095, %true2093
  %_rtDW_8232 = phi %DW_REVS_VM_T.16* [ %_rtDW_8232.pre, %true2095 ], [ %_rtDW_8223, %true2093 ]
  %3746 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_8232, i32 0, i32 1064
  store i8 1, i8* %3746, align 1
  br label %false2086

true2097:                                         ; preds = %false2086
  %_rtB_8235 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %3747 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_8235, i32 0, i32 44
  %_rtB__Integrator_d8236 = load double* %3747, align 1
  %tmp471 = fmul double %_rtB__Integrator_d8236, %_rtB__Integrator_d8236
  %3748 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_8235, i32 0, i32 483
  %_rtB__zero_e = load double* %3748, align 1
  %tmp472 = fmul double %tmp471, %_rtB__zero_e
  %_rtP_8240 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %3749 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_8240, i32 0, i32 124
  %_rtP__onehalf_Gain_p = load double* %3749, align 1
  %tmp473 = fmul double %tmp472, %_rtP__onehalf_Gain_p
  %3750 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_8235, i32 0, i32 582
  store double %tmp473, double* %3750, align 1
  %vm_ssIsSampleHitVar0_8242 = load i32* %vm_ssIsSampleHitVar0_, align 1
  store i32 %vm_ssIsSampleHitVar0_8242, i32* %i_0_, align 1
  %3751 = icmp eq i32 %vm_ssIsSampleHitVar0_8242, 0
  br i1 %3751, label %false2100, label %true2099

false2098:                                        ; preds = %true2113, %false2112, %false2086
  %_rtB_8290 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %3752 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_8290, i32 0, i32 870, i32 2
  %_rtB__MechEnergyNmradps_lm_Integrator1 = load double* %3752, align 1
  %3753 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_8290, i32 0, i32 869, i32 2
  %_rtB__MechEnergyNmps_Integrator1 = load double* %3753, align 1
  %tmp474 = fsub double %_rtB__MechEnergyNmradps_lm_Integrator1, %_rtB__MechEnergyNmps_Integrator1
  store double %tmp474, double* %u0_0_, align 1
  %3754 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_8290, i32 0, i32 869, i32 0
  %_rtB__MechEnergyNmps_Gain = load double* %3754, align 1
  %3755 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_8290, i32 0, i32 870, i32 0
  %_rtB__MechEnergyNmradps_lm_Gain = load double* %3755, align 1
  %tmp475 = fsub double %_rtB__MechEnergyNmps_Gain, %_rtB__MechEnergyNmradps_lm_Gain
  store double %tmp475, double* %u0_, align 1
  %_rtP_8295 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %3756 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_8295, i32 0, i32 132
  %_rtP__Pos_UpperSat_o = load double* %3756, align 1
  %3757 = fcmp ogt double %tmp474, %_rtP__Pos_UpperSat_o
  br i1 %3757, label %true2115, label %false2116

true2099:                                         ; preds = %true2097
  %"%<tSimStruct>_8244" = load i8** %"%<tSimStruct>_", align 1
  call void @vm_ssCallAccelRunBlock(i8* %"%<tSimStruct>_8244", i32 211, i32 3, i32 104)
  br label %false2100

false2100:                                        ; preds = %true2097, %true2099
  %_rtX_8245 = load %X_REVS_VM_T.18** %_rtX_, align 1
  %3758 = getelementptr inbounds %X_REVS_VM_T.18* %_rtX_8245, i32 0, i32 83
  %_rtX__Integrator1_CSTATE_jc = load double* %3758, align 1
  %_rtP_8246 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %3759 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_8246, i32 0, i32 126
  %_rtP__Integrator1_UpperSat = load double* %3759, align 1
  %3760 = fcmp ult double %_rtX__Integrator1_CSTATE_jc, %_rtP__Integrator1_UpperSat
  br i1 %3760, label %false2102, label %true2101

true2101:                                         ; preds = %false2100
  %3761 = fcmp une double %_rtX__Integrator1_CSTATE_jc, %_rtP__Integrator1_UpperSat
  br i1 %3761, label %true2107, label %merge2747

false2102:                                        ; preds = %false2100
  %3762 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_8246, i32 0, i32 127
  %_rtP__Integrator1_LowerSat = load double* %3762, align 1
  %3763 = fcmp ole double %_rtX__Integrator1_CSTATE_jc, %_rtP__Integrator1_LowerSat
  %3764 = fcmp une double %_rtX__Integrator1_CSTATE_jc, %_rtP__Integrator1_LowerSat
  %or.cond10162 = and i1 %3763, %3764
  br i1 %or.cond10162, label %true2105, label %merge2747

true2105:                                         ; preds = %false2102
  store double %_rtP__Integrator1_LowerSat, double* %3758, align 1
  %"%<tSimStruct>_8257" = load i8** %"%<tSimStruct>_", align 1
  call void @vm_ssSetSolverNeedsReset(i8* %"%<tSimStruct>_8257")
  br label %merge2747

true2107:                                         ; preds = %true2101
  store double %_rtP__Integrator1_UpperSat, double* %3758, align 1
  %"%<tSimStruct>_8265" = load i8** %"%<tSimStruct>_", align 1
  call void @vm_ssSetSolverNeedsReset(i8* %"%<tSimStruct>_8265")
  br label %merge2747

true2109:                                         ; preds = %merge2747
  %"%<tSimStruct>_8271" = load i8** %"%<tSimStruct>_", align 1
  call void @vm_ssCallAccelRunBlock(i8* %"%<tSimStruct>_8271", i32 211, i32 5, i32 104)
  br label %false2110

false2110:                                        ; preds = %merge2747, %true2109
  %"%<tSimStruct>_8272" = load i8** %"%<tSimStruct>_", align 1
  %_rtB_8273 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %3765 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_8273, i32 0, i32 482
  %_rtB__Product1_m = load double* %3765, align 1
  %3766 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_8273, i32 0, i32 44
  %_rtB__Integrator_d8275 = load double* %3766, align 1
  %3767 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_8273, i32 0, i32 869
  %_rtP_8277 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %3768 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_8277, i32 0, i32 1553
  %_rtX_8278 = load %X_REVS_VM_T.18** %_rtX_, align 1
  %3769 = getelementptr inbounds %X_REVS_VM_T.18* %_rtX_8278, i32 0, i32 84
  call void @REVS_VM_MechEnergyNmps(i8* %"%<tSimStruct>_8272", double %_rtB__Product1_m, double %_rtB__Integrator_d8275, %B_MechEnergyNmps_REVS_VM_T.8* %3767, %P_MechEnergyNmps_REVS_VM_T.10* %3768, %X_MechEnergyNmps_REVS_VM_T.11* %3769)
  %vm_ssIsSampleHitVar0_8279 = load i32* %vm_ssIsSampleHitVar0_, align 1
  store i32 %vm_ssIsSampleHitVar0_8279, i32* %i_0_, align 1
  %3770 = icmp eq i32 %vm_ssIsSampleHitVar0_8279, 0
  br i1 %3770, label %false2112, label %true2111

true2111:                                         ; preds = %false2110
  %"%<tSimStruct>_8281" = load i8** %"%<tSimStruct>_", align 1
  call void @vm_ssCallAccelRunBlock(i8* %"%<tSimStruct>_8281", i32 211, i32 7, i32 104)
  %"%<tSimStruct>_8282" = load i8** %"%<tSimStruct>_", align 1
  call void @vm_ssCallAccelRunBlock(i8* %"%<tSimStruct>_8282", i32 211, i32 8, i32 104)
  %"%<tSimStruct>_8283" = load i8** %"%<tSimStruct>_", align 1
  call void @vm_ssCallAccelRunBlock(i8* %"%<tSimStruct>_8283", i32 211, i32 9, i32 104)
  %"%<tSimStruct>_8284" = load i8** %"%<tSimStruct>_", align 1
  call void @vm_ssCallAccelRunBlock(i8* %"%<tSimStruct>_8284", i32 211, i32 10, i32 104)
  %"%<tSimStruct>_8285" = load i8** %"%<tSimStruct>_", align 1
  call void @vm_ssCallAccelRunBlock(i8* %"%<tSimStruct>_8285", i32 211, i32 11, i32 104)
  %"%<tSimStruct>_8286" = load i8** %"%<tSimStruct>_", align 1
  call void @vm_ssCallAccelRunBlock(i8* %"%<tSimStruct>_8286", i32 211, i32 12, i32 104)
  %"%<tSimStruct>_8287" = load i8** %"%<tSimStruct>_", align 1
  call void @vm_ssCallAccelRunBlock(i8* %"%<tSimStruct>_8287", i32 211, i32 13, i32 104)
  br label %false2112

false2112:                                        ; preds = %false2110, %true2111
  %vm_ssIsMajorTimeStepVar1_8288 = load i32* %vm_ssIsMajorTimeStepVar1_, align 1
  %3771 = icmp eq i32 %vm_ssIsMajorTimeStepVar1_8288, 0
  br i1 %3771, label %false2098, label %true2113

true2113:                                         ; preds = %false2112
  %_rtDW_8289 = load %DW_REVS_VM_T.16** %_rtDW_, align 1
  %3772 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_8289, i32 0, i32 1007
  call void @vm_srUpdateBC(i8* %3772)
  br label %false2098

true2115:                                         ; preds = %false2098
  store double %_rtP__Pos_UpperSat_o, double* %u0_0_, align 1
  br label %merge2748

false2116:                                        ; preds = %false2098
  %3773 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_8295, i32 0, i32 133
  %_rtP__Pos_LowerSat_k = load double* %3773, align 1
  %3774 = fcmp olt double %tmp474, %_rtP__Pos_LowerSat_k
  br i1 %3774, label %true2117, label %merge2748

true2117:                                         ; preds = %false2116
  store double %_rtP__Pos_LowerSat_k, double* %u0_0_, align 1
  br label %merge2748

true2119:                                         ; preds = %merge2748
  store double %_rtP__Pos2_UpperSat_ol, double* %u0_, align 1
  br label %merge2749

false2120:                                        ; preds = %merge2748
  %3775 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_8295, i32 0, i32 135
  %_rtP__Pos2_LowerSat_n = load double* %3775, align 1
  %3776 = fcmp olt double %tmp475, %_rtP__Pos2_LowerSat_n
  br i1 %3776, label %true2121, label %merge2749

true2121:                                         ; preds = %false2120
  store double %_rtP__Pos2_LowerSat_n, double* %u0_, align 1
  br label %merge2749

true2123:                                         ; preds = %merge2749
  %"%<tSimStruct>_8315" = load i8** %"%<tSimStruct>_", align 1
  call void @vm_ssCallAccelRunBlock(i8* %"%<tSimStruct>_8315", i32 212, i32 13, i32 104)
  br label %false2124

false2124:                                        ; preds = %merge2749, %true2123
  %vm_ssIsMajorTimeStepVar1_8316 = load i32* %vm_ssIsMajorTimeStepVar1_, align 1
  %3777 = icmp eq i32 %vm_ssIsMajorTimeStepVar1_8316, 0
  br i1 %3777, label %false2064, label %true2125

true2125:                                         ; preds = %false2124
  %_rtDW_8317 = load %DW_REVS_VM_T.16** %_rtDW_, align 1
  %3778 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_8317, i32 0, i32 984
  call void @vm_srUpdateBC(i8* %3778)
  br label %false2064

true2127:                                         ; preds = %false2064
  %_rtP_8320 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %3779 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_8320, i32 0, i32 1155
  %_rtP__Constant_Value_a4 = load double* %3779, align 1
  %_rtB_8321 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %3780 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_8321, i32 0, i32 484
  store double %_rtP__Constant_Value_a4, double* %3780, align 1
  %_rtP_8322 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %3781 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_8322, i32 0, i32 1528
  %_rtP__const_Value = load i8* %3781, align 1
  %_rtB_8323 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %3782 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_8323, i32 0, i32 812
  store i8 %_rtP__const_Value, i8* %3782, align 1
  %_rtDW_8324 = load %DW_REVS_VM_T.16** %_rtDW_, align 1
  %3783 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_8324, i32 0, i32 115
  %_rtDW__Memory_56_PreviousInput = load double* %3783, align 1
  store double %_rtDW__Memory_56_PreviousInput, double* %rtb_drive_cycle_grade_pct_, align 1
  %_rtP_8325 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %3784 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_8325, i32 0, i32 1157
  %_rtP__gradetonorm_Gain = load double* %3784, align 1
  %tmp477 = fmul double %_rtP__gradetonorm_Gain, %_rtDW__Memory_56_PreviousInput
  %3785 = call double @muDoubleScalarAtan(double %tmp477)
  %3786 = call double @muDoubleScalarCos(double %3785)
  %_rtB_8328 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %3787 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_8328, i32 0, i32 485
  store double %3786, double* %3787, align 1
  %_rtP_8329 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %3788 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_8329, i32 0, i32 1158
  %_rtP__GravitationalAccelerationmsec21_Value = load double* %3788, align 1
  %_rtB_8330 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %3789 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_8330, i32 0, i32 486
  store double %_rtP__GravitationalAccelerationmsec21_Value, double* %3789, align 1
  %_rtP_8331 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %3790 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_8331, i32 0, i32 1529
  %_rtP__ExtrapAbove_Value_ba = load i8* %3790, align 1
  %3791 = and i8 %_rtP__ExtrapAbove_Value_ba, 1
  %3792 = icmp eq i8 %3791, 0
  br i1 %3792, label %false2130, label %true2129

false2128:                                        ; preds = %false2064, %merge2750
  %_rtB_8351 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %3793 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_8351, i32 0, i32 812
  %_rtB__const_n = load i8* %3793, align 1
  %3794 = and i8 %_rtB__const_n, 1
  %3795 = icmp eq i8 %3794, 0
  br i1 %3795, label %false2134, label %true2133

true2129:                                         ; preds = %true2127
  %3796 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_8331, i32 0, i32 141
  br label %merge2750

false2130:                                        ; preds = %true2127
  %3797 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_8331, i32 0, i32 1330
  %_rtP__MaxIndices_Value = load i32* %3797, align 1
  %3798 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_8331, i32 0, i32 1159, i32 %_rtP__MaxIndices_Value
  br label %merge2750

true2133:                                         ; preds = %false2128
  %3799 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_8351, i32 0, i32 484
  %_rtB__Constant_cf = load double* %3799, align 1
  %3800 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_8351, i32 0, i32 489
  store double %_rtB__Constant_cf, double* %3800, align 1
  br label %merge2752

false2134:                                        ; preds = %false2128
  %3801 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_8351, i32 0, i32 44
  %_rtB__Integrator_d8353 = load double* %3801, align 1
  %_rtP_8354 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %3802 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_8354, i32 0, i32 117, i32 0
  %3803 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_8354, i32 0, i32 116, i32 0
  %_rtDW_8356 = load %DW_REVS_VM_T.16** %_rtDW_, align 1
  %3804 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_8356, i32 0, i32 827
  %3805 = call double @look1_pbinlcapw(double %_rtB__Integrator_d8353, double* %3802, double* %3803, i32* %3804, i32 2)
  store double %3805, double* %rtb_Sign_m_, align 1
  %_rtB_8357 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %3806 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_8357, i32 0, i32 485
  %_rtB__TrigonometricFunction3 = load double* %3806, align 1
  %3807 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_8357, i32 0, i32 486
  %_rtB__GravitationalAccelerationmsec21 = load double* %3807, align 1
  %tmp480 = fmul double %_rtB__TrigonometricFunction3, %_rtB__GravitationalAccelerationmsec21
  %3808 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_8357, i32 0, i32 487
  %_rtB__Sum_fz = load double* %3808, align 1
  %tmp481 = fmul double %tmp480, %_rtB__Sum_fz
  %tmp482 = fmul double %tmp481, %3805
  %3809 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_8357, i32 0, i32 488
  %_rtB__VehicleWeightFraction = load double* %3809, align 1
  %tmp483 = fmul double %tmp482, %_rtB__VehicleWeightFraction
  %_rtP_8362 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %3810 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_8362, i32 0, i32 118
  %_rtP__Gain_Gain_j = load double* %3810, align 1
  %tmp484 = fmul double %tmp483, %_rtP__Gain_Gain_j
  %3811 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_8357, i32 0, i32 489
  store double %tmp484, double* %3811, align 1
  br label %merge2752

true2135:                                         ; preds = %merge2752
  %_rtP_8368 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %3812 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_8368, i32 0, i32 1165
  %_rtP__Constant_Value_i1z = load double* %3812, align 1
  %3813 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_8368, i32 0, i32 1166
  %_rtP__Constant_Value_e3 = load double* %3813, align 1
  %3814 = fcmp oge double %_rtP__Constant_Value_i1z, %_rtP__Constant_Value_e3
  %3815 = zext i1 %3814 to i8
  %_rtB_8370 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %3816 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_8370, i32 0, i32 813
  store i8 %3815, i8* %3816, align 1
  %vm_ssIsMajorTimeStepVar1_8371 = load i32* %vm_ssIsMajorTimeStepVar1_, align 1
  %3817 = icmp eq i32 %vm_ssIsMajorTimeStepVar1_8371, 0
  br i1 %3817, label %false2136, label %true2137

false2136:                                        ; preds = %false2140, %true2141, %false2146, %true2139, %true2135, %merge2752
  %_rtDW_8382 = load %DW_REVS_VM_T.16** %_rtDW_, align 1
  %3818 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_8382, i32 0, i32 1057
  %_rtDW__Subsystem_MODE_ac8383 = load i8* %3818, align 1
  %3819 = and i8 %_rtDW__Subsystem_MODE_ac8383, 1
  %3820 = icmp eq i8 %3819, 0
  br i1 %3820, label %false2148, label %true2147

true2137:                                         ; preds = %true2135
  %_rtB_8372 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %3821 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_8372, i32 0, i32 813
  %_rtB__Compare_au = load i8* %3821, align 1
  %3822 = and i8 %_rtB__Compare_au, 1
  %3823 = icmp eq i8 %3822, 0
  %_rtDW_8373 = load %DW_REVS_VM_T.16** %_rtDW_, align 1
  %3824 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_8373, i32 0, i32 1057
  %_rtDW__Subsystem_MODE_ac = load i8* %3824, align 1
  %3825 = and i8 %_rtDW__Subsystem_MODE_ac, 1
  %3826 = icmp eq i8 %3825, 0
  br i1 %3823, label %false2140, label %true2139

true2139:                                         ; preds = %true2137
  br i1 %3826, label %true2143, label %false2136

false2140:                                        ; preds = %true2137
  br i1 %3826, label %false2136, label %true2141

true2141:                                         ; preds = %false2140
  %"%<tSimStruct>_8374" = load i8** %"%<tSimStruct>_", align 1
  call void @vm_ssSetSolverNeedsReset(i8* %"%<tSimStruct>_8374")
  %_rtDW_8375 = load %DW_REVS_VM_T.16** %_rtDW_, align 1
  %3827 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_8375, i32 0, i32 1057
  store i8 0, i8* %3827, align 1
  br label %false2136

true2143:                                         ; preds = %true2139
  %vm_ssGetTaskTimeVar2_8378 = load double* %vm_ssGetTaskTimeVar2_, align 1
  %vm_ssGetTStartVar3_8379 = load double* %vm_ssGetTStartVar3_, align 1
  %3828 = fcmp une double %vm_ssGetTaskTimeVar2_8378, %vm_ssGetTStartVar3_8379
  br i1 %3828, label %true2145, label %false2146

true2145:                                         ; preds = %true2143
  %"%<tSimStruct>_8380" = load i8** %"%<tSimStruct>_", align 1
  call void @vm_ssSetSolverNeedsReset(i8* %"%<tSimStruct>_8380")
  %_rtDW_8381.pre = load %DW_REVS_VM_T.16** %_rtDW_, align 1
  br label %false2146

false2146:                                        ; preds = %true2145, %true2143
  %_rtDW_8381 = phi %DW_REVS_VM_T.16* [ %_rtDW_8381.pre, %true2145 ], [ %_rtDW_8373, %true2143 ]
  %3829 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_8381, i32 0, i32 1057
  store i8 1, i8* %3829, align 1
  br label %false2136

true2147:                                         ; preds = %false2136
  %_rtX_8384 = load %X_REVS_VM_T.18** %_rtX_, align 1
  %3830 = getelementptr inbounds %X_REVS_VM_T.18* %_rtX_8384, i32 0, i32 81
  %_rtX__Integrator1_CSTATE_i1 = load double* %3830, align 1
  %_rtP_8385 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %3831 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_8385, i32 0, i32 137
  %_rtP__Integrator1_UpperSat_f = load double* %3831, align 1
  %3832 = fcmp ult double %_rtX__Integrator1_CSTATE_i1, %_rtP__Integrator1_UpperSat_f
  br i1 %3832, label %false2150, label %true2149

false2148:                                        ; preds = %true2161, %false2160, %false2136
  %_rtP_8428 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %3833 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_8428, i32 0, i32 1167
  %_rtP__normalize_Gain_e = load double* %3833, align 1
  %_rtB_8429 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %3834 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_8429, i32 0, i32 478
  %_rtB__Sum_g8430 = load double* %3834, align 1
  %tmp485 = fmul double %_rtP__normalize_Gain_e, %_rtB__Sum_g8430
  store double %tmp485, double* %u0_0_, align 1
  %3835 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_8428, i32 0, i32 1168
  %_rtP__u1_UpperSat_g = load double* %3835, align 1
  %3836 = fcmp ogt double %tmp485, %_rtP__u1_UpperSat_g
  br i1 %3836, label %true2163, label %false2164

true2149:                                         ; preds = %true2147
  %3837 = fcmp une double %_rtX__Integrator1_CSTATE_i1, %_rtP__Integrator1_UpperSat_f
  br i1 %3837, label %true2155, label %merge2754

false2150:                                        ; preds = %true2147
  %3838 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_8385, i32 0, i32 138
  %_rtP__Integrator1_LowerSat_d = load double* %3838, align 1
  %3839 = fcmp ole double %_rtX__Integrator1_CSTATE_i1, %_rtP__Integrator1_LowerSat_d
  %3840 = fcmp une double %_rtX__Integrator1_CSTATE_i1, %_rtP__Integrator1_LowerSat_d
  %or.cond10163 = and i1 %3839, %3840
  br i1 %or.cond10163, label %true2153, label %merge2754

true2153:                                         ; preds = %false2150
  store double %_rtP__Integrator1_LowerSat_d, double* %3830, align 1
  %"%<tSimStruct>_8396" = load i8** %"%<tSimStruct>_", align 1
  call void @vm_ssSetSolverNeedsReset(i8* %"%<tSimStruct>_8396")
  br label %merge2754

true2155:                                         ; preds = %true2149
  store double %_rtP__Integrator1_UpperSat_f, double* %3830, align 1
  %"%<tSimStruct>_8404" = load i8** %"%<tSimStruct>_", align 1
  call void @vm_ssSetSolverNeedsReset(i8* %"%<tSimStruct>_8404")
  br label %merge2754

true2157:                                         ; preds = %merge2754
  %"%<tSimStruct>_8410" = load i8** %"%<tSimStruct>_", align 1
  call void @vm_ssCallAccelRunBlock(i8* %"%<tSimStruct>_8410", i32 214, i32 1, i32 104)
  br label %false2158

false2158:                                        ; preds = %merge2754, %true2157
  %"%<tSimStruct>_8411" = load i8** %"%<tSimStruct>_", align 1
  %_rtB_8412 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %3841 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_8412, i32 0, i32 489
  %_rtB__roadloadsw = load double* %3841, align 1
  %3842 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_8412, i32 0, i32 44
  %_rtB__Integrator_d8414 = load double* %3842, align 1
  %3843 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_8412, i32 0, i32 868
  %_rtP_8416 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %3844 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_8416, i32 0, i32 1552
  %_rtX_8417 = load %X_REVS_VM_T.18** %_rtX_, align 1
  %3845 = getelementptr inbounds %X_REVS_VM_T.18* %_rtX_8417, i32 0, i32 82
  call void @REVS_VM_MechEnergyNmps(i8* %"%<tSimStruct>_8411", double %_rtB__roadloadsw, double %_rtB__Integrator_d8414, %B_MechEnergyNmps_REVS_VM_T.8* %3843, %P_MechEnergyNmps_REVS_VM_T.10* %3844, %X_MechEnergyNmps_REVS_VM_T.11* %3845)
  %vm_ssIsSampleHitVar0_8418 = load i32* %vm_ssIsSampleHitVar0_, align 1
  store i32 %vm_ssIsSampleHitVar0_8418, i32* %i_0_, align 1
  %3846 = icmp eq i32 %vm_ssIsSampleHitVar0_8418, 0
  br i1 %3846, label %false2160, label %true2159

true2159:                                         ; preds = %false2158
  %"%<tSimStruct>_8420" = load i8** %"%<tSimStruct>_", align 1
  call void @vm_ssCallAccelRunBlock(i8* %"%<tSimStruct>_8420", i32 214, i32 3, i32 104)
  %"%<tSimStruct>_8421" = load i8** %"%<tSimStruct>_", align 1
  call void @vm_ssCallAccelRunBlock(i8* %"%<tSimStruct>_8421", i32 214, i32 4, i32 104)
  %"%<tSimStruct>_8422" = load i8** %"%<tSimStruct>_", align 1
  call void @vm_ssCallAccelRunBlock(i8* %"%<tSimStruct>_8422", i32 214, i32 5, i32 104)
  %"%<tSimStruct>_8423" = load i8** %"%<tSimStruct>_", align 1
  call void @vm_ssCallAccelRunBlock(i8* %"%<tSimStruct>_8423", i32 214, i32 6, i32 104)
  %"%<tSimStruct>_8424" = load i8** %"%<tSimStruct>_", align 1
  call void @vm_ssCallAccelRunBlock(i8* %"%<tSimStruct>_8424", i32 214, i32 7, i32 104)
  %"%<tSimStruct>_8425" = load i8** %"%<tSimStruct>_", align 1
  call void @vm_ssCallAccelRunBlock(i8* %"%<tSimStruct>_8425", i32 214, i32 8, i32 104)
  br label %false2160

false2160:                                        ; preds = %false2158, %true2159
  %vm_ssIsMajorTimeStepVar1_8426 = load i32* %vm_ssIsMajorTimeStepVar1_, align 1
  %3847 = icmp eq i32 %vm_ssIsMajorTimeStepVar1_8426, 0
  br i1 %3847, label %false2148, label %true2161

true2161:                                         ; preds = %false2160
  %_rtDW_8427 = load %DW_REVS_VM_T.16** %_rtDW_, align 1
  %3848 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_8427, i32 0, i32 985
  call void @vm_srUpdateBC(i8* %3848)
  br label %false2148

true2163:                                         ; preds = %false2148
  store double %_rtP__u1_UpperSat_g, double* %u0_0_, align 1
  br label %merge2755

false2164:                                        ; preds = %false2148
  %3849 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_8428, i32 0, i32 1169
  %_rtP__u1_LowerSat_l = load double* %3849, align 1
  %3850 = fcmp olt double %tmp485, %_rtP__u1_LowerSat_l
  br i1 %3850, label %true2165, label %merge2755

true2165:                                         ; preds = %false2164
  store double %_rtP__u1_LowerSat_l, double* %u0_0_, align 1
  br label %merge2755

true2167:                                         ; preds = %merge2755
  %_rtP_8448 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %3851 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_8448, i32 0, i32 1173
  %_rtP__Constant_Value_oxc = load double* %3851, align 1
  %3852 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_8448, i32 0, i32 1174
  %_rtP__Constant1_Value_dc = load double* %3852, align 1
  %3853 = fcmp oge double %_rtP__Constant_Value_oxc, %_rtP__Constant1_Value_dc
  %3854 = zext i1 %3853 to i8
  %_rtB_8450 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %3855 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_8450, i32 0, i32 814
  store i8 %3854, i8* %3855, align 1
  %_rtB_8451 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %3856 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_8451, i32 0, i32 814
  %_rtB__RelationalOperator_cn = load i8* %3856, align 1
  %3857 = and i8 %_rtB__RelationalOperator_cn, 1
  %3858 = icmp eq i8 %3857, 0
  br i1 %3858, label %false2170, label %true2169

false2168:                                        ; preds = %merge2755, %false2170
  %vm_ssIsSampleHitVar0_8457 = phi i32 [ 0, %merge2755 ], [ %vm_ssIsSampleHitVar0_8457.pre, %false2170 ]
  store i32 %vm_ssIsSampleHitVar0_8457, i32* %i_0_, align 1
  %3859 = icmp eq i32 %vm_ssIsSampleHitVar0_8457, 0
  br i1 %3859, label %false2174, label %true2173

true2169:                                         ; preds = %true2167
  %"%<tSimStruct>_8452" = load i8** %"%<tSimStruct>_", align 1
  call void @vm_ssCallAccelRunBlock(i8* %"%<tSimStruct>_8452", i32 218, i32 0, i32 104)
  %vm_ssIsMajorTimeStepVar1_8453 = load i32* %vm_ssIsMajorTimeStepVar1_, align 1
  %3860 = icmp eq i32 %vm_ssIsMajorTimeStepVar1_8453, 0
  br i1 %3860, label %false2172, label %true2171

false2170:                                        ; preds = %true2167, %false2172
  %_rtB_8456 = phi %B_REVS_VM_T.12* [ %_rtB_8451, %true2167 ], [ %_rtB_8456.pre, %false2172 ]
  %_rtP_8455 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %3861 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_8455, i32 0, i32 1175
  %_rtP__Constant_Value_bv = load double* %3861, align 1
  %3862 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_8456, i32 0, i32 491
  store double %_rtP__Constant_Value_bv, double* %3862, align 1
  %vm_ssIsSampleHitVar0_8457.pre = load i32* %vm_ssIsSampleHitVar0_, align 1
  br label %false2168

true2171:                                         ; preds = %true2169
  %_rtDW_8454 = load %DW_REVS_VM_T.16** %_rtDW_, align 1
  %3863 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_8454, i32 0, i32 986
  call void @vm_srUpdateBC(i8* %3863)
  br label %false2172

false2172:                                        ; preds = %true2169, %true2171
  %_rtB_8456.pre = load %B_REVS_VM_T.12** %_rtB_, align 1
  br label %false2170

true2173:                                         ; preds = %false2168
  %_rtB_8459 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %3864 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_8459, i32 0, i32 43
  %_rtB__sateps8460 = load double* %3864, align 1
  %tmp487 = fmul double %_rtB__sateps8460, %_rtB__sateps8460
  %3865 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_8459, i32 0, i32 492
  store double %tmp487, double* %3865, align 1
  br label %false2174

false2174:                                        ; preds = %false2168, %true2173
  %_rtB_8464 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %3866 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_8464, i32 0, i32 492
  %_rtB__MathFunction_p = load double* %3866, align 1
  %tmp488 = fdiv double 1.000000e+00, %_rtB__MathFunction_p
  %3867 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_8464, i32 0, i32 481
  %_rtB__TireInertiakgm28467 = load double* %3867, align 1
  %tmp489 = fadd double %tmp454, %_rtB__TireInertiakgm28467
  %tmp490 = fmul double %tmp488, %tmp489
  store double %tmp490, double* %rtb_DynamicMasskg_, align 1
  %3868 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_8464, i32 0, i32 44
  %_rtB__Integrator_d8469 = load double* %3868, align 1
  %3869 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_8464, i32 0, i32 491
  %_rtB__Constant_ay = load double* %3869, align 1
  %3870 = fcmp oge double %_rtB__Integrator_d8469, %_rtB__Constant_ay
  %3871 = uitofp i1 %3870 to double
  %rtb_AxleSpeedradsec_8471 = load double* %rtb_AxleSpeedradsec_, align 1
  %tmp491 = fmul double %rtb_AxleSpeedradsec_8471, %3871
  %tmp492 = fmul double %5153, %tmp491
  %3872 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_8464, i32 0, i32 493
  store double %tmp492, double* %3872, align 1
  %_rtB_8474 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %3873 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_8474, i32 0, i32 489
  %_rtB__roadloadsw8475 = load double* %3873, align 1
  %3874 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_8474, i32 0, i32 482
  %_rtB__Product1_m8477 = load double* %3874, align 1
  %tmp493 = fadd double %_rtB__roadloadsw8475, %_rtB__Product1_m8477
  %3875 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_8474, i32 0, i32 494
  store double %tmp493, double* %3875, align 1
  %vm_ssIsSampleHitVar0_8479 = load i32* %vm_ssIsSampleHitVar0_, align 1
  store i32 %vm_ssIsSampleHitVar0_8479, i32* %i_0_, align 1
  %3876 = icmp eq i32 %vm_ssIsSampleHitVar0_8479, 0
  br i1 %3876, label %false2176, label %true2175

true2175:                                         ; preds = %false2174
  %_rtDW_8481 = load %DW_REVS_VM_T.16** %_rtDW_, align 1
  %3877 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_8481, i32 0, i32 1032
  %_rtDW__Memory_13_PreviousInput = load i8* %3877, align 1
  %_rtB_8482 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %3878 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_8482, i32 0, i32 815
  store i8 %_rtDW__Memory_13_PreviousInput, i8* %3878, align 1
  %_rtDW_8483 = load %DW_REVS_VM_T.16** %_rtDW_, align 1
  %3879 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_8483, i32 0, i32 116
  %_rtDW__Memory_20_PreviousInput = load double* %3879, align 1
  store double %_rtDW__Memory_20_PreviousInput, double* %rtb_trans_shift_in_prog_, align 1
  %3880 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_8483, i32 0, i32 117
  %_rtDW__Memory_59_PreviousInput = load double* %3880, align 1
  %_rtP_8485 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %3881 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_8485, i32 0, i32 1179, i32 0
  %3882 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_8485, i32 0, i32 1178, i32 0
  %3883 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_8483, i32 0, i32 816
  %3884 = call double @look1_plinlcapw(double %_rtDW__Memory_59_PreviousInput, double* %3881, double* %3882, i32* %3883, i32 11)
  %_rtB_8488 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %3885 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_8488, i32 0, i32 495
  store double %3884, double* %3885, align 1
  %_rtB_8489 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %3886 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_8489, i32 0, i32 816
  %_rtB__RelationalOperator_lc = load i8* %3886, align 1
  %3887 = and i8 %_rtB__RelationalOperator_lc, 1
  %3888 = icmp eq i8 %3887, 0
  br i1 %3888, label %false2176, label %true2177

false2176:                                        ; preds = %true2179, %true2177, %true2175, %false2174
  %vm_ssGetTVar5_8493 = load double* %vm_ssGetTVar5_, align 1
  %_rtP_8494 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %3889 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_8494, i32 0, i32 1183
  %_rtP__Aligntocycleposition_Bias = load double* %3889, align 1
  %tmp494 = fadd double %vm_ssGetTVar5_8493, %_rtP__Aligntocycleposition_Bias
  %_rtB_8495 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %3890 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_8495, i32 0, i32 497
  store double %tmp494, double* %3890, align 1
  %vm_ssIsSampleHitVar0_8496 = load i32* %vm_ssIsSampleHitVar0_, align 1
  store i32 %vm_ssIsSampleHitVar0_8496, i32* %i_0_, align 1
  %3891 = icmp eq i32 %vm_ssIsSampleHitVar0_8496, 0
  br i1 %3891, label %false2182, label %true2181

true2177:                                         ; preds = %true2175
  %"%<tSimStruct>_8490" = load i8** %"%<tSimStruct>_", align 1
  call void @vm_ssCallAccelRunBlock(i8* %"%<tSimStruct>_8490", i32 223, i32 0, i32 104)
  %vm_ssIsMajorTimeStepVar1_8491 = load i32* %vm_ssIsMajorTimeStepVar1_, align 1
  %3892 = icmp eq i32 %vm_ssIsMajorTimeStepVar1_8491, 0
  br i1 %3892, label %false2176, label %true2179

true2179:                                         ; preds = %true2177
  %_rtDW_8492 = load %DW_REVS_VM_T.16** %_rtDW_, align 1
  %3893 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_8492, i32 0, i32 987
  call void @vm_srUpdateBC(i8* %3893)
  br label %false2176

true2181:                                         ; preds = %false2176
  %_rtB_8498 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %3894 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_8498, i32 0, i32 817
  %_rtB__Constant_mt = load i8* %3894, align 1
  %3895 = and i8 %_rtB__Constant_mt, 1
  %3896 = icmp eq i8 %3895, 0
  br i1 %3896, label %false2184, label %true2183

false2182:                                        ; preds = %false2176, %false2184
  %_rtDW_8513 = load %DW_REVS_VM_T.16** %_rtDW_, align 1
  %3897 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_8513, i32 0, i32 119
  %_rtDW__LastMajorTime_e = load double* %3897, align 1
  %3898 = fcmp oeq double %_rtDW__LastMajorTime_e, 0x7FF0000000000000
  br i1 %3898, label %true2187, label %false2188

true2183:                                         ; preds = %true2181
  %"%<tSimStruct>_8499" = load i8** %"%<tSimStruct>_", align 1
  call void @vm_ssCallAccelRunBlock(i8* %"%<tSimStruct>_8499", i32 222, i32 0, i32 104)
  %vm_ssIsMajorTimeStepVar1_8500 = load i32* %vm_ssIsMajorTimeStepVar1_, align 1
  %3899 = icmp eq i32 %vm_ssIsMajorTimeStepVar1_8500, 0
  br i1 %3899, label %false2186, label %true2185

false2184:                                        ; preds = %true2181, %false2186
  %_rtB_8502 = phi %B_REVS_VM_T.12* [ %_rtB_8498, %true2181 ], [ %_rtB_8502.pre, %false2186 ]
  %3900 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_8502, i32 0, i32 1
  %_rtB__veh_spd_mps8503 = load double* %3900, align 1
  %_rtP_8504 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %3901 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_8504, i32 0, i32 1185, i32 0
  %3902 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_8504, i32 0, i32 1184, i32 0
  %_rtDW_8506 = load %DW_REVS_VM_T.16** %_rtDW_, align 1
  %3903 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_8506, i32 0, i32 817
  %3904 = call double @look1_plinlcapw(double %_rtB__veh_spd_mps8503, double* %3901, double* %3902, i32* %3903, i32 3)
  %_rtB_8507 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %3905 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_8507, i32 0, i32 498
  store double %3904, double* %3905, align 1
  %_rtB_8508 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %3906 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_8508, i32 0, i32 1
  %_rtB__veh_spd_mps8509 = load double* %3906, align 1
  %3907 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_8508, i32 0, i32 499
  %_rtB__Constant_ab = load double* %3907, align 1
  %3908 = fcmp olt double %_rtB__veh_spd_mps8509, %_rtB__Constant_ab
  %3909 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_8508, i32 0, i32 815
  %_rtB__driveline_engaged_bool = load i8* %3909, align 1
  %3910 = and i8 %_rtB__driveline_engaged_bool, 1
  %3911 = icmp ne i8 %3910, 0
  %3912 = or i1 %3908, %3911
  %3913 = uitofp i1 %3912 to double
  %3914 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_8508, i32 0, i32 500
  store double %3913, double* %3914, align 1
  br label %false2182

true2185:                                         ; preds = %true2183
  %_rtDW_8501 = load %DW_REVS_VM_T.16** %_rtDW_, align 1
  %3915 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_8501, i32 0, i32 988
  call void @vm_srUpdateBC(i8* %3915)
  br label %false2186

false2186:                                        ; preds = %true2183, %true2185
  %_rtB_8502.pre = load %B_REVS_VM_T.12** %_rtB_, align 1
  br label %false2184

true2187:                                         ; preds = %false2182
  %_rtB_8538 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %3916 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_8538, i32 0, i32 500
  %_rtB__DataTypeConversion_l8539 = load double* %3916, align 1
  %3917 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_8538, i32 0, i32 501
  store double %_rtB__DataTypeConversion_l8539, double* %3917, align 1
  br label %merge2758

false2188:                                        ; preds = %false2182
  %vm_ssGetTaskTimeVar4_8514 = load double* %vm_ssGetTaskTimeVar4_, align 1
  %tmp495 = fsub double %vm_ssGetTaskTimeVar4_8514, %_rtDW__LastMajorTime_e
  store double %tmp495, double* %u0_0_, align 1
  %_rtP_8518 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %3918 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_8518, i32 0, i32 1187
  %_rtP__RateLimiter_RisingLim_i = load double* %3918, align 1
  %tmp496 = fmul double %tmp495, %_rtP__RateLimiter_RisingLim_i
  store double %tmp496, double* %riseValLimit_, align 1
  %_rtB_8519 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %3919 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_8519, i32 0, i32 500
  %_rtB__DataTypeConversion_l = load double* %3919, align 1
  %3920 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_8513, i32 0, i32 118
  %_rtDW__PrevY_b = load double* %3920, align 1
  %tmp497 = fsub double %_rtB__DataTypeConversion_l, %_rtDW__PrevY_b
  store double %tmp497, double* %rateLimiterRate_, align 1
  %3921 = fcmp ogt double %tmp497, %tmp496
  br i1 %3921, label %true2189, label %false2190

true2189:                                         ; preds = %false2188
  %tmp500 = fadd double %_rtDW__PrevY_b, %tmp496
  %3922 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_8519, i32 0, i32 501
  store double %tmp500, double* %3922, align 1
  br label %merge2758

false2190:                                        ; preds = %false2188
  %3923 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_8518, i32 0, i32 1188
  %_rtP__RateLimiter_FallingLim_o = load double* %3923, align 1
  %tmp498 = fmul double %tmp495, %_rtP__RateLimiter_FallingLim_o
  store double %tmp498, double* %u0_0_, align 1
  %3924 = fcmp olt double %tmp497, %tmp498
  br i1 %3924, label %true2191, label %false2192

true2191:                                         ; preds = %false2190
  %_rtDW__PrevY_b8531 = load double* %3920, align 1
  %tmp499 = fadd double %_rtDW__PrevY_b8531, %tmp498
  %3925 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_8519, i32 0, i32 501
  store double %tmp499, double* %3925, align 1
  br label %merge2758

false2192:                                        ; preds = %false2190
  %_rtB__DataTypeConversion_l8528 = load double* %3919, align 1
  %3926 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_8519, i32 0, i32 501
  store double %_rtB__DataTypeConversion_l8528, double* %3926, align 1
  br label %merge2758

false2194:                                        ; preds = %merge2758
  %3927 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_8556, i32 0, i32 819
  %_rtB__enablelatebraking = load i8* %3927, align 1
  %3928 = and i8 %_rtB__enablelatebraking, 1
  %3929 = icmp eq i8 %3928, 0
  br i1 %3929, label %merge2760, label %true2195

true2195:                                         ; preds = %false2194
  %3930 = call double @muDoubleScalarMax(double %tmp505, double %tmp503)
  %_rtB_8567.pre.pre = load %B_REVS_VM_T.12** %_rtB_, align 1
  br label %merge2760

true2197:                                         ; preds = %merge2760
  store i8 0, i8* %tmp_, align 1
  %_rtZCE_8580 = load %PrevZCX_REVS_VM_T.20** %_rtZCE_, align 1
  %3931 = getelementptr inbounds %PrevZCX_REVS_VM_T.20* %_rtZCE_8580, i32 0, i32 18
  %_rtZCE__Integrator_Reset_ZCE_am = load i8* %3931, align 1
  %3932 = icmp eq i8 %_rtZCE__Integrator_Reset_ZCE_am, 1
  %3933 = zext i1 %3932 to i8
  %_rtB_8581 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %3934 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_8581, i32 0, i32 820
  %_rtB__Compare_mo0 = load i8* %3934, align 1
  %3935 = icmp ne i8 %3933, %_rtB__Compare_mo0
  %3936 = icmp ne i8 %_rtZCE__Integrator_Reset_ZCE_am, 3
  %3937 = and i1 %3935, %3936
  %3938 = zext i1 %3937 to i8
  store i8 %3938, i8* %didZcEventOccur_, align 1
  store i8 %_rtB__Compare_mo0, i8* %3931, align 1
  %_rtB_8588 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %3939 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_8588, i32 0, i32 820
  %_rtB__Compare_mo08589 = load i8* %3939, align 1
  %3940 = or i8 %_rtB__Compare_mo08589, %3938
  %3941 = and i8 %3940, 1
  %3942 = icmp eq i8 %3941, 0
  br i1 %3942, label %false2200, label %true2199

false2198:                                        ; preds = %true2201, %false2200, %merge2760
  %_rtX_8594 = load %X_REVS_VM_T.18** %_rtX_, align 1
  %3943 = getelementptr inbounds %X_REVS_VM_T.18* %_rtX_8594, i32 0, i32 58
  %_rtX__Integrator_CSTATE_h = load double* %3943, align 1
  %_rtP_8595 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %3944 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_8595, i32 0, i32 1201
  %_rtP__Integrator_UpperSat_e = load double* %3944, align 1
  %3945 = fcmp ult double %_rtX__Integrator_CSTATE_h, %_rtP__Integrator_UpperSat_e
  br i1 %3945, label %false2204, label %true2203

true2199:                                         ; preds = %true2197
  store i8 1, i8* %tmp_, align 1
  %_rtP_8590 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %3946 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_8590, i32 0, i32 1200
  %_rtP__Integrator_IC_oo = load double* %3946, align 1
  %_rtX_8591 = load %X_REVS_VM_T.18** %_rtX_, align 1
  %3947 = getelementptr inbounds %X_REVS_VM_T.18* %_rtX_8591, i32 0, i32 58
  store double %_rtP__Integrator_IC_oo, double* %3947, align 1
  br label %false2200

false2200:                                        ; preds = %true2197, %true2199
  %tmp_8592 = load i8* %tmp_, align 1
  %3948 = and i8 %tmp_8592, 1
  %3949 = icmp eq i8 %3948, 0
  br i1 %3949, label %false2198, label %true2201

true2201:                                         ; preds = %false2200
  %"%<tSimStruct>_8593" = load i8** %"%<tSimStruct>_", align 1
  call void @vm_ssSetSolverNeedsReset(i8* %"%<tSimStruct>_8593")
  br label %false2198

true2203:                                         ; preds = %false2198
  %3950 = fcmp une double %_rtX__Integrator_CSTATE_h, %_rtP__Integrator_UpperSat_e
  br i1 %3950, label %true2209, label %merge2761

false2204:                                        ; preds = %false2198
  %3951 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_8595, i32 0, i32 1202
  %_rtP__Integrator_LowerSat_a = load double* %3951, align 1
  %3952 = fcmp ole double %_rtX__Integrator_CSTATE_h, %_rtP__Integrator_LowerSat_a
  %3953 = fcmp une double %_rtX__Integrator_CSTATE_h, %_rtP__Integrator_LowerSat_a
  %or.cond10164 = and i1 %3952, %3953
  br i1 %or.cond10164, label %true2207, label %merge2761

true2207:                                         ; preds = %false2204
  store double %_rtP__Integrator_LowerSat_a, double* %3943, align 1
  %"%<tSimStruct>_8606" = load i8** %"%<tSimStruct>_", align 1
  call void @vm_ssSetSolverNeedsReset(i8* %"%<tSimStruct>_8606")
  br label %merge2761

true2209:                                         ; preds = %true2203
  store double %_rtP__Integrator_UpperSat_e, double* %3943, align 1
  %"%<tSimStruct>_8614" = load i8** %"%<tSimStruct>_", align 1
  call void @vm_ssSetSolverNeedsReset(i8* %"%<tSimStruct>_8614")
  br label %merge2761

true2211:                                         ; preds = %merge2761
  %_rtB_8650.pre = load %B_REVS_VM_T.12** %_rtB_, align 1
  br label %merge2763

false2212:                                        ; preds = %merge2761
  store double %_rtDW__TimeStampA_n2, double* %u0_, align 1
  %3954 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_8619, i32 0, i32 121
  store double* %3954, double** %lastU_, align 1
  %_rtDW__TimeStampA_n28627 = load double* %5194, align 1
  %_rtDW__TimeStampB_p48629 = load double* %5196, align 1
  %3955 = fcmp olt double %_rtDW__TimeStampA_n28627, %_rtDW__TimeStampB_p48629
  br i1 %3955, label %true2213, label %false2214

true2213:                                         ; preds = %false2212
  %3956 = fcmp olt double %_rtDW__TimeStampB_p48629, %vm_ssGetTVar5_8620
  br i1 %3956, label %true2217, label %merge2762

false2214:                                        ; preds = %false2212
  %3957 = fcmp ult double %_rtDW__TimeStampA_n28627, %vm_ssGetTVar5_8620
  br i1 %3957, label %merge2762, label %true2215

true2215:                                         ; preds = %false2214
  store double %_rtDW__TimeStampB_p48629, double* %u0_, align 1
  %3958 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_8619, i32 0, i32 123
  store double* %3958, double** %lastU_, align 1
  br label %merge2762

true2217:                                         ; preds = %true2213
  store double %_rtDW__TimeStampB_p48629, double* %u0_, align 1
  %3959 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_8619, i32 0, i32 123
  store double* %3959, double** %lastU_, align 1
  br label %merge2762

false2220:                                        ; preds = %merge2763
  %3960 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_8657, i32 0, i32 1206
  %_rtP__sat01_LowerSat = load double* %3960, align 1
  %3961 = fcmp olt double %tmp516, %_rtP__sat01_LowerSat
  %_rtP__sat01_LowerSat.tmp516 = select i1 %3961, double %_rtP__sat01_LowerSat, double %tmp516
  br label %merge2765

true2223:                                         ; preds = %merge2765
  %_rtB_8677 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %3962 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_8677, i32 0, i32 821
  %_rtB__RelationalOperator_mu = load i8* %3962, align 1
  %3963 = and i8 %_rtB__RelationalOperator_mu, 1
  %3964 = icmp eq i8 %3963, 0
  br i1 %3964, label %false2224, label %true2225

false2224:                                        ; preds = %true2227, %true2225, %true2223, %merge2765
  %_rtP_8681 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %3965 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_8681, i32 0, i32 1211
  %_rtP__brakegain_Gain = load double* %3965, align 1
  %tmp518 = fmul double %_rtP__brakegain_Gain, %tmp515
  %3966 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_8681, i32 0, i32 1212
  %_rtP__brakenegtopos_Gain = load double* %3966, align 1
  %tmp519 = fmul double %tmp518, %_rtP__brakenegtopos_Gain
  store double %tmp519, double* %u0_0_, align 1
  %3967 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_8681, i32 0, i32 1213
  %_rtP__sat01_UpperSat_b = load double* %3967, align 1
  %3968 = fcmp ogt double %tmp519, %_rtP__sat01_UpperSat_b
  br i1 %3968, label %true2229, label %false2230

true2225:                                         ; preds = %true2223
  %"%<tSimStruct>_8678" = load i8** %"%<tSimStruct>_", align 1
  call void @vm_ssCallAccelRunBlock(i8* %"%<tSimStruct>_8678", i32 231, i32 0, i32 104)
  %vm_ssIsMajorTimeStepVar1_8679 = load i32* %vm_ssIsMajorTimeStepVar1_, align 1
  %3969 = icmp eq i32 %vm_ssIsMajorTimeStepVar1_8679, 0
  br i1 %3969, label %false2224, label %true2227

true2227:                                         ; preds = %true2225
  %_rtDW_8680 = load %DW_REVS_VM_T.16** %_rtDW_, align 1
  %3970 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_8680, i32 0, i32 989
  call void @vm_srUpdateBC(i8* %3970)
  br label %false2224

true2229:                                         ; preds = %false2224
  store double %_rtP__sat01_UpperSat_b, double* %u0_0_, align 1
  br label %merge2766

false2230:                                        ; preds = %false2224
  %3971 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_8681, i32 0, i32 1214
  %_rtP__sat01_LowerSat_i = load double* %3971, align 1
  %3972 = fcmp olt double %tmp519, %_rtP__sat01_LowerSat_i
  br i1 %3972, label %true2231, label %merge2766

true2231:                                         ; preds = %false2230
  store double %_rtP__sat01_LowerSat_i, double* %u0_0_, align 1
  br label %merge2766

true2233:                                         ; preds = %merge2766
  %_rtB_8698 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %3973 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_8698, i32 0, i32 822
  %_rtB__RelationalOperator_ni = load i8* %3973, align 1
  %3974 = and i8 %_rtB__RelationalOperator_ni, 1
  %3975 = icmp eq i8 %3974, 0
  br i1 %3975, label %false2234, label %true2235

false2234:                                        ; preds = %true2237, %true2235, %true2233, %merge2766
  %rtb_Sum1_h_8702 = load double* %rtb_Sum1_h_, align 1
  %_rtP_8703 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %3976 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_8703, i32 0, i32 1217
  %_rtP__u_UpperSat_m = load double* %3976, align 1
  %3977 = fcmp ogt double %rtb_Sum1_h_8702, %_rtP__u_UpperSat_m
  br i1 %3977, label %true2239, label %false2240

true2235:                                         ; preds = %true2233
  %"%<tSimStruct>_8699" = load i8** %"%<tSimStruct>_", align 1
  call void @vm_ssCallAccelRunBlock(i8* %"%<tSimStruct>_8699", i32 232, i32 0, i32 104)
  %vm_ssIsMajorTimeStepVar1_8700 = load i32* %vm_ssIsMajorTimeStepVar1_, align 1
  %3978 = icmp eq i32 %vm_ssIsMajorTimeStepVar1_8700, 0
  br i1 %3978, label %false2234, label %true2237

true2237:                                         ; preds = %true2235
  %_rtDW_8701 = load %DW_REVS_VM_T.16** %_rtDW_, align 1
  %3979 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_8701, i32 0, i32 990
  call void @vm_srUpdateBC(i8* %3979)
  br label %false2234

true2239:                                         ; preds = %false2234
  %_rtB_8713 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %3980 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_8713, i32 0, i32 512
  store double %_rtP__u_UpperSat_m, double* %3980, align 1
  br label %merge2768

false2240:                                        ; preds = %false2234
  %3981 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_8703, i32 0, i32 1218
  %_rtP__u_LowerSat_f = load double* %3981, align 1
  %3982 = fcmp olt double %rtb_Sum1_h_8702, %_rtP__u_LowerSat_f
  %_rtB_8710 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %3983 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_8710, i32 0, i32 512
  br i1 %3982, label %true2241, label %false2242

true2241:                                         ; preds = %false2240
  store double %_rtP__u_LowerSat_f, double* %3983, align 1
  br label %merge2768

false2242:                                        ; preds = %false2240
  store double %rtb_Sum1_h_8702, double* %3983, align 1
  br label %merge2768

true2243:                                         ; preds = %merge2768
  %_rtB_8724 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %3984 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_8724, i32 0, i32 824
  %_rtB__RelationalOperator_gv = load i8* %3984, align 1
  %3985 = and i8 %_rtB__RelationalOperator_gv, 1
  %3986 = icmp eq i8 %3985, 0
  br i1 %3986, label %false2246, label %true2245

false2244:                                        ; preds = %true2263, %true2261, %false2258, %merge2768
  %_rtB_8744 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %3987 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_8744, i32 0, i32 514, i32 0
  %3988 = bitcast double* %3987 to i8*
  %_rtX_8745 = load %X_REVS_VM_T.18** %_rtX_, align 1
  %3989 = getelementptr inbounds %X_REVS_VM_T.18* %_rtX_8745, i32 0, i32 59, i32 0
  %3990 = bitcast double* %3989 to i8*
  %3991 = call i8* @memcpy(i8* %3988, i8* %3990, i32 mul (i32 ptrtoint (double* getelementptr (double* null, i32 1) to i32), i32 10))
  %vm_ssIsSampleHitVar0_8746 = load i32* %vm_ssIsSampleHitVar0_, align 1
  store i32 %vm_ssIsSampleHitVar0_8746, i32* %i_0_, align 1
  %3992 = icmp eq i32 %vm_ssIsSampleHitVar0_8746, 0
  br i1 %3992, label %false2266, label %true2265

true2245:                                         ; preds = %true2243
  %"%<tSimStruct>_8725" = load i8** %"%<tSimStruct>_", align 1
  call void @vm_ssCallAccelRunBlock(i8* %"%<tSimStruct>_8725", i32 226, i32 0, i32 104)
  %vm_ssIsMajorTimeStepVar1_8726 = load i32* %vm_ssIsMajorTimeStepVar1_, align 1
  %3993 = icmp eq i32 %vm_ssIsMajorTimeStepVar1_8726, 0
  br i1 %3993, label %false2248, label %true2247

false2246:                                        ; preds = %true2243, %false2248
  %_rtB_8728 = phi %B_REVS_VM_T.12* [ %_rtB_8724, %true2243 ], [ %_rtB_8728.pre, %false2248 ]
  %3994 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_8728, i32 0, i32 825
  %_rtB__RelationalOperator_i3 = load i8* %3994, align 1
  %3995 = and i8 %_rtB__RelationalOperator_i3, 1
  %3996 = icmp eq i8 %3995, 0
  br i1 %3996, label %false2250, label %true2249

true2247:                                         ; preds = %true2245
  %_rtDW_8727 = load %DW_REVS_VM_T.16** %_rtDW_, align 1
  %3997 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_8727, i32 0, i32 991
  call void @vm_srUpdateBC(i8* %3997)
  br label %false2248

false2248:                                        ; preds = %true2245, %true2247
  %_rtB_8728.pre = load %B_REVS_VM_T.12** %_rtB_, align 1
  br label %false2246

true2249:                                         ; preds = %false2246
  %"%<tSimStruct>_8729" = load i8** %"%<tSimStruct>_", align 1
  call void @vm_ssCallAccelRunBlock(i8* %"%<tSimStruct>_8729", i32 227, i32 0, i32 104)
  %vm_ssIsMajorTimeStepVar1_8730 = load i32* %vm_ssIsMajorTimeStepVar1_, align 1
  %3998 = icmp eq i32 %vm_ssIsMajorTimeStepVar1_8730, 0
  br i1 %3998, label %false2252, label %true2251

false2250:                                        ; preds = %false2246, %false2252
  %_rtB_8732 = phi %B_REVS_VM_T.12* [ %_rtB_8728, %false2246 ], [ %_rtB_8732.pre, %false2252 ]
  %3999 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_8732, i32 0, i32 826
  %_rtB__RelationalOperator_ks = load i8* %3999, align 1
  %4000 = and i8 %_rtB__RelationalOperator_ks, 1
  %4001 = icmp eq i8 %4000, 0
  br i1 %4001, label %false2254, label %true2253

true2251:                                         ; preds = %true2249
  %_rtDW_8731 = load %DW_REVS_VM_T.16** %_rtDW_, align 1
  %4002 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_8731, i32 0, i32 992
  call void @vm_srUpdateBC(i8* %4002)
  br label %false2252

false2252:                                        ; preds = %true2249, %true2251
  %_rtB_8732.pre = load %B_REVS_VM_T.12** %_rtB_, align 1
  br label %false2250

true2253:                                         ; preds = %false2250
  %"%<tSimStruct>_8733" = load i8** %"%<tSimStruct>_", align 1
  call void @vm_ssCallAccelRunBlock(i8* %"%<tSimStruct>_8733", i32 228, i32 0, i32 104)
  %vm_ssIsMajorTimeStepVar1_8734 = load i32* %vm_ssIsMajorTimeStepVar1_, align 1
  %4003 = icmp eq i32 %vm_ssIsMajorTimeStepVar1_8734, 0
  br i1 %4003, label %false2256, label %true2255

false2254:                                        ; preds = %false2250, %false2256
  %_rtB_8736 = phi %B_REVS_VM_T.12* [ %_rtB_8732, %false2250 ], [ %_rtB_8736.pre, %false2256 ]
  %4004 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_8736, i32 0, i32 827
  %_rtB__RelationalOperator_nak = load i8* %4004, align 1
  %4005 = and i8 %_rtB__RelationalOperator_nak, 1
  %4006 = icmp eq i8 %4005, 0
  br i1 %4006, label %false2258, label %true2257

true2255:                                         ; preds = %true2253
  %_rtDW_8735 = load %DW_REVS_VM_T.16** %_rtDW_, align 1
  %4007 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_8735, i32 0, i32 993
  call void @vm_srUpdateBC(i8* %4007)
  br label %false2256

false2256:                                        ; preds = %true2253, %true2255
  %_rtB_8736.pre = load %B_REVS_VM_T.12** %_rtB_, align 1
  br label %false2254

true2257:                                         ; preds = %false2254
  %"%<tSimStruct>_8737" = load i8** %"%<tSimStruct>_", align 1
  call void @vm_ssCallAccelRunBlock(i8* %"%<tSimStruct>_8737", i32 229, i32 0, i32 104)
  %vm_ssIsMajorTimeStepVar1_8738 = load i32* %vm_ssIsMajorTimeStepVar1_, align 1
  %4008 = icmp eq i32 %vm_ssIsMajorTimeStepVar1_8738, 0
  br i1 %4008, label %false2260, label %true2259

false2258:                                        ; preds = %false2254, %false2260
  %_rtB_8740 = phi %B_REVS_VM_T.12* [ %_rtB_8736, %false2254 ], [ %_rtB_8740.pre, %false2260 ]
  %4009 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_8740, i32 0, i32 828
  %_rtB__RelationalOperator_oic = load i8* %4009, align 1
  %4010 = and i8 %_rtB__RelationalOperator_oic, 1
  %4011 = icmp eq i8 %4010, 0
  br i1 %4011, label %false2244, label %true2261

true2259:                                         ; preds = %true2257
  %_rtDW_8739 = load %DW_REVS_VM_T.16** %_rtDW_, align 1
  %4012 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_8739, i32 0, i32 994
  call void @vm_srUpdateBC(i8* %4012)
  br label %false2260

false2260:                                        ; preds = %true2257, %true2259
  %_rtB_8740.pre = load %B_REVS_VM_T.12** %_rtB_, align 1
  br label %false2258

true2261:                                         ; preds = %false2258
  %"%<tSimStruct>_8741" = load i8** %"%<tSimStruct>_", align 1
  call void @vm_ssCallAccelRunBlock(i8* %"%<tSimStruct>_8741", i32 230, i32 0, i32 104)
  %vm_ssIsMajorTimeStepVar1_8742 = load i32* %vm_ssIsMajorTimeStepVar1_, align 1
  %4013 = icmp eq i32 %vm_ssIsMajorTimeStepVar1_8742, 0
  br i1 %4013, label %false2244, label %true2263

true2263:                                         ; preds = %true2261
  %_rtDW_8743 = load %DW_REVS_VM_T.16** %_rtDW_, align 1
  %4014 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_8743, i32 0, i32 995
  call void @vm_srUpdateBC(i8* %4014)
  br label %false2244

true2265:                                         ; preds = %false2244
  %"%<tSimStruct>_8748" = load i8** %"%<tSimStruct>_", align 1
  call void @vm_ssCallAccelRunBlock(i8* %"%<tSimStruct>_8748", i32 248, i32 2134, i32 104)
  br label %false2266

false2266:                                        ; preds = %false2244, %true2265
  %_rtX_8749 = load %X_REVS_VM_T.18** %_rtX_, align 1
  %4015 = getelementptr inbounds %X_REVS_VM_T.18* %_rtX_8749, i32 0, i32 60
  %_rtX__Integrator1_CSTATE_l = load double* %4015, align 1
  %_rtB_8750 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %4016 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_8750, i32 0, i32 515
  store double %_rtX__Integrator1_CSTATE_l, double* %4016, align 1
  %vm_ssIsSampleHitVar0_8751 = load i32* %vm_ssIsSampleHitVar0_, align 1
  store i32 %vm_ssIsSampleHitVar0_8751, i32* %i_0_, align 1
  %4017 = icmp eq i32 %vm_ssIsSampleHitVar0_8751, 0
  br i1 %4017, label %false2268, label %true2267

true2267:                                         ; preds = %false2266
  %"%<tSimStruct>_8753" = load i8** %"%<tSimStruct>_", align 1
  call void @vm_ssCallAccelRunBlock(i8* %"%<tSimStruct>_8753", i32 248, i32 2136, i32 104)
  br label %false2268

false2268:                                        ; preds = %false2266, %true2267
  %_rtB_8754 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %4018 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_8754, i32 0, i32 504
  %_rtB__spd_err_mps8755 = load double* %4018, align 1
  %4019 = call double @muDoubleScalarAbs(double %_rtB__spd_err_mps8755)
  %_rtB_8756 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %4020 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_8756, i32 0, i32 516
  %_rtB__Constant_gw = load double* %4020, align 1
  %4021 = fcmp ogt double %4019, %_rtB__Constant_gw
  %4022 = uitofp i1 %4021 to double
  %4023 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_8756, i32 0, i32 517
  store double %4022, double* %4023, align 1
  br label %merge2769

true2269:                                         ; preds = %merge2769
  %_rtB_9367 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %4024 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_9367, i32 0, i32 517
  %_rtB__DataTypeConversion_is = load double* %4024, align 1
  %4025 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_9367, i32 0, i32 172, i32 %i_0_9369
  %_rtB__DataTypeConversion_el9370 = load double* %4025, align 1
  %tmp579 = fmul double %_rtB__DataTypeConversion_is, %_rtB__DataTypeConversion_el9370
  %4026 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_9367, i32 0, i32 518, i32 %i_0_9369
  store double %tmp579, double* %4026, align 1
  %i_0_9373 = load i32* %i_0_, align 1
  %tmp580 = add i32 %i_0_9373, 1
  br label %merge2769

false2270:                                        ; preds = %merge2769
  %vm_ssIsSampleHitVar0_8759 = load i32* %vm_ssIsSampleHitVar0_, align 1
  store i32 %vm_ssIsSampleHitVar0_8759, i32* %i_0_, align 1
  %4027 = icmp eq i32 %vm_ssIsSampleHitVar0_8759, 0
  br i1 %4027, label %false2274.critedge, label %true2271

true2271:                                         ; preds = %false2270
  %rtb_driver_acl_norm_8761 = load double* %rtb_driver_acl_norm_, align 1
  %_rtB_8762 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %4028 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_8762, i32 0, i32 519
  %_rtB__Constant_hb = load double* %4028, align 1
  %4029 = fcmp olt double %rtb_driver_acl_norm_8761, %_rtB__Constant_hb
  %4030 = zext i1 %4029 to i8
  store i8 %4030, i8* %rtb_Compare_mb_, align 1
  store i32 %vm_ssIsSampleHitVar0_8759, i32* %i_0_, align 1
  %rtb_eng_load_norm_8765 = load double* %rtb_eng_load_norm_, align 1
  %_rtB_8766 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %4031 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_8766, i32 0, i32 521
  %_rtB__Constant_gl = load double* %4031, align 1
  %4032 = fcmp olt double %rtb_eng_load_norm_8765, %_rtB__Constant_gl
  %4033 = zext i1 %4032 to i8
  %4034 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_8766, i32 0, i32 829
  store i8 %4033, i8* %4034, align 1
  %_rtB_8768 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %4035 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_8768, i32 0, i32 815
  %_rtB__driveline_engaged_bool8769 = load i8* %4035, align 1
  %rtb_Compare_mb_8770 = load i8* %rtb_Compare_mb_, align 1
  %4036 = and i8 %_rtB__driveline_engaged_bool8769, 1
  %4037 = and i8 %4036, %rtb_Compare_mb_8770
  %4038 = icmp ne i8 %4037, 0
  %rtb_trans_shift_in_prog_8771 = load double* %rtb_trans_shift_in_prog_, align 1
  %4039 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_8768, i32 0, i32 522
  %_rtB__Constant_jt = load double* %4039, align 1
  %4040 = fcmp oeq double %rtb_trans_shift_in_prog_8771, %_rtB__Constant_jt
  %4041 = and i1 %4038, %4040
  %4042 = zext i1 %4041 to i8
  %4043 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_8768, i32 0, i32 830
  store i8 %4042, i8* %4043, align 1
  br label %false2274

false2274.critedge:                               ; preds = %false2270
  store i32 %vm_ssIsSampleHitVar0_8759, i32* %i_0_, align 1
  br label %false2274

false2274:                                        ; preds = %false2274.critedge, %true2271
  %_rtB_8774 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %4044 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_8774, i32 0, i32 830
  %_rtB__LogicalOperator1_k = load i8* %4044, align 1
  %4045 = and i8 %_rtB__LogicalOperator1_k, 1
  %4046 = icmp ne i8 %4045, 0
  %4047 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_8774, i32 0, i32 504
  %_rtB__spd_err_mps8776 = load double* %4047, align 1
  %4048 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_8774, i32 0, i32 520
  %_rtB__Constant_hk = load double* %4048, align 1
  %4049 = fcmp olt double %_rtB__spd_err_mps8776, %_rtB__Constant_hk
  %4050 = or i1 %4046, %4049
  %4051 = uitofp i1 %4050 to double
  %4052 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_8774, i32 0, i32 20
  %_rtB__driver_ign_keyon8779 = load double* %4052, align 1
  %4053 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_8774, i32 0, i32 829
  %_rtB__Compare_ai = load i8* %4053, align 1
  %4054 = uitofp i8 %_rtB__Compare_ai to double
  %tmp523 = fmul double %_rtB__driver_ign_keyon8779, %4054
  %tmp524 = fmul double %4051, %tmp523
  %tmp525 = fmul double %_rtB__spd_err_mps8776, %tmp524
  %4055 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_8774, i32 0, i32 523
  store double %tmp525, double* %4055, align 1
  %vm_ssIsSampleHitVar0_8784 = load i32* %vm_ssIsSampleHitVar0_, align 1
  store i32 %vm_ssIsSampleHitVar0_8784, i32* %i_0_, align 1
  %4056 = icmp eq i32 %vm_ssIsSampleHitVar0_8784, 0
  br i1 %4056, label %false2276, label %true2275

true2275:                                         ; preds = %false2274
  %_rtB_8786 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %4057 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_8786, i32 0, i32 1
  %_rtB__veh_spd_mps8787 = load double* %4057, align 1
  %_rtP_8788 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %4058 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_8788, i32 0, i32 1241
  %_rtP__Bias1_Bias_a = load double* %4058, align 1
  %tmp526 = fadd double %_rtB__veh_spd_mps8787, %_rtP__Bias1_Bias_a
  %4059 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_8786, i32 0, i32 0
  %_rtB__cycle_spd_mps8790 = load double* %4059, align 1
  %4060 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_8788, i32 0, i32 1242
  %_rtP__Bias_Bias_i = load double* %4060, align 1
  %tmp527 = fadd double %_rtB__cycle_spd_mps8790, %_rtP__Bias_Bias_i
  %tmp528 = fdiv double %tmp526, %tmp527
  %4061 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_8786, i32 0, i32 524
  %_rtB__unity = load double* %4061, align 1
  %tmp529 = fsub double %tmp528, %_rtB__unity
  %4062 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_8786, i32 0, i32 525
  %_rtB__Constant_gd = load double* %4062, align 1
  %4063 = fcmp oge double %_rtB__cycle_spd_mps8790, %_rtB__Constant_gd
  %4064 = uitofp i1 %4063 to double
  %tmp530 = fmul double %tmp529, %4064
  %4065 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_8786, i32 0, i32 831
  %_rtB__enabledistancecompensation_i = load i8* %4065, align 1
  %4066 = uitofp i8 %_rtB__enabledistancecompensation_i to double
  %tmp531 = fmul double %tmp530, %4066
  %rtb_driver_in_gear_8797 = load double* %rtb_driver_in_gear_, align 1
  %tmp532 = fmul double %rtb_driver_in_gear_8797, %tmp531
  %tmp533 = fadd double %tmp532, %_rtB__unity
  %4067 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_8786, i32 0, i32 526
  store double %tmp533, double* %4067, align 1
  %_rtB_8801 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %4068 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_8801, i32 0, i32 526
  %_rtB__Sum3_i = load double* %4068, align 1
  %4069 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_8801, i32 0, i32 527
  %_rtB__Constant_ol = load double* %4069, align 1
  %4070 = fcmp ole double %_rtB__Sum3_i, %_rtB__Constant_ol
  %4071 = uitofp i1 %4070 to double
  %4072 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_8801, i32 0, i32 528
  store double %4071, double* %4072, align 1
  br label %false2276

false2276:                                        ; preds = %false2274, %true2275
  %vm_ssIsMajorTimeStepVar1_8804 = load i32* %vm_ssIsMajorTimeStepVar1_, align 1
  %4073 = icmp eq i32 %vm_ssIsMajorTimeStepVar1_8804, 0
  br i1 %4073, label %false2278, label %true2277

true2277:                                         ; preds = %false2276
  store i8 0, i8* %tmp_, align 1
  %_rtZCE_8805 = load %PrevZCX_REVS_VM_T.20** %_rtZCE_, align 1
  %4074 = getelementptr inbounds %PrevZCX_REVS_VM_T.20* %_rtZCE_8805, i32 0, i32 19
  %_rtB_8806 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %4075 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_8806, i32 0, i32 528
  %_rtB__DataTypeConversion_j = load double* %4075, align 1
  %4076 = call i32 @rt_ZCFcn(i32 -1, i8* %4074, double %_rtB__DataTypeConversion_j)
  %4077 = icmp eq i32 %4076, 0
  br i1 %4077, label %false2280, label %true2279

false2278:                                        ; preds = %true2281, %false2280, %false2276
  %_rtX_8812 = load %X_REVS_VM_T.18** %_rtX_, align 1
  %4078 = getelementptr inbounds %X_REVS_VM_T.18* %_rtX_8812, i32 0, i32 61
  %_rtX__Integrator1_CSTATE_fp = load double* %4078, align 1
  store double %_rtX__Integrator1_CSTATE_fp, double* %rtb_Integrator1_nd_, align 1
  %_rtB_8815 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %4079 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_8815, i32 0, i32 529
  %_rtB__Constant_j4 = load double* %4079, align 1
  %4080 = fcmp olt double %_rtX__Integrator1_CSTATE_fp, %_rtB__Constant_j4
  %4081 = zext i1 %4080 to i8
  %4082 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_8815, i32 0, i32 832
  store i8 %4081, i8* %4082, align 1
  %vm_ssIsSampleHitVar0_8817 = load i32* %vm_ssIsSampleHitVar0_, align 1
  store i32 %vm_ssIsSampleHitVar0_8817, i32* %i_0_, align 1
  %4083 = icmp eq i32 %vm_ssIsSampleHitVar0_8817, 0
  br i1 %4083, label %false2284, label %true2283

true2279:                                         ; preds = %true2277
  store i8 1, i8* %tmp_, align 1
  %_rtP_8808 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %4084 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_8808, i32 0, i32 1245
  %_rtP__Integrator1_IC_oi = load double* %4084, align 1
  %_rtX_8809 = load %X_REVS_VM_T.18** %_rtX_, align 1
  %4085 = getelementptr inbounds %X_REVS_VM_T.18* %_rtX_8809, i32 0, i32 61
  store double %_rtP__Integrator1_IC_oi, double* %4085, align 1
  br label %false2280

false2280:                                        ; preds = %true2277, %true2279
  %tmp_8810 = load i8* %tmp_, align 1
  %4086 = and i8 %tmp_8810, 1
  %4087 = icmp eq i8 %4086, 0
  br i1 %4087, label %false2278, label %true2281

true2281:                                         ; preds = %false2280
  %"%<tSimStruct>_8811" = load i8** %"%<tSimStruct>_", align 1
  call void @vm_ssSetSolverNeedsReset(i8* %"%<tSimStruct>_8811")
  br label %false2278

true2283:                                         ; preds = %false2278
  %"%<tSimStruct>_8819" = load i8** %"%<tSimStruct>_", align 1
  call void @vm_ssCallAccelRunBlock(i8* %"%<tSimStruct>_8819", i32 248, i32 2169, i32 104)
  br label %false2284

false2284:                                        ; preds = %false2278, %true2283
  %_rtB_8821 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %4088 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_8821, i32 0, i32 530
  %_rtB__Constant_nl = load double* %4088, align 1
  %4089 = fcmp ogt double %_rtX__Integrator1_CSTATE_fp, %_rtB__Constant_nl
  %4090 = zext i1 %4089 to i8
  %4091 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_8821, i32 0, i32 833
  store i8 %4090, i8* %4091, align 1
  %vm_ssIsSampleHitVar0_8823 = load i32* %vm_ssIsSampleHitVar0_, align 1
  store i32 %vm_ssIsSampleHitVar0_8823, i32* %i_0_, align 1
  %4092 = icmp eq i32 %vm_ssIsSampleHitVar0_8823, 0
  br i1 %4092, label %false2286, label %true2285

true2285:                                         ; preds = %false2284
  %_rtB_8825 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %4093 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_8825, i32 0, i32 833
  %_rtB__Compare_a0 = load i8* %4093, align 1
  %4094 = and i8 %_rtB__Compare_a0, 1
  %4095 = icmp eq i8 %4094, 0
  br i1 %4095, label %false2286, label %true2287

false2286:                                        ; preds = %true2287, %true2285, %false2284
  %_rtB_8827 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %4096 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_8827, i32 0, i32 169
  %_rtB__Integrator_o8828 = load double* %4096, align 1
  %4097 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_8827, i32 0, i32 531
  %_rtB__Constant_a4 = load double* %4097, align 1
  %4098 = fcmp oge double %_rtB__Integrator_o8828, %_rtB__Constant_a4
  %4099 = zext i1 %4098 to i8
  %4100 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_8827, i32 0, i32 834
  store i8 %4099, i8* %4100, align 1
  %vm_ssIsSampleHitVar0_8831 = load i32* %vm_ssIsSampleHitVar0_, align 1
  store i32 %vm_ssIsSampleHitVar0_8831, i32* %i_0_, align 1
  %4101 = icmp eq i32 %vm_ssIsSampleHitVar0_8831, 0
  br i1 %4101, label %false2290, label %true2289

true2287:                                         ; preds = %true2285
  %"%<tSimStruct>_8826" = load i8** %"%<tSimStruct>_", align 1
  call void @vm_ssSetStopRequested(i8* %"%<tSimStruct>_8826", i32 1)
  br label %false2286

true2289:                                         ; preds = %false2286
  %_rtB_8833 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %4102 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_8833, i32 0, i32 834
  %_rtB__Compare_pm = load i8* %4102, align 1
  %4103 = and i8 %_rtB__Compare_pm, 1
  %4104 = icmp eq i8 %4103, 0
  br i1 %4104, label %false2292, label %true2291

false2290:                                        ; preds = %true2299, %true2297, %false2294, %false2286
  %_rtB_8843 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %4105 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_8843, i32 0, i32 532, i32 0
  %4106 = bitcast double* %4105 to i8*
  %_rtX_8844 = load %X_REVS_VM_T.18** %_rtX_, align 1
  %4107 = getelementptr inbounds %X_REVS_VM_T.18* %_rtX_8844, i32 0, i32 62, i32 0
  %4108 = bitcast double* %4107 to i8*
  %4109 = call i8* @memcpy(i8* %4106, i8* %4108, i32 mul (i32 ptrtoint (double* getelementptr (double* null, i32 1) to i32), i32 10))
  %vm_ssIsSampleHitVar0_8845 = load i32* %vm_ssIsSampleHitVar0_, align 1
  store i32 %vm_ssIsSampleHitVar0_8845, i32* %i_0_, align 1
  %4110 = icmp eq i32 %vm_ssIsSampleHitVar0_8845, 0
  br i1 %4110, label %false2302, label %true2301

true2291:                                         ; preds = %true2289
  %"%<tSimStruct>_8834" = load i8** %"%<tSimStruct>_", align 1
  call void @vm_ssSetStopRequested(i8* %"%<tSimStruct>_8834", i32 1)
  %_rtB_8835.pre = load %B_REVS_VM_T.12** %_rtB_, align 1
  br label %false2292

false2292:                                        ; preds = %true2289, %true2291
  %_rtB_8835 = phi %B_REVS_VM_T.12* [ %_rtB_8833, %true2289 ], [ %_rtB_8835.pre, %true2291 ]
  %4111 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_8835, i32 0, i32 835
  %_rtB__RelationalOperator_h2 = load i8* %4111, align 1
  %4112 = and i8 %_rtB__RelationalOperator_h2, 1
  %4113 = icmp eq i8 %4112, 0
  br i1 %4113, label %false2294, label %true2293

true2293:                                         ; preds = %false2292
  %"%<tSimStruct>_8836" = load i8** %"%<tSimStruct>_", align 1
  call void @vm_ssCallAccelRunBlock(i8* %"%<tSimStruct>_8836", i32 233, i32 0, i32 104)
  %vm_ssIsMajorTimeStepVar1_8837 = load i32* %vm_ssIsMajorTimeStepVar1_, align 1
  %4114 = icmp eq i32 %vm_ssIsMajorTimeStepVar1_8837, 0
  br i1 %4114, label %false2296, label %true2295

false2294:                                        ; preds = %false2292, %false2296
  %_rtB_8839 = phi %B_REVS_VM_T.12* [ %_rtB_8835, %false2292 ], [ %_rtB_8839.pre, %false2296 ]
  %4115 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_8839, i32 0, i32 836
  %_rtB__RelationalOperator_nx = load i8* %4115, align 1
  %4116 = and i8 %_rtB__RelationalOperator_nx, 1
  %4117 = icmp eq i8 %4116, 0
  br i1 %4117, label %false2290, label %true2297

true2295:                                         ; preds = %true2293
  %_rtDW_8838 = load %DW_REVS_VM_T.16** %_rtDW_, align 1
  %4118 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_8838, i32 0, i32 996
  call void @vm_srUpdateBC(i8* %4118)
  br label %false2296

false2296:                                        ; preds = %true2293, %true2295
  %_rtB_8839.pre = load %B_REVS_VM_T.12** %_rtB_, align 1
  br label %false2294

true2297:                                         ; preds = %false2294
  %"%<tSimStruct>_8840" = load i8** %"%<tSimStruct>_", align 1
  call void @vm_ssCallAccelRunBlock(i8* %"%<tSimStruct>_8840", i32 234, i32 0, i32 104)
  %vm_ssIsMajorTimeStepVar1_8841 = load i32* %vm_ssIsMajorTimeStepVar1_, align 1
  %4119 = icmp eq i32 %vm_ssIsMajorTimeStepVar1_8841, 0
  br i1 %4119, label %false2290, label %true2299

true2299:                                         ; preds = %true2297
  %_rtDW_8842 = load %DW_REVS_VM_T.16** %_rtDW_, align 1
  %4120 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_8842, i32 0, i32 997
  call void @vm_srUpdateBC(i8* %4120)
  br label %false2290

true2301:                                         ; preds = %false2290
  %"%<tSimStruct>_8847" = load i8** %"%<tSimStruct>_", align 1
  call void @vm_ssCallAccelRunBlock(i8* %"%<tSimStruct>_8847", i32 248, i32 2185, i32 104)
  br label %false2302

false2302:                                        ; preds = %false2290, %true2301
  %_rtX_8848 = load %X_REVS_VM_T.18** %_rtX_, align 1
  %4121 = getelementptr inbounds %X_REVS_VM_T.18* %_rtX_8848, i32 0, i32 63
  %_rtX__Integrator1_CSTATE_i = load double* %4121, align 1
  %_rtB_8849 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %4122 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_8849, i32 0, i32 533
  store double %_rtX__Integrator1_CSTATE_i, double* %4122, align 1
  %vm_ssIsSampleHitVar0_8850 = load i32* %vm_ssIsSampleHitVar0_, align 1
  store i32 %vm_ssIsSampleHitVar0_8850, i32* %i_0_, align 1
  %4123 = icmp eq i32 %vm_ssIsSampleHitVar0_8850, 0
  br i1 %4123, label %merge2770, label %true2303

true2303:                                         ; preds = %false2302
  %"%<tSimStruct>_8852" = load i8** %"%<tSimStruct>_", align 1
  call void @vm_ssCallAccelRunBlock(i8* %"%<tSimStruct>_8852", i32 248, i32 2187, i32 104)
  br label %merge2770

true2305:                                         ; preds = %merge2770
  %_rtB_9359 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %4124 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_9359, i32 0, i32 503
  %_rtB__drivecycle9360 = load double* %4124, align 1
  %4125 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_9359, i32 0, i32 172, i32 %i_0_9362
  %_rtB__DataTypeConversion_el9363 = load double* %4125, align 1
  %tmp577 = fmul double %_rtB__drivecycle9360, %_rtB__DataTypeConversion_el9363
  %4126 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_9359, i32 0, i32 534, i32 %i_0_9362
  store double %tmp577, double* %4126, align 1
  %i_0_9366 = load i32* %i_0_, align 1
  %tmp578 = add i32 %i_0_9366, 1
  br label %merge2770

false2306:                                        ; preds = %merge2770
  %vm_ssIsSampleHitVar0_8854 = load i32* %vm_ssIsSampleHitVar0_, align 1
  store i32 %vm_ssIsSampleHitVar0_8854, i32* %i_0_, align 1
  %4127 = icmp eq i32 %vm_ssIsSampleHitVar0_8854, 0
  br i1 %4127, label %false2308, label %true2307

true2307:                                         ; preds = %false2306
  %"%<tSimStruct>_8856" = load i8** %"%<tSimStruct>_", align 1
  call void @vm_ssCallAccelRunBlock(i8* %"%<tSimStruct>_8856", i32 248, i32 2189, i32 104)
  br label %false2308

false2308:                                        ; preds = %false2306, %true2307
  %_rtB_8857 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %4128 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_8857, i32 0, i32 535, i32 0
  %4129 = bitcast double* %4128 to i8*
  %_rtX_8858 = load %X_REVS_VM_T.18** %_rtX_, align 1
  %4130 = getelementptr inbounds %X_REVS_VM_T.18* %_rtX_8858, i32 0, i32 64, i32 0
  %4131 = bitcast double* %4130 to i8*
  %4132 = call i8* @memcpy(i8* %4129, i8* %4131, i32 mul (i32 ptrtoint (double* getelementptr (double* null, i32 1) to i32), i32 10))
  %vm_ssIsSampleHitVar0_8859 = load i32* %vm_ssIsSampleHitVar0_, align 1
  store i32 %vm_ssIsSampleHitVar0_8859, i32* %i_0_, align 1
  %4133 = icmp eq i32 %vm_ssIsSampleHitVar0_8859, 0
  br i1 %4133, label %false2310, label %true2309

true2309:                                         ; preds = %false2308
  %"%<tSimStruct>_8861" = load i8** %"%<tSimStruct>_", align 1
  call void @vm_ssCallAccelRunBlock(i8* %"%<tSimStruct>_8861", i32 248, i32 2191, i32 104)
  br label %false2310

false2310:                                        ; preds = %false2308, %true2309
  %_rtX_8862 = load %X_REVS_VM_T.18** %_rtX_, align 1
  %4134 = getelementptr inbounds %X_REVS_VM_T.18* %_rtX_8862, i32 0, i32 65
  %_rtX__Integrator1_CSTATE_ar = load double* %4134, align 1
  %_rtB_8863 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %4135 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_8863, i32 0, i32 536
  store double %_rtX__Integrator1_CSTATE_ar, double* %4135, align 1
  %vm_ssIsSampleHitVar0_8864 = load i32* %vm_ssIsSampleHitVar0_, align 1
  store i32 %vm_ssIsSampleHitVar0_8864, i32* %i_0_, align 1
  %4136 = icmp eq i32 %vm_ssIsSampleHitVar0_8864, 0
  br i1 %4136, label %false2312, label %true2311

true2311:                                         ; preds = %false2310
  %"%<tSimStruct>_8866" = load i8** %"%<tSimStruct>_", align 1
  call void @vm_ssCallAccelRunBlock(i8* %"%<tSimStruct>_8866", i32 248, i32 2193, i32 104)
  br label %false2312

false2312:                                        ; preds = %false2310, %true2311
  %_rtB_8867 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %4137 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_8867, i32 0, i32 169
  %_rtB__Integrator_o8868 = load double* %4137, align 1
  %_rtP_8869 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %4138 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_8869, i32 0, i32 1259, i32 0
  %_rtDW_8870 = load %DW_REVS_VM_T.16** %_rtDW_, align 1
  %4139 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_8870, i32 0, i32 822
  %4140 = call i32 @plook_u32d_linckpa(double %_rtB__Integrator_o8868, double* %4138, i32 7, i32* %4139)
  store i32 %4140, i32* %rowIdx_, align 1
  %_rtP_8871 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %4141 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_8871, i32 0, i32 1258, i32 %4140
  %_rtP__drivecycleignition_tableData_el = load double* %4141, align 1
  %_rtB_8873 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %4142 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_8873, i32 0, i32 538
  store double %_rtP__drivecycleignition_tableData_el, double* %4142, align 1
  %vm_ssIsSampleHitVar0_8874 = load i32* %vm_ssIsSampleHitVar0_, align 1
  store i32 %vm_ssIsSampleHitVar0_8874, i32* %i_0_, align 1
  %4143 = icmp eq i32 %vm_ssIsSampleHitVar0_8874, 0
  br i1 %4143, label %false2314, label %true2313

true2313:                                         ; preds = %false2312
  %_rtP_8876 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %4144 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_8876, i32 0, i32 1260
  %_rtP__gradetonorm_Gain_p = load double* %4144, align 1
  %rtb_drive_cycle_grade_pct_8877 = load double* %rtb_drive_cycle_grade_pct_, align 1
  %tmp536 = fmul double %_rtP__gradetonorm_Gain_p, %rtb_drive_cycle_grade_pct_8877
  store double %tmp536, double* %rtb_gradetonorm_l_, align 1
  %rtb_cycle_phase_num_8878 = load double* %rtb_cycle_phase_num_, align 1
  %_rtB_8879 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %4145 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_8879, i32 0, i32 540
  %_rtB__Switch_er = load double* %4145, align 1
  %4146 = call double @muDoubleScalarMin(double %rtb_cycle_phase_num_8878, double %_rtB__Switch_er)
  %_rtB_8880 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %4147 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_8880, i32 0, i32 541
  %_rtB__Switch1_da = load double* %4147, align 1
  %4148 = call double @muDoubleScalarMax(double %4146, double %_rtB__Switch1_da)
  %_rtP_8881 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %4149 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_8881, i32 0, i32 1267, i32 0
  %4150 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_8881, i32 0, i32 1266, i32 0
  %_rtDW_8883 = load %DW_REVS_VM_T.16** %_rtDW_, align 1
  %4151 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_8883, i32 0, i32 823
  %4152 = call double @look1_plinlxpw(double %4148, double* %4149, double* %4150, i32* %4151, i32 1)
  store double %4152, double* %rtb_Lookup_b5_, align 1
  %4153 = call double @muDoubleScalarAtan(double %tmp536)
  %4154 = call double @muDoubleScalarSin(double %4153)
  %_rtB_8885 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %4155 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_8885, i32 0, i32 539
  %_rtB__GravitationalAccelerationmsec2 = load double* %4155, align 1
  %tmp537 = fmul double %4154, %_rtB__GravitationalAccelerationmsec2
  %4156 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_8885, i32 0, i32 542
  %_rtB__StaticVehicleMasskg = load double* %4156, align 1
  %tmp538 = fadd double %4152, %_rtB__StaticVehicleMasskg
  %tmp539 = fmul double %tmp537, %tmp538
  %_rtP_8888 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %4157 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_8888, i32 0, i32 1269
  %_rtP__Sign1_Gain = load double* %4157, align 1
  %tmp540 = fmul double %tmp539, %_rtP__Sign1_Gain
  %4158 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_8885, i32 0, i32 543
  store double %tmp540, double* %4158, align 1
  %vm_ssIsMajorTimeStepVar1_8890 = load i32* %vm_ssIsMajorTimeStepVar1_, align 1
  %4159 = icmp eq i32 %vm_ssIsMajorTimeStepVar1_8890, 0
  br i1 %4159, label %false2314, label %true2315

false2314:                                        ; preds = %false2318, %true2319, %false2324, %true2317, %true2313, %false2312
  %_rtDW_8901 = load %DW_REVS_VM_T.16** %_rtDW_, align 1
  %4160 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_8901, i32 0, i32 1058
  %_rtDW__Subsystem_MODE_io8902 = load i8* %4160, align 1
  %4161 = and i8 %_rtDW__Subsystem_MODE_io8902, 1
  %4162 = icmp eq i8 %4161, 0
  br i1 %4162, label %false2326, label %true2325

true2315:                                         ; preds = %true2313
  %_rtB_8891 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %4163 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_8891, i32 0, i32 837
  %_rtB__Compare_hk = load i8* %4163, align 1
  %4164 = and i8 %_rtB__Compare_hk, 1
  %4165 = icmp eq i8 %4164, 0
  %_rtDW_8892 = load %DW_REVS_VM_T.16** %_rtDW_, align 1
  %4166 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_8892, i32 0, i32 1058
  %_rtDW__Subsystem_MODE_io = load i8* %4166, align 1
  %4167 = and i8 %_rtDW__Subsystem_MODE_io, 1
  %4168 = icmp eq i8 %4167, 0
  br i1 %4165, label %false2318, label %true2317

true2317:                                         ; preds = %true2315
  br i1 %4168, label %true2321, label %false2314

false2318:                                        ; preds = %true2315
  br i1 %4168, label %false2314, label %true2319

true2319:                                         ; preds = %false2318
  %"%<tSimStruct>_8893" = load i8** %"%<tSimStruct>_", align 1
  call void @vm_ssSetSolverNeedsReset(i8* %"%<tSimStruct>_8893")
  %_rtDW_8894 = load %DW_REVS_VM_T.16** %_rtDW_, align 1
  %4169 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_8894, i32 0, i32 1058
  store i8 0, i8* %4169, align 1
  br label %false2314

true2321:                                         ; preds = %true2317
  %vm_ssGetTaskTimeVar2_8897 = load double* %vm_ssGetTaskTimeVar2_, align 1
  %vm_ssGetTStartVar3_8898 = load double* %vm_ssGetTStartVar3_, align 1
  %4170 = fcmp une double %vm_ssGetTaskTimeVar2_8897, %vm_ssGetTStartVar3_8898
  br i1 %4170, label %true2323, label %false2324

true2323:                                         ; preds = %true2321
  %"%<tSimStruct>_8899" = load i8** %"%<tSimStruct>_", align 1
  call void @vm_ssSetSolverNeedsReset(i8* %"%<tSimStruct>_8899")
  %_rtDW_8900.pre = load %DW_REVS_VM_T.16** %_rtDW_, align 1
  br label %false2324

false2324:                                        ; preds = %true2323, %true2321
  %_rtDW_8900 = phi %DW_REVS_VM_T.16* [ %_rtDW_8900.pre, %true2323 ], [ %_rtDW_8892, %true2321 ]
  %4171 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_8900, i32 0, i32 1058
  store i8 1, i8* %4171, align 1
  br label %false2314

true2325:                                         ; preds = %false2314
  %_rtX_8903 = load %X_REVS_VM_T.18** %_rtX_, align 1
  %4172 = getelementptr inbounds %X_REVS_VM_T.18* %_rtX_8903, i32 0, i32 79
  %_rtX__Integrator1_CSTATE_bd = load double* %4172, align 1
  %_rtP_8904 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %4173 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_8904, i32 0, i32 143
  %_rtP__Integrator1_UpperSat_fp = load double* %4173, align 1
  %4174 = fcmp ult double %_rtX__Integrator1_CSTATE_bd, %_rtP__Integrator1_UpperSat_fp
  br i1 %4174, label %false2328, label %true2327

false2326:                                        ; preds = %true2339, %false2338, %false2314
  %vm_ssIsSampleHitVar0_8947 = load i32* %vm_ssIsSampleHitVar0_, align 1
  store i32 %vm_ssIsSampleHitVar0_8947, i32* %i_0_, align 1
  %4175 = icmp eq i32 %vm_ssIsSampleHitVar0_8947, 0
  br i1 %4175, label %false2342, label %true2341

true2327:                                         ; preds = %true2325
  %4176 = fcmp une double %_rtX__Integrator1_CSTATE_bd, %_rtP__Integrator1_UpperSat_fp
  br i1 %4176, label %true2333, label %merge2772

false2328:                                        ; preds = %true2325
  %4177 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_8904, i32 0, i32 144
  %_rtP__Integrator1_LowerSat_h = load double* %4177, align 1
  %4178 = fcmp ole double %_rtX__Integrator1_CSTATE_bd, %_rtP__Integrator1_LowerSat_h
  %4179 = fcmp une double %_rtX__Integrator1_CSTATE_bd, %_rtP__Integrator1_LowerSat_h
  %or.cond10165 = and i1 %4178, %4179
  br i1 %or.cond10165, label %true2331, label %merge2772

true2331:                                         ; preds = %false2328
  store double %_rtP__Integrator1_LowerSat_h, double* %4172, align 1
  %"%<tSimStruct>_8915" = load i8** %"%<tSimStruct>_", align 1
  call void @vm_ssSetSolverNeedsReset(i8* %"%<tSimStruct>_8915")
  br label %merge2772

true2333:                                         ; preds = %true2327
  store double %_rtP__Integrator1_UpperSat_fp, double* %4172, align 1
  %"%<tSimStruct>_8923" = load i8** %"%<tSimStruct>_", align 1
  call void @vm_ssSetSolverNeedsReset(i8* %"%<tSimStruct>_8923")
  br label %merge2772

true2335:                                         ; preds = %merge2772
  %"%<tSimStruct>_8929" = load i8** %"%<tSimStruct>_", align 1
  call void @vm_ssCallAccelRunBlock(i8* %"%<tSimStruct>_8929", i32 236, i32 1, i32 104)
  br label %false2336

false2336:                                        ; preds = %merge2772, %true2335
  %"%<tSimStruct>_8930" = load i8** %"%<tSimStruct>_", align 1
  %_rtB_8931 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %4180 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_8931, i32 0, i32 543
  %_rtB__Sign1 = load double* %4180, align 1
  %4181 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_8931, i32 0, i32 44
  %_rtB__Integrator_d8933 = load double* %4181, align 1
  %4182 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_8931, i32 0, i32 867
  %_rtP_8935 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %4183 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_8935, i32 0, i32 1551
  %_rtX_8936 = load %X_REVS_VM_T.18** %_rtX_, align 1
  %4184 = getelementptr inbounds %X_REVS_VM_T.18* %_rtX_8936, i32 0, i32 80
  call void @REVS_VM_MechEnergyNmps(i8* %"%<tSimStruct>_8930", double %_rtB__Sign1, double %_rtB__Integrator_d8933, %B_MechEnergyNmps_REVS_VM_T.8* %4182, %P_MechEnergyNmps_REVS_VM_T.10* %4183, %X_MechEnergyNmps_REVS_VM_T.11* %4184)
  %vm_ssIsSampleHitVar0_8937 = load i32* %vm_ssIsSampleHitVar0_, align 1
  store i32 %vm_ssIsSampleHitVar0_8937, i32* %i_0_, align 1
  %4185 = icmp eq i32 %vm_ssIsSampleHitVar0_8937, 0
  br i1 %4185, label %false2338, label %true2337

true2337:                                         ; preds = %false2336
  %"%<tSimStruct>_8939" = load i8** %"%<tSimStruct>_", align 1
  call void @vm_ssCallAccelRunBlock(i8* %"%<tSimStruct>_8939", i32 236, i32 3, i32 104)
  %"%<tSimStruct>_8940" = load i8** %"%<tSimStruct>_", align 1
  call void @vm_ssCallAccelRunBlock(i8* %"%<tSimStruct>_8940", i32 236, i32 4, i32 104)
  %"%<tSimStruct>_8941" = load i8** %"%<tSimStruct>_", align 1
  call void @vm_ssCallAccelRunBlock(i8* %"%<tSimStruct>_8941", i32 236, i32 5, i32 104)
  %"%<tSimStruct>_8942" = load i8** %"%<tSimStruct>_", align 1
  call void @vm_ssCallAccelRunBlock(i8* %"%<tSimStruct>_8942", i32 236, i32 6, i32 104)
  %"%<tSimStruct>_8943" = load i8** %"%<tSimStruct>_", align 1
  call void @vm_ssCallAccelRunBlock(i8* %"%<tSimStruct>_8943", i32 236, i32 7, i32 104)
  %"%<tSimStruct>_8944" = load i8** %"%<tSimStruct>_", align 1
  call void @vm_ssCallAccelRunBlock(i8* %"%<tSimStruct>_8944", i32 236, i32 8, i32 104)
  br label %false2338

false2338:                                        ; preds = %false2336, %true2337
  %vm_ssIsMajorTimeStepVar1_8945 = load i32* %vm_ssIsMajorTimeStepVar1_, align 1
  %4186 = icmp eq i32 %vm_ssIsMajorTimeStepVar1_8945, 0
  br i1 %4186, label %false2326, label %true2339

true2339:                                         ; preds = %false2338
  %_rtDW_8946 = load %DW_REVS_VM_T.16** %_rtDW_, align 1
  %4187 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_8946, i32 0, i32 998
  call void @vm_srUpdateBC(i8* %4187)
  br label %false2326

true2341:                                         ; preds = %false2326
  %rtb_cycle_phase_num_8949 = load double* %rtb_cycle_phase_num_, align 1
  %_rtB_8950 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %4188 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_8950, i32 0, i32 544
  %_rtB__Switch_cp = load double* %4188, align 1
  %4189 = call double @muDoubleScalarMin(double %rtb_cycle_phase_num_8949, double %_rtB__Switch_cp)
  %_rtB_8951 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %4190 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_8951, i32 0, i32 545
  %_rtB__Switch1_ix = load double* %4190, align 1
  %4191 = call double @muDoubleScalarMax(double %4189, double %_rtB__Switch1_ix)
  %_rtP_8952 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %4192 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_8952, i32 0, i32 1277, i32 0
  %4193 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_8952, i32 0, i32 1276, i32 0
  %_rtDW_8954 = load %DW_REVS_VM_T.16** %_rtDW_, align 1
  %4194 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_8954, i32 0, i32 824
  %4195 = call double @look1_plinlxpw(double %4191, double* %4192, double* %4193, i32* %4194, i32 1)
  %_rtB_8956 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %4196 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_8956, i32 0, i32 546
  %_rtB__StaticVehicleMasskg_o = load double* %4196, align 1
  %tmp541 = fadd double %4195, %_rtB__StaticVehicleMasskg_o
  %tmp542 = fdiv double %tmp541, %_rtB__StaticVehicleMasskg_o
  %4197 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_8956, i32 0, i32 547
  %_rtB__CoastdownCoefficientA = load double* %4197, align 1
  %tmp543 = fmul double %tmp542, %_rtB__CoastdownCoefficientA
  %4198 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_8956, i32 0, i32 548
  store double %tmp543, double* %4198, align 1
  br label %false2342

false2342:                                        ; preds = %false2326, %true2341
  %_rtB_8961 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %4199 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_8961, i32 0, i32 44
  %_rtB__Integrator_d8962 = load double* %4199, align 1
  %4200 = call double @muDoubleScalarAbs(double %_rtB__Integrator_d8962)
  %_rtB_8963 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %4201 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_8963, i32 0, i32 549
  %_rtB__CoastdownCoefficientB = load double* %4201, align 1
  %tmp544 = fmul double %4200, %_rtB__CoastdownCoefficientB
  %4202 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_8963, i32 0, i32 548
  %_rtB__BTerm2 = load double* %4202, align 1
  %tmp545 = fadd double %tmp544, %_rtB__BTerm2
  %4203 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_8963, i32 0, i32 44
  %_rtB__Integrator_d8966 = load double* %4203, align 1
  %tmp546 = fmul double %_rtB__Integrator_d8966, %_rtB__Integrator_d8966
  %4204 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_8963, i32 0, i32 550
  %_rtB__CoastdownCoefficientC = load double* %4204, align 1
  %tmp547 = fmul double %tmp546, %_rtB__CoastdownCoefficientC
  %tmp548 = fadd double %tmp545, %tmp547
  store double %tmp548, double* %rtb_RoadLoadN_, align 1
  %_rtP_8972 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %4205 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_8972, i32 0, i32 1283, i32 0
  %4206 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_8972, i32 0, i32 1282, i32 0
  %_rtDW_8974 = load %DW_REVS_VM_T.16** %_rtDW_, align 1
  %4207 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_8974, i32 0, i32 825
  %4208 = call double @look1_pbinlcapw(double %_rtB__Integrator_d8966, double* %4205, double* %4206, i32* %4207, i32 2)
  %tmp549 = fmul double %4208, %tmp548
  %_rtP_8977 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %4209 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_8977, i32 0, i32 1284
  %_rtP__Sign2_Gain = load double* %4209, align 1
  %tmp550 = fmul double %tmp549, %_rtP__Sign2_Gain
  %_rtB_8978 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %4210 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_8978, i32 0, i32 838
  %_rtB__Compare_ma = load i8* %4210, align 1
  %4211 = uitofp i8 %_rtB__Compare_ma to double
  %tmp551 = fmul double %tmp550, %4211
  %4212 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_8978, i32 0, i32 551
  store double %tmp551, double* %4212, align 1
  %vm_ssIsSampleHitVar0_8980 = load i32* %vm_ssIsSampleHitVar0_, align 1
  store i32 %vm_ssIsSampleHitVar0_8980, i32* %i_0_, align 1
  %4213 = icmp eq i32 %vm_ssIsSampleHitVar0_8980, 0
  %vm_ssIsMajorTimeStepVar1_8982 = load i32* %vm_ssIsMajorTimeStepVar1_, align 1
  %4214 = icmp eq i32 %vm_ssIsMajorTimeStepVar1_8982, 0
  %or.cond10167 = or i1 %4213, %4214
  br i1 %or.cond10167, label %false2344, label %true2345

false2344:                                        ; preds = %false2348, %true2349, %false2354, %true2347, %false2342
  %_rtDW_8993 = load %DW_REVS_VM_T.16** %_rtDW_, align 1
  %4215 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_8993, i32 0, i32 1059
  %_rtDW__Subsystem_MODE_fx8994 = load i8* %4215, align 1
  %4216 = and i8 %_rtDW__Subsystem_MODE_fx8994, 1
  %4217 = icmp eq i8 %4216, 0
  br i1 %4217, label %false2356, label %true2355

true2345:                                         ; preds = %false2342
  %_rtB_8983 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %4218 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_8983, i32 0, i32 839
  %_rtB__Compare_dl = load i8* %4218, align 1
  %4219 = and i8 %_rtB__Compare_dl, 1
  %4220 = icmp eq i8 %4219, 0
  %_rtDW_8984 = load %DW_REVS_VM_T.16** %_rtDW_, align 1
  %4221 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_8984, i32 0, i32 1059
  %_rtDW__Subsystem_MODE_fx = load i8* %4221, align 1
  %4222 = and i8 %_rtDW__Subsystem_MODE_fx, 1
  %4223 = icmp eq i8 %4222, 0
  br i1 %4220, label %false2348, label %true2347

true2347:                                         ; preds = %true2345
  br i1 %4223, label %true2351, label %false2344

false2348:                                        ; preds = %true2345
  br i1 %4223, label %false2344, label %true2349

true2349:                                         ; preds = %false2348
  %"%<tSimStruct>_8985" = load i8** %"%<tSimStruct>_", align 1
  call void @vm_ssSetSolverNeedsReset(i8* %"%<tSimStruct>_8985")
  %_rtDW_8986 = load %DW_REVS_VM_T.16** %_rtDW_, align 1
  %4224 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_8986, i32 0, i32 1059
  store i8 0, i8* %4224, align 1
  br label %false2344

true2351:                                         ; preds = %true2347
  %vm_ssGetTaskTimeVar2_8989 = load double* %vm_ssGetTaskTimeVar2_, align 1
  %vm_ssGetTStartVar3_8990 = load double* %vm_ssGetTStartVar3_, align 1
  %4225 = fcmp une double %vm_ssGetTaskTimeVar2_8989, %vm_ssGetTStartVar3_8990
  br i1 %4225, label %true2353, label %false2354

true2353:                                         ; preds = %true2351
  %"%<tSimStruct>_8991" = load i8** %"%<tSimStruct>_", align 1
  call void @vm_ssSetSolverNeedsReset(i8* %"%<tSimStruct>_8991")
  %_rtDW_8992.pre = load %DW_REVS_VM_T.16** %_rtDW_, align 1
  br label %false2354

false2354:                                        ; preds = %true2353, %true2351
  %_rtDW_8992 = phi %DW_REVS_VM_T.16* [ %_rtDW_8992.pre, %true2353 ], [ %_rtDW_8984, %true2351 ]
  %4226 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_8992, i32 0, i32 1059
  store i8 1, i8* %4226, align 1
  br label %false2344

true2355:                                         ; preds = %false2344
  %_rtX_8995 = load %X_REVS_VM_T.18** %_rtX_, align 1
  %4227 = getelementptr inbounds %X_REVS_VM_T.18* %_rtX_8995, i32 0, i32 77
  %_rtX__Integrator1_CSTATE_e3 = load double* %4227, align 1
  %_rtP_8996 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %4228 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_8996, i32 0, i32 146
  %_rtP__Integrator1_UpperSat_p = load double* %4228, align 1
  %4229 = fcmp ult double %_rtX__Integrator1_CSTATE_e3, %_rtP__Integrator1_UpperSat_p
  br i1 %4229, label %false2358, label %true2357

false2356:                                        ; preds = %true2369, %false2368, %false2344
  %vm_ssIsSampleHitVar0_9039 = load i32* %vm_ssIsSampleHitVar0_, align 1
  store i32 %vm_ssIsSampleHitVar0_9039, i32* %i_0_, align 1
  %4230 = icmp eq i32 %vm_ssIsSampleHitVar0_9039, 0
  %vm_ssIsMajorTimeStepVar1_9041 = load i32* %vm_ssIsMajorTimeStepVar1_, align 1
  %4231 = icmp eq i32 %vm_ssIsMajorTimeStepVar1_9041, 0
  %or.cond10170 = or i1 %4230, %4231
  br i1 %or.cond10170, label %false2372, label %true2373

true2357:                                         ; preds = %true2355
  %4232 = fcmp une double %_rtX__Integrator1_CSTATE_e3, %_rtP__Integrator1_UpperSat_p
  br i1 %4232, label %true2363, label %merge2774

false2358:                                        ; preds = %true2355
  %4233 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_8996, i32 0, i32 147
  %_rtP__Integrator1_LowerSat_dd = load double* %4233, align 1
  %4234 = fcmp ole double %_rtX__Integrator1_CSTATE_e3, %_rtP__Integrator1_LowerSat_dd
  %4235 = fcmp une double %_rtX__Integrator1_CSTATE_e3, %_rtP__Integrator1_LowerSat_dd
  %or.cond10168 = and i1 %4234, %4235
  br i1 %or.cond10168, label %true2361, label %merge2774

true2361:                                         ; preds = %false2358
  store double %_rtP__Integrator1_LowerSat_dd, double* %4227, align 1
  %"%<tSimStruct>_9007" = load i8** %"%<tSimStruct>_", align 1
  call void @vm_ssSetSolverNeedsReset(i8* %"%<tSimStruct>_9007")
  br label %merge2774

true2363:                                         ; preds = %true2357
  store double %_rtP__Integrator1_UpperSat_p, double* %4227, align 1
  %"%<tSimStruct>_9015" = load i8** %"%<tSimStruct>_", align 1
  call void @vm_ssSetSolverNeedsReset(i8* %"%<tSimStruct>_9015")
  br label %merge2774

true2365:                                         ; preds = %merge2774
  %"%<tSimStruct>_9021" = load i8** %"%<tSimStruct>_", align 1
  call void @vm_ssCallAccelRunBlock(i8* %"%<tSimStruct>_9021", i32 238, i32 1, i32 104)
  br label %false2366

false2366:                                        ; preds = %merge2774, %true2365
  %"%<tSimStruct>_9022" = load i8** %"%<tSimStruct>_", align 1
  %_rtB_9023 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %4236 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_9023, i32 0, i32 551
  %_rtB__Product_m = load double* %4236, align 1
  %4237 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_9023, i32 0, i32 44
  %_rtB__Integrator_d9025 = load double* %4237, align 1
  %4238 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_9023, i32 0, i32 866
  %_rtP_9027 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %4239 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_9027, i32 0, i32 1550
  %_rtX_9028 = load %X_REVS_VM_T.18** %_rtX_, align 1
  %4240 = getelementptr inbounds %X_REVS_VM_T.18* %_rtX_9028, i32 0, i32 78
  call void @REVS_VM_MechEnergyNmps(i8* %"%<tSimStruct>_9022", double %_rtB__Product_m, double %_rtB__Integrator_d9025, %B_MechEnergyNmps_REVS_VM_T.8* %4238, %P_MechEnergyNmps_REVS_VM_T.10* %4239, %X_MechEnergyNmps_REVS_VM_T.11* %4240)
  %vm_ssIsSampleHitVar0_9029 = load i32* %vm_ssIsSampleHitVar0_, align 1
  store i32 %vm_ssIsSampleHitVar0_9029, i32* %i_0_, align 1
  %4241 = icmp eq i32 %vm_ssIsSampleHitVar0_9029, 0
  br i1 %4241, label %false2368, label %true2367

true2367:                                         ; preds = %false2366
  %"%<tSimStruct>_9031" = load i8** %"%<tSimStruct>_", align 1
  call void @vm_ssCallAccelRunBlock(i8* %"%<tSimStruct>_9031", i32 238, i32 3, i32 104)
  %"%<tSimStruct>_9032" = load i8** %"%<tSimStruct>_", align 1
  call void @vm_ssCallAccelRunBlock(i8* %"%<tSimStruct>_9032", i32 238, i32 4, i32 104)
  %"%<tSimStruct>_9033" = load i8** %"%<tSimStruct>_", align 1
  call void @vm_ssCallAccelRunBlock(i8* %"%<tSimStruct>_9033", i32 238, i32 5, i32 104)
  %"%<tSimStruct>_9034" = load i8** %"%<tSimStruct>_", align 1
  call void @vm_ssCallAccelRunBlock(i8* %"%<tSimStruct>_9034", i32 238, i32 6, i32 104)
  %"%<tSimStruct>_9035" = load i8** %"%<tSimStruct>_", align 1
  call void @vm_ssCallAccelRunBlock(i8* %"%<tSimStruct>_9035", i32 238, i32 7, i32 104)
  %"%<tSimStruct>_9036" = load i8** %"%<tSimStruct>_", align 1
  call void @vm_ssCallAccelRunBlock(i8* %"%<tSimStruct>_9036", i32 238, i32 8, i32 104)
  br label %false2368

false2368:                                        ; preds = %false2366, %true2367
  %vm_ssIsMajorTimeStepVar1_9037 = load i32* %vm_ssIsMajorTimeStepVar1_, align 1
  %4242 = icmp eq i32 %vm_ssIsMajorTimeStepVar1_9037, 0
  br i1 %4242, label %false2356, label %true2369

true2369:                                         ; preds = %false2368
  %_rtDW_9038 = load %DW_REVS_VM_T.16** %_rtDW_, align 1
  %4243 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_9038, i32 0, i32 999
  call void @vm_srUpdateBC(i8* %4243)
  br label %false2356

false2372:                                        ; preds = %false2376, %true2377, %false2382, %true2375, %false2356
  %_rtDW_9052 = load %DW_REVS_VM_T.16** %_rtDW_, align 1
  %4244 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_9052, i32 0, i32 1060
  %_rtDW__Subsystem_MODE_mh9053 = load i8* %4244, align 1
  %4245 = and i8 %_rtDW__Subsystem_MODE_mh9053, 1
  %4246 = icmp eq i8 %4245, 0
  br i1 %4246, label %false2384, label %true2383

true2373:                                         ; preds = %false2356
  %_rtB_9042 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %4247 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_9042, i32 0, i32 840
  %_rtB__Compare_iq = load i8* %4247, align 1
  %4248 = and i8 %_rtB__Compare_iq, 1
  %4249 = icmp eq i8 %4248, 0
  %_rtDW_9043 = load %DW_REVS_VM_T.16** %_rtDW_, align 1
  %4250 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_9043, i32 0, i32 1060
  %_rtDW__Subsystem_MODE_mh = load i8* %4250, align 1
  %4251 = and i8 %_rtDW__Subsystem_MODE_mh, 1
  %4252 = icmp eq i8 %4251, 0
  br i1 %4249, label %false2376, label %true2375

true2375:                                         ; preds = %true2373
  br i1 %4252, label %true2379, label %false2372

false2376:                                        ; preds = %true2373
  br i1 %4252, label %false2372, label %true2377

true2377:                                         ; preds = %false2376
  %"%<tSimStruct>_9044" = load i8** %"%<tSimStruct>_", align 1
  call void @vm_ssSetSolverNeedsReset(i8* %"%<tSimStruct>_9044")
  %_rtDW_9045 = load %DW_REVS_VM_T.16** %_rtDW_, align 1
  %4253 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_9045, i32 0, i32 1060
  store i8 0, i8* %4253, align 1
  br label %false2372

true2379:                                         ; preds = %true2375
  %vm_ssGetTaskTimeVar2_9048 = load double* %vm_ssGetTaskTimeVar2_, align 1
  %vm_ssGetTStartVar3_9049 = load double* %vm_ssGetTStartVar3_, align 1
  %4254 = fcmp une double %vm_ssGetTaskTimeVar2_9048, %vm_ssGetTStartVar3_9049
  br i1 %4254, label %true2381, label %false2382

true2381:                                         ; preds = %true2379
  %"%<tSimStruct>_9050" = load i8** %"%<tSimStruct>_", align 1
  call void @vm_ssSetSolverNeedsReset(i8* %"%<tSimStruct>_9050")
  %_rtDW_9051.pre = load %DW_REVS_VM_T.16** %_rtDW_, align 1
  br label %false2382

false2382:                                        ; preds = %true2381, %true2379
  %_rtDW_9051 = phi %DW_REVS_VM_T.16* [ %_rtDW_9051.pre, %true2381 ], [ %_rtDW_9043, %true2379 ]
  %4255 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_9051, i32 0, i32 1060
  store i8 1, i8* %4255, align 1
  br label %false2372

true2383:                                         ; preds = %false2372
  %_rtB_9054 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %4256 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_9054, i32 0, i32 44
  %_rtB__Integrator_d9055 = load double* %4256, align 1
  %tmp552 = fmul double %_rtB__Integrator_d9055, %_rtB__Integrator_d9055
  %4257 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_9054, i32 0, i32 552
  %_rtB__zero_o = load double* %4257, align 1
  %tmp553 = fmul double %tmp552, %_rtB__zero_o
  %_rtP_9059 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %4258 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_9059, i32 0, i32 148
  %_rtP__onehalf_Gain_h = load double* %4258, align 1
  %tmp554 = fmul double %tmp553, %_rtP__onehalf_Gain_h
  %4259 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_9054, i32 0, i32 576
  store double %tmp554, double* %4259, align 1
  %vm_ssIsSampleHitVar0_9061 = load i32* %vm_ssIsSampleHitVar0_, align 1
  store i32 %vm_ssIsSampleHitVar0_9061, i32* %i_0_, align 1
  %4260 = icmp eq i32 %vm_ssIsSampleHitVar0_9061, 0
  br i1 %4260, label %false2386, label %true2385

false2384:                                        ; preds = %true2399, %false2398, %false2372
  %_rtB_9109 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %4261 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_9109, i32 0, i32 44
  %_rtB__Integrator_d9110 = load double* %4261, align 1
  %tmp555 = fmul double %_rtB__Integrator_d9110, %_rtB__Integrator_d9110
  %_rtP_9113 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %4262 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_9113, i32 0, i32 1290
  %_rtP__Gain_Gain_kf = load double* %4262, align 1
  %4263 = call double @muDoubleScalarSign(double %_rtB__Integrator_d9110)
  %tmp556 = fmul double %_rtP__Gain_Gain_kf, %4263
  %tmp557 = fmul double %tmp555, %tmp556
  %_rtB_9116 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %4264 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_9116, i32 0, i32 553
  %_rtB__AirDensitykgm3 = load double* %4264, align 1
  %tmp558 = fmul double %tmp557, %_rtB__AirDensitykgm3
  %4265 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_9116, i32 0, i32 554
  %_rtB__FrontalAream2 = load double* %4265, align 1
  %tmp559 = fmul double %tmp558, %_rtB__FrontalAream2
  %4266 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_9116, i32 0, i32 555
  %_rtB__DragCoefficient = load double* %4266, align 1
  %tmp560 = fmul double %tmp559, %_rtB__DragCoefficient
  %_rtP_9119 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %4267 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_9119, i32 0, i32 1294
  %_rtP__Sign3_Gain = load double* %4267, align 1
  %tmp561 = fmul double %tmp560, %_rtP__Sign3_Gain
  %4268 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_9116, i32 0, i32 841
  %_rtB__Compare_de = load i8* %4268, align 1
  %4269 = uitofp i8 %_rtB__Compare_de to double
  %tmp562 = fmul double %tmp561, %4269
  %4270 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_9116, i32 0, i32 556
  store double %tmp562, double* %4270, align 1
  %vm_ssIsSampleHitVar0_9122 = load i32* %vm_ssIsSampleHitVar0_, align 1
  store i32 %vm_ssIsSampleHitVar0_9122, i32* %i_0_, align 1
  %4271 = icmp eq i32 %vm_ssIsSampleHitVar0_9122, 0
  %vm_ssIsMajorTimeStepVar1_9124 = load i32* %vm_ssIsMajorTimeStepVar1_, align 1
  %4272 = icmp eq i32 %vm_ssIsMajorTimeStepVar1_9124, 0
  %or.cond10173 = or i1 %4271, %4272
  br i1 %or.cond10173, label %false2402, label %true2403

true2385:                                         ; preds = %true2383
  %"%<tSimStruct>_9063" = load i8** %"%<tSimStruct>_", align 1
  call void @vm_ssCallAccelRunBlock(i8* %"%<tSimStruct>_9063", i32 240, i32 3, i32 104)
  br label %false2386

false2386:                                        ; preds = %true2383, %true2385
  %_rtX_9064 = load %X_REVS_VM_T.18** %_rtX_, align 1
  %4273 = getelementptr inbounds %X_REVS_VM_T.18* %_rtX_9064, i32 0, i32 75
  %_rtX__Integrator1_CSTATE_cd = load double* %4273, align 1
  %_rtP_9065 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %4274 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_9065, i32 0, i32 150
  %_rtP__Integrator1_UpperSat_o = load double* %4274, align 1
  %4275 = fcmp ult double %_rtX__Integrator1_CSTATE_cd, %_rtP__Integrator1_UpperSat_o
  br i1 %4275, label %false2388, label %true2387

true2387:                                         ; preds = %false2386
  %4276 = fcmp une double %_rtX__Integrator1_CSTATE_cd, %_rtP__Integrator1_UpperSat_o
  br i1 %4276, label %true2393, label %merge2776

false2388:                                        ; preds = %false2386
  %4277 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_9065, i32 0, i32 151
  %_rtP__Integrator1_LowerSat_f = load double* %4277, align 1
  %4278 = fcmp ole double %_rtX__Integrator1_CSTATE_cd, %_rtP__Integrator1_LowerSat_f
  %4279 = fcmp une double %_rtX__Integrator1_CSTATE_cd, %_rtP__Integrator1_LowerSat_f
  %or.cond10171 = and i1 %4278, %4279
  br i1 %or.cond10171, label %true2391, label %merge2776

true2391:                                         ; preds = %false2388
  store double %_rtP__Integrator1_LowerSat_f, double* %4273, align 1
  %"%<tSimStruct>_9076" = load i8** %"%<tSimStruct>_", align 1
  call void @vm_ssSetSolverNeedsReset(i8* %"%<tSimStruct>_9076")
  br label %merge2776

true2393:                                         ; preds = %true2387
  store double %_rtP__Integrator1_UpperSat_o, double* %4273, align 1
  %"%<tSimStruct>_9084" = load i8** %"%<tSimStruct>_", align 1
  call void @vm_ssSetSolverNeedsReset(i8* %"%<tSimStruct>_9084")
  br label %merge2776

true2395:                                         ; preds = %merge2776
  %"%<tSimStruct>_9090" = load i8** %"%<tSimStruct>_", align 1
  call void @vm_ssCallAccelRunBlock(i8* %"%<tSimStruct>_9090", i32 240, i32 5, i32 104)
  br label %false2396

false2396:                                        ; preds = %merge2776, %true2395
  %"%<tSimStruct>_9091" = load i8** %"%<tSimStruct>_", align 1
  %_rtB_9092 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %4280 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_9092, i32 0, i32 494
  %_rtB__TractionForceN = load double* %4280, align 1
  %4281 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_9092, i32 0, i32 44
  %_rtB__Integrator_d9094 = load double* %4281, align 1
  %4282 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_9092, i32 0, i32 865
  %_rtP_9096 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %4283 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_9096, i32 0, i32 1549
  %_rtX_9097 = load %X_REVS_VM_T.18** %_rtX_, align 1
  %4284 = getelementptr inbounds %X_REVS_VM_T.18* %_rtX_9097, i32 0, i32 76
  call void @REVS_VM_MechEnergyNmps(i8* %"%<tSimStruct>_9091", double %_rtB__TractionForceN, double %_rtB__Integrator_d9094, %B_MechEnergyNmps_REVS_VM_T.8* %4282, %P_MechEnergyNmps_REVS_VM_T.10* %4283, %X_MechEnergyNmps_REVS_VM_T.11* %4284)
  %vm_ssIsSampleHitVar0_9098 = load i32* %vm_ssIsSampleHitVar0_, align 1
  store i32 %vm_ssIsSampleHitVar0_9098, i32* %i_0_, align 1
  %4285 = icmp eq i32 %vm_ssIsSampleHitVar0_9098, 0
  br i1 %4285, label %false2398, label %true2397

true2397:                                         ; preds = %false2396
  %"%<tSimStruct>_9100" = load i8** %"%<tSimStruct>_", align 1
  call void @vm_ssCallAccelRunBlock(i8* %"%<tSimStruct>_9100", i32 240, i32 7, i32 104)
  %"%<tSimStruct>_9101" = load i8** %"%<tSimStruct>_", align 1
  call void @vm_ssCallAccelRunBlock(i8* %"%<tSimStruct>_9101", i32 240, i32 8, i32 104)
  %"%<tSimStruct>_9102" = load i8** %"%<tSimStruct>_", align 1
  call void @vm_ssCallAccelRunBlock(i8* %"%<tSimStruct>_9102", i32 240, i32 9, i32 104)
  %"%<tSimStruct>_9103" = load i8** %"%<tSimStruct>_", align 1
  call void @vm_ssCallAccelRunBlock(i8* %"%<tSimStruct>_9103", i32 240, i32 10, i32 104)
  %"%<tSimStruct>_9104" = load i8** %"%<tSimStruct>_", align 1
  call void @vm_ssCallAccelRunBlock(i8* %"%<tSimStruct>_9104", i32 240, i32 11, i32 104)
  %"%<tSimStruct>_9105" = load i8** %"%<tSimStruct>_", align 1
  call void @vm_ssCallAccelRunBlock(i8* %"%<tSimStruct>_9105", i32 240, i32 12, i32 104)
  %"%<tSimStruct>_9106" = load i8** %"%<tSimStruct>_", align 1
  call void @vm_ssCallAccelRunBlock(i8* %"%<tSimStruct>_9106", i32 240, i32 13, i32 104)
  br label %false2398

false2398:                                        ; preds = %false2396, %true2397
  %vm_ssIsMajorTimeStepVar1_9107 = load i32* %vm_ssIsMajorTimeStepVar1_, align 1
  %4286 = icmp eq i32 %vm_ssIsMajorTimeStepVar1_9107, 0
  br i1 %4286, label %false2384, label %true2399

true2399:                                         ; preds = %false2398
  %_rtDW_9108 = load %DW_REVS_VM_T.16** %_rtDW_, align 1
  %4287 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_9108, i32 0, i32 1000
  call void @vm_srUpdateBC(i8* %4287)
  br label %false2384

false2402:                                        ; preds = %false2406, %true2407, %false2412, %true2405, %false2384
  %_rtDW_9135 = load %DW_REVS_VM_T.16** %_rtDW_, align 1
  %4288 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_9135, i32 0, i32 1061
  %_rtDW__Subsystem_MODE_pn9136 = load i8* %4288, align 1
  %4289 = and i8 %_rtDW__Subsystem_MODE_pn9136, 1
  %4290 = icmp eq i8 %4289, 0
  br i1 %4290, label %false2414, label %true2413

true2403:                                         ; preds = %false2384
  %_rtB_9125 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %4291 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_9125, i32 0, i32 842
  %_rtB__Compare_pe = load i8* %4291, align 1
  %4292 = and i8 %_rtB__Compare_pe, 1
  %4293 = icmp eq i8 %4292, 0
  %_rtDW_9126 = load %DW_REVS_VM_T.16** %_rtDW_, align 1
  %4294 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_9126, i32 0, i32 1061
  %_rtDW__Subsystem_MODE_pn = load i8* %4294, align 1
  %4295 = and i8 %_rtDW__Subsystem_MODE_pn, 1
  %4296 = icmp eq i8 %4295, 0
  br i1 %4293, label %false2406, label %true2405

true2405:                                         ; preds = %true2403
  br i1 %4296, label %true2409, label %false2402

false2406:                                        ; preds = %true2403
  br i1 %4296, label %false2402, label %true2407

true2407:                                         ; preds = %false2406
  %"%<tSimStruct>_9127" = load i8** %"%<tSimStruct>_", align 1
  call void @vm_ssSetSolverNeedsReset(i8* %"%<tSimStruct>_9127")
  %_rtDW_9128 = load %DW_REVS_VM_T.16** %_rtDW_, align 1
  %4297 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_9128, i32 0, i32 1061
  store i8 0, i8* %4297, align 1
  br label %false2402

true2409:                                         ; preds = %true2405
  %vm_ssGetTaskTimeVar2_9131 = load double* %vm_ssGetTaskTimeVar2_, align 1
  %vm_ssGetTStartVar3_9132 = load double* %vm_ssGetTStartVar3_, align 1
  %4298 = fcmp une double %vm_ssGetTaskTimeVar2_9131, %vm_ssGetTStartVar3_9132
  br i1 %4298, label %true2411, label %false2412

true2411:                                         ; preds = %true2409
  %"%<tSimStruct>_9133" = load i8** %"%<tSimStruct>_", align 1
  call void @vm_ssSetSolverNeedsReset(i8* %"%<tSimStruct>_9133")
  %_rtDW_9134.pre = load %DW_REVS_VM_T.16** %_rtDW_, align 1
  br label %false2412

false2412:                                        ; preds = %true2411, %true2409
  %_rtDW_9134 = phi %DW_REVS_VM_T.16* [ %_rtDW_9134.pre, %true2411 ], [ %_rtDW_9126, %true2409 ]
  %4299 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_9134, i32 0, i32 1061
  store i8 1, i8* %4299, align 1
  br label %false2402

true2413:                                         ; preds = %false2402
  %_rtX_9137 = load %X_REVS_VM_T.18** %_rtX_, align 1
  %4300 = getelementptr inbounds %X_REVS_VM_T.18* %_rtX_9137, i32 0, i32 73
  %_rtX__Integrator1_CSTATE_hf = load double* %4300, align 1
  %_rtP_9138 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %4301 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_9138, i32 0, i32 153
  %_rtP__Integrator1_UpperSat_p4 = load double* %4301, align 1
  %4302 = fcmp ult double %_rtX__Integrator1_CSTATE_hf, %_rtP__Integrator1_UpperSat_p4
  br i1 %4302, label %false2416, label %true2415

false2414:                                        ; preds = %true2427, %false2426, %false2402
  %_rtB_9181 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %4303 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_9181, i32 0, i32 543
  %_rtB__Sign19182 = load double* %4303, align 1
  %4304 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_9181, i32 0, i32 551
  %_rtB__Product_m9184 = load double* %4304, align 1
  %tmp563 = fadd double %_rtB__Sign19182, %_rtB__Product_m9184
  %4305 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_9181, i32 0, i32 556
  %_rtB__Product1_c9186 = load double* %4305, align 1
  %tmp564 = fadd double %tmp563, %_rtB__Product1_c9186
  %4306 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_9181, i32 0, i32 494
  %_rtB__TractionForceN9188 = load double* %4306, align 1
  %tmp565 = fadd double %tmp564, %_rtB__TractionForceN9188
  %4307 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_9181, i32 0, i32 557
  store double %tmp565, double* %4307, align 1
  %vm_ssIsSampleHitVar0_9190 = load i32* %vm_ssIsSampleHitVar0_, align 1
  store i32 %vm_ssIsSampleHitVar0_9190, i32* %i_0_, align 1
  %4308 = icmp eq i32 %vm_ssIsSampleHitVar0_9190, 0
  br i1 %4308, label %false2430, label %true2429

true2415:                                         ; preds = %true2413
  %4309 = fcmp une double %_rtX__Integrator1_CSTATE_hf, %_rtP__Integrator1_UpperSat_p4
  br i1 %4309, label %true2421, label %merge2778

false2416:                                        ; preds = %true2413
  %4310 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_9138, i32 0, i32 154
  %_rtP__Integrator1_LowerSat_g = load double* %4310, align 1
  %4311 = fcmp ole double %_rtX__Integrator1_CSTATE_hf, %_rtP__Integrator1_LowerSat_g
  %4312 = fcmp une double %_rtX__Integrator1_CSTATE_hf, %_rtP__Integrator1_LowerSat_g
  %or.cond10174 = and i1 %4311, %4312
  br i1 %or.cond10174, label %true2419, label %merge2778

true2419:                                         ; preds = %false2416
  store double %_rtP__Integrator1_LowerSat_g, double* %4300, align 1
  %"%<tSimStruct>_9149" = load i8** %"%<tSimStruct>_", align 1
  call void @vm_ssSetSolverNeedsReset(i8* %"%<tSimStruct>_9149")
  br label %merge2778

true2421:                                         ; preds = %true2415
  store double %_rtP__Integrator1_UpperSat_p4, double* %4300, align 1
  %"%<tSimStruct>_9157" = load i8** %"%<tSimStruct>_", align 1
  call void @vm_ssSetSolverNeedsReset(i8* %"%<tSimStruct>_9157")
  br label %merge2778

true2423:                                         ; preds = %merge2778
  %"%<tSimStruct>_9163" = load i8** %"%<tSimStruct>_", align 1
  call void @vm_ssCallAccelRunBlock(i8* %"%<tSimStruct>_9163", i32 242, i32 1, i32 104)
  br label %false2424

false2424:                                        ; preds = %merge2778, %true2423
  %"%<tSimStruct>_9164" = load i8** %"%<tSimStruct>_", align 1
  %_rtB_9165 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %4313 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_9165, i32 0, i32 556
  %_rtB__Product1_c = load double* %4313, align 1
  %4314 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_9165, i32 0, i32 44
  %_rtB__Integrator_d9167 = load double* %4314, align 1
  %4315 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_9165, i32 0, i32 864
  %_rtP_9169 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %4316 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_9169, i32 0, i32 1548
  %_rtX_9170 = load %X_REVS_VM_T.18** %_rtX_, align 1
  %4317 = getelementptr inbounds %X_REVS_VM_T.18* %_rtX_9170, i32 0, i32 74
  call void @REVS_VM_MechEnergyNmps(i8* %"%<tSimStruct>_9164", double %_rtB__Product1_c, double %_rtB__Integrator_d9167, %B_MechEnergyNmps_REVS_VM_T.8* %4315, %P_MechEnergyNmps_REVS_VM_T.10* %4316, %X_MechEnergyNmps_REVS_VM_T.11* %4317)
  %vm_ssIsSampleHitVar0_9171 = load i32* %vm_ssIsSampleHitVar0_, align 1
  store i32 %vm_ssIsSampleHitVar0_9171, i32* %i_0_, align 1
  %4318 = icmp eq i32 %vm_ssIsSampleHitVar0_9171, 0
  br i1 %4318, label %false2426, label %true2425

true2425:                                         ; preds = %false2424
  %"%<tSimStruct>_9173" = load i8** %"%<tSimStruct>_", align 1
  call void @vm_ssCallAccelRunBlock(i8* %"%<tSimStruct>_9173", i32 242, i32 3, i32 104)
  %"%<tSimStruct>_9174" = load i8** %"%<tSimStruct>_", align 1
  call void @vm_ssCallAccelRunBlock(i8* %"%<tSimStruct>_9174", i32 242, i32 4, i32 104)
  %"%<tSimStruct>_9175" = load i8** %"%<tSimStruct>_", align 1
  call void @vm_ssCallAccelRunBlock(i8* %"%<tSimStruct>_9175", i32 242, i32 5, i32 104)
  %"%<tSimStruct>_9176" = load i8** %"%<tSimStruct>_", align 1
  call void @vm_ssCallAccelRunBlock(i8* %"%<tSimStruct>_9176", i32 242, i32 6, i32 104)
  %"%<tSimStruct>_9177" = load i8** %"%<tSimStruct>_", align 1
  call void @vm_ssCallAccelRunBlock(i8* %"%<tSimStruct>_9177", i32 242, i32 7, i32 104)
  %"%<tSimStruct>_9178" = load i8** %"%<tSimStruct>_", align 1
  call void @vm_ssCallAccelRunBlock(i8* %"%<tSimStruct>_9178", i32 242, i32 8, i32 104)
  br label %false2426

false2426:                                        ; preds = %false2424, %true2425
  %vm_ssIsMajorTimeStepVar1_9179 = load i32* %vm_ssIsMajorTimeStepVar1_, align 1
  %4319 = icmp eq i32 %vm_ssIsMajorTimeStepVar1_9179, 0
  br i1 %4319, label %false2414, label %true2427

true2427:                                         ; preds = %false2426
  %_rtDW_9180 = load %DW_REVS_VM_T.16** %_rtDW_, align 1
  %4320 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_9180, i32 0, i32 1001
  call void @vm_srUpdateBC(i8* %4320)
  br label %false2414

true2429:                                         ; preds = %false2414
  %rtb_cycle_phase_num_9192 = load double* %rtb_cycle_phase_num_, align 1
  %_rtB_9193 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %4321 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_9193, i32 0, i32 558
  %_rtB__Switch_el = load double* %4321, align 1
  %4322 = call double @muDoubleScalarMin(double %rtb_cycle_phase_num_9192, double %_rtB__Switch_el)
  %_rtB_9194 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %4323 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_9194, i32 0, i32 559
  %_rtB__Switch1_ej = load double* %4323, align 1
  %4324 = call double @muDoubleScalarMax(double %4322, double %_rtB__Switch1_ej)
  %_rtP_9195 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %4325 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_9195, i32 0, i32 1302, i32 0
  %4326 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_9195, i32 0, i32 1301, i32 0
  %_rtDW_9197 = load %DW_REVS_VM_T.16** %_rtDW_, align 1
  %4327 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_9197, i32 0, i32 826
  %4328 = call double @look1_plinlxpw(double %4324, double* %4325, double* %4326, i32* %4327, i32 1)
  %_rtB_9199 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %4329 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_9199, i32 0, i32 560
  %_rtB__DynamicVehicleMasskg = load double* %4329, align 1
  %tmp566 = fadd double %4328, %_rtB__DynamicVehicleMasskg
  %4330 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_9199, i32 0, i32 561
  store double %tmp566, double* %4330, align 1
  %vm_ssIsMajorTimeStepVar1_9201 = load i32* %vm_ssIsMajorTimeStepVar1_, align 1
  %4331 = icmp eq i32 %vm_ssIsMajorTimeStepVar1_9201, 0
  br i1 %4331, label %false2430, label %true2431

false2430:                                        ; preds = %false2434, %true2435, %false2440, %true2433, %true2429, %false2414
  %_rtDW_9212 = load %DW_REVS_VM_T.16** %_rtDW_, align 1
  %4332 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_9212, i32 0, i32 1062
  %_rtDW__Subsystem_MODE_k39213 = load i8* %4332, align 1
  %4333 = and i8 %_rtDW__Subsystem_MODE_k39213, 1
  %4334 = icmp eq i8 %4333, 0
  br i1 %4334, label %false2442, label %true2441

true2431:                                         ; preds = %true2429
  %_rtB_9202 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %4335 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_9202, i32 0, i32 843
  %_rtB__Compare_dl1 = load i8* %4335, align 1
  %4336 = and i8 %_rtB__Compare_dl1, 1
  %4337 = icmp eq i8 %4336, 0
  %_rtDW_9203 = load %DW_REVS_VM_T.16** %_rtDW_, align 1
  %4338 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_9203, i32 0, i32 1062
  %_rtDW__Subsystem_MODE_k3 = load i8* %4338, align 1
  %4339 = and i8 %_rtDW__Subsystem_MODE_k3, 1
  %4340 = icmp eq i8 %4339, 0
  br i1 %4337, label %false2434, label %true2433

true2433:                                         ; preds = %true2431
  br i1 %4340, label %true2437, label %false2430

false2434:                                        ; preds = %true2431
  br i1 %4340, label %false2430, label %true2435

true2435:                                         ; preds = %false2434
  %"%<tSimStruct>_9204" = load i8** %"%<tSimStruct>_", align 1
  call void @vm_ssSetSolverNeedsReset(i8* %"%<tSimStruct>_9204")
  %_rtDW_9205 = load %DW_REVS_VM_T.16** %_rtDW_, align 1
  %4341 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_9205, i32 0, i32 1062
  store i8 0, i8* %4341, align 1
  br label %false2430

true2437:                                         ; preds = %true2433
  %vm_ssGetTaskTimeVar2_9208 = load double* %vm_ssGetTaskTimeVar2_, align 1
  %vm_ssGetTStartVar3_9209 = load double* %vm_ssGetTStartVar3_, align 1
  %4342 = fcmp une double %vm_ssGetTaskTimeVar2_9208, %vm_ssGetTStartVar3_9209
  br i1 %4342, label %true2439, label %false2440

true2439:                                         ; preds = %true2437
  %"%<tSimStruct>_9210" = load i8** %"%<tSimStruct>_", align 1
  call void @vm_ssSetSolverNeedsReset(i8* %"%<tSimStruct>_9210")
  %_rtDW_9211.pre = load %DW_REVS_VM_T.16** %_rtDW_, align 1
  br label %false2440

false2440:                                        ; preds = %true2439, %true2437
  %_rtDW_9211 = phi %DW_REVS_VM_T.16* [ %_rtDW_9211.pre, %true2439 ], [ %_rtDW_9203, %true2437 ]
  %4343 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_9211, i32 0, i32 1062
  store i8 1, i8* %4343, align 1
  br label %false2430

true2441:                                         ; preds = %false2430
  %_rtB_9214 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %4344 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_9214, i32 0, i32 44
  %_rtB__Integrator_d9215 = load double* %4344, align 1
  %tmp567 = fmul double %_rtB__Integrator_d9215, %_rtB__Integrator_d9215
  %4345 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_9214, i32 0, i32 561
  %_rtB__Sum1_k = load double* %4345, align 1
  %tmp568 = fmul double %tmp567, %_rtB__Sum1_k
  %_rtP_9219 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %4346 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_9219, i32 0, i32 155
  %_rtP__onehalf_Gain_cl = load double* %4346, align 1
  %tmp569 = fmul double %tmp568, %_rtP__onehalf_Gain_cl
  %4347 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_9214, i32 0, i32 573
  store double %tmp569, double* %4347, align 1
  %vm_ssIsSampleHitVar0_9221 = load i32* %vm_ssIsSampleHitVar0_, align 1
  store i32 %vm_ssIsSampleHitVar0_9221, i32* %i_0_, align 1
  %4348 = icmp eq i32 %vm_ssIsSampleHitVar0_9221, 0
  br i1 %4348, label %false2444, label %true2443

false2442:                                        ; preds = %true2457, %false2456, %false2430
  %_rtB_9269 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %4349 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_9269, i32 0, i32 562, i32 0
  %4350 = bitcast double* %4349 to i8*
  %_rtX_9270 = load %X_REVS_VM_T.18** %_rtX_, align 1
  %4351 = getelementptr inbounds %X_REVS_VM_T.18* %_rtX_9270, i32 0, i32 66, i32 0
  %4352 = bitcast double* %4351 to i8*
  %4353 = call i8* @memcpy(i8* %4350, i8* %4352, i32 mul (i32 ptrtoint (double* getelementptr (double* null, i32 1) to i32), i32 10))
  %vm_ssIsSampleHitVar0_9271 = load i32* %vm_ssIsSampleHitVar0_, align 1
  store i32 %vm_ssIsSampleHitVar0_9271, i32* %i_0_, align 1
  %4354 = icmp eq i32 %vm_ssIsSampleHitVar0_9271, 0
  br i1 %4354, label %false2460, label %true2459

true2443:                                         ; preds = %true2441
  %"%<tSimStruct>_9223" = load i8** %"%<tSimStruct>_", align 1
  call void @vm_ssCallAccelRunBlock(i8* %"%<tSimStruct>_9223", i32 244, i32 3, i32 104)
  br label %false2444

false2444:                                        ; preds = %true2441, %true2443
  %_rtX_9224 = load %X_REVS_VM_T.18** %_rtX_, align 1
  %4355 = getelementptr inbounds %X_REVS_VM_T.18* %_rtX_9224, i32 0, i32 71
  %_rtX__Integrator1_CSTATE_e5 = load double* %4355, align 1
  %_rtP_9225 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %4356 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_9225, i32 0, i32 157
  %_rtP__Integrator1_UpperSat_d = load double* %4356, align 1
  %4357 = fcmp ult double %_rtX__Integrator1_CSTATE_e5, %_rtP__Integrator1_UpperSat_d
  br i1 %4357, label %false2446, label %true2445

true2445:                                         ; preds = %false2444
  %4358 = fcmp une double %_rtX__Integrator1_CSTATE_e5, %_rtP__Integrator1_UpperSat_d
  br i1 %4358, label %true2451, label %merge2780

false2446:                                        ; preds = %false2444
  %4359 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_9225, i32 0, i32 158
  %_rtP__Integrator1_LowerSat_i = load double* %4359, align 1
  %4360 = fcmp ole double %_rtX__Integrator1_CSTATE_e5, %_rtP__Integrator1_LowerSat_i
  %4361 = fcmp une double %_rtX__Integrator1_CSTATE_e5, %_rtP__Integrator1_LowerSat_i
  %or.cond10175 = and i1 %4360, %4361
  br i1 %or.cond10175, label %true2449, label %merge2780

true2449:                                         ; preds = %false2446
  store double %_rtP__Integrator1_LowerSat_i, double* %4355, align 1
  %"%<tSimStruct>_9236" = load i8** %"%<tSimStruct>_", align 1
  call void @vm_ssSetSolverNeedsReset(i8* %"%<tSimStruct>_9236")
  br label %merge2780

true2451:                                         ; preds = %true2445
  store double %_rtP__Integrator1_UpperSat_d, double* %4355, align 1
  %"%<tSimStruct>_9244" = load i8** %"%<tSimStruct>_", align 1
  call void @vm_ssSetSolverNeedsReset(i8* %"%<tSimStruct>_9244")
  br label %merge2780

true2453:                                         ; preds = %merge2780
  %"%<tSimStruct>_9250" = load i8** %"%<tSimStruct>_", align 1
  call void @vm_ssCallAccelRunBlock(i8* %"%<tSimStruct>_9250", i32 244, i32 5, i32 104)
  br label %false2454

false2454:                                        ; preds = %merge2780, %true2453
  %"%<tSimStruct>_9251" = load i8** %"%<tSimStruct>_", align 1
  %_rtB_9252 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %4362 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_9252, i32 0, i32 557
  %_rtB__totalforce = load double* %4362, align 1
  %4363 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_9252, i32 0, i32 44
  %_rtB__Integrator_d9254 = load double* %4363, align 1
  %4364 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_9252, i32 0, i32 863
  %_rtP_9256 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %4365 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_9256, i32 0, i32 1547
  %_rtX_9257 = load %X_REVS_VM_T.18** %_rtX_, align 1
  %4366 = getelementptr inbounds %X_REVS_VM_T.18* %_rtX_9257, i32 0, i32 72
  call void @REVS_VM_MechEnergyNmps(i8* %"%<tSimStruct>_9251", double %_rtB__totalforce, double %_rtB__Integrator_d9254, %B_MechEnergyNmps_REVS_VM_T.8* %4364, %P_MechEnergyNmps_REVS_VM_T.10* %4365, %X_MechEnergyNmps_REVS_VM_T.11* %4366)
  %vm_ssIsSampleHitVar0_9258 = load i32* %vm_ssIsSampleHitVar0_, align 1
  store i32 %vm_ssIsSampleHitVar0_9258, i32* %i_0_, align 1
  %4367 = icmp eq i32 %vm_ssIsSampleHitVar0_9258, 0
  br i1 %4367, label %false2456, label %true2455

true2455:                                         ; preds = %false2454
  %"%<tSimStruct>_9260" = load i8** %"%<tSimStruct>_", align 1
  call void @vm_ssCallAccelRunBlock(i8* %"%<tSimStruct>_9260", i32 244, i32 7, i32 104)
  %"%<tSimStruct>_9261" = load i8** %"%<tSimStruct>_", align 1
  call void @vm_ssCallAccelRunBlock(i8* %"%<tSimStruct>_9261", i32 244, i32 8, i32 104)
  %"%<tSimStruct>_9262" = load i8** %"%<tSimStruct>_", align 1
  call void @vm_ssCallAccelRunBlock(i8* %"%<tSimStruct>_9262", i32 244, i32 9, i32 104)
  %"%<tSimStruct>_9263" = load i8** %"%<tSimStruct>_", align 1
  call void @vm_ssCallAccelRunBlock(i8* %"%<tSimStruct>_9263", i32 244, i32 10, i32 104)
  %"%<tSimStruct>_9264" = load i8** %"%<tSimStruct>_", align 1
  call void @vm_ssCallAccelRunBlock(i8* %"%<tSimStruct>_9264", i32 244, i32 11, i32 104)
  %"%<tSimStruct>_9265" = load i8** %"%<tSimStruct>_", align 1
  call void @vm_ssCallAccelRunBlock(i8* %"%<tSimStruct>_9265", i32 244, i32 12, i32 104)
  %"%<tSimStruct>_9266" = load i8** %"%<tSimStruct>_", align 1
  call void @vm_ssCallAccelRunBlock(i8* %"%<tSimStruct>_9266", i32 244, i32 13, i32 104)
  br label %false2456

false2456:                                        ; preds = %false2454, %true2455
  %vm_ssIsMajorTimeStepVar1_9267 = load i32* %vm_ssIsMajorTimeStepVar1_, align 1
  %4368 = icmp eq i32 %vm_ssIsMajorTimeStepVar1_9267, 0
  br i1 %4368, label %false2442, label %true2457

true2457:                                         ; preds = %false2456
  %_rtDW_9268 = load %DW_REVS_VM_T.16** %_rtDW_, align 1
  %4369 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_9268, i32 0, i32 1002
  call void @vm_srUpdateBC(i8* %4369)
  br label %false2442

true2459:                                         ; preds = %false2442
  %"%<tSimStruct>_9273" = load i8** %"%<tSimStruct>_", align 1
  call void @vm_ssCallAccelRunBlock(i8* %"%<tSimStruct>_9273", i32 248, i32 2302, i32 104)
  br label %false2460

false2460:                                        ; preds = %false2442, %true2459
  %_rtX_9274 = load %X_REVS_VM_T.18** %_rtX_, align 1
  %4370 = getelementptr inbounds %X_REVS_VM_T.18* %_rtX_9274, i32 0, i32 67
  %_rtX__Integrator1_CSTATE_k = load double* %4370, align 1
  %_rtB_9275 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %4371 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_9275, i32 0, i32 563
  store double %_rtX__Integrator1_CSTATE_k, double* %4371, align 1
  %vm_ssIsSampleHitVar0_9276 = load i32* %vm_ssIsSampleHitVar0_, align 1
  store i32 %vm_ssIsSampleHitVar0_9276, i32* %i_0_, align 1
  %4372 = icmp eq i32 %vm_ssIsSampleHitVar0_9276, 0
  br i1 %4372, label %merge2781, label %true2461

true2461:                                         ; preds = %false2460
  %"%<tSimStruct>_9278" = load i8** %"%<tSimStruct>_", align 1
  call void @vm_ssCallAccelRunBlock(i8* %"%<tSimStruct>_9278", i32 248, i32 2304, i32 104)
  br label %merge2781

true2463:                                         ; preds = %merge2781
  %_rtB_9347 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %4373 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_9347, i32 0, i32 44
  %_rtB__Integrator_d9348 = load double* %4373, align 1
  %4374 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_9347, i32 0, i32 172, i32 %i_0_9350
  %_rtB__DataTypeConversion_el9351 = load double* %4374, align 1
  %tmp575 = fmul double %_rtB__Integrator_d9348, %_rtB__DataTypeConversion_el9351
  %4375 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_9347, i32 0, i32 564, i32 %i_0_9350
  store double %tmp575, double* %4375, align 1
  %_rtX_9354 = load %X_REVS_VM_T.18** %_rtX_, align 1
  %i_0_9355 = load i32* %i_0_, align 1
  %4376 = getelementptr inbounds %X_REVS_VM_T.18* %_rtX_9354, i32 0, i32 68, i32 %i_0_9355
  %_rtX__Integrator2_CSTATE_hc_el = load double* %4376, align 1
  %_rtB_9356 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %4377 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_9356, i32 0, i32 565, i32 %i_0_9355
  store double %_rtX__Integrator2_CSTATE_hc_el, double* %4377, align 1
  %i_0_9358 = load i32* %i_0_, align 1
  %tmp576 = add i32 %i_0_9358, 1
  br label %merge2781

false2464:                                        ; preds = %merge2781
  %vm_ssIsSampleHitVar0_9280 = load i32* %vm_ssIsSampleHitVar0_, align 1
  store i32 %vm_ssIsSampleHitVar0_9280, i32* %i_0_, align 1
  %4378 = icmp eq i32 %vm_ssIsSampleHitVar0_9280, 0
  br i1 %4378, label %false2466, label %true2465

true2465:                                         ; preds = %false2464
  %"%<tSimStruct>_9282" = load i8** %"%<tSimStruct>_", align 1
  call void @vm_ssCallAccelRunBlock(i8* %"%<tSimStruct>_9282", i32 248, i32 2307, i32 104)
  br label %false2466

false2466:                                        ; preds = %false2464, %true2465
  %_rtX_9283 = load %X_REVS_VM_T.18** %_rtX_, align 1
  %4379 = getelementptr inbounds %X_REVS_VM_T.18* %_rtX_9283, i32 0, i32 69
  %_rtX__Integrator1_CSTATE_fh = load double* %4379, align 1
  %_rtB_9284 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %4380 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_9284, i32 0, i32 566
  store double %_rtX__Integrator1_CSTATE_fh, double* %4380, align 1
  %vm_ssIsSampleHitVar0_9285 = load i32* %vm_ssIsSampleHitVar0_, align 1
  store i32 %vm_ssIsSampleHitVar0_9285, i32* %i_0_, align 1
  %4381 = icmp eq i32 %vm_ssIsSampleHitVar0_9285, 0
  br i1 %4381, label %false2468, label %true2467

true2467:                                         ; preds = %false2466
  %"%<tSimStruct>_9287" = load i8** %"%<tSimStruct>_", align 1
  call void @vm_ssCallAccelRunBlock(i8* %"%<tSimStruct>_9287", i32 248, i32 2309, i32 104)
  br label %false2468

false2468:                                        ; preds = %false2466, %true2467
  %_rtB_9288 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %4382 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_9288, i32 0, i32 44
  %_rtB__Integrator_d9289 = load double* %4382, align 1
  %4383 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_9288, i32 0, i32 567
  %_rtB__Constant_ck = load double* %4383, align 1
  %4384 = fcmp ole double %_rtB__Integrator_d9289, %_rtB__Constant_ck
  %4385 = uitofp i1 %4384 to double
  %4386 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_9288, i32 0, i32 568
  store double %4385, double* %4386, align 1
  br label %merge2782

true2469:                                         ; preds = %merge2782
  %_rtB_9341 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %4387 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_9341, i32 0, i32 568
  %_rtB__DataTypeConversion_p = load double* %4387, align 1
  %4388 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_9341, i32 0, i32 172, i32 %i_0_9343
  %_rtB__DataTypeConversion_el = load double* %4388, align 1
  %tmp573 = fmul double %_rtB__DataTypeConversion_p, %_rtB__DataTypeConversion_el
  %4389 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_9341, i32 0, i32 569, i32 %i_0_9343
  store double %tmp573, double* %4389, align 1
  %i_0_9346 = load i32* %i_0_, align 1
  %tmp574 = add i32 %i_0_9346, 1
  br label %merge2782

false2470:                                        ; preds = %merge2782
  %rtb_DynamicMasskg_9293 = load double* %rtb_DynamicMasskg_, align 1
  %_rtB_9294 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %4390 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_9294, i32 0, i32 561
  %_rtB__Sum1_k9295 = load double* %4390, align 1
  %tmp571 = fadd double %rtb_DynamicMasskg_9293, %_rtB__Sum1_k9295
  %4391 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_9294, i32 0, i32 570
  store double %tmp571, double* %4391, align 1
  %vm_ssIsSampleHitVar0_9297 = load i32* %vm_ssIsSampleHitVar0_, align 1
  store i32 %vm_ssIsSampleHitVar0_9297, i32* %i_0_, align 1
  %4392 = icmp eq i32 %vm_ssIsSampleHitVar0_9297, 0
  br i1 %4392, label %false2472, label %true2471

true2471:                                         ; preds = %false2470
  %_rtB_9299 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %4393 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_9299, i32 0, i32 844
  %_rtB__RelationalOperator_hd = load i8* %4393, align 1
  %4394 = and i8 %_rtB__RelationalOperator_hd, 1
  %4395 = icmp eq i8 %4394, 0
  br i1 %4395, label %false2474, label %true2473

false2472:                                        ; preds = %true2479, %true2477, %false2474, %false2470
  %_rtX_9307 = load %X_REVS_VM_T.18** %_rtX_, align 1
  %4396 = getelementptr inbounds %X_REVS_VM_T.18* %_rtX_9307, i32 0, i32 70
  %_rtX__Integrator1_CSTATE_ic = load double* %4396, align 1
  %_rtP_9308 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %4397 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_9308, i32 0, i32 1316
  %_rtP__Integrator1_UpperSat_gv = load double* %4397, align 1
  %4398 = fcmp ult double %_rtX__Integrator1_CSTATE_ic, %_rtP__Integrator1_UpperSat_gv
  br i1 %4398, label %false2482, label %true2481

true2473:                                         ; preds = %true2471
  %"%<tSimStruct>_9300" = load i8** %"%<tSimStruct>_", align 1
  call void @vm_ssCallAccelRunBlock(i8* %"%<tSimStruct>_9300", i32 245, i32 0, i32 104)
  %vm_ssIsMajorTimeStepVar1_9301 = load i32* %vm_ssIsMajorTimeStepVar1_, align 1
  %4399 = icmp eq i32 %vm_ssIsMajorTimeStepVar1_9301, 0
  br i1 %4399, label %false2476, label %true2475

false2474:                                        ; preds = %true2471, %false2476
  %_rtB_9303 = phi %B_REVS_VM_T.12* [ %_rtB_9299, %true2471 ], [ %_rtB_9303.pre, %false2476 ]
  %4400 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_9303, i32 0, i32 845
  %_rtB__RelationalOperator_de = load i8* %4400, align 1
  %4401 = and i8 %_rtB__RelationalOperator_de, 1
  %4402 = icmp eq i8 %4401, 0
  br i1 %4402, label %false2472, label %true2477

true2475:                                         ; preds = %true2473
  %_rtDW_9302 = load %DW_REVS_VM_T.16** %_rtDW_, align 1
  %4403 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_9302, i32 0, i32 1003
  call void @vm_srUpdateBC(i8* %4403)
  br label %false2476

false2476:                                        ; preds = %true2473, %true2475
  %_rtB_9303.pre = load %B_REVS_VM_T.12** %_rtB_, align 1
  br label %false2474

true2477:                                         ; preds = %false2474
  %"%<tSimStruct>_9304" = load i8** %"%<tSimStruct>_", align 1
  call void @vm_ssCallAccelRunBlock(i8* %"%<tSimStruct>_9304", i32 246, i32 0, i32 104)
  %vm_ssIsMajorTimeStepVar1_9305 = load i32* %vm_ssIsMajorTimeStepVar1_, align 1
  %4404 = icmp eq i32 %vm_ssIsMajorTimeStepVar1_9305, 0
  br i1 %4404, label %false2472, label %true2479

true2479:                                         ; preds = %true2477
  %_rtDW_9306 = load %DW_REVS_VM_T.16** %_rtDW_, align 1
  %4405 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_9306, i32 0, i32 1004
  call void @vm_srUpdateBC(i8* %4405)
  br label %false2472

true2481:                                         ; preds = %false2472
  %4406 = fcmp une double %_rtX__Integrator1_CSTATE_ic, %_rtP__Integrator1_UpperSat_gv
  br i1 %4406, label %true2487, label %merge2783

false2482:                                        ; preds = %false2472
  %4407 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_9308, i32 0, i32 1317
  %_rtP__Integrator1_LowerSat_p = load double* %4407, align 1
  %4408 = fcmp ole double %_rtX__Integrator1_CSTATE_ic, %_rtP__Integrator1_LowerSat_p
  %4409 = fcmp une double %_rtX__Integrator1_CSTATE_ic, %_rtP__Integrator1_LowerSat_p
  %or.cond10176 = and i1 %4408, %4409
  br i1 %or.cond10176, label %true2485, label %merge2783

true2485:                                         ; preds = %false2482
  store double %_rtP__Integrator1_LowerSat_p, double* %4396, align 1
  %"%<tSimStruct>_9319" = load i8** %"%<tSimStruct>_", align 1
  call void @vm_ssSetSolverNeedsReset(i8* %"%<tSimStruct>_9319")
  br label %merge2783

true2487:                                         ; preds = %true2481
  store double %_rtP__Integrator1_UpperSat_gv, double* %4396, align 1
  %"%<tSimStruct>_9327" = load i8** %"%<tSimStruct>_", align 1
  call void @vm_ssSetSolverNeedsReset(i8* %"%<tSimStruct>_9327")
  br label %merge2783

true2489:                                         ; preds = %merge2783
  %_rtB_9333 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %4410 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_9333, i32 0, i32 846
  %_rtB__RelationalOperator_bs = load i8* %4410, align 1
  %4411 = and i8 %_rtB__RelationalOperator_bs, 1
  %4412 = icmp eq i8 %4411, 0
  br i1 %4412, label %false2490, label %true2491

false2490:                                        ; preds = %true2493, %true2491, %true2489, %merge2783
  %_rtB_9337 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %4413 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_9337, i32 0, i32 557
  %_rtB__totalforce9338 = load double* %4413, align 1
  %4414 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_9337, i32 0, i32 570
  %_rtB__Sum_d = load double* %4414, align 1
  %tmp572 = fdiv double %_rtB__totalforce9338, %_rtB__Sum_d
  %4415 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_9337, i32 0, i32 572
  store double %tmp572, double* %4415, align 1
  ret void

true2491:                                         ; preds = %true2489
  %"%<tSimStruct>_9334" = load i8** %"%<tSimStruct>_", align 1
  call void @vm_ssCallAccelRunBlock(i8* %"%<tSimStruct>_9334", i32 247, i32 0, i32 104)
  %vm_ssIsMajorTimeStepVar1_9335 = load i32* %vm_ssIsMajorTimeStepVar1_, align 1
  %4416 = icmp eq i32 %vm_ssIsMajorTimeStepVar1_9335, 0
  br i1 %4416, label %false2490, label %true2493

true2493:                                         ; preds = %true2491
  %_rtDW_9336 = load %DW_REVS_VM_T.16** %_rtDW_, align 1
  %4417 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_9336, i32 0, i32 1005
  call void @vm_srUpdateBC(i8* %4417)
  br label %false2490

false2496:                                        ; preds = %true1072
  %4418 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_9506, i32 0, i32 813
  %_rtP__eps1_LowerSat = load double* %4418, align 1
  %4419 = fcmp olt double %_rtB__speeds_el9505, %_rtP__eps1_LowerSat
  %_rtP__eps1_LowerSat._rtB__speeds_el9505 = select i1 %4419, double %_rtP__eps1_LowerSat, double %_rtB__speeds_el9505
  %.10092 = select i1 %4419, double* %4418, double* %2099
  br label %merge2785

true2499:                                         ; preds = %merge2786
  %_rtB_9543 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %i_0_9544 = load i32* %i_0_, align 1
  %4420 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_9543, i32 0, i32 323, i32 %i_0_9544
  %_rtB__DataTypeConversion_h_el = load double* %4420, align 1
  %4421 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_9543, i32 0, i32 172, i32 %i_9551
  %_rtB__DataTypeConversion_el9547 = load double* %4421, align 1
  %tmp619 = fmul double %_rtB__DataTypeConversion_h_el, %_rtB__DataTypeConversion_el9547
  %tmp620 = mul i32 %i_9551, 9
  %tmp621 = add i32 %i_0_9544, %tmp620
  %4422 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_9543, i32 0, i32 324, i32 %tmp621
  store double %tmp619, double* %4422, align 1
  %tmp622 = add i32 %i_9551, 1
  br label %merge2786

false2500:                                        ; preds = %merge2786
  %i_0_9542 = load i32* %i_0_, align 1
  %tmp618 = add i32 %i_0_9542, 1
  br label %merge2646

merge:                                            ; preds = %false9, %true8, %true14, %true12
  %_rtX_2829 = load %X_REVS_VM_T.18** %_rtX_, align 1
  %4423 = getelementptr inbounds %X_REVS_VM_T.18* %_rtX_2829, i32 0, i32 0
  %_rtX__Integrator_CSTATE2830 = load double* %4423, align 1
  %_rtB_2831 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %4424 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_2831, i32 0, i32 2
  %_rtB__capacityCoulombs = load double* %4424, align 1
  %tmp0 = fdiv double %_rtX__Integrator_CSTATE2830, %_rtB__capacityCoulombs
  %4425 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_2831, i32 0, i32 4
  store double %tmp0, double* %4425, align 1
  %_rtB_2833 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %4426 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_2833, i32 0, i32 4
  %_rtB__soc_norm = load double* %4426, align 1
  %4427 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_2833, i32 0, i32 5
  %_rtB__Switch = load double* %4427, align 1
  %4428 = call double @muDoubleScalarMin(double %_rtB__soc_norm, double %_rtB__Switch)
  %_rtB_2835 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %4429 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_2835, i32 0, i32 6
  %_rtB__Switch1 = load double* %4429, align 1
  %4430 = call double @muDoubleScalarMax(double %4428, double %_rtB__Switch1)
  %_rtP_2836 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %4431 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_2836, i32 0, i32 170, i32 0
  %4432 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_2836, i32 0, i32 169, i32 0
  %_rtDW_2838 = load %DW_REVS_VM_T.16** %_rtDW_, align 1
  %4433 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_2838, i32 0, i32 775
  %4434 = call double @look1_plinlxpw(double %4430, double* %4431, double* %4432, i32* %4433, i32 10)
  store double %4434, double* %rtb_Lookup_, align 1
  %_rtB_2839 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %4435 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_2839, i32 0, i32 4
  %_rtB__soc_norm2840 = load double* %4435, align 1
  %4436 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_2839, i32 0, i32 7
  %_rtB__Switch_d = load double* %4436, align 1
  %4437 = call double @muDoubleScalarMin(double %_rtB__soc_norm2840, double %_rtB__Switch_d)
  %_rtB_2842 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %4438 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_2842, i32 0, i32 8
  %_rtB__Switch1_m = load double* %4438, align 1
  %4439 = call double @muDoubleScalarMax(double %4437, double %_rtB__Switch1_m)
  %_rtP_2843 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %4440 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_2843, i32 0, i32 176, i32 0
  %4441 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_2843, i32 0, i32 175, i32 0
  %_rtDW_2845 = load %DW_REVS_VM_T.16** %_rtDW_, align 1
  %4442 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_2845, i32 0, i32 776
  %4443 = call double @look1_plinlxpw(double %4439, double* %4440, double* %4441, i32* %4442, i32 10)
  store double %4443, double* %rtb_Lookup_o_, align 1
  %vm_ssIsSampleHitVar0_2846 = load i32* %vm_ssIsSampleHitVar0_, align 1
  store i32 %vm_ssIsSampleHitVar0_2846, i32* %i_0_, align 1
  %4444 = icmp eq i32 %vm_ssIsSampleHitVar0_2846, 0
  br i1 %4444, label %false17, label %true16

merge2502:                                        ; preds = %false21, %true20, %true18
  %_rtX_2861 = load %X_REVS_VM_T.18** %_rtX_, align 1
  %4445 = getelementptr inbounds %X_REVS_VM_T.18* %_rtX_2861, i32 0, i32 1
  %_rtX__Integrator_CSTATE_o = load double* %4445, align 1
  %_rtB_2862 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %4446 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_2862, i32 0, i32 11
  store double %_rtX__Integrator_CSTATE_o, double* %4446, align 1
  %_rtX_2863 = load %X_REVS_VM_T.18** %_rtX_, align 1
  %4447 = getelementptr inbounds %X_REVS_VM_T.18* %_rtX_2863, i32 0, i32 2
  %_rtX__Integrator_CSTATE_p = load double* %4447, align 1
  store double %_rtX__Integrator_CSTATE_p, double* %rtb_Integrator_i_, align 1
  %_rtP_2864 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %4448 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_2864, i32 0, i32 180
  %_rtP__use2ndorder_Gain = load double* %4448, align 1
  %tmp3 = fmul double %_rtP__use2ndorder_Gain, %_rtX__Integrator_CSTATE_p
  %_rtB_2867 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %4449 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_2867, i32 0, i32 12
  store double %tmp3, double* %4449, align 1
  %_rtB_2868 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %4450 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_2868, i32 0, i32 9
  %_rtB__batt_curr_A2869 = load double* %4450, align 1
  %_rtP_2870 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %4451 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_2870, i32 0, i32 189
  %_rtP__Switch_Threshold_d = load double* %4451, align 1
  %4452 = fcmp ogt double %_rtB__batt_curr_A2869, %_rtP__Switch_Threshold_d
  %4453 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_2868, i32 0, i32 4
  %_rtB__soc_norm2880 = load double* %4453, align 1
  br i1 %4452, label %true22, label %false23

merge2503:                                        ; preds = %true22, %false23
  %_rtB_2887 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %4454 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_2887, i32 0, i32 9
  %_rtB__batt_curr_A2888 = load double* %4454, align 1
  %4455 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_2887, i32 0, i32 17
  %_rtB__Switch_l = load double* %4455, align 1
  %tmp4 = fmul double %_rtB__batt_curr_A2888, %_rtB__Switch_l
  %4456 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_2887, i32 0, i32 18
  store double %tmp4, double* %4456, align 1
  %_rtB_2891 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %4457 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_2891, i32 0, i32 11
  %_rtB__Integrator = load double* %4457, align 1
  %4458 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_2891, i32 0, i32 12
  %_rtB__use2ndorder = load double* %4458, align 1
  %tmp5 = fadd double %_rtB__Integrator, %_rtB__use2ndorder
  %4459 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_2891, i32 0, i32 18
  %_rtB__Product1_g = load double* %4459, align 1
  %tmp6 = fadd double %tmp5, %_rtB__Product1_g
  store double %tmp6, double* %rtb_Subtract1_, align 1
  %4460 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_2891, i32 0, i32 10
  %_rtB__Switch_o = load double* %4460, align 1
  %tmp7 = fsub double %_rtB__Switch_o, %tmp6
  %_rtP_2896 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %4461 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_2896, i32 0, i32 190
  %_rtP__Gain3_Gain_j = load double* %4461, align 1
  %tmp8 = fmul double %tmp7, %_rtP__Gain3_Gain_j
  %4462 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_2891, i32 0, i32 19
  store double %tmp8, double* %4462, align 1
  %vm_ssIsSampleHitVar0_2898 = load i32* %vm_ssIsSampleHitVar0_, align 1
  store i32 %vm_ssIsSampleHitVar0_2898, i32* %i_0_, align 1
  %4463 = icmp eq i32 %vm_ssIsSampleHitVar0_2898, 0
  br i1 %4463, label %false25, label %true24

merge2507:                                        ; preds = %false57, %true56, %true62, %true60
  %_rtX_3053 = load %X_REVS_VM_T.18** %_rtX_, align 1
  %4464 = getelementptr inbounds %X_REVS_VM_T.18* %_rtX_3053, i32 0, i32 3
  %_rtX__Integrator_CSTATE_d3054 = load double* %4464, align 1
  %_rtB_3055 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %4465 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_3055, i32 0, i32 44
  store double %_rtX__Integrator_CSTATE_d3054, double* %4465, align 1
  %_rtB_3056 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %4466 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_3056, i32 0, i32 43
  %_rtB__sateps = load double* %4466, align 1
  %tmp20 = fdiv double 1.000000e+00, %_rtB__sateps
  %4467 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_3056, i32 0, i32 44
  %_rtB__Integrator_d = load double* %4467, align 1
  %tmp21 = fmul double %tmp20, %_rtB__Integrator_d
  store double %tmp21, double* %rtb_AxleSpeedradsec_, align 1
  %_rtP_3058 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %4468 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_3058, i32 0, i32 240
  %_rtP__numericalstabilizer_C = load double* %4468, align 1
  %_rtX_3059 = load %X_REVS_VM_T.18** %_rtX_, align 1
  %4469 = getelementptr inbounds %X_REVS_VM_T.18* %_rtX_3059, i32 0, i32 4
  %_rtX__numericalstabilizer_CSTATE = load double* %4469, align 1
  %tmp22 = fmul double %_rtP__numericalstabilizer_C, %_rtX__numericalstabilizer_CSTATE
  %tmp23 = fadd double %tmp22, %tmp21
  %4470 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_3056, i32 0, i32 45
  store double %tmp23, double* %4470, align 1
  %_rtB_3062 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %4471 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_3062, i32 0, i32 45
  %_rtB__Sum2 = load double* %4471, align 1
  %_rtP_3063 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %4472 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_3063, i32 0, i32 241
  %_rtP__u_UpperSat_j = load double* %4472, align 1
  %4473 = fcmp ogt double %_rtB__Sum2, %_rtP__u_UpperSat_j
  br i1 %4473, label %true64, label %false65

merge2509:                                        ; preds = %false67, %true66, %true64
  %_rtB_3076 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %4474 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_3076, i32 0, i32 42
  %_rtB__FinalDriveGearRatio = load double* %4474, align 1
  %4475 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_3076, i32 0, i32 46
  %_rtB__u = load double* %4475, align 1
  %tmp24 = fmul double %_rtB__FinalDriveGearRatio, %_rtB__u
  %4476 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_3076, i32 0, i32 47
  store double %tmp24, double* %4476, align 1
  %_rtB_3079 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %4477 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_3079, i32 0, i32 41
  %_rtB__gearnumtoratio = load double* %4477, align 1
  %4478 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_3079, i32 0, i32 47
  %_rtB__Product3 = load double* %4478, align 1
  %tmp25 = fmul double %_rtB__gearnumtoratio, %_rtB__Product3
  store double %tmp25, double* %rtb_Product3_, align 1
  %vm_ssIsSampleHitVar0_3081 = load i32* %vm_ssIsSampleHitVar0_, align 1
  store i32 %vm_ssIsSampleHitVar0_3081, i32* %i_0_, align 1
  %4479 = icmp eq i32 %vm_ssIsSampleHitVar0_3081, 0
  br i1 %4479, label %false69, label %true68

merge2510:                                        ; preds = %false77, %true76, %true82, %true80
  %vm_ssIsSampleHitVar0_3123 = load i32* %vm_ssIsSampleHitVar0_, align 1
  store i32 %vm_ssIsSampleHitVar0_3123, i32* %i_0_, align 1
  %4480 = icmp eq i32 %vm_ssIsSampleHitVar0_3123, 0
  br i1 %4480, label %false85, label %true84

merge2511:                                        ; preds = %true88, %false89
  %storemerge = phi double [ %_rtX__Integrator1_CSTATE3143, %false89 ], [ %tmp27, %true88 ]
  store double %storemerge, double* %u0_0_, align 1
  %4481 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_3140, i32 0, i32 623
  %_rtB__autoneutralenable = load i8* %4481, align 1
  %4482 = and i8 %_rtB__autoneutralenable, 1
  %4483 = icmp ne i8 %4482, 0
  %4484 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_3140, i32 0, i32 53
  %_rtB__Constant_e = load double* %4484, align 1
  %4485 = fcmp oge double %storemerge, %_rtB__Constant_e
  %4486 = and i1 %4483, %4485
  %4487 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_3140, i32 0, i32 625
  %_rtB__LogicalOperator3 = load i8* %4487, align 1
  %4488 = and i8 %_rtB__LogicalOperator3, 1
  %4489 = icmp ne i8 %4488, 0
  %4490 = and i1 %4486, %4489
  %4491 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_3140, i32 0, i32 55
  %_rtB__Fcn = load double* %4491, align 1
  %4492 = fcmp une double %_rtB__Fcn, 0.000000e+00
  %4493 = and i1 %4490, %4492
  %4494 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_3140, i32 0, i32 627
  %_rtB__LogicalOperator4 = load i8* %4494, align 1
  %4495 = and i8 %_rtB__LogicalOperator4, 1
  %4496 = icmp ne i8 %4495, 0
  %4497 = or i1 %4493, %4496
  %4498 = zext i1 %4497 to i8
  %4499 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_3140, i32 0, i32 628
  store i8 %4498, i8* %4499, align 1
  %_rtB_3154 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %4500 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_3154, i32 0, i32 49
  %_rtB__Product = load double* %4500, align 1
  %4501 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_3154, i32 0, i32 628
  %_rtB__LogicalOperator1 = load i8* %4501, align 1
  %4502 = and i8 %_rtB__LogicalOperator1, 1
  %4503 = xor i8 %4502, 1
  %4504 = uitofp i8 %4503 to double
  %tmp28 = fmul double %_rtB__Product, %4504
  %4505 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_3154, i32 0, i32 57
  store double %tmp28, double* %4505, align 1
  %_rtDW_3157 = load %DW_REVS_VM_T.16** %_rtDW_, align 1
  %4506 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_3157, i32 0, i32 14
  %_rtDW__IC_FirstOutputTime = load double* %4506, align 1
  %4507 = fcmp oeq double %_rtDW__IC_FirstOutputTime, 0xFFF0000000000000
  %4508 = fcmp oeq double %_rtDW__IC_FirstOutputTime, %1
  %4509 = or i1 %4507, %4508
  br i1 %4509, label %true90, label %false91

merge2513:                                        ; preds = %false91, %false93
  %storemerge9582 = phi double [ %_rtP__Saturation1_LowerSat., %false93 ], [ %_rtP__Saturation1_UpperSat, %false91 ]
  store double %storemerge9582, double* %u0_0_, align 1
  %_rtB__gear_num3174 = load double* %246, align 1
  %4510 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_3161, i32 0, i32 58
  %_rtB__Constant_c = load double* %4510, align 1
  %4511 = fcmp une double %_rtB__gear_num3174, %_rtB__Constant_c
  %4512 = uitofp i1 %4511 to double
  %tmp29 = fmul double %storemerge9582, %4512
  %4513 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_3161, i32 0, i32 59
  store double %tmp29, double* %4513, align 1
  br label %merge2514

merge2514:                                        ; preds = %true90, %merge2513
  %_rtDW_3182 = load %DW_REVS_VM_T.16** %_rtDW_, align 1
  %4514 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_3182, i32 0, i32 16
  %_rtDW__LastMajorTime = load double* %4514, align 1
  %4515 = fcmp oeq double %_rtDW__LastMajorTime, 0x7FF0000000000000
  br i1 %4515, label %true96, label %false97

merge2517:                                        ; preds = %true98, %true100, %false101, %true96
  %_rtB_3210 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %4516 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_3210, i32 0, i32 60
  %_rtB__RateLimiter = load double* %4516, align 1
  %_rtP_3211 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %4517 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_3211, i32 0, i32 262
  %_rtP__Saturation_UpperSat = load double* %4517, align 1
  %4518 = fcmp ogt double %_rtB__RateLimiter, %_rtP__Saturation_UpperSat
  br i1 %4518, label %true102, label %false103

merge2519:                                        ; preds = %false105, %true104, %true102
  %vm_ssIsSampleHitVar0_3224 = load i32* %vm_ssIsSampleHitVar0_, align 1
  store i32 %vm_ssIsSampleHitVar0_3224, i32* %i_0_, align 1
  %4519 = icmp eq i32 %vm_ssIsSampleHitVar0_3224, 0
  br i1 %4519, label %false107, label %true106

merge2520:                                        ; preds = %true108, %false109
  %vm_ssIsMajorTimeStepVar1_3242 = load i32* %vm_ssIsMajorTimeStepVar1_, align 1
  %4520 = icmp eq i32 %vm_ssIsMajorTimeStepVar1_3242, 0
  br i1 %4520, label %false111, label %true110

merge2521:                                        ; preds = %false117, %true116, %true122, %true120
  %_rtB_3275 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %4521 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_3275, i32 0, i32 630
  %_rtB__LogicalOperator3276 = load i8* %4521, align 1
  %4522 = and i8 %_rtB__LogicalOperator3276, 1
  %4523 = icmp eq i8 %4522, 0
  br i1 %4523, label %false125, label %true124

merge2522:                                        ; preds = %true124, %false125
  %vm_ssIsSampleHitVar0_3282 = load i32* %vm_ssIsSampleHitVar0_, align 1
  store i32 %vm_ssIsSampleHitVar0_3282, i32* %i_0_, align 1
  %4524 = icmp eq i32 %vm_ssIsSampleHitVar0_3282, 0
  br i1 %4524, label %false127, label %true126

merge2523:                                        ; preds = %false135, %true134, %true140, %true138
  %_rtB_3379 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %4525 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_3379, i32 0, i32 87
  %_rtB__Constant_l = load double* %4525, align 1
  %_rtP_3380 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %4526 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_3380, i32 0, i32 308
  %_rtP__Switch_Threshold_g = load double* %4526, align 1
  %4527 = fcmp ogt double %_rtB__Constant_l, %_rtP__Switch_Threshold_g
  br i1 %4527, label %true142, label %false143

merge2524:                                        ; preds = %true142, %false143
  %storemerge9583 = phi double [ %_rtX__Integrator1_CSTATE_a3382, %false143 ], [ %tmp36, %true142 ]
  store double %storemerge9583, double* %u0_0_, align 1
  %4528 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_3379, i32 0, i32 88
  %_rtB__const3 = load double* %4528, align 1
  %4529 = fcmp ogt double %storemerge9583, %_rtB__const3
  %4530 = uitofp i1 %4529 to double
  %4531 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_3379, i32 0, i32 89
  store double %4530, double* %4531, align 1
  %_rtB_3389 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %4532 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_3389, i32 0, i32 89
  %_rtB__tcc_lockup_cmd_bool = load double* %4532, align 1
  %_rtP_3390 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %4533 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_3390, i32 0, i32 310
  %_rtP__Saturation_UpperSat_m = load double* %4533, align 1
  %4534 = fcmp ogt double %_rtB__tcc_lockup_cmd_bool, %_rtP__Saturation_UpperSat_m
  br i1 %4534, label %true144, label %false145

merge2526:                                        ; preds = %false147, %true146, %true144
  %_rtDW_3403 = load %DW_REVS_VM_T.16** %_rtDW_, align 1
  %4535 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_3403, i32 0, i32 25
  %_rtDW__LastMajorTime_m = load double* %4535, align 1
  %4536 = fcmp oeq double %_rtDW__LastMajorTime_m, 0x7FF0000000000000
  br i1 %4536, label %true148, label %false149

merge2529:                                        ; preds = %true150, %true152, %false153, %true148
  %_rtB_3431 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %4537 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_3431, i32 0, i32 631
  %_rtB__Memory1_l = load i8* %4537, align 1
  %4538 = and i8 %_rtB__Memory1_l, 1
  %4539 = icmp ne i8 %4538, 0
  %4540 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_3431, i32 0, i32 91
  %_rtB__tcc_engage_norm = load double* %4540, align 1
  %4541 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_3431, i32 0, i32 92
  %_rtB__Constant_k = load double* %4541, align 1
  %4542 = fcmp ogt double %_rtB__tcc_engage_norm, %_rtB__Constant_k
  %4543 = and i1 %4539, %4542
  %4544 = zext i1 %4543 to i8
  %4545 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_3431, i32 0, i32 633
  store i8 %4544, i8* %4545, align 1
  %vm_ssIsSampleHitVar0_3435 = load i32* %vm_ssIsSampleHitVar0_, align 1
  store i32 %vm_ssIsSampleHitVar0_3435, i32* %i_0_, align 1
  %4546 = icmp eq i32 %vm_ssIsSampleHitVar0_3435, 0
  br i1 %4546, label %false155, label %true154

merge2530:                                        ; preds = %true156, %false157
  %vm_ssIsMajorTimeStepVar1_3444 = load i32* %vm_ssIsMajorTimeStepVar1_, align 1
  %4547 = icmp eq i32 %vm_ssIsMajorTimeStepVar1_3444, 0
  br i1 %4547, label %false159, label %true158

merge2531:                                        ; preds = %false165, %true164, %true170, %true168
  %_rtB_3477 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %4548 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_3477, i32 0, i32 633
  %_rtB__LogicalOperator23478 = load i8* %4548, align 1
  %4549 = and i8 %_rtB__LogicalOperator23478, 1
  %4550 = icmp eq i8 %4549, 0
  br i1 %4550, label %false173, label %true172

merge2532:                                        ; preds = %true172, %false173
  %_rtB_3485 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %4551 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_3485, i32 0, i32 96
  %_rtB__tc_spd_in_radps = load double* %4551, align 1
  %4552 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_3485, i32 0, i32 97
  %_rtB__Switch_i = load double* %4552, align 1
  %4553 = call double @muDoubleScalarMin(double %_rtB__tc_spd_in_radps, double %_rtB__Switch_i)
  %_rtB_3487 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %4554 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_3487, i32 0, i32 98
  %_rtB__Switch1_fn = load double* %4554, align 1
  %4555 = call double @muDoubleScalarMax(double %4553, double %_rtB__Switch1_fn)
  %_rtP_3488 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %4556 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_3488, i32 0, i32 324, i32 0
  %4557 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_3488, i32 0, i32 323, i32 0
  %_rtDW_3490 = load %DW_REVS_VM_T.16** %_rtDW_, align 1
  %4558 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_3490, i32 0, i32 784
  %4559 = call double @look1_plinlxpw(double %4555, double* %4556, double* %4557, i32* %4558, i32 18)
  %_rtB_3491 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %4560 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_3491, i32 0, i32 618
  %_rtB__rotationalinertia53492 = load i8* %4560, align 1
  %4561 = uitofp i8 %_rtB__rotationalinertia53492 to double
  %tmp43 = fmul double %4559, %4561
  %_rtP_3494 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %4562 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_3494, i32 0, i32 325
  %_rtP__Gain_Gain_m = load double* %4562, align 1
  %tmp44 = fmul double %tmp43, %_rtP__Gain_Gain_m
  %4563 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_3491, i32 0, i32 99
  store double %tmp44, double* %4563, align 1
  %_rtB_3496 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %4564 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_3496, i32 0, i32 96
  %_rtB__tc_spd_in_radps3497 = load double* %4564, align 1
  %4565 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_3496, i32 0, i32 100
  %_rtB__Switch_h = load double* %4565, align 1
  %4566 = call double @muDoubleScalarMin(double %_rtB__tc_spd_in_radps3497, double %_rtB__Switch_h)
  %_rtB_3499 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %4567 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_3499, i32 0, i32 101
  %_rtB__Switch1_dz = load double* %4567, align 1
  %4568 = call double @muDoubleScalarMax(double %4566, double %_rtB__Switch1_dz)
  %_rtP_3500 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %4569 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_3500, i32 0, i32 331, i32 0
  %4570 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_3500, i32 0, i32 330, i32 0
  %_rtDW_3502 = load %DW_REVS_VM_T.16** %_rtDW_, align 1
  %4571 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_3502, i32 0, i32 785
  %4572 = call double @look1_plinlxpw(double %4568, double* %4569, double* %4570, i32* %4571, i32 18)
  %_rtB_3503 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %4573 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_3503, i32 0, i32 619
  %_rtB__rotationalinertia5_c3504 = load i8* %4573, align 1
  %4574 = uitofp i8 %_rtB__rotationalinertia5_c3504 to double
  %tmp45 = fmul double %4572, %4574
  %_rtP_3506 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %4575 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_3506, i32 0, i32 332
  %_rtP__Gain_Gain_h = load double* %4575, align 1
  %tmp46 = fmul double %tmp45, %_rtP__Gain_Gain_h
  %4576 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_3503, i32 0, i32 102
  store double %tmp46, double* %4576, align 1
  %_rtB_3508 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %4577 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_3508, i32 0, i32 96
  %_rtB__tc_spd_in_radps3509 = load double* %4577, align 1
  %4578 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_3508, i32 0, i32 103
  %_rtB__Switch_mr = load double* %4578, align 1
  %4579 = call double @muDoubleScalarMin(double %_rtB__tc_spd_in_radps3509, double %_rtB__Switch_mr)
  %_rtB_3511 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %4580 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_3511, i32 0, i32 104
  %_rtB__Switch1_n = load double* %4580, align 1
  %4581 = call double @muDoubleScalarMax(double %4579, double %_rtB__Switch1_n)
  %_rtP_3512 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %4582 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_3512, i32 0, i32 338, i32 0
  %4583 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_3512, i32 0, i32 337, i32 0
  %_rtDW_3514 = load %DW_REVS_VM_T.16** %_rtDW_, align 1
  %4584 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_3514, i32 0, i32 786
  %4585 = call double @look1_plinlxpw(double %4581, double* %4582, double* %4583, i32* %4584, i32 18)
  %_rtB_3515 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %4586 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_3515, i32 0, i32 620
  %_rtB__rotationalinertia5_j3516 = load i8* %4586, align 1
  %4587 = uitofp i8 %_rtB__rotationalinertia5_j3516 to double
  %tmp47 = fmul double %4585, %4587
  %_rtP_3518 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %4588 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_3518, i32 0, i32 339
  %_rtP__Gain_Gain_e = load double* %4588, align 1
  %tmp48 = fmul double %tmp47, %_rtP__Gain_Gain_e
  %4589 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_3515, i32 0, i32 105
  store double %tmp48, double* %4589, align 1
  %_rtB_3520 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %4590 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_3520, i32 0, i32 96
  %_rtB__tc_spd_in_radps3521 = load double* %4590, align 1
  %4591 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_3520, i32 0, i32 106
  %_rtB__Switch_i3 = load double* %4591, align 1
  %4592 = call double @muDoubleScalarMin(double %_rtB__tc_spd_in_radps3521, double %_rtB__Switch_i3)
  %_rtB_3523 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %4593 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_3523, i32 0, i32 107
  %_rtB__Switch1_ig = load double* %4593, align 1
  %4594 = call double @muDoubleScalarMax(double %4592, double %_rtB__Switch1_ig)
  %_rtP_3524 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %4595 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_3524, i32 0, i32 345, i32 0
  %4596 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_3524, i32 0, i32 344, i32 0
  %_rtDW_3526 = load %DW_REVS_VM_T.16** %_rtDW_, align 1
  %4597 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_3526, i32 0, i32 787
  %4598 = call double @look1_plinlxpw(double %4594, double* %4595, double* %4596, i32* %4597, i32 18)
  %_rtB_3527 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %4599 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_3527, i32 0, i32 621
  %_rtB__rotationalinertia5_b3528 = load i8* %4599, align 1
  %4600 = uitofp i8 %_rtB__rotationalinertia5_b3528 to double
  %tmp49 = fmul double %4598, %4600
  %_rtP_3530 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %4601 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_3530, i32 0, i32 346
  %_rtP__Gain_Gain_he = load double* %4601, align 1
  %tmp50 = fmul double %tmp49, %_rtP__Gain_Gain_he
  %4602 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_3527, i32 0, i32 108
  store double %tmp50, double* %4602, align 1
  %_rtB_3532 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %4603 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_3532, i32 0, i32 99
  %_rtB__Gain_l = load double* %4603, align 1
  %4604 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_3532, i32 0, i32 102
  %_rtB__Gain_b = load double* %4604, align 1
  %tmp51 = fadd double %_rtB__Gain_l, %_rtB__Gain_b
  %4605 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_3532, i32 0, i32 105
  %_rtB__Gain_h = load double* %4605, align 1
  %tmp52 = fadd double %tmp51, %_rtB__Gain_h
  %4606 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_3532, i32 0, i32 108
  %_rtB__Gain_i = load double* %4606, align 1
  %tmp53 = fadd double %tmp52, %_rtB__Gain_i
  %4607 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_3532, i32 0, i32 109
  store double %tmp53, double* %4607, align 1
  %vm_ssIsSampleHitVar0_3537 = load i32* %vm_ssIsSampleHitVar0_, align 1
  store i32 %vm_ssIsSampleHitVar0_3537, i32* %i_0_, align 1
  %4608 = icmp eq i32 %vm_ssIsSampleHitVar0_3537, 0
  %vm_ssIsMajorTimeStepVar1_3539 = load i32* %vm_ssIsMajorTimeStepVar1_, align 1
  %4609 = icmp eq i32 %vm_ssIsMajorTimeStepVar1_3539, 0
  %or.cond10101 = or i1 %4608, %4609
  br i1 %or.cond10101, label %false175, label %true176

merge2542:                                        ; preds = %false359, %true358, %true364, %true362
  %vm_ssIsSampleHitVar0_3927 = load i32* %vm_ssIsSampleHitVar0_, align 1
  store i32 %vm_ssIsSampleHitVar0_3927, i32* %i_0_, align 1
  %4610 = icmp eq i32 %vm_ssIsSampleHitVar0_3927, 0
  br i1 %4610, label %false367, label %true366

merge2543:                                        ; preds = %true370, %false371
  %storemerge9584 = phi double [ %_rtX__Integrator1_CSTATE_p3939, %false371 ], [ %tmp68, %true370 ]
  store double %storemerge9584, double* %u0_0_, align 1
  %4611 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_3936, i32 0, i32 118
  %_rtB__Constant_ej = load double* %4611, align 1
  %4612 = fcmp oge double %storemerge9584, %_rtB__Constant_ej
  %4613 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_3936, i32 0, i32 96
  %_rtB__tc_spd_in_radps3947 = load double* %4613, align 1
  %4614 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_3936, i32 0, i32 119
  %_rtB__Gain_m = load double* %4614, align 1
  %4615 = fcmp oge double %_rtB__tc_spd_in_radps3947, %_rtB__Gain_m
  %4616 = or i1 %4612, %4615
  %4617 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_3936, i32 0, i32 643
  %_rtB__Compare_l = load i8* %4617, align 1
  %4618 = and i8 %_rtB__Compare_l, 1
  %4619 = icmp ne i8 %4618, 0
  %4620 = and i1 %4616, %4619
  %4621 = zext i1 %4620 to i32
  %4622 = zext i8 %687 to i32
  %4623 = shl nuw nsw i32 %4622, 1
  %tmp69 = or i32 %4621, %4623
  %4624 = mul i32 %tmp69, 2
  %4625 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_3936, i32 0, i32 644
  %_rtB__Memory2_a = load i8* %4625, align 1
  %4626 = zext i8 %_rtB__Memory2_a to i32
  %tmp70 = add nuw nsw i32 %4624, %4626
  %4627 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_3937, i32 0, i32 1465, i32 %tmp70
  %_rtP__CombinatorialLogic_table_el = load i8* %4627, align 1
  %4628 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_3936, i32 0, i32 645
  store i8 %_rtP__CombinatorialLogic_table_el, i8* %4628, align 1
  %vm_ssIsMajorTimeStepVar1_3953 = load i32* %vm_ssIsMajorTimeStepVar1_, align 1
  %4629 = icmp eq i32 %vm_ssIsMajorTimeStepVar1_3953, 0
  br i1 %4629, label %false373, label %true372

merge2545:                                        ; preds = %false387, %true386, %true384
  %_rtB_3998 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %4630 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_3998, i32 0, i32 122
  %_rtB__Saturate = load double* %4630, align 1
  %4631 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_3998, i32 0, i32 645
  %_rtB__CombinatorialLogic4000 = load i8* %4631, align 1
  %4632 = uitofp i8 %_rtB__CombinatorialLogic4000 to double
  %tmp76 = fmul double %_rtB__Saturate, %4632
  %4633 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_3998, i32 0, i32 123
  %_rtB__efficiency_norm1 = load double* %4633, align 1
  %tmp77 = fdiv double %tmp76, %_rtB__efficiency_norm1
  %4634 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_3998, i32 0, i32 19
  %_rtB__Gain34003 = load double* %4634, align 1
  %tmp78 = fmul double %tmp77, %_rtB__Gain34003
  %4635 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_3998, i32 0, i32 124
  store double %tmp78, double* %4635, align 1
  %_rtDW_4005 = load %DW_REVS_VM_T.16** %_rtDW_, align 1
  %4636 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_4005, i32 0, i32 29
  %_rtDW__LastMajorTime_i = load double* %4636, align 1
  %4637 = fcmp oeq double %_rtDW__LastMajorTime_i, 0x7FF0000000000000
  br i1 %4637, label %true388, label %false389

merge2548:                                        ; preds = %true390, %true392, %false393, %true388
  %_rtB_4033 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %4638 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_4033, i32 0, i32 19
  %_rtB__Gain34034 = load double* %4638, align 1
  %_rtP_4035 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %4639 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_4035, i32 0, i32 393
  %_rtP__Saturation1_UpperSat_g = load double* %4639, align 1
  %4640 = fcmp ogt double %_rtB__Gain34034, %_rtP__Saturation1_UpperSat_g
  br i1 %4640, label %merge2550, label %false395

merge2550:                                        ; preds = %merge2548, %false395
  %storemerge9586 = phi double [ %_rtP__Saturation1_LowerSat_o._rtB__Gain34034, %false395 ], [ %_rtP__Saturation1_UpperSat_g, %merge2548 ]
  %storemerge9586.in = phi double* [ %., %false395 ], [ %4639, %merge2548 ]
  store double %storemerge9586, double* %u0_0_, align 1
  %4641 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_4033, i32 0, i32 125
  %_rtB__RateLimiter_k = load double* %4641, align 1
  %4642 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_4033, i32 0, i32 96
  %_rtB__tc_spd_in_radps4047 = load double* %4642, align 1
  %tmp85 = fmul double %_rtB__RateLimiter_k, %_rtB__tc_spd_in_radps4047
  %4643 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_4033, i32 0, i32 126
  %_rtB__efficiency_norm = load double* %4643, align 1
  %tmp86 = fdiv double %tmp85, %_rtB__efficiency_norm
  %tmp87 = fdiv double %tmp86, %storemerge9586
  %4644 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_4033, i32 0, i32 127
  store double %tmp87, double* %4644, align 1
  %vm_ssIsSampleHitVar0_4051 = load i32* %vm_ssIsSampleHitVar0_, align 1
  store i32 %vm_ssIsSampleHitVar0_4051, i32* %i_0_, align 1
  %4645 = icmp eq i32 %vm_ssIsSampleHitVar0_4051, 0
  br i1 %4645, label %false399, label %true398

merge2551:                                        ; preds = %false409, %true408, %true414, %true412
  %_rtB_4105 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %4646 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_4105, i32 0, i32 131
  %_rtB__Constant_eu = load double* %4646, align 1
  %_rtP_4106 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %4647 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_4106, i32 0, i32 401
  %_rtP__Switch_Threshold_i = load double* %4647, align 1
  %4648 = fcmp ogt double %_rtB__Constant_eu, %_rtP__Switch_Threshold_i
  br i1 %4648, label %true416, label %false417

merge2552:                                        ; preds = %true416, %false417
  %storemerge9587 = phi double [ %_rtX__Integrator1_CSTATE_ay4108, %false417 ], [ %tmp90, %true416 ]
  store double %storemerge9587, double* %u0_0_, align 1
  %4649 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_4106, i32 0, i32 402
  %_rtP__normalize_Gain_f = load double* %4649, align 1
  %tmp91 = fmul double %storemerge9587, %_rtP__normalize_Gain_f
  %tmp92 = fmul double %tmp91, %812
  %4650 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_4105, i32 0, i32 132
  store double %tmp92, double* %4650, align 1
  %_rtB_4116 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %4651 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_4116, i32 0, i32 19
  %_rtB__Gain34117 = load double* %4651, align 1
  %_rtP_4118 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %4652 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_4118, i32 0, i32 403
  %_rtP__Saturation2_UpperSat = load double* %4652, align 1
  %4653 = fcmp ogt double %_rtB__Gain34117, %_rtP__Saturation2_UpperSat
  br i1 %4653, label %merge2554, label %false419

merge2554:                                        ; preds = %merge2552, %false419
  %storemerge9589 = phi double [ %_rtP__Saturation2_LowerSat._rtB__Gain34117, %false419 ], [ %_rtP__Saturation2_UpperSat, %merge2552 ]
  %storemerge9589.in = phi double* [ %.10081, %false419 ], [ %4652, %merge2552 ]
  store double %storemerge9589, double* %rtb_Saturation2_, align 1
  %vm_ssIsSampleHitVar0_4128 = load i32* %vm_ssIsSampleHitVar0_, align 1
  store i32 %vm_ssIsSampleHitVar0_4128, i32* %i_0_, align 1
  %4654 = icmp eq i32 %vm_ssIsSampleHitVar0_4128, 0
  br i1 %4654, label %false423, label %true422

merge2555:                                        ; preds = %true422, %true424
  %storemerge9682 = phi double [ %phitmp, %true424 ], [ 0.000000e+00, %true422 ]
  %_rtP_4148 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %4655 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_4148, i32 0, i32 1415
  %_rtP__upshiftboostvolts_Gain = load i16* %4655, align 1
  %4656 = uitofp i16 %_rtP__upshiftboostvolts_Gain to double
  %tmp94 = fmul double 0x3F10000000000000, %4656
  %tmp95 = fmul double %storemerge9682, %tmp94
  %4657 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_4143, i32 0, i32 136
  store double %tmp95, double* %4657, align 1
  %_rtDW_4151 = load %DW_REVS_VM_T.16** %_rtDW_, align 1
  %4658 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_4151, i32 0, i32 32
  %_rtDW__Memory_49_PreviousInput4152 = load double* %4658, align 1
  %4659 = fcmp ogt double %_rtDW__Memory_49_PreviousInput4152, 0.000000e+00
  br i1 %4659, label %true426, label %merge2556

merge2556:                                        ; preds = %merge2555, %true426
  %storemerge9683 = phi double [ %tmp96, %true426 ], [ 0.000000e+00, %merge2555 ]
  %_rtB_4155 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %4660 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_4155, i32 0, i32 136
  %_rtB__upshiftboostvolts = load double* %4660, align 1
  %4661 = call double @muDoubleScalarMax(double %storemerge9683, double %_rtB__upshiftboostvolts)
  %_rtP_4156 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %4662 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_4156, i32 0, i32 413
  %_rtP__regenenable_Gain = load double* %4662, align 1
  %tmp97 = fmul double %4661, %_rtP__regenenable_Gain
  %_rtB_4157 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %4663 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_4157, i32 0, i32 137
  store double %tmp97, double* %4663, align 1
  br label %false423

merge2559:                                        ; preds = %true430, %true432, %false433, %true428
  %_rtB_4186 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %4664 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_4186, i32 0, i32 138
  %_rtB__RateLimiter_a = load double* %4664, align 1
  %_rtP_4187 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %4665 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_4187, i32 0, i32 416
  %_rtP__boostvoltslimit_UpperSat = load double* %4665, align 1
  %4666 = fcmp ogt double %_rtB__RateLimiter_a, %_rtP__boostvoltslimit_UpperSat
  br i1 %4666, label %merge2561, label %false435

merge2561:                                        ; preds = %merge2559, %false435
  %u0_0_4201 = phi double [ %_rtP__boostvoltslimit_LowerSat._rtB__RateLimiter_a, %false435 ], [ %_rtP__boostvoltslimit_UpperSat, %merge2559 ]
  %storemerge9591.in = phi double* [ %.10082, %false435 ], [ %4665, %merge2559 ]
  store double %u0_0_4201, double* %u0_0_, align 1
  %4667 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_4186, i32 0, i32 649
  %_rtB__Compare_lr = load i8* %4667, align 1
  %4668 = and i8 %_rtB__Compare_lr, 1
  %4669 = icmp eq i8 %4668, 0
  br i1 %4669, label %merge2562, label %true438

merge2562:                                        ; preds = %merge2561, %true438
  %storemerge9592 = phi double [ %874, %true438 ], [ 0.000000e+00, %merge2561 ]
  %4670 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_4186, i32 0, i32 651
  %_rtB__RelationalOperator1 = load i8* %4670, align 1
  %4671 = uitofp i8 %_rtB__RelationalOperator1 to double
  %tmp104 = fmul double %storemerge9592, %4671
  %tmp105 = fmul double %u0_0_4201, %tmp104
  %4672 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_4186, i32 0, i32 139
  store double %tmp105, double* %4672, align 1
  %vm_ssIsSampleHitVar0_4203 = load i32* %vm_ssIsSampleHitVar0_, align 1
  store i32 %vm_ssIsSampleHitVar0_4203, i32* %i_0_, align 1
  %4673 = icmp eq i32 %vm_ssIsSampleHitVar0_4203, 0
  br i1 %4673, label %false441, label %true440

merge2564:                                        ; preds = %false457, %true456, %true454
  %_rtB_4265 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %4674 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_4265, i32 0, i32 132
  %_rtB__Product_i = load double* %4674, align 1
  %4675 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_4265, i32 0, i32 151
  %_rtB__Saturate_g = load double* %4675, align 1
  %tmp115 = fmul double %_rtB__Product_i, %_rtB__Saturate_g
  %4676 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_4265, i32 0, i32 152
  store double %tmp115, double* %4676, align 1
  %_rtB_4268 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %4677 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_4268, i32 0, i32 127
  %_rtB__Divide1 = load double* %4677, align 1
  %4678 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_4268, i32 0, i32 152
  %_rtB__Product_o = load double* %4678, align 1
  %tmp116 = fadd double %_rtB__Divide1, %_rtB__Product_o
  %4679 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_4268, i32 0, i32 39
  %_rtB__Sum54271 = load double* %4679, align 1
  %tmp117 = fadd double %tmp116, %_rtB__Sum54271
  %4680 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_4268, i32 0, i32 153
  store double %tmp117, double* %4680, align 1
  %_rtB_4273 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %4681 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_4273, i32 0, i32 96
  %_rtB__tc_spd_in_radps4274 = load double* %4681, align 1
  %_rtP_4275 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %4682 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_4275, i32 0, i32 434
  %_rtP__Saturation_UpperSat_e = load double* %4682, align 1
  %4683 = fcmp ogt double %_rtB__tc_spd_in_radps4274, %_rtP__Saturation_UpperSat_e
  br i1 %4683, label %merge2566, label %false459

merge2566:                                        ; preds = %merge2564, %false459
  %storemerge9594 = phi double [ %_rtP__Saturation_LowerSat_j._rtB__tc_spd_in_radps4274, %false459 ], [ %_rtP__Saturation_UpperSat_e, %merge2564 ]
  %storemerge9594.in = phi double* [ %.10083, %false459 ], [ %4682, %merge2564 ]
  store double %storemerge9594, double* %u0_0_, align 1
  %4684 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_4273, i32 0, i32 19
  %_rtB__Gain34286 = load double* %4684, align 1
  %4685 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_4273, i32 0, i32 152
  %_rtB__Product_o4288 = load double* %4685, align 1
  %tmp118 = fmul double %_rtB__Gain34286, %_rtB__Product_o4288
  %tmp119 = fdiv double %tmp118, %storemerge9594
  %4686 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_4273, i32 0, i32 154
  %_rtB__efficiency_norm_l = load double* %4686, align 1
  %tmp120 = fdiv double %tmp119, %_rtB__efficiency_norm_l
  %4687 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_4273, i32 0, i32 155
  store double %tmp120, double* %4687, align 1
  %_rtB_4292 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %4688 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_4292, i32 0, i32 125
  %_rtB__RateLimiter_k4293 = load double* %4688, align 1
  %4689 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_4292, i32 0, i32 155
  %_rtB__Divide = load double* %4689, align 1
  %tmp121 = fadd double %_rtB__RateLimiter_k4293, %_rtB__Divide
  store double %tmp121, double* %rtb_Sum2_n_, align 1
  %vm_ssIsSampleHitVar0_4295 = load i32* %vm_ssIsSampleHitVar0_, align 1
  store i32 %vm_ssIsSampleHitVar0_4295, i32* %i_0_, align 1
  %4690 = icmp eq i32 %vm_ssIsSampleHitVar0_4295, 0
  %vm_ssIsMajorTimeStepVar1_4297 = load i32* %vm_ssIsMajorTimeStepVar1_, align 1
  %4691 = icmp eq i32 %vm_ssIsMajorTimeStepVar1_4297, 0
  %or.cond10121 = or i1 %4690, %4691
  br i1 %or.cond10121, label %false463, label %true464

merge2568:                                        ; preds = %true484, %false491, %true486, %false485
  %_rtDW_4328.pre.pre = load %DW_REVS_VM_T.16** %_rtDW_, align 1
  br label %false481

merge2570:                                        ; preds = %false521, %true522, %true520
  %u0_0_4415 = phi double [ %_rtP__Pos2_UpperSat, %true520 ], [ %_rtP__Pos2_LowerSat, %true522 ], [ %tmp125, %false521 ]
  %4692 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_4400, i32 0, i32 16
  %_rtP__Pos_UpperSat = load double* %4692, align 1
  %4693 = fcmp ogt double %tmp126, %_rtP__Pos_UpperSat
  br i1 %4693, label %true524, label %false525

merge2571:                                        ; preds = %false525, %true526, %true524
  %u0_4416 = phi double [ %_rtP__Pos_UpperSat, %true524 ], [ %_rtP__Pos_LowerSat, %true526 ], [ %tmp126, %false525 ]
  %tmp127 = fadd double %u0_0_4415, %u0_4416
  %4694 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_4395, i32 0, i32 611
  store double %tmp127, double* %4694, align 1
  %vm_ssIsSampleHitVar0_4418 = load i32* %vm_ssIsSampleHitVar0_, align 1
  store i32 %vm_ssIsSampleHitVar0_4418, i32* %i_0_, align 1
  %4695 = icmp eq i32 %vm_ssIsSampleHitVar0_4418, 0
  br i1 %4695, label %false529, label %true528

merge2573:                                        ; preds = %false565, %false563, %true562
  %rtb_DeadZone_4477 = phi double [ %tmp129, %true562 ], [ %tmp128, %false565 ], [ 0.000000e+00, %false563 ]
  store double %rtb_DeadZone_4477, double* %rtb_DeadZone_, align 1
  %4696 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_4454, i32 0, i32 458
  %_rtP__IntegralGain_Gain = load double* %4696, align 1
  %rtb_Sum_e_4464 = load double* %rtb_Sum_e_, align 1
  %tmp130 = fmul double %_rtP__IntegralGain_Gain, %rtb_Sum_e_4464
  store double %tmp130, double* %rtb_IntegralGain_, align 1
  %4697 = call double @muDoubleScalarSign(double %rtb_DeadZone_4477)
  store double %4697, double* %u0_0_, align 1
  %4698 = call double @muDoubleScalarSign(double %tmp130)
  store double %4698, double* %u0_, align 1
  %4699 = call i8 @muDoubleScalarIsNaN(double %4698)
  %u0_4468 = load double* %u0_, align 1
  %4700 = call i8 @muDoubleScalarIsInf(double %u0_4468)
  %4701 = or i8 %4700, %4699
  %4702 = and i8 %4701, 1
  %4703 = icmp eq i8 %4702, 0
  br i1 %4703, label %false567, label %merge2574

merge2574:                                        ; preds = %merge2573, %false567
  %u0_4473 = phi double [ %1046, %false567 ], [ 0.000000e+00, %merge2573 ]
  store double %u0_4473, double* %u0_, align 1
  %u0_0_4470 = load double* %u0_0_, align 1
  %4704 = fcmp olt double %u0_0_4470, 1.280000e+02
  br i1 %4704, label %true568, label %merge2575

merge2575:                                        ; preds = %merge2574, %true568
  %tmp_0_4479 = phi i8 [ %1047, %true568 ], [ 0, %merge2574 ]
  store i8 %tmp_0_4479, i8* %tmp_0_, align 1
  %4705 = fcmp olt double %u0_4473, 0.000000e+00
  br i1 %4705, label %true570, label %false571

merge2576:                                        ; preds = %true570, %false571
  %storemerge9599 = phi i32 [ %1052, %false571 ], [ %1050, %true570 ]
  store i32 %storemerge9599, i32* %u0_4, align 1
  %_rtP_4475 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %4706 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_4475, i32 0, i32 455
  %_rtP__ZeroGain_Gain = load double* %4706, align 1
  %tmp133 = fmul double %_rtP__ZeroGain_Gain, %rtb_Sum_ht_4453
  %4707 = fcmp une double %tmp133, %rtb_DeadZone_4477
  %4708 = sext i8 %tmp_0_4479 to i32
  %4709 = icmp eq i32 %storemerge9599, %4708
  %4710 = and i1 %4707, %4709
  %4711 = zext i1 %4710 to i8
  %_rtB_4480 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %4712 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_4480, i32 0, i32 660
  store i8 %4711, i8* %4712, align 1
  %vm_ssIsSampleHitVar0_4481 = load i32* %vm_ssIsSampleHitVar0_, align 1
  store i32 %vm_ssIsSampleHitVar0_4481, i32* %i_0_, align 1
  %4713 = icmp eq i32 %vm_ssIsSampleHitVar0_4481, 0
  br i1 %4713, label %false573, label %true572

merge2577:                                        ; preds = %true574, %false575
  %_rtP_4489 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %4714 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_4489, i32 0, i32 460
  %_rtP__Gain_Gain_i = load double* %4714, align 1
  %_rtB_4490 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %4715 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_4490, i32 0, i32 153
  %_rtB__Sum1_o = load double* %4715, align 1
  %tmp134 = fmul double %_rtP__Gain_Gain_i, %_rtB__Sum1_o
  %4716 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_4490, i32 0, i32 159
  store double %tmp134, double* %4716, align 1
  %vm_ssIsSampleHitVar0_4492 = load i32* %vm_ssIsSampleHitVar0_, align 1
  store i32 %vm_ssIsSampleHitVar0_4492, i32* %i_0_, align 1
  %4717 = icmp eq i32 %vm_ssIsSampleHitVar0_4492, 0
  %vm_ssIsMajorTimeStepVar1_4494 = load i32* %vm_ssIsMajorTimeStepVar1_, align 1
  %4718 = icmp eq i32 %vm_ssIsMajorTimeStepVar1_4494, 0
  %or.cond10127 = or i1 %4717, %4718
  br i1 %or.cond10127, label %false577, label %true578

merge2579:                                        ; preds = %false597, %false603
  %storemerge9600 = phi double [ %tmp135, %false603 ], [ %_rtB__batt_curr_A4540, %false597 ]
  store double %storemerge9600, double* %u0_0_, align 1
  %4719 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_4541, i32 0, i32 472
  %_rtP__NegativeGain1_Gain = load double* %4719, align 1
  %tmp136 = fmul double %storemerge9600, %_rtP__NegativeGain1_Gain
  %4720 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_4539, i32 0, i32 162
  store double %tmp136, double* %4720, align 1
  %_rtX_4550 = load %X_REVS_VM_T.18** %_rtX_, align 1
  %4721 = getelementptr inbounds %X_REVS_VM_T.18* %_rtX_4550, i32 0, i32 15
  %_rtX__Integrator1_CSTATE_ah = load double* %4721, align 1
  %_rtB_4551 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %4722 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_4551, i32 0, i32 163
  store double %_rtX__Integrator1_CSTATE_ah, double* %4722, align 1
  %vm_ssIsSampleHitVar0_4552 = load i32* %vm_ssIsSampleHitVar0_, align 1
  store i32 %vm_ssIsSampleHitVar0_4552, i32* %i_0_, align 1
  %4723 = icmp eq i32 %vm_ssIsSampleHitVar0_4552, 0
  br i1 %4723, label %false605, label %true604

merge2580:                                        ; preds = %true630, %false629
  %i_0_9570 = phi i32 [ 0, %false629 ], [ %tmp629, %true630 ]
  store i32 %i_0_9570, i32* %i_0_, align 1
  %4724 = icmp slt i32 %i_0_9570, 10
  br i1 %4724, label %true630, label %false631

merge2581:                                        ; preds = %true640, %false641
  %vm_ssIsSampleHitVar0_4650 = load i32* %vm_ssIsSampleHitVar0_, align 1
  store i32 %vm_ssIsSampleHitVar0_4650, i32* %i_0_, align 1
  %4725 = icmp eq i32 %vm_ssIsSampleHitVar0_4650, 0
  br i1 %4725, label %false643, label %true642

merge2582:                                        ; preds = %true648, %false649
  %vm_ssIsSampleHitVar0_4675 = load i32* %vm_ssIsSampleHitVar0_, align 1
  store i32 %vm_ssIsSampleHitVar0_4675, i32* %i_0_, align 1
  %4726 = icmp eq i32 %vm_ssIsSampleHitVar0_4675, 0
  br i1 %4726, label %false651, label %true650

merge2583:                                        ; preds = %true662, %false663
  %vm_ssIsSampleHitVar0_4712 = load i32* %vm_ssIsSampleHitVar0_, align 1
  store i32 %vm_ssIsSampleHitVar0_4712, i32* %i_0_, align 1
  %4727 = icmp eq i32 %vm_ssIsSampleHitVar0_4712, 0
  br i1 %4727, label %false665, label %true664

merge2584:                                        ; preds = %true670, %false671
  %vm_ssIsSampleHitVar0_4737 = load i32* %vm_ssIsSampleHitVar0_, align 1
  store i32 %vm_ssIsSampleHitVar0_4737, i32* %i_0_, align 1
  %4728 = icmp eq i32 %vm_ssIsSampleHitVar0_4737, 0
  br i1 %4728, label %false673, label %true672

merge2586:                                        ; preds = %false691, %true690, %true688
  %vm_ssIsSampleHitVar0_4774 = load i32* %vm_ssIsSampleHitVar0_, align 1
  store i32 %vm_ssIsSampleHitVar0_4774, i32* %i_0_, align 1
  %4729 = icmp eq i32 %vm_ssIsSampleHitVar0_4774, 0
  br i1 %4729, label %false693, label %true692

merge2588:                                        ; preds = %true724, %false731, %true726, %false725
  %_rtDW_4827.pre.pre = load %DW_REVS_VM_T.16** %_rtDW_, align 1
  br label %false721

merge2590:                                        ; preds = %false761, %true762, %true760
  %u0_0_4914 = phi double [ %_rtP__Pos2_UpperSat_g, %true760 ], [ %_rtP__Pos2_LowerSat_a, %true762 ], [ %tmp163, %false761 ]
  %4730 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_4899, i32 0, i32 52
  %_rtP__Pos_UpperSat_a = load double* %4730, align 1
  %4731 = fcmp ogt double %tmp164, %_rtP__Pos_UpperSat_a
  br i1 %4731, label %true764, label %false765

merge2591:                                        ; preds = %false765, %true766, %true764
  %u0_4915 = phi double [ %_rtP__Pos_UpperSat_a, %true764 ], [ %_rtP__Pos_LowerSat_n, %true766 ], [ %tmp164, %false765 ]
  %tmp165 = fadd double %u0_0_4914, %u0_4915
  %4732 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_4894, i32 0, i32 609
  store double %tmp165, double* %4732, align 1
  %vm_ssIsSampleHitVar0_4917 = load i32* %vm_ssIsSampleHitVar0_, align 1
  store i32 %vm_ssIsSampleHitVar0_4917, i32* %i_0_, align 1
  %4733 = icmp eq i32 %vm_ssIsSampleHitVar0_4917, 0
  br i1 %4733, label %false769, label %true768

merge2592:                                        ; preds = %false799, %true798, %true804, %true802
  %_rtB_4981 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %4734 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_4981, i32 0, i32 209
  %_rtB__Constant_c3 = load double* %4734, align 1
  %_rtP_4982 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %4735 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_4982, i32 0, i32 576
  %_rtP__Switch_Threshold_a = load double* %4735, align 1
  %4736 = fcmp ogt double %_rtB__Constant_c3, %_rtP__Switch_Threshold_a
  br i1 %4736, label %true806, label %false807

merge2593:                                        ; preds = %true806, %false807
  %storemerge9602 = phi double [ %_rtX__Integrator1_CSTATE_b4984, %false807 ], [ %tmp168, %true806 ]
  store double %storemerge9602, double* %u0_0_, align 1
  %4737 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_4981, i32 0, i32 210
  %_rtB__Constant_j = load double* %4737, align 1
  %4738 = fcmp oge double %storemerge9602, %_rtB__Constant_j
  %4739 = zext i1 %4738 to i8
  %4740 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_4981, i32 0, i32 683
  store i8 %4739, i8* %4740, align 1
  %vm_ssIsSampleHitVar0_4991 = load i32* %vm_ssIsSampleHitVar0_, align 1
  store i32 %vm_ssIsSampleHitVar0_4991, i32* %i_0_, align 1
  %4741 = icmp eq i32 %vm_ssIsSampleHitVar0_4991, 0
  br i1 %4741, label %false809, label %true808

merge2594:                                        ; preds = %true826, %true830, %true828, %false827
  %u0_5058 = phi double [ %_rtDW__TimeStampA, %false827 ], [ %_rtDW__TimeStampB5040, %true828 ], [ %_rtDW__TimeStampB5040, %true830 ], [ %_rtDW__TimeStampA, %true826 ]
  %lastU_5055 = phi double* [ %1526, %false827 ], [ %1530, %true828 ], [ %1531, %true830 ], [ %1526, %true826 ]
  %_rtB_5053 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %4742 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_5053, i32 0, i32 47
  %_rtB__Product35054 = load double* %4742, align 1
  %lastU_5056 = load double* %lastU_5055, align 1
  %tmp170 = fsub double %_rtB__Product35054, %lastU_5056
  %tmp171 = fsub double %vm_ssGetTVar5_5031, %u0_5058
  %tmp172 = fdiv double %tmp170, %tmp171
  br label %merge2595

merge2595:                                        ; preds = %true824, %merge2594
  %_rtB_5090 = phi %B_REVS_VM_T.12* [ %_rtB_5053, %merge2594 ], [ %_rtB_5059.pre, %true824 ]
  %storemerge9603 = phi double [ %tmp172, %merge2594 ], [ 0.000000e+00, %true824 ]
  store double %storemerge9603, double* %rtb_Derivative_, align 1
  %4743 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_5090, i32 0, i32 630
  %_rtB__LogicalOperator5060 = load i8* %4743, align 1
  %4744 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_5090, i32 0, i32 688
  %_rtB__Constant_pa = load i8* %4744, align 1
  %4745 = or i8 %_rtB__Constant_pa, %_rtB__LogicalOperator5060
  %4746 = and i8 %4745, 1
  %4747 = icmp eq i8 %4746, 0
  br i1 %4747, label %false833, label %true832

merge2597:                                        ; preds = %false833, %false835
  %storemerge9605 = phi double [ %_rtP__eps_LowerSat._rtB__Product35063, %false835 ], [ %_rtP__eps_UpperSat, %false833 ]
  %storemerge9605.in = phi double* [ %.10084, %false835 ], [ %1535, %false833 ]
  store double %storemerge9605, double* %u0_0_, align 1
  %4748 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_5090, i32 0, i32 64
  %_rtB__ClutchSpeedDisengaged5075 = load double* %4748, align 1
  %tmp173 = fdiv double %_rtB__ClutchSpeedDisengaged5075, %storemerge9605
  %4749 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_5090, i32 0, i32 216
  %_rtB__MinMax1_o = load double* %4749, align 1
  %4750 = call double @muDoubleScalarMin(double %tmp173, double %_rtB__MinMax1_o)
  store double %4750, double* %u0_0_, align 1
  %_rtP_5079 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %4751 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_5079, i32 0, i32 60
  %_rtP__u_UpperSat = load double* %4751, align 1
  %4752 = fcmp ogt double %4750, %_rtP__u_UpperSat
  br i1 %4752, label %true838, label %false839

merge2600:                                        ; preds = %true838, %true840, %false841, %true832
  %vm_ssIsSampleHitVar0_5093 = load i32* %vm_ssIsSampleHitVar0_, align 1
  store i32 %vm_ssIsSampleHitVar0_5093, i32* %i_0_, align 1
  %4753 = icmp eq i32 %vm_ssIsSampleHitVar0_5093, 0
  br i1 %4753, label %false843, label %true842

merge2601:                                        ; preds = %false845, %true846
  %storemerge9606 = phi double [ %1565, %true846 ], [ 0.000000e+00, %false845 ]
  store double %storemerge9606, double* %_rtB_5, align 1
  %_rtP_5114 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %4754 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_5114, i32 0, i32 595
  %_rtP__TransferFcn_C = load double* %4754, align 1
  %_rtX_5115 = load %X_REVS_VM_T.18** %_rtX_, align 1
  %4755 = getelementptr inbounds %X_REVS_VM_T.18* %_rtX_5115, i32 0, i32 26
  %_rtX__TransferFcn_CSTATE = load double* %4755, align 1
  %tmp174 = fmul double %_rtP__TransferFcn_C, %_rtX__TransferFcn_CSTATE
  %4756 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_5114, i32 0, i32 596
  %_rtP__TransferFcn_D = load double* %4756, align 1
  %4757 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_5111, i32 0, i32 96
  %_rtB__tc_spd_in_radps5118 = load double* %4757, align 1
  %tmp175 = fmul double %_rtP__TransferFcn_D, %_rtB__tc_spd_in_radps5118
  %tmp176 = fadd double %tmp174, %tmp175
  %tmp177 = fmul double %storemerge9606, %tmp176
  %4758 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_5111, i32 0, i32 224
  %_rtB__downstreamcompensation = load double* %4758, align 1
  %tmp178 = fmul double %tmp177, %_rtB__downstreamcompensation
  %4759 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_5111, i32 0, i32 225
  %_rtB__loadbasedinertiaadjnorm = load double* %4759, align 1
  %tmp179 = fmul double %tmp178, %_rtB__loadbasedinertiaadjnorm
  store double %tmp179, double* %u0_0_, align 1
  %4760 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_5114, i32 0, i32 602
  %_rtP__u_UpperSat_c = load double* %4760, align 1
  %4761 = fcmp ogt double %tmp179, %_rtP__u_UpperSat_c
  br i1 %4761, label %true848, label %false849

merge2603:                                        ; preds = %false851, %true850, %true848
  %_rtB_5134 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %4762 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_5134, i32 0, i32 226
  %_rtB__u_d = load double* %4762, align 1
  %_rtP_5135 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %4763 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_5135, i32 0, i32 604
  %_rtP__reduceonly_UpperSat = load double* %4763, align 1
  %4764 = fcmp ogt double %_rtB__u_d, %_rtP__reduceonly_UpperSat
  br i1 %4764, label %merge2605, label %false853

merge2605:                                        ; preds = %merge2603, %false853
  %storemerge9608 = phi double [ %_rtP__reduceonly_LowerSat._rtB__u_d, %false853 ], [ %_rtP__reduceonly_UpperSat, %merge2603 ]
  %storemerge9608.in = phi double* [ %.10085, %false853 ], [ %4763, %merge2603 ]
  store double %storemerge9608, double* %rtb_reduceonly_, align 1
  %_rtX_5145 = load %X_REVS_VM_T.18** %_rtX_, align 1
  %4765 = getelementptr inbounds %X_REVS_VM_T.18* %_rtX_5145, i32 0, i32 27
  %_rtX__Integrator1_CSTATE_h = load double* %4765, align 1
  %4766 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_5134, i32 0, i32 227
  store double %_rtX__Integrator1_CSTATE_h, double* %4766, align 1
  %vm_ssIsSampleHitVar0_5147 = load i32* %vm_ssIsSampleHitVar0_, align 1
  store i32 %vm_ssIsSampleHitVar0_5147, i32* %i_0_, align 1
  %4767 = icmp eq i32 %vm_ssIsSampleHitVar0_5147, 0
  br i1 %4767, label %false857, label %true856

merge2606:                                        ; preds = %false865, %true864, %true870, %true868
  %vm_ssIsSampleHitVar0_5185 = load i32* %vm_ssIsSampleHitVar0_, align 1
  store i32 %vm_ssIsSampleHitVar0_5185, i32* %i_0_, align 1
  %4768 = icmp eq i32 %vm_ssIsSampleHitVar0_5185, 0
  br i1 %4768, label %false873, label %true872

merge2607:                                        ; preds = %true874, %false875
  %storemerge9609 = phi double [ %_rtX__Integrator1_CSTATE_m5198, %false875 ], [ %tmp180, %true874 ]
  store double %storemerge9609, double* %u0_0_, align 1
  %4769 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_5195, i32 0, i32 232
  %_rtB__Constant_o = load double* %4769, align 1
  %4770 = fcmp ogt double %storemerge9609, %_rtB__Constant_o
  %4771 = zext i1 %4770 to i32
  %4772 = mul i32 %4771, 2
  %4773 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_5195, i32 0, i32 690
  %_rtB__LogicalOperator1_d = load i8* %4773, align 1
  %4774 = zext i8 %_rtB__LogicalOperator1_d to i32
  %tmp181 = add nuw nsw i32 %4772, %4774
  %4775 = mul i32 %tmp181, 2
  %4776 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_5195, i32 0, i32 691
  %_rtB__Memory2_j = load i8* %4776, align 1
  %4777 = zext i8 %_rtB__Memory2_j to i32
  %tmp182 = add nsw i32 %4775, %4777
  %4778 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_5196, i32 0, i32 1496, i32 %tmp182
  %_rtP__CombinatorialLogic_table_f_el = load i8* %4778, align 1
  %4779 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_5195, i32 0, i32 692
  store i8 %_rtP__CombinatorialLogic_table_f_el, i8* %4779, align 1
  %_rtB_5208 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %4780 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_5208, i32 0, i32 692
  %_rtB__CombinatorialLogic_o = load i8* %4780, align 1
  %4781 = uitofp i8 %_rtB__CombinatorialLogic_o to double
  %4782 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_5208, i32 0, i32 234
  store double %4781, double* %4782, align 1
  %vm_ssIsSampleHitVar0_5210 = load i32* %vm_ssIsSampleHitVar0_, align 1
  store i32 %vm_ssIsSampleHitVar0_5210, i32* %i_0_, align 1
  %4783 = icmp eq i32 %vm_ssIsSampleHitVar0_5210, 0
  br i1 %4783, label %false877, label %true876

merge2610:                                        ; preds = %true888, %true890, %false891, %true886
  %_rtB_5271 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %4784 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_5271, i32 0, i32 235
  %_rtB__softlandingoffsetradps5272 = load double* %4784, align 1
  %4785 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_5271, i32 0, i32 243
  %_rtB__RateLimiter_m = load double* %4785, align 1
  %tmp191 = fmul double %_rtB__softlandingoffsetradps5272, %_rtB__RateLimiter_m
  %u0_5274 = load double* %u0_, align 1
  %tmp192 = fadd double %tmp191, %u0_5274
  %4786 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_5271, i32 0, i32 244
  store double %tmp192, double* %4786, align 1
  %_rtB_5276 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %4787 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_5276, i32 0, i32 244
  %_rtB__Sum1_l = load double* %4787, align 1
  %4788 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_5276, i32 0, i32 228
  %_rtB__Memory_b5278 = load double* %4788, align 1
  %tmp193 = fsub double %_rtB__Sum1_l, %_rtB__Memory_b5278
  %_rtP_5279 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %4789 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_5279, i32 0, i32 629
  %_rtP__enginer_Gain = load double* %4789, align 1
  %tmp194 = fmul double %tmp193, %_rtP__enginer_Gain
  store double %tmp194, double* %rtb_enginer_, align 1
  %4790 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_5279, i32 0, i32 630
  %_rtP__Kp_Gain = load double* %4790, align 1
  %tmp195 = fmul double %_rtP__Kp_Gain, %tmp194
  store double %tmp195, double* %rtb_Kp_, align 1
  %4791 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_5276, i32 0, i32 234
  %_rtB__DataTypeConversion2_l5283 = load double* %4791, align 1
  %4792 = fcmp oeq double %_rtB__DataTypeConversion2_l5283, 0.000000e+00
  %4793 = zext i1 %4792 to i8
  %4794 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_5276, i32 0, i32 693
  store i8 %4793, i8* %4794, align 1
  %vm_ssIsMajorTimeStepVar1_5285 = load i32* %vm_ssIsMajorTimeStepVar1_, align 1
  %4795 = icmp eq i32 %vm_ssIsMajorTimeStepVar1_5285, 0
  br i1 %4795, label %false893, label %true892

merge2611:                                        ; preds = %false899, %true898, %true904, %true902
  %_rtX_5321 = load %X_REVS_VM_T.18** %_rtX_, align 1
  %4796 = getelementptr inbounds %X_REVS_VM_T.18* %_rtX_5321, i32 0, i32 30
  %_rtX__Integrator_CSTATE_gp5322 = load double* %4796, align 1
  store double %_rtX__Integrator_CSTATE_gp5322, double* %rtb_Integrator_d_, align 1
  %_rtP_5323 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %4797 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_5323, i32 0, i32 634
  %_rtP__Kd_Gain = load double* %4797, align 1
  %tmp196 = fmul double %_rtP__Kd_Gain, %tmp194
  store double %tmp196, double* %u0_0_, align 1
  %4798 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_5323, i32 0, i32 635
  %_rtP__sat0_UpperSat = load double* %4798, align 1
  %4799 = fcmp ogt double %tmp196, %_rtP__sat0_UpperSat
  br i1 %4799, label %true906, label %false907

merge2613:                                        ; preds = %false909, %true908, %true906
  %_rtDW_5337 = load %DW_REVS_VM_T.16** %_rtDW_, align 1
  %4800 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_5337, i32 0, i32 52
  %_rtDW__TimeStampA_i = load double* %4800, align 1
  %vm_ssGetTVar5_5338 = load double* %vm_ssGetTVar5_, align 1
  %4801 = fcmp oge double %_rtDW__TimeStampA_i, %vm_ssGetTVar5_5338
  %4802 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_5337, i32 0, i32 54
  %_rtDW__TimeStampB_a = load double* %4802, align 1
  %4803 = fcmp oge double %_rtDW__TimeStampB_a, %vm_ssGetTVar5_5338
  %4804 = and i1 %4801, %4803
  br i1 %4804, label %true910, label %false911

merge2614:                                        ; preds = %true912, %true916, %true914, %false913
  %u0_5364 = phi double [ %_rtDW__TimeStampA_i, %false913 ], [ %_rtDW__TimeStampB_a5347, %true914 ], [ %_rtDW__TimeStampB_a5347, %true916 ], [ %_rtDW__TimeStampA_i, %true912 ]
  %lastU_5361 = phi double* [ %1689, %false913 ], [ %1693, %true914 ], [ %1694, %true916 ], [ %1689, %true912 ]
  %_rtB_5360 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %4805 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_5360, i32 0, i32 245
  %_rtB__sat0 = load double* %4805, align 1
  %lastU_5362 = load double* %lastU_5361, align 1
  %tmp197 = fsub double %_rtB__sat0, %lastU_5362
  %tmp198 = fsub double %vm_ssGetTVar5_5338, %u0_5364
  %tmp199 = fdiv double %tmp197, %tmp198
  br label %merge2615

merge2615:                                        ; preds = %true910, %merge2614
  %_rtB_5369 = phi %B_REVS_VM_T.12* [ %_rtB_5360, %merge2614 ], [ %_rtB_5369.pre, %true910 ]
  %storemerge9610 = phi double [ %tmp199, %merge2614 ], [ 0.000000e+00, %true910 ]
  %_rtX_5366 = load %X_REVS_VM_T.18** %_rtX_, align 1
  %4806 = getelementptr inbounds %X_REVS_VM_T.18* %_rtX_5366, i32 0, i32 30
  %_rtX__Integrator_CSTATE_gp5367 = load double* %4806, align 1
  %tmp200 = fadd double %tmp195, %_rtX__Integrator_CSTATE_gp5367
  %tmp201 = fadd double %storemerge9610, %tmp200
  store double %tmp201, double* %rtb_Subtract_h_, align 1
  %4807 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_5369, i32 0, i32 244
  %_rtB__Sum1_l5370 = load double* %4807, align 1
  %4808 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_5369, i32 0, i32 228
  %_rtB__Memory_b5372 = load double* %4808, align 1
  %tmp202 = fsub double %_rtB__Sum1_l5370, %_rtB__Memory_b5372
  %_rtP_5373 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %4809 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_5373, i32 0, i32 638, i32 0
  %4810 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_5373, i32 0, i32 637, i32 0
  %4811 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_5337, i32 0, i32 793
  %4812 = call double @look1_plinlxpw(double %tmp202, double* %4809, double* %4810, i32* %4811, i32 6)
  %_rtB_5376 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %4813 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_5376, i32 0, i32 246
  store double %4812, double* %4813, align 1
  %_rtDW_5377 = load %DW_REVS_VM_T.16** %_rtDW_, align 1
  %4814 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_5377, i32 0, i32 56
  %_rtDW__TimeStampA_l = load double* %4814, align 1
  %vm_ssGetTVar5_5378 = load double* %vm_ssGetTVar5_, align 1
  %4815 = fcmp oge double %_rtDW__TimeStampA_l, %vm_ssGetTVar5_5378
  %4816 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_5377, i32 0, i32 58
  %_rtDW__TimeStampB_h = load double* %4816, align 1
  %4817 = fcmp oge double %_rtDW__TimeStampB_h, %vm_ssGetTVar5_5378
  %4818 = and i1 %4815, %4817
  br i1 %4818, label %true918, label %false919

merge2616:                                        ; preds = %true920, %true924, %true922, %false921
  %u0_5404 = phi double [ %_rtDW__TimeStampA_l, %false921 ], [ %_rtDW__TimeStampB_h5387, %true922 ], [ %_rtDW__TimeStampB_h5387, %true924 ], [ %_rtDW__TimeStampA_l, %true920 ]
  %lastU_5401 = phi double* [ %1695, %false921 ], [ %1699, %true922 ], [ %1700, %true924 ], [ %1695, %true920 ]
  %_rtB_5400 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %4819 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_5400, i32 0, i32 246
  %_rtB__Taper = load double* %4819, align 1
  %lastU_5402 = load double* %lastU_5401, align 1
  %tmp203 = fsub double %_rtB__Taper, %lastU_5402
  %tmp204 = fsub double %vm_ssGetTVar5_5378, %u0_5404
  %tmp205 = fdiv double %tmp203, %tmp204
  br label %merge2617

merge2617:                                        ; preds = %true918, %merge2616
  %_rtB_5407 = phi %B_REVS_VM_T.12* [ %_rtB_5400, %merge2616 ], [ %_rtB_5407.pre, %true918 ]
  %storemerge9611 = phi double [ %tmp205, %merge2616 ], [ 0.000000e+00, %true918 ]
  %_rtP_5405 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %4820 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_5405, i32 0, i32 639
  %_rtP__enginer2_Gain = load double* %4820, align 1
  %tmp206 = fmul double %storemerge9611, %_rtP__enginer2_Gain
  %4821 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_5407, i32 0, i32 247
  store double %tmp206, double* %4821, align 1
  %vm_ssIsSampleHitVar0_5408 = load i32* %vm_ssIsSampleHitVar0_, align 1
  store i32 %vm_ssIsSampleHitVar0_5408, i32* %i_0_, align 1
  %4822 = icmp eq i32 %vm_ssIsSampleHitVar0_5408, 0
  br i1 %4822, label %false927, label %true926

merge2619:                                        ; preds = %false931, %true930, %true928
  %_rtB_5436 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %4823 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_5436, i32 0, i32 249
  %_rtB__pos1 = load double* %4823, align 1
  %4824 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_5436, i32 0, i32 227
  %_rtB__Integrator1_k = load double* %4824, align 1
  %tmp211 = fsub double %_rtB__pos1, %_rtB__Integrator1_k
  %4825 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_5436, i32 0, i32 251
  %_rtB__neg = load double* %4825, align 1
  %4826 = call double @muDoubleScalarMax(double %tmp211, double %_rtB__neg)
  %_rtB_5439 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %4827 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_5439, i32 0, i32 252
  store double %4826, double* %4827, align 1
  %_rtB_5440 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %4828 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_5440, i32 0, i32 252
  %_rtB__MinMax = load double* %4828, align 1
  %_rtP_5441 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %4829 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_5441, i32 0, i32 647
  %_rtP__reduceonly1_UpperSat = load double* %4829, align 1
  %4830 = fcmp ogt double %_rtB__MinMax, %_rtP__reduceonly1_UpperSat
  br i1 %4830, label %merge2621, label %false933

merge2621:                                        ; preds = %merge2619, %false933
  %rtb_reduceonly1_5481 = phi double [ %_rtP__reduceonly1_LowerSat._rtB__MinMax, %false933 ], [ %_rtP__reduceonly1_UpperSat, %merge2619 ]
  %storemerge9613.in = phi double* [ %.10086, %false933 ], [ %4829, %merge2619 ]
  store double %rtb_reduceonly1_5481, double* %rtb_reduceonly1_, align 1
  %_rtX_5451 = load %X_REVS_VM_T.18** %_rtX_, align 1
  %4831 = getelementptr inbounds %X_REVS_VM_T.18* %_rtX_5451, i32 0, i32 31
  %_rtX__Integrator_CSTATE_n = load double* %4831, align 1
  store double %_rtX__Integrator_CSTATE_n, double* %rtb_Integrator_iq_, align 1
  %4832 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_5440, i32 0, i32 96
  %_rtB__tc_spd_in_radps5453 = load double* %4832, align 1
  %4833 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_5441, i32 0, i32 650
  %_rtP__eps_UpperSat_c = load double* %4833, align 1
  %4834 = fcmp ogt double %_rtB__tc_spd_in_radps5453, %_rtP__eps_UpperSat_c
  br i1 %4834, label %merge2623, label %false937

merge2623:                                        ; preds = %merge2621, %false937
  %storemerge9615 = phi double [ %_rtP__eps_LowerSat_k._rtB__tc_spd_in_radps5453, %false937 ], [ %_rtP__eps_UpperSat_c, %merge2621 ]
  %storemerge9615.in = phi double* [ %.10087, %false937 ], [ %4833, %merge2621 ]
  store double %storemerge9615, double* %rtb_eps_, align 1
  %tmp212 = fdiv double %_rtX__Integrator_CSTATE_n, %storemerge9615
  store double %tmp212, double* %rtb_Product3_e_, align 1
  %_rtB__tc_spd_in_radps5468 = load double* %4832, align 1
  %4835 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_5441, i32 0, i32 653, i32 0
  %4836 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_5441, i32 0, i32 652, i32 0
  %_rtDW_5471 = load %DW_REVS_VM_T.16** %_rtDW_, align 1
  %4837 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_5471, i32 0, i32 795
  %4838 = call double @look1_pbinlcapw(double %_rtB__tc_spd_in_radps5468, double* %4835, double* %4836, i32* %4837, i32 14)
  store double %4838, double* %rtb_FullThrottleTorqueLimit_, align 1
  %_rtB_5472 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %4839 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_5472, i32 0, i32 96
  %_rtB__tc_spd_in_radps5473 = load double* %4839, align 1
  %_rtP_5474 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %4840 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_5474, i32 0, i32 655, i32 0
  %4841 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_5474, i32 0, i32 654, i32 0
  %_rtDW_5476 = load %DW_REVS_VM_T.16** %_rtDW_, align 1
  %4842 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_5476, i32 0, i32 796
  %4843 = call double @look1_pbinlcapw(double %_rtB__tc_spd_in_radps5473, double* %4840, double* %4841, i32* %4842, i32 8)
  store double %4843, double* %rtb_ClosedThrottleTorqueLimit_, align 1
  %tmp213 = fsub double %4838, %4843
  store double %tmp213, double* %rtb_Sum7_, align 1
  %tmp214 = fsub double %tmp213, %4843
  store double %tmp214, double* %rtb_Sum4_, align 1
  %tmp215 = fadd double %rtb_reduceonly1_5481, %tmp212
  %4844 = call double @muDoubleScalarMin(double %tmp215, double %tmp214)
  store double %4844, double* %minV_, align 1
  %rtb_reduceonly_5484 = load double* %rtb_reduceonly_, align 1
  %tmp216 = fadd double %4844, %rtb_reduceonly_5484
  store double %tmp216, double* %u0_0_, align 1
  %_rtP_5487 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %4845 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_5487, i32 0, i32 656
  %_rtP__pos2_UpperSat = load double* %4845, align 1
  %4846 = fcmp ogt double %tmp216, %_rtP__pos2_UpperSat
  br i1 %4846, label %merge2625, label %false941

merge2625:                                        ; preds = %merge2623, %false941
  %storemerge9617 = phi double [ %_rtP__pos2_LowerSat.tmp216, %false941 ], [ %_rtP__pos2_UpperSat, %merge2623 ]
  store double %storemerge9617, double* %rtb_pos2_, align 1
  %tmp217 = fadd double %storemerge9617, %4843
  %_rtB_5497 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %4847 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_5497, i32 0, i32 253
  store double %tmp217, double* %4847, align 1
  %_rtB_5498 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %4848 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_5498, i32 0, i32 253
  %_rtB__Sum6 = load double* %4848, align 1
  %rtb_Sum2_j_5499 = load double* %rtb_Sum2_j_, align 1
  %tmp218 = fadd double %_rtB__Sum6, %rtb_Sum2_j_5499
  %4849 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_5498, i32 0, i32 254
  store double %tmp218, double* %4849, align 1
  %vm_ssIsSampleHitVar0_5501 = load i32* %vm_ssIsSampleHitVar0_, align 1
  store i32 %vm_ssIsSampleHitVar0_5501, i32* %i_0_, align 1
  %4850 = icmp eq i32 %vm_ssIsSampleHitVar0_5501, 0
  br i1 %4850, label %false945, label %true944

merge2628:                                        ; preds = %true948, %true950, %false951, %true946
  %_rtB_5568 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %4851 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_5568, i32 0, i32 96
  %_rtB__tc_spd_in_radps5569 = load double* %4851, align 1
  %4852 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_5568, i32 0, i32 267
  %_rtB__Switch_eg = load double* %4852, align 1
  %4853 = call double @muDoubleScalarMin(double %_rtB__tc_spd_in_radps5569, double %_rtB__Switch_eg)
  %_rtB_5571 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %4854 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_5571, i32 0, i32 268
  %_rtB__Switch1_lv = load double* %4854, align 1
  %4855 = call double @muDoubleScalarMax(double %4853, double %_rtB__Switch1_lv)
  store double %4855, double* %u0_, align 1
  %_rtB_5572 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %4856 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_5572, i32 0, i32 264
  %_rtB__RateLimiter_b = load double* %4856, align 1
  %4857 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_5572, i32 0, i32 265
  %_rtB__Switch_lo = load double* %4857, align 1
  %4858 = call double @muDoubleScalarMin(double %_rtB__RateLimiter_b, double %_rtB__Switch_lo)
  %_rtB_5574 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %4859 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_5574, i32 0, i32 266
  %_rtB__Switch1_po4 = load double* %4859, align 1
  %4860 = call double @muDoubleScalarMax(double %4858, double %_rtB__Switch1_po4)
  %_rtP_5575 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %4861 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_5575, i32 0, i32 696, i32 0
  %_rtDW_5576 = load %DW_REVS_VM_T.16** %_rtDW_, align 1
  %4862 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_5576, i32 0, i32 798, i32 0
  %4863 = call i32 @plook_linxp(double %4860, double* %4861, i32 2, double* %frac_0_, i32* %4862)
  store i32 %4863, i32* %rowIdx_, align 1
  %frac_0_5577 = load double* %frac_0_, align 1
  %4864 = getelementptr inbounds [3 x double]* %fractions_0_, i32 0, i32 0
  store double %frac_0_5577, double* %4864, align 1
  %4865 = getelementptr inbounds [3 x i32]* %bpIndices_0_, i32 0, i32 0
  store i32 %4863, i32* %4865, align 1
  %u0_5579 = load double* %u0_, align 1
  %_rtP_5580 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %4866 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_5580, i32 0, i32 697, i32 0
  %_rtDW_5581 = load %DW_REVS_VM_T.16** %_rtDW_, align 1
  %4867 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_5581, i32 0, i32 798, i32 1
  %4868 = call i32 @plook_linxp(double %u0_5579, double* %4866, i32 10, double* %frac_0_, i32* %4867)
  store i32 %4868, i32* %rowIdx_, align 1
  %frac_0_5582 = load double* %frac_0_, align 1
  %4869 = getelementptr inbounds [3 x double]* %fractions_0_, i32 0, i32 1
  store double %frac_0_5582, double* %4869, align 1
  %4870 = getelementptr inbounds [3 x i32]* %bpIndices_0_, i32 0, i32 1
  store i32 %4868, i32* %4870, align 1
  %_rtB_5584 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %4871 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_5584, i32 0, i32 269
  %_rtB__MinMax1_h = load double* %4871, align 1
  %_rtP_5585 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %4872 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_5585, i32 0, i32 698, i32 0
  %_rtDW_5586 = load %DW_REVS_VM_T.16** %_rtDW_, align 1
  %4873 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_5586, i32 0, i32 798, i32 2
  %4874 = call i32 @plook_linxp(double %_rtB__MinMax1_h, double* %4872, i32 2, double* %frac_0_, i32* %4873)
  store i32 %4874, i32* %rowIdx_, align 1
  %frac_0_5587 = load double* %frac_0_, align 1
  %4875 = getelementptr inbounds [3 x double]* %fractions_0_, i32 0, i32 2
  store double %frac_0_5587, double* %4875, align 1
  %4876 = getelementptr inbounds [3 x i32]* %bpIndices_0_, i32 0, i32 2
  store i32 %4874, i32* %4876, align 1
  %_rtP_5589 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %4877 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_5589, i32 0, i32 695, i32 0
  %4878 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_5589, i32 0, i32 1394, i32 0
  %4879 = call double @intrp3d_l_pw(i32* %4865, double* %4864, double* %4877, i32* %4878)
  %_rtB_5591 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %4880 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_5591, i32 0, i32 270
  store double %4879, double* %4880, align 1
  %_rtB_5592 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %4881 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_5592, i32 0, i32 254
  %_rtB__Sum3 = load double* %4881, align 1
  %4882 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_5592, i32 0, i32 270
  %_rtB__Lookup_i = load double* %4882, align 1
  %tmp225 = fsub double %_rtB__Sum3, %_rtB__Lookup_i
  store double %tmp225, double* %rtb_Subtract2_, align 1
  %vm_ssIsSampleHitVar0_5594 = load i32* %vm_ssIsSampleHitVar0_, align 1
  store i32 %vm_ssIsSampleHitVar0_5594, i32* %i_0_, align 1
  %4883 = icmp eq i32 %vm_ssIsSampleHitVar0_5594, 0
  br i1 %4883, label %false953, label %true952

merge2630:                                        ; preds = %false953, %false955
  %u0_0_5638 = phi double [ %_rtP__pos_LowerSat._rtB__ClutchSpeedDisengaged5615, %false955 ], [ %_rtP__pos_UpperSat, %false953 ]
  %storemerge9619.in = phi double* [ %.10088, %false955 ], [ %1793, %false953 ]
  store double %u0_0_5638, double* %u0_0_, align 1
  %4884 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_5609, i32 0, i32 96
  %_rtB__tc_spd_in_radps5627 = load double* %4884, align 1
  %4885 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_5616, i32 0, i32 705
  %_rtP__eps_UpperSat_j = load double* %4885, align 1
  %4886 = fcmp ogt double %_rtB__tc_spd_in_radps5627, %_rtP__eps_UpperSat_j
  br i1 %4886, label %merge2632, label %false959

merge2632:                                        ; preds = %merge2630, %false959
  %storemerge9621 = phi double [ %_rtP__eps_LowerSat_m._rtB__tc_spd_in_radps5627, %false959 ], [ %_rtP__eps_UpperSat_j, %merge2630 ]
  %storemerge9621.in = phi double* [ %.10089, %false959 ], [ %4885, %merge2630 ]
  store double %storemerge9621, double* %u0_, align 1
  %tmp237 = fdiv double %u0_0_5638, %storemerge9621
  %4887 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_5609, i32 0, i32 277
  store double %tmp237, double* %4887, align 1
  %_rtB_5641 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %4888 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_5641, i32 0, i32 277
  %_rtB__Product7 = load double* %4888, align 1
  %_rtP_5642 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %4889 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_5642, i32 0, i32 708, i32 0
  %4890 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_5642, i32 0, i32 707, i32 0
  %_rtDW_5644 = load %DW_REVS_VM_T.16** %_rtDW_, align 1
  %4891 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_5644, i32 0, i32 799
  %4892 = call double @look1_plinlcapw(double %_rtB__Product7, double* %4889, double* %4890, i32* %4891, i32 73)
  %_rtB_5645 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %4893 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_5645, i32 0, i32 278
  store double %4892, double* %4893, align 1
  %_rtB_5646 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %4894 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_5646, i32 0, i32 277
  %_rtB__Product75647 = load double* %4894, align 1
  %_rtP_5648 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %4895 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_5648, i32 0, i32 710, i32 0
  %4896 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_5648, i32 0, i32 709, i32 0
  %_rtDW_5650 = load %DW_REVS_VM_T.16** %_rtDW_, align 1
  %4897 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_5650, i32 0, i32 800
  %4898 = call double @look1_plinlcapw(double %_rtB__Product75647, double* %4895, double* %4896, i32* %4897, i32 73)
  %_rtB_5651 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %4899 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_5651, i32 0, i32 279
  store double %4898, double* %4899, align 1
  %_rtB_5652 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %4900 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_5652, i32 0, i32 279
  %_rtB__KfactorRPMsqrtNm = load double* %4900, align 1
  %tmp238 = fdiv double 1.000000e+00, %_rtB__KfactorRPMsqrtNm
  %_rtP_5653 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %4901 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_5653, i32 0, i32 711
  %_rtP__radps2rpm_Gain = load double* %4901, align 1
  %4902 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_5652, i32 0, i32 96
  %_rtB__tc_spd_in_radps5655 = load double* %4902, align 1
  %tmp239 = fmul double %_rtP__radps2rpm_Gain, %_rtB__tc_spd_in_radps5655
  %4903 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_5653, i32 0, i32 712
  %_rtP__radps2rpm1_Gain = load double* %4903, align 1
  %4904 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_5652, i32 0, i32 64
  %_rtB__ClutchSpeedDisengaged5658 = load double* %4904, align 1
  %tmp240 = fmul double %_rtP__radps2rpm1_Gain, %_rtB__ClutchSpeedDisengaged5658
  %4905 = call double @muDoubleScalarMax(double %tmp239, double %tmp240)
  %tmp241 = fmul double %tmp238, %4905
  %tmp242 = fmul double %tmp241, %tmp241
  %_rtB_5661 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %4906 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_5661, i32 0, i32 277
  %_rtB__Product75662 = load double* %4906, align 1
  %tmp243 = fsub double 1.000000e+00, %_rtB__Product75662
  %4907 = call double @muDoubleScalarSign(double %tmp243)
  %tmp244 = fmul double %tmp242, %4907
  %_rtB_5663 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %4908 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_5663, i32 0, i32 280
  store double %tmp244, double* %4908, align 1
  %_rtB_5664 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %4909 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_5664, i32 0, i32 633
  %_rtB__LogicalOperator25665 = load i8* %4909, align 1
  %4910 = and i8 %_rtB__LogicalOperator25665, 1
  %4911 = icmp eq i8 %4910, 0
  br i1 %4911, label %false963, label %true962

merge2636:                                        ; preds = %false965, %true964, %false963
  %vm_ssIsSampleHitVar0_5686 = load i32* %vm_ssIsSampleHitVar0_, align 1
  store i32 %vm_ssIsSampleHitVar0_5686, i32* %i_0_, align 1
  %4912 = icmp eq i32 %vm_ssIsSampleHitVar0_5686, 0
  br i1 %4912, label %false971, label %true970

merge2637:                                        ; preds = %true976, %true980, %true978, %false977
  %u0_5762 = phi double [ %_rtDW__TimeStampA_im, %false977 ], [ %_rtDW__TimeStampB_i5745, %true978 ], [ %_rtDW__TimeStampB_i5745, %true980 ], [ %_rtDW__TimeStampA_im, %true976 ]
  %lastU_5759 = phi double* [ %1871, %false977 ], [ %1875, %true978 ], [ %1876, %true980 ], [ %1871, %true976 ]
  %_rtB_5758 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %4913 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_5758, i32 0, i32 292
  %_rtB__Product4_ck = load double* %4913, align 1
  %lastU_5760 = load double* %lastU_5759, align 1
  %tmp250 = fsub double %_rtB__Product4_ck, %lastU_5760
  %tmp251 = fsub double %vm_ssGetTVar5_5736, %u0_5762
  %tmp252 = fdiv double %tmp250, %tmp251
  br label %merge2638

merge2638:                                        ; preds = %false973, %merge2637
  %rtb_Derivative_n_5767 = phi double [ %tmp252, %merge2637 ], [ 0.000000e+00, %false973 ]
  store double %rtb_Derivative_n_5767, double* %rtb_Derivative_n_, align 1
  %_rtP_5764 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %4914 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_5764, i32 0, i32 736
  %_rtP__Saturation_UpperSat_a = load double* %4914, align 1
  %4915 = fcmp ogt double %rtb_Derivative_n_5767, %_rtP__Saturation_UpperSat_a
  br i1 %4915, label %merge2640, label %false983

merge2640:                                        ; preds = %merge2638, %false983
  %storemerge9624 = phi double [ %_rtP__Saturation_LowerSat_f.rtb_Derivative_n_5767, %false983 ], [ %_rtP__Saturation_UpperSat_a, %merge2638 ]
  store double %storemerge9624, double* %frac_1_, align 1
  %_rtB_5773 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %4916 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_5773, i32 0, i32 64
  %_rtB__ClutchSpeedDisengaged5774 = load double* %4916, align 1
  %tmp253 = fmul double %storemerge9624, %_rtB__ClutchSpeedDisengaged5774
  store double %tmp253, double* %rtb_Product5_, align 1
  %4917 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_5773, i32 0, i32 281
  %_rtB__tc_trq_out_Nm = load double* %4917, align 1
  %4918 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_5773, i32 0, i32 290
  %_rtB__Lookup_l = load double* %4918, align 1
  %tmp254 = fsub double %_rtB__tc_trq_out_Nm, %_rtB__Lookup_l
  %tmp255 = fsub double %tmp254, %tmp253
  store double %tmp255, double* %rtb_Sum5_, align 1
  %4919 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_5773, i32 0, i32 292
  %_rtB__Product4_ck5779 = load double* %4919, align 1
  %4920 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_5773, i32 0, i32 296
  %_rtB__Constant1_f = load double* %4920, align 1
  %tmp256 = fadd double %_rtB__Product4_ck5779, %_rtB__Constant1_f
  %4921 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_5773, i32 0, i32 297
  store double %tmp256, double* %4921, align 1
  %_rtB_5782 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %4922 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_5782, i32 0, i32 633
  %_rtB__LogicalOperator25783 = load i8* %4922, align 1
  %4923 = uitofp i8 %_rtB__LogicalOperator25783 to double
  %4924 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_5782, i32 0, i32 276
  %_rtB__Sum6_m5785 = load double* %4924, align 1
  %tmp257 = fmul double %4923, %_rtB__Sum6_m5785
  %4925 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_5782, i32 0, i32 295
  %_rtB__TurbineInertia1 = load double* %4925, align 1
  %tmp258 = fadd double %tmp257, %_rtB__TurbineInertia1
  %4926 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_5782, i32 0, i32 297
  %_rtB__Sum3_h = load double* %4926, align 1
  %tmp259 = fadd double %tmp258, %_rtB__Sum3_h
  store double %tmp259, double* %rtb_Sum6_k_, align 1
  %4927 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_5782, i32 0, i32 61
  %_rtB__Saturation5789 = load double* %4927, align 1
  %4928 = fcmp ogt double %_rtB__Saturation5789, 0.000000e+00
  %4929 = uitofp i1 %4928 to double
  %rtb_Product3_5790 = load double* %rtb_Product3_, align 1
  %4930 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_5782, i32 0, i32 64
  %_rtB__ClutchSpeedDisengaged5792 = load double* %4930, align 1
  %tmp260 = fsub double %rtb_Product3_5790, %_rtB__ClutchSpeedDisengaged5792
  %tmp261 = fmul double %4929, %tmp260
  %tmp262 = fsub double 1.000000e+00, %_rtB__Saturation5789
  %4931 = call double @muDoubleScalarPower(double %tmp262, double 3.000000e+00)
  %tmp263 = fmul double 5.000000e+00, %4931
  %tmp264 = fadd double 5.000000e-02, %tmp263
  %tmp265 = fdiv double %tmp261, %tmp264
  %_rtB_5795 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %4932 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_5795, i32 0, i32 294
  %_rtB__engageduration_n = load double* %4932, align 1
  %tmp266 = fdiv double %tmp265, %_rtB__engageduration_n
  %tmp267 = fmul double %tmp266, %tmp259
  %4933 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_5795, i32 0, i32 298
  store double %tmp267, double* %4933, align 1
  %_rtB_5798 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %4934 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_5798, i32 0, i32 64
  %_rtB__ClutchSpeedDisengaged5799 = load double* %4934, align 1
  %tmp268 = fsub double %_rtB__ClutchSpeedDisengaged5799, %rtb_Product3_5790
  store double %tmp268, double* %rtb_Sum_ms_, align 1
  %4935 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_5798, i32 0, i32 298
  %_rtB__Product_l = load double* %4935, align 1
  %tmp269 = fsub double %tmp255, %_rtB__Product_l
  %4936 = fcmp oge double %tmp268, 0.000000e+00
  %4937 = uitofp i1 %4936 to double
  %4938 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_5798, i32 0, i32 300
  %_rtB__Constant2_b = load double* %4938, align 1
  %tmp270 = fmul double %4937, %_rtB__Constant2_b
  %4939 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_5798, i32 0, i32 299
  %_rtB__Constant_ch = load double* %4939, align 1
  %tmp271 = fadd double %tmp270, %_rtB__Constant_ch
  %4940 = call double @muDoubleScalarMin(double %tmp269, double %tmp271)
  %4941 = fcmp ole double %tmp268, 0.000000e+00
  %4942 = uitofp i1 %4941 to double
  %_rtB_5807 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %4943 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_5807, i32 0, i32 301
  %_rtB__Constant3 = load double* %4943, align 1
  %tmp272 = fmul double %4942, %_rtB__Constant3
  %4944 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_5807, i32 0, i32 302
  %_rtB__Constant1_c = load double* %4944, align 1
  %tmp273 = fadd double %tmp272, %_rtB__Constant1_c
  %4945 = call double @muDoubleScalarMax(double %4940, double %tmp273)
  %_rtB_5809 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %4946 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_5809, i32 0, i32 61
  %_rtB__Saturation5810 = load double* %4946, align 1
  %4947 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_5809, i32 0, i32 293
  %_rtB__Constant_ap = load double* %4947, align 1
  %4948 = fcmp ogt double %_rtB__Saturation5810, %_rtB__Constant_ap
  %4949 = uitofp i1 %4948 to double
  %tmp274 = fmul double %4945, %4949
  %4950 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_5809, i32 0, i32 303
  store double %tmp274, double* %4950, align 1
  %_rtB_5813 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %4951 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_5813, i32 0, i32 630
  %_rtB__LogicalOperator5814 = load i8* %4951, align 1
  %4952 = and i8 %_rtB__LogicalOperator5814, 1
  %4953 = icmp eq i8 %4952, 0
  br i1 %4953, label %false987, label %merge2641

merge2641:                                        ; preds = %merge2640, %false987
  %rtb_TorqueSW_6194 = phi double [ %_rtB__Product1_p, %false987 ], [ %tmp255, %merge2640 ]
  store double %rtb_TorqueSW_6194, double* %rtb_TorqueSW_, align 1
  %vm_ssIsSampleHitVar0_5817 = load i32* %vm_ssIsSampleHitVar0_, align 1
  store i32 %vm_ssIsSampleHitVar0_5817, i32* %i_0_, align 1
  %4954 = icmp eq i32 %vm_ssIsSampleHitVar0_5817, 0
  br i1 %4954, label %false989, label %true988

merge2643:                                        ; preds = %true992, %false989
  %i_0_9566 = phi i32 [ 0, %false989 ], [ %tmp627, %true992 ]
  store i32 %i_0_9566, i32* %i_0_, align 1
  %4955 = icmp slt i32 %i_0_9566, 10
  br i1 %4955, label %true992, label %false993

merge2644:                                        ; preds = %true1008, %false1009
  %vm_ssIsSampleHitVar0_5889 = load i32* %vm_ssIsSampleHitVar0_, align 1
  store i32 %vm_ssIsSampleHitVar0_5889, i32* %i_0_, align 1
  %4956 = icmp eq i32 %vm_ssIsSampleHitVar0_5889, 0
  br i1 %4956, label %false1011, label %true1010

merge2645:                                        ; preds = %true1012, %false1011
  %i_0_9557 = phi i32 [ 0, %false1011 ], [ %tmp625, %true1012 ]
  store i32 %i_0_9557, i32* %i_0_, align 1
  %4957 = icmp slt i32 %i_0_9557, 10
  %_rtB_9552 = load %B_REVS_VM_T.12** %_rtB_, align 1
  br i1 %4957, label %true1012, label %false1013

merge2646:                                        ; preds = %true1016, %false1015, %false2500
  %i_0_9538 = phi i32 [ %tmp618, %false2500 ], [ 0, %false1015 ], [ 0, %true1016 ]
  store i32 %i_0_9538, i32* %i_0_, align 1
  %4958 = icmp slt i32 %i_0_9538, 9
  br i1 %4958, label %true1018, label %false1019

merge2647:                                        ; preds = %true1022, %false1021
  %i_0_9531 = phi i32 [ 0, %false1021 ], [ %tmp617, %true1022 ]
  store i32 %i_0_9531, i32* %i_0_, align 1
  %4959 = icmp slt i32 %i_0_9531, 10
  %_rtB_9526 = load %B_REVS_VM_T.12** %_rtB_, align 1
  br i1 %4959, label %true1022, label %false1023

merge2649:                                        ; preds = %false1045, %true1044, %true1042
  %vm_ssIsSampleHitVar0_5972 = load i32* %vm_ssIsSampleHitVar0_, align 1
  store i32 %vm_ssIsSampleHitVar0_5972, i32* %i_0_, align 1
  %4960 = icmp eq i32 %vm_ssIsSampleHitVar0_5972, 0
  br i1 %4960, label %false1047, label %true1046

merge2650:                                        ; preds = %true1054, %false1055
  %vm_ssIsSampleHitVar0_6002 = load i32* %vm_ssIsSampleHitVar0_, align 1
  store i32 %vm_ssIsSampleHitVar0_6002, i32* %i_0_, align 1
  %4961 = icmp eq i32 %vm_ssIsSampleHitVar0_6002, 0
  br i1 %4961, label %false1057, label %true1056

merge2652:                                        ; preds = %true1062, %false1065
  %storemerge9670 = phi double [ %_rtP__eps2_LowerSat._rtDW__Memory_40_PreviousInput, %false1065 ], [ %_rtP__eps2_UpperSat, %true1062 ]
  %storemerge9670.in = phi double* [ %.10090, %false1065 ], [ %2086, %true1062 ]
  store double %storemerge9670, double* %u0_0_, align 1
  %_rtB_6040 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %4962 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_6040, i32 0, i32 346
  %_rtB__MinMax1_j = load double* %4962, align 1
  %4963 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_6029, i32 0, i32 85
  %_rtDW__Memory_39_PreviousInput6042 = load double* %4963, align 1
  %tmp301 = fdiv double %_rtDW__Memory_39_PreviousInput6042, %storemerge9670
  %4964 = call double @muDoubleScalarMin(double %_rtB__MinMax1_j, double %tmp301)
  store double %4964, double* %u0_0_, align 1
  %_rtP_6045 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %4965 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_6045, i32 0, i32 810
  %_rtP__eps3_UpperSat = load double* %4965, align 1
  %4966 = fcmp ogt double %4964, %_rtP__eps3_UpperSat
  br i1 %4966, label %merge2654, label %false1069

merge2654:                                        ; preds = %merge2652, %false1069
  %storemerge9672 = phi double [ %_rtP__eps3_LowerSat., %false1069 ], [ %_rtP__eps3_UpperSat, %merge2652 ]
  store double %storemerge9672, double* %rtb_eps3_, align 1
  br label %merge2655

merge2655:                                        ; preds = %merge2785, %merge2654
  %i_0_9502 = phi i32 [ 0, %merge2654 ], [ %tmp614, %merge2785 ]
  store i32 %i_0_9502, i32* %i_0_, align 1
  %4967 = icmp slt i32 %i_0_9502, 9
  br i1 %4967, label %true1072, label %merge2656

merge2656:                                        ; preds = %merge2655, %true1074
  %i_9487 = phi i32 [ %tmp604, %true1074 ], [ 0, %merge2655 ]
  store i32 %i_9487, i32* %i_, align 1
  %4968 = icmp slt i32 %i_9487, 9
  br i1 %4968, label %true1074, label %merge2657

merge2657:                                        ; preds = %merge2656, %true1076
  %i_9473 = phi i32 [ %tmp603, %true1076 ], [ 0, %merge2656 ]
  store i32 %i_9473, i32* %i_, align 1
  %4969 = icmp slt i32 %i_9473, 9
  br i1 %4969, label %true1076, label %merge2658

merge2658:                                        ; preds = %merge2657, %true1078
  %i_0_9464 = phi i32 [ %tmp602, %true1078 ], [ 0, %merge2657 ]
  store i32 %i_0_9464, i32* %i_0_, align 1
  %4970 = icmp slt i32 %i_0_9464, 9
  br i1 %4970, label %true1078, label %false1063

merge2659:                                        ; preds = %true1089, %false1092
  %u0_0_6082 = phi double [ %_rtB__Product6080, %false1092 ], [ 0.000000e+00, %true1089 ]
  store double %u0_0_6082, double* %u0_0_, align 1
  %4971 = fcmp ogt double %u0_0_6082, 8.000000e+00
  br i1 %4971, label %true1093, label %false1094

merge2660:                                        ; preds = %false1094, %true1095, %true1093
  %u0_0_6084 = phi double [ 8.000000e+00, %true1093 ], [ 0.000000e+00, %true1095 ], [ %u0_0_6082, %false1094 ]
  %_rtP_6083 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %4972 = fptosi double %u0_0_6084 to i32
  %4973 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_6083, i32 0, i32 825, i32 %4972
  %_rtP__downshiftcommit_table_el = load double* %4973, align 1
  %_rtB_6085 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %4974 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_6085, i32 0, i32 354
  store double %_rtP__downshiftcommit_table_el, double* %4974, align 1
  %_rtB_6086 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %4975 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_6086, i32 0, i32 49
  %_rtB__Product6087 = load double* %4975, align 1
  %4976 = call i8 @muDoubleScalarIsNaN(double %_rtB__Product6087)
  %4977 = and i8 %4976, 1
  %4978 = icmp eq i8 %4977, 0
  br i1 %4978, label %false1098, label %merge2661

merge2661:                                        ; preds = %merge2660, %false1098
  %u0_0_6091 = phi double [ %_rtB__Product6089, %false1098 ], [ 0.000000e+00, %merge2660 ]
  store double %u0_0_6091, double* %u0_0_, align 1
  %4979 = fcmp ogt double %u0_0_6091, 8.000000e+00
  br i1 %4979, label %true1099, label %false1100

merge2662:                                        ; preds = %false1100, %true1101, %true1099
  %u0_0_6093 = phi double [ 8.000000e+00, %true1099 ], [ 0.000000e+00, %true1101 ], [ %u0_0_6091, %false1100 ]
  %_rtP_6092 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %4980 = fptosi double %u0_0_6093 to i32
  %4981 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_6092, i32 0, i32 826, i32 %4980
  %_rtP__upshiftcommit_table_el = load double* %4981, align 1
  %_rtB_6094 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %4982 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_6094, i32 0, i32 355
  store double %_rtP__upshiftcommit_table_el, double* %4982, align 1
  %_rtB_6095 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %4983 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_6095, i32 0, i32 49
  %_rtB__Product6096 = load double* %4983, align 1
  %4984 = call i8 @muDoubleScalarIsNaN(double %_rtB__Product6096)
  %4985 = and i8 %4984, 1
  %4986 = icmp eq i8 %4985, 0
  br i1 %4986, label %false1104, label %merge2663

merge2663:                                        ; preds = %merge2662, %false1104
  %u0_0_6100 = phi double [ %_rtB__Product6098, %false1104 ], [ 0.000000e+00, %merge2662 ]
  store double %u0_0_6100, double* %u0_0_, align 1
  %4987 = fcmp ogt double %u0_0_6100, 8.000000e+00
  br i1 %4987, label %true1105, label %false1106

merge2664:                                        ; preds = %false1106, %true1107, %true1105
  %u0_0_6102 = phi double [ 8.000000e+00, %true1105 ], [ 0.000000e+00, %true1107 ], [ %u0_0_6100, %false1106 ]
  %_rtP_6101 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %4988 = fptosi double %u0_0_6102 to i32
  %4989 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_6101, i32 0, i32 828, i32 %4988
  %_rtP__upshiftdelay_table_el = load double* %4989, align 1
  %_rtB_6103 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %4990 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_6103, i32 0, i32 357
  store double %_rtP__upshiftdelay_table_el, double* %4990, align 1
  %_rtB_6104 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %4991 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_6104, i32 0, i32 49
  %_rtB__Product6105 = load double* %4991, align 1
  %4992 = call i8 @muDoubleScalarIsNaN(double %_rtB__Product6105)
  %4993 = and i8 %4992, 1
  %4994 = icmp eq i8 %4993, 0
  br i1 %4994, label %false1110, label %merge2665

merge2665:                                        ; preds = %merge2664, %false1110
  %u0_0_6109 = phi double [ %_rtB__Product6107, %false1110 ], [ 0.000000e+00, %merge2664 ]
  store double %u0_0_6109, double* %u0_0_, align 1
  %4995 = fcmp ogt double %u0_0_6109, 8.000000e+00
  br i1 %4995, label %true1111, label %false1112

merge2666:                                        ; preds = %false1112, %true1113, %true1111
  %u0_0_6111 = phi double [ 8.000000e+00, %true1111 ], [ 0.000000e+00, %true1113 ], [ %u0_0_6109, %false1112 ]
  %_rtP_6110 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %4996 = fptosi double %u0_0_6111 to i32
  %4997 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_6110, i32 0, i32 829, i32 %4996
  %_rtP__downshiftdelay_table_el = load double* %4997, align 1
  %_rtB_6112 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %4998 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_6112, i32 0, i32 358
  store double %_rtP__downshiftdelay_table_el, double* %4998, align 1
  %"%<tSimStruct>_6113" = load i8** %"%<tSimStruct>_", align 1
  call void @vm_ssCallAccelRunBlock(i8* %"%<tSimStruct>_6113", i32 77, i32 0, i32 104)
  %_rtB_6114 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %4999 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_6114, i32 0, i32 711
  %_rtB__RelationalOperator_g4 = load i8* %4999, align 1
  %5000 = and i8 %_rtB__RelationalOperator_g4, 1
  %5001 = icmp eq i8 %5000, 0
  br i1 %5001, label %false1116, label %true1115

merge2667:                                        ; preds = %true1183, %false1184
  %vm_ssIsSampleHitVar0_6201 = load i32* %vm_ssIsSampleHitVar0_, align 1
  store i32 %vm_ssIsSampleHitVar0_6201, i32* %i_0_, align 1
  %5002 = icmp eq i32 %vm_ssIsSampleHitVar0_6201, 0
  %vm_ssIsMajorTimeStepVar1_6203 = load i32* %vm_ssIsMajorTimeStepVar1_, align 1
  %5003 = icmp eq i32 %vm_ssIsMajorTimeStepVar1_6203, 0
  %or.cond10138 = or i1 %5002, %5003
  br i1 %or.cond10138, label %false1186, label %true1187

merge2669:                                        ; preds = %true1207, %false1214, %true1209, %false1208
  %_rtDW_6234.pre.pre = load %DW_REVS_VM_T.16** %_rtDW_, align 1
  br label %false1204

merge2671:                                        ; preds = %false1244, %true1245, %true1243
  %u0_0_6331 = phi double [ %_rtP__Pos_UpperSat_f, %true1243 ], [ %_rtP__Pos_LowerSat_f, %true1245 ], [ %tmp310, %false1244 ]
  %5004 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_6316, i32 0, i32 74
  %_rtP__Pos2_UpperSat_e = load double* %5004, align 1
  %5005 = fcmp ogt double %tmp311, %_rtP__Pos2_UpperSat_e
  br i1 %5005, label %true1247, label %false1248

merge2672:                                        ; preds = %false1248, %true1249, %true1247
  %u0_6332 = phi double [ %_rtP__Pos2_UpperSat_e, %true1247 ], [ %_rtP__Pos2_LowerSat_l, %true1249 ], [ %tmp311, %false1248 ]
  %tmp312 = fadd double %u0_0_6331, %u0_6332
  %5006 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_6311, i32 0, i32 594
  store double %tmp312, double* %5006, align 1
  %vm_ssIsSampleHitVar0_6334 = load i32* %vm_ssIsSampleHitVar0_, align 1
  store i32 %vm_ssIsSampleHitVar0_6334, i32* %i_0_, align 1
  %5007 = icmp eq i32 %vm_ssIsSampleHitVar0_6334, 0
  br i1 %5007, label %false1252, label %true1251

merge2676:                                        ; preds = %true1321, %true1319, %false1316, %false1306, %true1323
  %i_0_9459 = phi i32 [ %tmp600, %true1323 ], [ 0, %false1306 ], [ 0, %false1316 ], [ 0, %true1319 ], [ 0, %true1321 ]
  store i32 %i_0_9459, i32* %i_0_, align 1
  %5008 = icmp slt i32 %i_0_9459, 9
  br i1 %5008, label %true1323, label %false1324

merge2677:                                        ; preds = %true1325, %false1324
  %tmp_6456 = phi i8 [ %rtb_RelationalOperator2_p__el, %false1324 ], [ %2432, %true1325 ]
  %i_9453 = phi i32 [ 0, %false1324 ], [ %tmp598, %true1325 ]
  store i32 %i_9453, i32* %i_, align 1
  %5009 = icmp slt i32 %i_9453, 8
  br i1 %5009, label %true1325, label %false1326

merge2678:                                        ; preds = %true1327, %false1328
  %_rtP_6464 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %5010 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_6464, i32 0, i32 890
  %_rtP__Gain1_Gain_m = load double* %5010, align 1
  %rtb_Product5_6465 = load double* %rtb_Product5_, align 1
  %tmp314 = fmul double %_rtP__Gain1_Gain_m, %rtb_Product5_6465
  %_rtB_6466 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %5011 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_6466, i32 0, i32 369
  store double %tmp314, double* %5011, align 1
  %vm_ssIsSampleHitVar0_6467 = load i32* %vm_ssIsSampleHitVar0_, align 1
  store i32 %vm_ssIsSampleHitVar0_6467, i32* %i_0_, align 1
  %5012 = icmp eq i32 %vm_ssIsSampleHitVar0_6467, 0
  %vm_ssIsMajorTimeStepVar1_6469 = load i32* %vm_ssIsMajorTimeStepVar1_, align 1
  %5013 = icmp eq i32 %vm_ssIsMajorTimeStepVar1_6469, 0
  %or.cond10148 = or i1 %5012, %5013
  br i1 %or.cond10148, label %false1330, label %true1331

merge2680:                                        ; preds = %true1371, %false1372
  %vm_ssIsSampleHitVar0_6569 = load i32* %vm_ssIsSampleHitVar0_, align 1
  store i32 %vm_ssIsSampleHitVar0_6569, i32* %i_0_, align 1
  %5014 = icmp eq i32 %vm_ssIsSampleHitVar0_6569, 0
  %vm_ssIsMajorTimeStepVar1_6571 = load i32* %vm_ssIsMajorTimeStepVar1_, align 1
  %5015 = icmp eq i32 %vm_ssIsMajorTimeStepVar1_6571, 0
  %or.cond10150 = or i1 %5014, %5015
  br i1 %or.cond10150, label %false1374, label %true1375

merge2682:                                        ; preds = %true1395, %false1402, %true1397, %false1396
  %_rtDW_6602.pre.pre = load %DW_REVS_VM_T.16** %_rtDW_, align 1
  br label %false1392

merge2684:                                        ; preds = %false1432, %true1433, %true1431
  %u0_0_6698 = phi double [ %_rtP__Pos_UpperSat_h, %true1431 ], [ %_rtP__Pos_LowerSat_b, %true1433 ], [ %tmp330, %false1432 ]
  %5016 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_6683, i32 0, i32 90
  %_rtP__Pos2_UpperSat_k = load double* %5016, align 1
  %5017 = fcmp ogt double %tmp331, %_rtP__Pos2_UpperSat_k
  br i1 %5017, label %true1435, label %false1436

merge2685:                                        ; preds = %false1436, %true1437, %true1435
  %u0_6699 = phi double [ %_rtP__Pos2_UpperSat_k, %true1435 ], [ %_rtP__Pos2_LowerSat_f, %true1437 ], [ %tmp331, %false1436 ]
  %tmp332 = fadd double %u0_0_6698, %u0_6699
  %5018 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_6678, i32 0, i32 591
  store double %tmp332, double* %5018, align 1
  %vm_ssIsSampleHitVar0_6701 = load i32* %vm_ssIsSampleHitVar0_, align 1
  store i32 %vm_ssIsSampleHitVar0_6701, i32* %i_0_, align 1
  %5019 = icmp eq i32 %vm_ssIsSampleHitVar0_6701, 0
  br i1 %5019, label %false1440, label %true1439

merge2689:                                        ; preds = %true1529, %true1533, %true1531, %false1530
  %u0_6896 = phi double [ %_rtDW__TimeStampA_b, %false1530 ], [ %_rtDW__TimeStampB_k6878, %true1531 ], [ %_rtDW__TimeStampB_k6878, %true1533 ], [ %_rtDW__TimeStampA_b, %true1529 ]
  %lastU_6893 = phi double* [ %2738, %false1530 ], [ %2742, %true1531 ], [ %2743, %true1533 ], [ %2738, %true1529 ]
  %_rtB_6891 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %5020 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_6891, i32 0, i32 96
  %_rtB__tc_spd_in_radps6892 = load double* %5020, align 1
  %lastU_6894 = load double* %lastU_6893, align 1
  %tmp342 = fsub double %_rtB__tc_spd_in_radps6892, %lastU_6894
  %tmp343 = fsub double %vm_ssGetTVar5_6869, %u0_6896
  %tmp344 = fdiv double %tmp342, %tmp343
  br label %merge2690

merge2690:                                        ; preds = %true1527, %merge2689
  %_rtB__tc_spd_in_radps6903 = phi double [ %_rtB__tc_spd_in_radps6892, %merge2689 ], [ %_rtB__tc_spd_in_radps6903.pre, %true1527 ]
  %_rtB_6907 = phi %B_REVS_VM_T.12* [ %_rtB_6891, %merge2689 ], [ %_rtB_6897.pre, %true1527 ]
  %storemerge9634 = phi double [ %tmp344, %merge2689 ], [ 0.000000e+00, %true1527 ]
  %5021 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_6907, i32 0, i32 253
  %_rtB__Sum66898 = load double* %5021, align 1
  %5022 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_6907, i32 0, i32 222
  %_rtB__Constant2_p6901 = load double* %5022, align 1
  %tmp345 = fmul double %storemerge9634, %_rtB__Constant2_p6901
  %tmp346 = fsub double %_rtB__Sum66898, %tmp345
  %5023 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_6907, i32 0, i32 96
  %tmp347 = fmul double %tmp346, %_rtB__tc_spd_in_radps6903
  %5024 = fcmp oge double %tmp347, 0.000000e+00
  %5025 = uitofp i1 %5024 to double
  %tmp348 = fmul double %tmp347, %5025
  %_rtP_6906 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %5026 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_6906, i32 0, i32 931
  %_rtP__Gain_Gain_c = load double* %5026, align 1
  %tmp349 = fmul double %_rtP__Gain_Gain_c, %tmp348
  %5027 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_6907, i32 0, i32 386
  store double %tmp349, double* %5027, align 1
  br label %merge2691

merge2691:                                        ; preds = %true1535, %merge2690
  %i_0_9448 = phi i32 [ 0, %merge2690 ], [ %tmp597, %true1535 ]
  store i32 %i_0_9448, i32* %i_0_, align 1
  %5028 = icmp slt i32 %i_0_9448, 10
  br i1 %5028, label %true1535, label %false1536

merge2692:                                        ; preds = %true1537, %false1536, %true1539
  %i_0_9439 = phi i32 [ %tmp595, %true1539 ], [ 0, %false1536 ], [ 0, %true1537 ]
  store i32 %i_0_9439, i32* %i_0_, align 1
  %5029 = icmp slt i32 %i_0_9439, 10
  br i1 %5029, label %true1539, label %false1540

merge2693:                                        ; preds = %true1545, %false1544, %true1547
  %i_0_9424 = phi i32 [ %tmp592, %true1547 ], [ 0, %false1544 ], [ 0, %true1545 ]
  store i32 %i_0_9424, i32* %i_0_, align 1
  %5030 = icmp slt i32 %i_0_9424, 10
  br i1 %5030, label %true1547, label %false1548

merge2694:                                        ; preds = %false1554, %true1555, %true1553
  %u0_0_6956 = phi double [ %_rtP__pos1_UpperSat_k, %true1553 ], [ %_rtP__pos1_LowerSat_c, %true1555 ], [ %tmp354, %false1554 ]
  %rtb_ClosedThrottleTorqueLimit_6957 = load double* %rtb_ClosedThrottleTorqueLimit_, align 1
  %tmp355 = fadd double %u0_0_6956, %rtb_ClosedThrottleTorqueLimit_6957
  %_rtB_6958 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %5031 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_6958, i32 0, i32 399
  store double %tmp355, double* %5031, align 1
  %_rtB_6959 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %5032 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_6959, i32 0, i32 399
  %_rtB__Sum5_c = load double* %5032, align 1
  %5033 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_6959, i32 0, i32 96
  %_rtB__tc_spd_in_radps6961 = load double* %5033, align 1
  %_rtP_6962 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %5034 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_6962, i32 0, i32 944, i32 0
  %5035 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_6962, i32 0, i32 945, i32 0
  %5036 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_6962, i32 0, i32 943, i32 0
  %_rtDW_6965 = load %DW_REVS_VM_T.16** %_rtDW_, align 1
  %5037 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_6965, i32 0, i32 805, i32 0
  %5038 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_6962, i32 0, i32 1405, i32 0
  %5039 = call double @look2_plinlcapw(double %_rtB__Sum5_c, double %_rtB__tc_spd_in_radps6961, double* %5034, double* %5035, double* %5036, i32* %5037, i32* %5038, i32 32)
  store double %5039, double* %rtb_uDLookupTable_, align 1
  %_rtB_6967 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %5040 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_6967, i32 0, i32 399
  %_rtB__Sum5_c6968 = load double* %5040, align 1
  %5041 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_6967, i32 0, i32 96
  %_rtB__tc_spd_in_radps6970 = load double* %5041, align 1
  %_rtP_6971 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %5042 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_6971, i32 0, i32 947, i32 0
  %5043 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_6971, i32 0, i32 948, i32 0
  %5044 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_6971, i32 0, i32 946, i32 0
  %_rtDW_6974 = load %DW_REVS_VM_T.16** %_rtDW_, align 1
  %5045 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_6974, i32 0, i32 806, i32 0
  %5046 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_6971, i32 0, i32 1406, i32 0
  %5047 = call double @look2_plinlcapw(double %_rtB__Sum5_c6968, double %_rtB__tc_spd_in_radps6970, double* %5042, double* %5043, double* %5044, i32* %5045, i32* %5046, i32 32)
  store double %5047, double* %rtb_uDLookupTable1_, align 1
  %vm_ssIsSampleHitVar0_6976 = load i32* %vm_ssIsSampleHitVar0_, align 1
  store i32 %vm_ssIsSampleHitVar0_6976, i32* %i_0_, align 1
  %5048 = icmp eq i32 %vm_ssIsSampleHitVar0_6976, 0
  br i1 %5048, label %false1558, label %true1557

merge2696:                                        ; preds = %false1562, %true1561, %true1559
  %_rtB_6998 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %5049 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_6998, i32 0, i32 400
  %_rtB__RateLimiter_mg = load double* %5049, align 1
  %_rtDW_6999 = load %DW_REVS_VM_T.16** %_rtDW_, align 1
  %5050 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_6999, i32 0, i32 97
  store double %_rtB__RateLimiter_mg, double* %5050, align 1
  br label %false1558

merge2698:                                        ; preds = %false1570, %true1569, %true1567
  %_rtB_7044 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %5051 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_7044, i32 0, i32 402
  %_rtB__MinMax5 = load double* %5051, align 1
  %5052 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_7044, i32 0, i32 403
  %_rtB__pos = load double* %5052, align 1
  %tmp365 = fadd double %_rtB__MinMax5, %_rtB__pos
  %5053 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_7044, i32 0, i32 252
  %_rtB__MinMax7047 = load double* %5053, align 1
  %tmp366 = fadd double %tmp365, %_rtB__MinMax7047
  %5054 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_7044, i32 0, i32 404
  %_rtB__Constant_bg = load double* %5054, align 1
  %tmp367 = fdiv double %tmp366, %_rtB__Constant_bg
  store double %tmp367, double* %rtb_Divide_, align 1
  %vm_ssIsMajorTimeStepVar1_7049 = load i32* %vm_ssIsMajorTimeStepVar1_, align 1
  %5055 = icmp eq i32 %vm_ssIsMajorTimeStepVar1_7049, 0
  br i1 %5055, label %false1572, label %true1571

merge2702:                                        ; preds = %false1584, %true1583, %true1581
  %_rtB_7084 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %5056 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_7084, i32 0, i32 406
  %_rtB__RateLimiter1 = load double* %5056, align 1
  %_rtDW_7085 = load %DW_REVS_VM_T.16** %_rtDW_, align 1
  %5057 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_7085, i32 0, i32 100
  store double %_rtB__RateLimiter1, double* %5057, align 1
  br label %false1578

merge2704:                                        ; preds = %false1596, %true1595, %true1593
  %vm_ssIsMajorTimeStepVar1_7131 = load i32* %vm_ssIsMajorTimeStepVar1_, align 1
  %5058 = icmp eq i32 %vm_ssIsMajorTimeStepVar1_7131, 0
  br i1 %5058, label %false1598, label %true1597

merge2706:                                        ; preds = %false1606, %true1605, %true1603
  %_rtB_7164 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %5059 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_7164, i32 0, i32 399
  %_rtB__Sum5_c7165 = load double* %5059, align 1
  %5060 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_7164, i32 0, i32 96
  %_rtB__tc_spd_in_radps7167 = load double* %5060, align 1
  %tmp378 = fmul double %_rtB__Sum5_c7165, %_rtB__tc_spd_in_radps7167
  %5061 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_7164, i32 0, i32 412
  %_rtB__Constant1_j = load double* %5061, align 1
  %tmp379 = fdiv double %tmp378, %_rtB__Constant1_j
  %5062 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_7164, i32 0, i32 413
  store double %tmp379, double* %5062, align 1
  %_rtDW_7170 = load %DW_REVS_VM_T.16** %_rtDW_, align 1
  %5063 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_7170, i32 0, i32 101
  %_rtDW__TimeStampA_c = load double* %5063, align 1
  %vm_ssGetTVar5_7171 = load double* %vm_ssGetTVar5_, align 1
  %5064 = fcmp oge double %_rtDW__TimeStampA_c, %vm_ssGetTVar5_7171
  %5065 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_7170, i32 0, i32 103
  %_rtDW__TimeStampB_p = load double* %5065, align 1
  %5066 = fcmp oge double %_rtDW__TimeStampB_p, %vm_ssGetTVar5_7171
  %5067 = and i1 %5064, %5066
  br i1 %5067, label %merge2708, label %false1608

merge2707:                                        ; preds = %true1609, %true1613, %true1611, %false1610
  %u0_7197 = phi double [ %_rtDW__TimeStampA_c, %false1610 ], [ %_rtDW__TimeStampB_p7180, %true1611 ], [ %_rtDW__TimeStampB_p7180, %true1613 ], [ %_rtDW__TimeStampA_c, %true1609 ]
  %lastU_7194 = phi double* [ %2931, %false1610 ], [ %2935, %true1611 ], [ %2936, %true1613 ], [ %2931, %true1609 ]
  %_rtB_7193 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %5068 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_7193, i32 0, i32 413
  %_rtB__Product_a = load double* %5068, align 1
  %lastU_7195 = load double* %lastU_7194, align 1
  %tmp380 = fsub double %_rtB__Product_a, %lastU_7195
  %tmp381 = fsub double %vm_ssGetTVar5_7171, %u0_7197
  %tmp382 = fdiv double %tmp380, %tmp381
  br label %merge2708

merge2708:                                        ; preds = %merge2706, %merge2707
  %rtb_Derivative_k_7202 = phi double [ %tmp382, %merge2707 ], [ 0.000000e+00, %merge2706 ]
  store double %rtb_Derivative_k_7202, double* %rtb_Derivative_k_, align 1
  %_rtP_7199 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %5069 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_7199, i32 0, i32 984
  %_rtP__pwrratelimit_UpperSat = load double* %5069, align 1
  %5070 = fcmp ogt double %rtb_Derivative_k_7202, %_rtP__pwrratelimit_UpperSat
  br i1 %5070, label %merge2710, label %false1616

merge2710:                                        ; preds = %merge2708, %false1616
  %storemerge9640 = phi double [ %_rtP__pwrratelimit_LowerSat.rtb_Derivative_k_7202, %false1616 ], [ %_rtP__pwrratelimit_UpperSat, %merge2708 ]
  store double %storemerge9640, double* %minV_, align 1
  %_rtB_7207 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %5071 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_7207, i32 0, i32 413
  %_rtB__Product_a7208 = load double* %5071, align 1
  %5072 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_7207, i32 0, i32 414
  %_rtB__Constant_pg = load double* %5072, align 1
  %5073 = fcmp ogt double %_rtB__Product_a7208, %_rtB__Constant_pg
  %5074 = uitofp i1 %5073 to double
  %tmp383 = fmul double %storemerge9640, %5074
  %5075 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_7207, i32 0, i32 415
  %_rtB__Bias2 = load double* %5075, align 1
  %tmp384 = fmul double %tmp383, %_rtB__Bias2
  %5076 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_7207, i32 0, i32 407
  %_rtB__Product7_a7213 = load double* %5076, align 1
  %tmp385 = fmul double %tmp384, %_rtB__Product7_a7213
  store double %tmp385, double* %u0_0_, align 1
  %5077 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_7199, i32 0, i32 989
  %_rtP__fuelflow1_UpperSat = load double* %5077, align 1
  %5078 = fcmp ogt double %tmp385, %_rtP__fuelflow1_UpperSat
  br i1 %5078, label %true1619, label %false1620

merge2712:                                        ; preds = %false1622, %true1621, %true1619
  %_rtB_7226 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %5079 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_7226, i32 0, i32 407
  %_rtB__Product7_a7227 = load double* %5079, align 1
  %5080 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_7226, i32 0, i32 409
  %_rtB__fuelflow3 = load double* %5080, align 1
  %tmp386 = fadd double %_rtB__Product7_a7227, %_rtB__fuelflow3
  %5081 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_7226, i32 0, i32 411
  %_rtB__fuelflow2 = load double* %5081, align 1
  %tmp387 = fadd double %tmp386, %_rtB__fuelflow2
  %5082 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_7226, i32 0, i32 416
  %_rtB__fuelflow1 = load double* %5082, align 1
  %tmp388 = fadd double %tmp387, %_rtB__fuelflow1
  store double %tmp388, double* %u0_0_, align 1
  %_rtP_7232 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %5083 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_7232, i32 0, i32 991
  %_rtP__u_UpperSat_cv = load double* %5083, align 1
  %5084 = fcmp ogt double %tmp388, %_rtP__u_UpperSat_cv
  br i1 %5084, label %true1623, label %false1624

merge2715:                                        ; preds = %true1623, %true1625, %false1626, %true1627
  %i_0_9412 = phi i32 [ %tmp590, %true1627 ], [ 0, %false1626 ], [ 0, %true1625 ], [ 0, %true1623 ]
  store i32 %i_0_9412, i32* %i_0_, align 1
  %5085 = icmp slt i32 %i_0_9412, 10
  br i1 %5085, label %true1627, label %false1628

merge2716:                                        ; preds = %true1633, %false1632
  %i_0_9401 = phi i32 [ 0, %false1632 ], [ %tmp588, %true1633 ]
  store i32 %i_0_9401, i32* %i_0_, align 1
  %5086 = icmp slt i32 %i_0_9401, 10
  br i1 %5086, label %true1633, label %false1634

merge2717:                                        ; preds = %true1639, %false1638
  %i_0_9390 = phi i32 [ 0, %false1638 ], [ %tmp586, %true1639 ]
  store i32 %i_0_9390, i32* %i_0_, align 1
  %5087 = icmp slt i32 %i_0_9390, 10
  br i1 %5087, label %true1639, label %false1640

merge2718:                                        ; preds = %true1647, %true1651, %true1649, %false1648
  %u0_7306 = phi double [ %_rtDW__TimeStampA_n, %false1648 ], [ %_rtDW__TimeStampB_o7288, %true1649 ], [ %_rtDW__TimeStampB_o7288, %true1651 ], [ %_rtDW__TimeStampA_n, %true1647 ]
  %lastU_7303 = phi double* [ %2987, %false1648 ], [ %2991, %true1649 ], [ %2992, %true1651 ], [ %2987, %true1647 ]
  %_rtB_7301 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %5088 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_7301, i32 0, i32 96
  %_rtB__tc_spd_in_radps7302 = load double* %5088, align 1
  %lastU_7304 = load double* %lastU_7303, align 1
  %tmp390 = fsub double %_rtB__tc_spd_in_radps7302, %lastU_7304
  %tmp391 = fsub double %vm_ssGetTVar5_7279, %u0_7306
  %tmp392 = fdiv double %tmp390, %tmp391
  br label %merge2719

merge2719:                                        ; preds = %true1645, %merge2718
  %_rtB__tc_spd_in_radps7312 = phi double [ %_rtB__tc_spd_in_radps7302, %merge2718 ], [ %_rtB__tc_spd_in_radps7312.pre, %true1645 ]
  %_rtB_7316 = phi %B_REVS_VM_T.12* [ %_rtB_7301, %merge2718 ], [ %_rtB_7307.pre, %true1645 ]
  %storemerge9644 = phi double [ %tmp392, %merge2718 ], [ 0.000000e+00, %true1645 ]
  %5089 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_7316, i32 0, i32 254
  %_rtB__Sum37308 = load double* %5089, align 1
  %5090 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_7316, i32 0, i32 223
  %_rtB__Sum2_p = load double* %5090, align 1
  %tmp393 = fmul double %storemerge9644, %_rtB__Sum2_p
  %tmp394 = fsub double %_rtB__Sum37308, %tmp393
  %5091 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_7316, i32 0, i32 96
  %tmp395 = fmul double %tmp394, %_rtB__tc_spd_in_radps7312
  %5092 = fcmp oge double %tmp395, 0.000000e+00
  %5093 = uitofp i1 %5092 to double
  %tmp396 = fmul double %tmp395, %5093
  %_rtP_7315 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %5094 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_7315, i32 0, i32 1001
  %_rtP__Gain_Gain_ck = load double* %5094, align 1
  %tmp397 = fmul double %_rtP__Gain_Gain_ck, %tmp396
  %5095 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_7316, i32 0, i32 430
  store double %tmp397, double* %5095, align 1
  br label %merge2720

merge2720:                                        ; preds = %true1653, %merge2719
  %i_0_9386 = phi i32 [ 0, %merge2719 ], [ %tmp584, %true1653 ]
  store i32 %i_0_9386, i32* %i_0_, align 1
  %5096 = icmp slt i32 %i_0_9386, 10
  br i1 %5096, label %true1653, label %false1654

merge2721:                                        ; preds = %false1752, %true1751, %true1757, %true1755
  %_rtB_7455 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %5097 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_7455, i32 0, i32 439
  %_rtB__Constant_kv = load double* %5097, align 1
  %_rtP_7456 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %5098 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_7456, i32 0, i32 1051
  %_rtP__Switch_Threshold_h = load double* %5098, align 1
  %5099 = fcmp ogt double %_rtB__Constant_kv, %_rtP__Switch_Threshold_h
  br i1 %5099, label %true1759, label %false1760

merge2722:                                        ; preds = %true1759, %false1760
  %storemerge9646 = phi double [ %_rtX__Integrator1_CSTATE_od7458, %false1760 ], [ %tmp399, %true1759 ]
  store double %storemerge9646, double* %u0_0_, align 1
  %5100 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_7455, i32 0, i32 441
  %_rtB__Constant_oy = load double* %5100, align 1
  %5101 = fcmp oge double %storemerge9646, %_rtB__Constant_oy
  %5102 = zext i1 %5101 to i8
  %5103 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_7455, i32 0, i32 776
  store i8 %5102, i8* %5103, align 1
  %vm_ssIsSampleHitVar0_7465 = load i32* %vm_ssIsSampleHitVar0_, align 1
  store i32 %vm_ssIsSampleHitVar0_7465, i32* %i_0_, align 1
  %5104 = icmp eq i32 %vm_ssIsSampleHitVar0_7465, 0
  br i1 %5104, label %false1762, label %true1761

merge2724:                                        ; preds = %false1792, %true1791, %true1789
  %vm_ssIsSampleHitVar0_7549 = load i32* %vm_ssIsSampleHitVar0_, align 1
  store i32 %vm_ssIsSampleHitVar0_7549, i32* %i_0_, align 1
  %5105 = icmp eq i32 %vm_ssIsSampleHitVar0_7549, 0
  br i1 %5105, label %false1794, label %true1793

merge2726:                                        ; preds = %false1808, %false1814
  %storemerge9648 = phi double [ %_rtP__eps1_LowerSat_b._rtB__Integrator_i7573, %false1814 ], [ %_rtP__eps1_UpperSat_f, %false1808 ]
  %storemerge9648.in = phi double* [ %.10091, %false1814 ], [ %3232, %false1808 ]
  store double %storemerge9648, double* %u0_0_, align 1
  %5106 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_7572, i32 0, i32 446
  %_rtB__pos_f = load double* %5106, align 1
  %tmp405 = fdiv double %_rtB__pos_f, %storemerge9648
  store double %tmp405, double* %u0_0_, align 1
  %5107 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_7574, i32 0, i32 1075
  %_rtP__u1_UpperSat = load double* %5107, align 1
  %5108 = fcmp ogt double %tmp405, %_rtP__u1_UpperSat
  br i1 %5108, label %true1817, label %false1818

merge2728:                                        ; preds = %false1820, %true1819, %true1817
  %vm_ssIsSampleHitVar0_7598 = load i32* %vm_ssIsSampleHitVar0_, align 1
  store i32 %vm_ssIsSampleHitVar0_7598, i32* %i_0_, align 1
  %5109 = icmp eq i32 %vm_ssIsSampleHitVar0_7598, 0
  br i1 %5109, label %false1822, label %true1821

merge2730:                                        ; preds = %true1909, %true1913, %true1911, %false1910
  %u0_7786 = phi double [ %_rtDW__TimeStampA_lw, %false1910 ], [ %_rtDW__TimeStampB_hf7768, %true1911 ], [ %_rtDW__TimeStampB_hf7768, %true1913 ], [ %_rtDW__TimeStampA_lw, %true1909 ]
  %lastU_7783 = phi double* [ %3398, %false1910 ], [ %3402, %true1911 ], [ %3403, %true1913 ], [ %3398, %true1909 ]
  %_rtB_7781 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %5110 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_7781, i32 0, i32 46
  %_rtB__u7782 = load double* %5110, align 1
  %lastU_7784 = load double* %lastU_7783, align 1
  %tmp424 = fsub double %_rtB__u7782, %lastU_7784
  %tmp425 = fsub double %vm_ssGetTVar5_7759, %u0_7786
  %tmp426 = fdiv double %tmp424, %tmp425
  br label %merge2731

merge2731:                                        ; preds = %false1906, %merge2730
  %storemerge9650 = phi double [ %tmp426, %merge2730 ], [ 0.000000e+00, %false1906 ]
  store double %storemerge9650, double* %rtb_Derivative_h_, align 1
  %vm_ssIsSampleHitVar0_7787 = load i32* %vm_ssIsSampleHitVar0_, align 1
  store i32 %vm_ssIsSampleHitVar0_7787, i32* %i_0_, align 1
  %5111 = icmp eq i32 %vm_ssIsSampleHitVar0_7787, 0
  br i1 %5111, label %false1916, label %true1915

merge2733:                                        ; preds = %true1923, %false1922
  %i_0_9379 = phi i32 [ 0, %false1922 ], [ %tmp582, %true1923 ]
  store i32 %i_0_9379, i32* %i_0_, align 1
  %5112 = icmp slt i32 %i_0_9379, 10
  br i1 %5112, label %true1923, label %false1924

merge2734:                                        ; preds = %true1945, %false1946
  %_rtDW_7900 = load %DW_REVS_VM_T.16** %_rtDW_, align 1
  %5113 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_7900, i32 0, i32 114
  %_rtDW__LastMajorTime_c = load double* %5113, align 1
  %5114 = fcmp oeq double %_rtDW__LastMajorTime_c, 0x7FF0000000000000
  br i1 %5114, label %true1947, label %false1948

merge2737:                                        ; preds = %true1949, %true1951, %false1952, %true1947
  %_rtB_7928 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %5115 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_7928, i32 0, i32 477
  %_rtB__RateLimiter_n = load double* %5115, align 1
  %5116 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_7928, i32 0, i32 467
  %_rtB__Product_ow7930 = load double* %5116, align 1
  %tmp453 = fadd double %_rtB__RateLimiter_n, %_rtB__Product_ow7930
  %5117 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_7928, i32 0, i32 478
  store double %tmp453, double* %5117, align 1
  %vm_ssIsSampleHitVar0_7932 = load i32* %vm_ssIsSampleHitVar0_, align 1
  store i32 %vm_ssIsSampleHitVar0_7932, i32* %i_0_, align 1
  %5118 = icmp eq i32 %vm_ssIsSampleHitVar0_7932, 0
  br i1 %5118, label %false1954, label %true1953

merge2742:                                        ; preds = %false2034, %true2035, %true2033
  %u0_0_8128 = phi double [ %_rtP__Pos_UpperSat_m, %true2033 ], [ %_rtP__Pos_LowerSat_m, %true2035 ], [ %tmp464, %false2034 ]
  %5119 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_8113, i32 0, i32 114
  %_rtP__Pos2_UpperSat_o = load double* %5119, align 1
  %5120 = fcmp ogt double %tmp465, %_rtP__Pos2_UpperSat_o
  br i1 %5120, label %true2037, label %false2038

merge2743:                                        ; preds = %false2038, %true2039, %true2037
  %u0_8129 = phi double [ %_rtP__Pos2_UpperSat_o, %true2037 ], [ %_rtP__Pos2_LowerSat_ak, %true2039 ], [ %tmp465, %false2038 ]
  %tmp466 = fadd double %u0_0_8128, %u0_8129
  %5121 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_8108, i32 0, i32 585
  store double %tmp466, double* %5121, align 1
  %vm_ssIsSampleHitVar0_8131 = load i32* %vm_ssIsSampleHitVar0_, align 1
  store i32 %vm_ssIsSampleHitVar0_8131, i32* %i_0_, align 1
  %5122 = icmp eq i32 %vm_ssIsSampleHitVar0_8131, 0
  br i1 %5122, label %false2042, label %true2041

merge2747:                                        ; preds = %false2102, %true2101, %true2107, %true2105
  %_rtX_8266 = load %X_REVS_VM_T.18** %_rtX_, align 1
  %5123 = getelementptr inbounds %X_REVS_VM_T.18* %_rtX_8266, i32 0, i32 83
  %_rtX__Integrator1_CSTATE_jc8267 = load double* %5123, align 1
  %_rtB_8268 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %5124 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_8268, i32 0, i32 583
  store double %_rtX__Integrator1_CSTATE_jc8267, double* %5124, align 1
  %vm_ssIsSampleHitVar0_8269 = load i32* %vm_ssIsSampleHitVar0_, align 1
  store i32 %vm_ssIsSampleHitVar0_8269, i32* %i_0_, align 1
  %5125 = icmp eq i32 %vm_ssIsSampleHitVar0_8269, 0
  br i1 %5125, label %false2110, label %true2109

merge2748:                                        ; preds = %false2116, %true2117, %true2115
  %u0_0_8310 = phi double [ %_rtP__Pos_UpperSat_o, %true2115 ], [ %_rtP__Pos_LowerSat_k, %true2117 ], [ %tmp474, %false2116 ]
  %5126 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_8295, i32 0, i32 134
  %_rtP__Pos2_UpperSat_ol = load double* %5126, align 1
  %5127 = fcmp ogt double %tmp475, %_rtP__Pos2_UpperSat_ol
  br i1 %5127, label %true2119, label %false2120

merge2749:                                        ; preds = %false2120, %true2121, %true2119
  %u0_8311 = phi double [ %_rtP__Pos2_UpperSat_ol, %true2119 ], [ %_rtP__Pos2_LowerSat_n, %true2121 ], [ %tmp475, %false2120 ]
  %tmp476 = fadd double %u0_0_8310, %u0_8311
  %5128 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_8290, i32 0, i32 581
  store double %tmp476, double* %5128, align 1
  %vm_ssIsSampleHitVar0_8313 = load i32* %vm_ssIsSampleHitVar0_, align 1
  store i32 %vm_ssIsSampleHitVar0_8313, i32* %i_0_, align 1
  %5129 = icmp eq i32 %vm_ssIsSampleHitVar0_8313, 0
  br i1 %5129, label %false2124, label %true2123

merge2750:                                        ; preds = %true2129, %false2130
  %storemerge9662.in = phi double* [ %3798, %false2130 ], [ %3796, %true2129 ]
  %storemerge9662 = load double* %storemerge9662.in, align 1
  store double %storemerge9662, double* %u0_0_, align 1
  %5130 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_8331, i32 0, i32 1530
  %_rtP__ExtrapBelow_Value_bf = load i8* %5130, align 1
  %5131 = and i8 %_rtP__ExtrapBelow_Value_bf, 1
  %5132 = icmp eq i8 %5131, 0
  %5133 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_8331, i32 0, i32 1159, i32 0
  %5134 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_8331, i32 0, i32 139
  %storemerge9663.in = select i1 %5132, double* %5133, double* %5134
  %storemerge9663 = load double* %storemerge9663.in, align 1
  store double %storemerge9663, double* %u0_, align 1
  %rtb_cycle_phase_num_8339 = load double* %rtb_cycle_phase_num_, align 1
  %5135 = call double @muDoubleScalarMin(double %rtb_cycle_phase_num_8339, double %storemerge9662)
  %u0_8341 = load double* %u0_, align 1
  %5136 = call double @muDoubleScalarMax(double %5135, double %u0_8341)
  %_rtP_8342 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %5137 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_8342, i32 0, i32 1161, i32 0
  %5138 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_8342, i32 0, i32 1160, i32 0
  %_rtDW_8344 = load %DW_REVS_VM_T.16** %_rtDW_, align 1
  %5139 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_8344, i32 0, i32 814
  %5140 = call double @look1_plinlxpw(double %5136, double* %5137, double* %5138, i32* %5139, i32 1)
  %_rtP_8346 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %5141 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_8346, i32 0, i32 1162
  %_rtP__StaticVehicleMasskg_Value = load double* %5141, align 1
  %tmp478 = fadd double %5140, %_rtP__StaticVehicleMasskg_Value
  %_rtB_8347 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %5142 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_8347, i32 0, i32 487
  store double %tmp478, double* %5142, align 1
  %_rtP_8348 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %5143 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_8348, i32 0, i32 1164
  %_rtP__VehicleWeightFraction_Gain = load double* %5143, align 1
  %5144 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_8348, i32 0, i32 1163
  %_rtP__rollingresistancecoeff_Value = load double* %5144, align 1
  %tmp479 = fmul double %_rtP__VehicleWeightFraction_Gain, %_rtP__rollingresistancecoeff_Value
  %_rtB_8350 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %5145 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_8350, i32 0, i32 488
  store double %tmp479, double* %5145, align 1
  br label %false2128

merge2752:                                        ; preds = %true2133, %false2134
  %vm_ssIsSampleHitVar0_8366 = load i32* %vm_ssIsSampleHitVar0_, align 1
  store i32 %vm_ssIsSampleHitVar0_8366, i32* %i_0_, align 1
  %5146 = icmp eq i32 %vm_ssIsSampleHitVar0_8366, 0
  br i1 %5146, label %false2136, label %true2135

merge2754:                                        ; preds = %false2150, %true2149, %true2155, %true2153
  %_rtX_8405 = load %X_REVS_VM_T.18** %_rtX_, align 1
  %5147 = getelementptr inbounds %X_REVS_VM_T.18* %_rtX_8405, i32 0, i32 81
  %_rtX__Integrator1_CSTATE_i18406 = load double* %5147, align 1
  %_rtB_8407 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %5148 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_8407, i32 0, i32 580
  store double %_rtX__Integrator1_CSTATE_i18406, double* %5148, align 1
  %vm_ssIsSampleHitVar0_8408 = load i32* %vm_ssIsSampleHitVar0_, align 1
  store i32 %vm_ssIsSampleHitVar0_8408, i32* %i_0_, align 1
  %5149 = icmp eq i32 %vm_ssIsSampleHitVar0_8408, 0
  br i1 %5149, label %false2158, label %true2157

merge2755:                                        ; preds = %false2164, %true2165, %true2163
  %u0_0_8439 = phi double [ %_rtP__u1_UpperSat_g, %true2163 ], [ %_rtP__u1_LowerSat_l, %true2165 ], [ %tmp485, %false2164 ]
  %5150 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_8428, i32 0, i32 1171, i32 0
  %5151 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_8428, i32 0, i32 1170, i32 0
  %_rtDW_8442 = load %DW_REVS_VM_T.16** %_rtDW_, align 1
  %5152 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_8442, i32 0, i32 815
  %5153 = call double @look1_plinlcapw(double %u0_0_8439, double* %5150, double* %5151, i32* %5152, i32 28)
  store double %5153, double* %rtb_normalizedtorquetoslipnorm_, align 1
  %_rtP_8443 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %5154 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_8443, i32 0, i32 1172
  %_rtP__Gain2_Gain_o = load double* %5154, align 1
  %tmp486 = fmul double %5153, %_rtP__Gain2_Gain_o
  %_rtB_8445 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %5155 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_8445, i32 0, i32 490
  store double %tmp486, double* %5155, align 1
  %vm_ssIsSampleHitVar0_8446 = load i32* %vm_ssIsSampleHitVar0_, align 1
  store i32 %vm_ssIsSampleHitVar0_8446, i32* %i_0_, align 1
  %5156 = icmp eq i32 %vm_ssIsSampleHitVar0_8446, 0
  br i1 %5156, label %false2168, label %true2167

merge2758:                                        ; preds = %true2189, %true2191, %false2192, %true2187
  %_rtB_8541 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %5157 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_8541, i32 0, i32 502
  %_rtB__Constant_h = load double* %5157, align 1
  %5158 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_8541, i32 0, i32 169
  %_rtB__Integrator_o8543 = load double* %5158, align 1
  %tmp501 = fadd double %_rtB__Constant_h, %_rtB__Integrator_o8543
  %_rtP_8544 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %5159 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_8544, i32 0, i32 1191, i32 0
  %5160 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_8544, i32 0, i32 1190, i32 0
  %_rtDW_8546 = load %DW_REVS_VM_T.16** %_rtDW_, align 1
  %5161 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_8546, i32 0, i32 818
  %5162 = call double @look1_plinlcapw(double %tmp501, double* %5159, double* %5160, i32* %5161, i32 13327)
  %5163 = fcmp ole double %5162, 0.000000e+00
  %5164 = uitofp i1 %5163 to double
  %_rtP_8549 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %5165 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_8549, i32 0, i32 1193
  %_rtP__Gain1_Gain_p = load double* %5165, align 1
  %tmp502 = fmul double %5164, %_rtP__Gain1_Gain_p
  %tmp503 = fsub double %5162, %tmp502
  store double %tmp503, double* %rtb_Sum2_hx_, align 1
  %_rtB_8550 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %5166 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_8550, i32 0, i32 169
  %_rtB__Integrator_o8551 = load double* %5166, align 1
  %5167 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_8549, i32 0, i32 1195, i32 0
  %5168 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_8549, i32 0, i32 1194, i32 0
  %_rtDW_8554 = load %DW_REVS_VM_T.16** %_rtDW_, align 1
  %5169 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_8554, i32 0, i32 819
  %5170 = call double @look1_plinlcapw(double %_rtB__Integrator_o8551, double* %5167, double* %5168, i32* %5169, i32 13327)
  %_rtB_8555 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %5171 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_8555, i32 0, i32 503
  store double %5170, double* %5171, align 1
  %_rtB_8556 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %5172 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_8556, i32 0, i32 503
  %_rtB__drivecycle = load double* %5172, align 1
  %5173 = fcmp ole double %_rtB__drivecycle, 0.000000e+00
  %5174 = uitofp i1 %5173 to double
  %_rtP_8559 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %5175 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_8559, i32 0, i32 1197
  %_rtP__Gain_Gain_np = load double* %5175, align 1
  %tmp504 = fmul double %5174, %_rtP__Gain_Gain_np
  %tmp505 = fsub double %_rtB__drivecycle, %tmp504
  store double %tmp505, double* %rtb_Sum1_h_, align 1
  %5176 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_8556, i32 0, i32 818
  %_rtB__enabledistancecompensation = load i8* %5176, align 1
  %5177 = and i8 %_rtB__enabledistancecompensation, 1
  %5178 = icmp eq i8 %5177, 0
  br i1 %5178, label %false2194, label %merge2760

merge2760:                                        ; preds = %true2195, %false2194, %merge2758
  %_rtB_8567 = phi %B_REVS_VM_T.12* [ %_rtB_8556, %merge2758 ], [ %_rtB_8567.pre.pre, %true2195 ], [ %_rtB_8556, %false2194 ]
  %storemerge9654 = phi double [ %tmp503, %merge2758 ], [ %3930, %true2195 ], [ %tmp503, %false2194 ]
  store double %storemerge9654, double* %rtb_Switch_kj_, align 1
  %5179 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_8567, i32 0, i32 1
  %_rtB__veh_spd_mps8568 = load double* %5179, align 1
  %tmp506 = fsub double %storemerge9654, %_rtB__veh_spd_mps8568
  %5180 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_8567, i32 0, i32 504
  store double %tmp506, double* %5180, align 1
  %_rtB_8570 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %5181 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_8570, i32 0, i32 501
  %_rtB__RateLimiter_g = load double* %5181, align 1
  %5182 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_8570, i32 0, i32 504
  %_rtB__spd_err_mps = load double* %5182, align 1
  %tmp507 = fmul double %_rtB__RateLimiter_g, %_rtB__spd_err_mps
  %5183 = call double @muDoubleScalarMin(double %tmp507, double %_rtB__spd_err_mps)
  %_rtP_8574 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %5184 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_8574, i32 0, i32 1198
  %_rtP__proportionalgain_Gain = load double* %5184, align 1
  %tmp508 = fmul double %5183, %_rtP__proportionalgain_Gain
  %_rtB_8575 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %5185 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_8575, i32 0, i32 505
  store double %tmp508, double* %5185, align 1
  %rtb_Switch_kj_8576 = load double* %rtb_Switch_kj_, align 1
  %_rtB_8577 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %5186 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_8577, i32 0, i32 506
  %_rtB__Constant_jj = load double* %5186, align 1
  %5187 = fcmp ole double %rtb_Switch_kj_8576, %_rtB__Constant_jj
  %5188 = zext i1 %5187 to i8
  %5189 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_8577, i32 0, i32 820
  store i8 %5188, i8* %5189, align 1
  %vm_ssIsMajorTimeStepVar1_8579 = load i32* %vm_ssIsMajorTimeStepVar1_, align 1
  %5190 = icmp eq i32 %vm_ssIsMajorTimeStepVar1_8579, 0
  br i1 %5190, label %false2198, label %true2197

merge2761:                                        ; preds = %false2204, %true2203, %true2209, %true2207
  %_rtP_8615 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %5191 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_8615, i32 0, i32 1203
  %_rtP__integralgain_Gain = load double* %5191, align 1
  %_rtX_8616 = load %X_REVS_VM_T.18** %_rtX_, align 1
  %5192 = getelementptr inbounds %X_REVS_VM_T.18* %_rtX_8616, i32 0, i32 58
  %_rtX__Integrator_CSTATE_h8617 = load double* %5192, align 1
  %tmp509 = fmul double %_rtP__integralgain_Gain, %_rtX__Integrator_CSTATE_h8617
  %_rtB_8618 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %5193 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_8618, i32 0, i32 507
  store double %tmp509, double* %5193, align 1
  %_rtDW_8619 = load %DW_REVS_VM_T.16** %_rtDW_, align 1
  %5194 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_8619, i32 0, i32 120
  %_rtDW__TimeStampA_n2 = load double* %5194, align 1
  %vm_ssGetTVar5_8620 = load double* %vm_ssGetTVar5_, align 1
  %5195 = fcmp oge double %_rtDW__TimeStampA_n2, %vm_ssGetTVar5_8620
  %5196 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_8619, i32 0, i32 122
  %_rtDW__TimeStampB_p4 = load double* %5196, align 1
  %5197 = fcmp oge double %_rtDW__TimeStampB_p4, %vm_ssGetTVar5_8620
  %5198 = and i1 %5195, %5197
  br i1 %5198, label %true2211, label %false2212

merge2762:                                        ; preds = %true2213, %true2217, %true2215, %false2214
  %u0_8647 = phi double [ %_rtDW__TimeStampA_n2, %false2214 ], [ %_rtDW__TimeStampB_p48629, %true2215 ], [ %_rtDW__TimeStampB_p48629, %true2217 ], [ %_rtDW__TimeStampA_n2, %true2213 ]
  %lastU_8644 = phi double* [ %3954, %false2214 ], [ %3958, %true2215 ], [ %3959, %true2217 ], [ %3954, %true2213 ]
  %_rtB_8642 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %5199 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_8642, i32 0, i32 504
  %_rtB__spd_err_mps8643 = load double* %5199, align 1
  %lastU_8645 = load double* %lastU_8644, align 1
  %tmp510 = fsub double %_rtB__spd_err_mps8643, %lastU_8645
  %tmp511 = fsub double %vm_ssGetTVar5_8620, %u0_8647
  %tmp512 = fdiv double %tmp510, %tmp511
  br label %merge2763

merge2763:                                        ; preds = %true2211, %merge2762
  %_rtB_8650 = phi %B_REVS_VM_T.12* [ %_rtB_8642, %merge2762 ], [ %_rtB_8650.pre, %true2211 ]
  %storemerge9655 = phi double [ %tmp512, %merge2762 ], [ 0.000000e+00, %true2211 ]
  %_rtP_8648 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %5200 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_8648, i32 0, i32 1204
  %_rtP__derivativegain_Gain = load double* %5200, align 1
  %tmp513 = fmul double %storemerge9655, %_rtP__derivativegain_Gain
  %5201 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_8650, i32 0, i32 508
  store double %tmp513, double* %5201, align 1
  %_rtB_8651 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %5202 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_8651, i32 0, i32 505
  %_rtB__proportionalgain = load double* %5202, align 1
  %5203 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_8651, i32 0, i32 507
  %_rtB__integralgain = load double* %5203, align 1
  %tmp514 = fadd double %_rtB__proportionalgain, %_rtB__integralgain
  %5204 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_8651, i32 0, i32 508
  %_rtB__derivativegain = load double* %5204, align 1
  %tmp515 = fadd double %tmp514, %_rtB__derivativegain
  store double %tmp515, double* %rtb_Add_i_, align 1
  %5205 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_8651, i32 0, i32 498
  %_rtB__pedalresponseadjustment = load double* %5205, align 1
  %tmp516 = fmul double %tmp515, %_rtB__pedalresponseadjustment
  store double %tmp516, double* %u0_0_, align 1
  %_rtP_8657 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %5206 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_8657, i32 0, i32 1205
  %_rtP__sat01_UpperSat = load double* %5206, align 1
  %5207 = fcmp ogt double %tmp516, %_rtP__sat01_UpperSat
  br i1 %5207, label %merge2765, label %false2220

merge2765:                                        ; preds = %merge2763, %false2220
  %storemerge9657 = phi double [ %_rtP__sat01_LowerSat.tmp516, %false2220 ], [ %_rtP__sat01_UpperSat, %merge2763 ]
  store double %storemerge9657, double* %rtb_sat01_, align 1
  %5208 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_8651, i32 0, i32 169
  %_rtB__Integrator_o8666 = load double* %5208, align 1
  %5209 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_8657, i32 0, i32 1208, i32 0
  %_rtDW_8668 = load %DW_REVS_VM_T.16** %_rtDW_, align 1
  %5210 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_8668, i32 0, i32 820
  %5211 = call i32 @plook_u32d_linckpa(double %_rtB__Integrator_o8666, double* %5209, i32 8, i32* %5210)
  store i32 %5211, i32* %rowIdx_, align 1
  %_rtP_8669 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %5212 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_8669, i32 0, i32 1207, i32 %5211
  %_rtP__drivecycleingear_tableData_el = load double* %5212, align 1
  %_rtB_8671 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %5213 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_8671, i32 0, i32 509
  store double %_rtP__drivecycleingear_tableData_el, double* %5213, align 1
  %_rtB_8673 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %5214 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_8673, i32 0, i32 509
  %_rtB__driver_in_gear = load double* %5214, align 1
  %tmp517 = fmul double %storemerge9657, %_rtB__driver_in_gear
  %5215 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_8673, i32 0, i32 510
  store double %tmp517, double* %5215, align 1
  %vm_ssIsSampleHitVar0_8675 = load i32* %vm_ssIsSampleHitVar0_, align 1
  store i32 %vm_ssIsSampleHitVar0_8675, i32* %i_0_, align 1
  %5216 = icmp eq i32 %vm_ssIsSampleHitVar0_8675, 0
  br i1 %5216, label %false2224, label %true2223

merge2766:                                        ; preds = %false2230, %true2231, %true2229
  %u0_0_8692 = phi double [ %_rtP__sat01_UpperSat_b, %true2229 ], [ %_rtP__sat01_LowerSat_i, %true2231 ], [ %tmp519, %false2230 ]
  %_rtB_8693 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %5217 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_8693, i32 0, i32 509
  %_rtB__driver_in_gear8694 = load double* %5217, align 1
  %tmp520 = fmul double %u0_0_8692, %_rtB__driver_in_gear8694
  %5218 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_8693, i32 0, i32 511
  store double %tmp520, double* %5218, align 1
  %vm_ssIsSampleHitVar0_8696 = load i32* %vm_ssIsSampleHitVar0_, align 1
  store i32 %vm_ssIsSampleHitVar0_8696, i32* %i_0_, align 1
  %5219 = icmp eq i32 %vm_ssIsSampleHitVar0_8696, 0
  br i1 %5219, label %false2234, label %true2233

merge2768:                                        ; preds = %false2242, %true2241, %true2239
  %_rtB_8714 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %5220 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_8714, i32 0, i32 169
  %_rtB__Integrator_o8715 = load double* %5220, align 1
  %5221 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_8714, i32 0, i32 513
  %_rtB__startanticipatesecs = load double* %5221, align 1
  %tmp521 = fadd double %_rtB__Integrator_o8715, %_rtB__startanticipatesecs
  %_rtP_8717 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %5222 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_8717, i32 0, i32 1221, i32 0
  %5223 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_8717, i32 0, i32 1220, i32 0
  %_rtDW_8719 = load %DW_REVS_VM_T.16** %_rtDW_, align 1
  %5224 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_8719, i32 0, i32 821
  %5225 = call double @look1_plinlcapw(double %tmp521, double* %5222, double* %5223, i32* %5224, i32 13327)
  %5226 = fcmp ogt double %5225, 0.000000e+00
  %5227 = zext i1 %5226 to i8
  %_rtB_8721 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %5228 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_8721, i32 0, i32 823
  store i8 %5227, i8* %5228, align 1
  %vm_ssIsSampleHitVar0_8722 = load i32* %vm_ssIsSampleHitVar0_, align 1
  store i32 %vm_ssIsSampleHitVar0_8722, i32* %i_0_, align 1
  %5229 = icmp eq i32 %vm_ssIsSampleHitVar0_8722, 0
  br i1 %5229, label %false2244, label %true2243

merge2769:                                        ; preds = %true2269, %false2268
  %i_0_9369 = phi i32 [ 0, %false2268 ], [ %tmp580, %true2269 ]
  store i32 %i_0_9369, i32* %i_0_, align 1
  %5230 = icmp slt i32 %i_0_9369, 10
  br i1 %5230, label %true2269, label %false2270

merge2770:                                        ; preds = %true2303, %false2302, %true2305
  %i_0_9362 = phi i32 [ %tmp578, %true2305 ], [ 0, %false2302 ], [ 0, %true2303 ]
  store i32 %i_0_9362, i32* %i_0_, align 1
  %5231 = icmp slt i32 %i_0_9362, 10
  br i1 %5231, label %true2305, label %false2306

merge2772:                                        ; preds = %false2328, %true2327, %true2333, %true2331
  %_rtX_8924 = load %X_REVS_VM_T.18** %_rtX_, align 1
  %5232 = getelementptr inbounds %X_REVS_VM_T.18* %_rtX_8924, i32 0, i32 79
  %_rtX__Integrator1_CSTATE_bd8925 = load double* %5232, align 1
  %_rtB_8926 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %5233 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_8926, i32 0, i32 579
  store double %_rtX__Integrator1_CSTATE_bd8925, double* %5233, align 1
  %vm_ssIsSampleHitVar0_8927 = load i32* %vm_ssIsSampleHitVar0_, align 1
  store i32 %vm_ssIsSampleHitVar0_8927, i32* %i_0_, align 1
  %5234 = icmp eq i32 %vm_ssIsSampleHitVar0_8927, 0
  br i1 %5234, label %false2336, label %true2335

merge2774:                                        ; preds = %false2358, %true2357, %true2363, %true2361
  %_rtX_9016 = load %X_REVS_VM_T.18** %_rtX_, align 1
  %5235 = getelementptr inbounds %X_REVS_VM_T.18* %_rtX_9016, i32 0, i32 77
  %_rtX__Integrator1_CSTATE_e39017 = load double* %5235, align 1
  %_rtB_9018 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %5236 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_9018, i32 0, i32 578
  store double %_rtX__Integrator1_CSTATE_e39017, double* %5236, align 1
  %vm_ssIsSampleHitVar0_9019 = load i32* %vm_ssIsSampleHitVar0_, align 1
  store i32 %vm_ssIsSampleHitVar0_9019, i32* %i_0_, align 1
  %5237 = icmp eq i32 %vm_ssIsSampleHitVar0_9019, 0
  br i1 %5237, label %false2366, label %true2365

merge2776:                                        ; preds = %false2388, %true2387, %true2393, %true2391
  %_rtX_9085 = load %X_REVS_VM_T.18** %_rtX_, align 1
  %5238 = getelementptr inbounds %X_REVS_VM_T.18* %_rtX_9085, i32 0, i32 75
  %_rtX__Integrator1_CSTATE_cd9086 = load double* %5238, align 1
  %_rtB_9087 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %5239 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_9087, i32 0, i32 577
  store double %_rtX__Integrator1_CSTATE_cd9086, double* %5239, align 1
  %vm_ssIsSampleHitVar0_9088 = load i32* %vm_ssIsSampleHitVar0_, align 1
  store i32 %vm_ssIsSampleHitVar0_9088, i32* %i_0_, align 1
  %5240 = icmp eq i32 %vm_ssIsSampleHitVar0_9088, 0
  br i1 %5240, label %false2396, label %true2395

merge2778:                                        ; preds = %false2416, %true2415, %true2421, %true2419
  %_rtX_9158 = load %X_REVS_VM_T.18** %_rtX_, align 1
  %5241 = getelementptr inbounds %X_REVS_VM_T.18* %_rtX_9158, i32 0, i32 73
  %_rtX__Integrator1_CSTATE_hf9159 = load double* %5241, align 1
  %_rtB_9160 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %5242 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_9160, i32 0, i32 575
  store double %_rtX__Integrator1_CSTATE_hf9159, double* %5242, align 1
  %vm_ssIsSampleHitVar0_9161 = load i32* %vm_ssIsSampleHitVar0_, align 1
  store i32 %vm_ssIsSampleHitVar0_9161, i32* %i_0_, align 1
  %5243 = icmp eq i32 %vm_ssIsSampleHitVar0_9161, 0
  br i1 %5243, label %false2424, label %true2423

merge2780:                                        ; preds = %false2446, %true2445, %true2451, %true2449
  %_rtX_9245 = load %X_REVS_VM_T.18** %_rtX_, align 1
  %5244 = getelementptr inbounds %X_REVS_VM_T.18* %_rtX_9245, i32 0, i32 71
  %_rtX__Integrator1_CSTATE_e59246 = load double* %5244, align 1
  %_rtB_9247 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %5245 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_9247, i32 0, i32 574
  store double %_rtX__Integrator1_CSTATE_e59246, double* %5245, align 1
  %vm_ssIsSampleHitVar0_9248 = load i32* %vm_ssIsSampleHitVar0_, align 1
  store i32 %vm_ssIsSampleHitVar0_9248, i32* %i_0_, align 1
  %5246 = icmp eq i32 %vm_ssIsSampleHitVar0_9248, 0
  br i1 %5246, label %false2454, label %true2453

merge2781:                                        ; preds = %true2461, %false2460, %true2463
  %i_0_9350 = phi i32 [ %tmp576, %true2463 ], [ 0, %false2460 ], [ 0, %true2461 ]
  store i32 %i_0_9350, i32* %i_0_, align 1
  %5247 = icmp slt i32 %i_0_9350, 10
  br i1 %5247, label %true2463, label %false2464

merge2782:                                        ; preds = %true2469, %false2468
  %i_0_9343 = phi i32 [ 0, %false2468 ], [ %tmp574, %true2469 ]
  store i32 %i_0_9343, i32* %i_0_, align 1
  %5248 = icmp slt i32 %i_0_9343, 10
  br i1 %5248, label %true2469, label %false2470

merge2783:                                        ; preds = %false2482, %true2481, %true2487, %true2485
  %_rtX_9328 = load %X_REVS_VM_T.18** %_rtX_, align 1
  %5249 = getelementptr inbounds %X_REVS_VM_T.18* %_rtX_9328, i32 0, i32 70
  %_rtX__Integrator1_CSTATE_ic9329 = load double* %5249, align 1
  %_rtB_9330 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %5250 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_9330, i32 0, i32 571
  store double %_rtX__Integrator1_CSTATE_ic9329, double* %5250, align 1
  %vm_ssIsSampleHitVar0_9331 = load i32* %vm_ssIsSampleHitVar0_, align 1
  store i32 %vm_ssIsSampleHitVar0_9331, i32* %i_0_, align 1
  %5251 = icmp eq i32 %vm_ssIsSampleHitVar0_9331, 0
  br i1 %5251, label %false2490, label %true2489

merge2785:                                        ; preds = %true1072, %false2496
  %storemerge9678 = phi double [ %_rtP__eps1_LowerSat._rtB__speeds_el9505, %false2496 ], [ %_rtP__eps1_UpperSat, %true1072 ]
  %storemerge9678.in = phi double* [ %.10092, %false2496 ], [ %2100, %true1072 ]
  store double %storemerge9678, double* %u0_0_, align 1
  %rtb_eng_load_Nm_9518 = load double* %rtb_eng_load_Nm_, align 1
  %5252 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_9503, i32 0, i32 705, i32 %i_0_9504
  %_rtB__Compare_n4_el = load i8* %5252, align 1
  %5253 = uitofp i8 %_rtB__Compare_n4_el to double
  %tmp611 = fmul double %rtb_eng_load_Nm_9518, %5253
  %tmp612 = fmul double %rtb_eng_spd_radps_6028, %tmp611
  %tmp613 = fdiv double %tmp612, %storemerge9678
  %5254 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_9503, i32 0, i32 348, i32 %i_0_9504
  store double %tmp613, double* %5254, align 1
  %i_0_9525 = load i32* %i_0_, align 1
  %tmp614 = add i32 %i_0_9525, 1
  br label %merge2655

merge2786:                                        ; preds = %true2499, %true1018
  %i_9551 = phi i32 [ 0, %true1018 ], [ %tmp622, %true2499 ]
  store i32 %i_9551, i32* %i_, align 1
  %5255 = icmp slt i32 %i_9551, 10
  br i1 %5255, label %true2499, label %false2500
}

declare double @vm_ssGetTStart(i8*)

declare i8* @vm_ssGetPrevZCSigState(i8*)

declare void @vm_ssSetSolverNeedsReset(i8*)

define double @look1_plinlxpw(double %u0, double* %bp0, double* %table, i32* %prevIndex, i32 %maxIndex) {
look1_plinlxpw_entry:
  %u0_ = alloca double
  store double %u0, double* %u0_, align 1
  %bp0_ = alloca double*
  store double* %bp0, double** %bp0_, align 1
  %table_ = alloca double*
  store double* %table, double** %table_, align 1
  %prevIndex_ = alloca i32*
  store i32* %prevIndex, i32** %prevIndex_, align 1
  %maxIndex_ = alloca i32
  store i32 %maxIndex, i32* %maxIndex_, align 1
  %frac_ = alloca double
  %bpIdx_ = alloca i32
  %y_ = alloca double
  %bp0__el = load double* %bp0, align 1
  %0 = fcmp ugt double %u0, %bp0__el
  br i1 %0, label %false, label %true

true:                                             ; preds = %look1_plinlxpw_entry
  store i32 0, i32* %bpIdx_, align 1
  %tmp13 = fsub double %u0, %bp0__el
  %1 = getelementptr inbounds double* %bp0, i32 1
  %bp0__el51 = load double* %1, align 1
  %tmp14 = fsub double %bp0__el51, %bp0__el
  %tmp15 = fdiv double %tmp13, %tmp14
  br label %merge8

false:                                            ; preds = %look1_plinlxpw_entry
  %2 = getelementptr inbounds double* %bp0, i32 %maxIndex
  %bp0__el14 = load double* %2, align 1
  %3 = fcmp olt double %u0, %bp0__el14
  br i1 %3, label %true1, label %false2

true1:                                            ; preds = %false
  %prevIndex__el = load i32* %prevIndex, align 1
  br label %merge

false2:                                           ; preds = %false
  %tmp0 = add i32 %maxIndex, -1
  store i32 %tmp0, i32* %bpIdx_, align 1
  %4 = getelementptr inbounds double* %bp0, i32 %tmp0
  %bp0__el19 = load double* %4, align 1
  %tmp2 = fsub double %u0, %bp0__el19
  %tmp4 = fsub double %bp0__el14, %bp0__el19
  %tmp5 = fdiv double %tmp2, %tmp4
  br label %merge8

true3:                                            ; preds = %merge
  %tmp12 = add i32 %bpIdx_46, -1
  br label %merge

false4:                                           ; preds = %true5, %merge
  %bpIdx_45 = phi i32 [ %tmp6, %true5 ], [ %bpIdx_46, %merge ]
  %tmp6 = add i32 %bpIdx_45, 1
  %5 = getelementptr inbounds double* %bp0, i32 %tmp6
  %bp0__el34 = load double* %5, align 1
  %6 = fcmp ult double %u0, %bp0__el34
  br i1 %6, label %false6, label %true5

true5:                                            ; preds = %false4
  store i32 %tmp6, i32* %bpIdx_, align 1
  br label %false4

false6:                                           ; preds = %false4
  %7 = getelementptr inbounds double* %bp0, i32 %bpIdx_45
  %bp0__el38 = load double* %7, align 1
  %tmp7 = fsub double %u0, %bp0__el38
  %tmp9 = fsub double %bp0__el34, %bp0__el38
  %tmp10 = fdiv double %tmp7, %tmp9
  br label %merge8

merge:                                            ; preds = %true3, %true1
  %bpIdx_46 = phi i32 [ %prevIndex__el, %true1 ], [ %tmp12, %true3 ]
  store i32 %bpIdx_46, i32* %bpIdx_, align 1
  %8 = getelementptr inbounds double* %bp0, i32 %bpIdx_46
  %bp0__el30 = load double* %8, align 1
  %9 = fcmp olt double %u0, %bp0__el30
  br i1 %9, label %true3, label %false4

merge8:                                           ; preds = %false2, %false6, %true
  %bpIdx_63 = phi i32 [ 0, %true ], [ %tmp0, %false2 ], [ %bpIdx_45, %false6 ]
  %storemerge66 = phi double [ %tmp15, %true ], [ %tmp5, %false2 ], [ %tmp10, %false6 ]
  store double %storemerge66, double* %frac_, align 1
  store i32 %bpIdx_63, i32* %prevIndex, align 1
  %tmp16 = add i32 %bpIdx_63, 1
  %10 = getelementptr inbounds double* %table, i32 %tmp16
  %table__el = load double* %10, align 1
  %11 = getelementptr inbounds double* %table, i32 %bpIdx_63
  %table__el60 = load double* %11, align 1
  %tmp17 = fsub double %table__el, %table__el60
  %tmp18 = fmul double %tmp17, %storemerge66
  %tmp19 = fadd double %tmp18, %table__el60
  store double %tmp19, double* %y_, align 1
  ret double %tmp19
}

define double @look2_plinlxpw(double %u0, double %u1, double* %bp0, double* %bp1, double* %table, i32* %prevIndex, i32* %maxIndex, i32 %stride) {
look2_plinlxpw_entry:
  %u0_ = alloca double
  store double %u0, double* %u0_, align 1
  %u1_ = alloca double
  store double %u1, double* %u1_, align 1
  %bp0_ = alloca double*
  store double* %bp0, double** %bp0_, align 1
  %bp1_ = alloca double*
  store double* %bp1, double** %bp1_, align 1
  %table_ = alloca double*
  store double* %table, double** %table_, align 1
  %prevIndex_ = alloca i32*
  store i32* %prevIndex, i32** %prevIndex_, align 1
  %maxIndex_ = alloca i32*
  store i32* %maxIndex, i32** %maxIndex_, align 1
  %stride_ = alloca i32
  store i32 %stride, i32* %stride_, align 1
  %frac_ = alloca double
  %bpIndices_ = alloca [2 x i32]
  %fractions_ = alloca [2 x double]
  %yL_1d_ = alloca double
  %bpIdx_ = alloca i32
  %y_ = alloca double
  %bp0__el = load double* %bp0, align 1
  %0 = fcmp ugt double %u0, %bp0__el
  br i1 %0, label %false, label %true

true:                                             ; preds = %look2_plinlxpw_entry
  store i32 0, i32* %bpIdx_, align 1
  %tmp13 = fsub double %u0, %bp0__el
  %1 = getelementptr inbounds double* %bp0, i32 1
  %bp0__el66 = load double* %1, align 1
  %tmp14 = fsub double %bp0__el66, %bp0__el
  %tmp15 = fdiv double %tmp13, %tmp14
  br label %merge16

false:                                            ; preds = %look2_plinlxpw_entry
  %maxIndex__el = load i32* %maxIndex, align 1
  %2 = getelementptr inbounds double* %bp0, i32 %maxIndex__el
  %bp0__el25 = load double* %2, align 1
  %3 = fcmp olt double %u0, %bp0__el25
  br i1 %3, label %true1, label %false2

true1:                                            ; preds = %false
  %prevIndex__el = load i32* %prevIndex, align 1
  br label %merge

false2:                                           ; preds = %false
  %tmp0 = add i32 %maxIndex__el, -1
  store i32 %tmp0, i32* %bpIdx_, align 1
  %4 = getelementptr inbounds double* %bp0, i32 %tmp0
  %bp0__el32 = load double* %4, align 1
  %tmp2 = fsub double %u0, %bp0__el32
  %tmp4 = fsub double %bp0__el25, %bp0__el32
  %tmp5 = fdiv double %tmp2, %tmp4
  br label %merge16

true3:                                            ; preds = %merge
  %tmp12 = add i32 %bpIdx_61, -1
  br label %merge

false4:                                           ; preds = %true5, %merge
  %bpIdx_60 = phi i32 [ %tmp6, %true5 ], [ %bpIdx_61, %merge ]
  %tmp6 = add i32 %bpIdx_60, 1
  %5 = getelementptr inbounds double* %bp0, i32 %tmp6
  %bp0__el49 = load double* %5, align 1
  %6 = fcmp ult double %u0, %bp0__el49
  br i1 %6, label %false6, label %true5

true5:                                            ; preds = %false4
  store i32 %tmp6, i32* %bpIdx_, align 1
  br label %false4

false6:                                           ; preds = %false4
  %7 = getelementptr inbounds double* %bp0, i32 %bpIdx_60
  %bp0__el53 = load double* %7, align 1
  %tmp7 = fsub double %u0, %bp0__el53
  %tmp9 = fsub double %bp0__el49, %bp0__el53
  %tmp10 = fdiv double %tmp7, %tmp9
  br label %merge16

true7:                                            ; preds = %merge16
  store i32 0, i32* %bpIdx_, align 1
  %tmp29 = fsub double %u1, %bp1__el
  %8 = getelementptr inbounds double* %bp1, i32 1
  %bp1__el121 = load double* %8, align 1
  %tmp30 = fsub double %bp1__el121, %bp1__el
  %tmp31 = fdiv double %tmp29, %tmp30
  br label %merge19

false8:                                           ; preds = %merge16
  %9 = getelementptr inbounds i32* %maxIndex, i32 1
  %maxIndex__el78 = load i32* %9, align 1
  %10 = getelementptr inbounds double* %bp1, i32 %maxIndex__el78
  %bp1__el79 = load double* %10, align 1
  %11 = fcmp olt double %u1, %bp1__el79
  br i1 %11, label %true9, label %false10

true9:                                            ; preds = %false8
  %12 = getelementptr inbounds i32* %prevIndex, i32 1
  %prevIndex__el96 = load i32* %12, align 1
  br label %merge17

false10:                                          ; preds = %false8
  %tmp16 = add i32 %maxIndex__el78, -1
  store i32 %tmp16, i32* %bpIdx_, align 1
  %13 = getelementptr inbounds double* %bp1, i32 %tmp16
  %bp1__el86 = load double* %13, align 1
  %tmp18 = fsub double %u1, %bp1__el86
  %tmp20 = fsub double %bp1__el79, %bp1__el86
  %tmp21 = fdiv double %tmp18, %tmp20
  br label %merge19

true11:                                           ; preds = %merge17
  %tmp28 = add i32 %bpIdx_116, -1
  br label %merge17

false12:                                          ; preds = %true13, %merge17
  %bpIdx_115 = phi i32 [ %tmp22, %true13 ], [ %bpIdx_116, %merge17 ]
  %tmp22 = add i32 %bpIdx_115, 1
  %14 = getelementptr inbounds double* %bp1, i32 %tmp22
  %bp1__el104 = load double* %14, align 1
  %15 = fcmp ult double %u1, %bp1__el104
  br i1 %15, label %false14, label %true13

true13:                                           ; preds = %false12
  store i32 %tmp22, i32* %bpIdx_, align 1
  br label %false12

false14:                                          ; preds = %false12
  %16 = getelementptr inbounds double* %bp1, i32 %bpIdx_115
  %bp1__el108 = load double* %16, align 1
  %tmp23 = fsub double %u1, %bp1__el108
  %tmp25 = fsub double %bp1__el104, %bp1__el108
  %tmp26 = fdiv double %tmp23, %tmp25
  br label %merge19

merge:                                            ; preds = %true3, %true1
  %bpIdx_61 = phi i32 [ %prevIndex__el, %true1 ], [ %tmp12, %true3 ]
  store i32 %bpIdx_61, i32* %bpIdx_, align 1
  %17 = getelementptr inbounds double* %bp0, i32 %bpIdx_61
  %bp0__el45 = load double* %17, align 1
  %18 = fcmp olt double %u0, %bp0__el45
  br i1 %18, label %true3, label %false4

merge16:                                          ; preds = %false2, %false6, %true
  %bpIndices__el = phi i32 [ 0, %true ], [ %tmp0, %false2 ], [ %bpIdx_60, %false6 ]
  %fractions__el144 = phi double [ %tmp15, %true ], [ %tmp5, %false2 ], [ %tmp10, %false6 ]
  store double %fractions__el144, double* %frac_, align 1
  store i32 %bpIndices__el, i32* %prevIndex, align 1
  %19 = getelementptr inbounds [2 x double]* %fractions_, i32 0, i32 0
  store double %fractions__el144, double* %19, align 1
  %20 = getelementptr inbounds [2 x i32]* %bpIndices_, i32 0, i32 0
  store i32 %bpIndices__el, i32* %20, align 1
  %bp1__el = load double* %bp1, align 1
  %21 = fcmp ugt double %u1, %bp1__el
  br i1 %21, label %false8, label %true7

merge17:                                          ; preds = %true11, %true9
  %bpIdx_116 = phi i32 [ %prevIndex__el96, %true9 ], [ %tmp28, %true11 ]
  store i32 %bpIdx_116, i32* %bpIdx_, align 1
  %22 = getelementptr inbounds double* %bp1, i32 %bpIdx_116
  %bp1__el100 = load double* %22, align 1
  %23 = fcmp olt double %u1, %bp1__el100
  br i1 %23, label %true11, label %false12

merge19:                                          ; preds = %false10, %false14, %true7
  %bpIdx_126 = phi i32 [ 0, %true7 ], [ %tmp16, %false10 ], [ %bpIdx_115, %false14 ]
  %storemerge154 = phi double [ %tmp31, %true7 ], [ %tmp21, %false10 ], [ %tmp26, %false14 ]
  store double %storemerge154, double* %frac_, align 1
  %24 = getelementptr inbounds i32* %prevIndex, i32 1
  store i32 %bpIdx_126, i32* %24, align 1
  %tmp32 = mul i32 %stride, %bpIdx_126
  %tmp33 = add i32 %tmp32, %bpIndices__el
  store i32 %tmp33, i32* %bpIdx_, align 1
  %tmp34 = add i32 %tmp33, 1
  %25 = getelementptr inbounds double* %table, i32 %tmp34
  %table__el = load double* %25, align 1
  %26 = getelementptr inbounds double* %table, i32 %tmp33
  %table__el132 = load double* %26, align 1
  %tmp35 = fsub double %table__el, %table__el132
  %tmp36 = fmul double %tmp35, %fractions__el144
  %tmp37 = fadd double %tmp36, %table__el132
  store double %tmp37, double* %yL_1d_, align 1
  %tmp38 = add i32 %stride, %tmp33
  store i32 %tmp38, i32* %bpIdx_, align 1
  %tmp39 = add i32 %tmp38, 1
  %27 = getelementptr inbounds double* %table, i32 %tmp39
  %table__el140 = load double* %27, align 1
  %28 = getelementptr inbounds double* %table, i32 %tmp38
  %table__el143 = load double* %28, align 1
  %tmp40 = fsub double %table__el140, %table__el143
  %tmp41 = fmul double %tmp40, %fractions__el144
  %tmp42 = fadd double %tmp41, %table__el143
  %tmp43 = fsub double %tmp42, %tmp37
  %tmp44 = fmul double %tmp43, %storemerge154
  %tmp45 = fadd double %tmp37, %tmp44
  store double %tmp45, double* %y_, align 1
  ret double %tmp45
}

define double @look1_plinlcpw(double %u0, double* %bp0, double* %table, i32* %prevIndex, i32 %maxIndex) {
look1_plinlcpw_entry:
  %u0_ = alloca double
  store double %u0, double* %u0_, align 1
  %bp0_ = alloca double*
  store double* %bp0, double** %bp0_, align 1
  %table_ = alloca double*
  store double* %table, double** %table_, align 1
  %prevIndex_ = alloca i32*
  store i32* %prevIndex, i32** %prevIndex_, align 1
  %maxIndex_ = alloca i32
  store i32 %maxIndex, i32* %maxIndex_, align 1
  %frac_ = alloca double
  %bpIdx_ = alloca i32
  %y_ = alloca double
  %bp0__el = load double* %bp0, align 1
  %0 = fcmp ugt double %u0, %bp0__el
  br i1 %0, label %false, label %true

true:                                             ; preds = %look1_plinlcpw_entry
  store i32 0, i32* %bpIdx_, align 1
  br label %merge8

false:                                            ; preds = %look1_plinlcpw_entry
  %1 = getelementptr inbounds double* %bp0, i32 %maxIndex
  %bp0__el14 = load double* %1, align 1
  %2 = fcmp olt double %u0, %bp0__el14
  br i1 %2, label %true1, label %false2

true1:                                            ; preds = %false
  %prevIndex__el = load i32* %prevIndex, align 1
  br label %merge

false2:                                           ; preds = %false
  %tmp0 = add i32 %maxIndex, -1
  store i32 %tmp0, i32* %bpIdx_, align 1
  br label %merge8

true3:                                            ; preds = %merge
  %tmp7 = add i32 %bpIdx_36, -1
  br label %merge

false4:                                           ; preds = %true5, %merge
  %bpIdx_35 = phi i32 [ %tmp1, %true5 ], [ %bpIdx_36, %merge ]
  %tmp1 = add i32 %bpIdx_35, 1
  %3 = getelementptr inbounds double* %bp0, i32 %tmp1
  %bp0__el24 = load double* %3, align 1
  %4 = fcmp ult double %u0, %bp0__el24
  br i1 %4, label %false6, label %true5

true5:                                            ; preds = %false4
  store i32 %tmp1, i32* %bpIdx_, align 1
  br label %false4

false6:                                           ; preds = %false4
  %5 = getelementptr inbounds double* %bp0, i32 %bpIdx_35
  %bp0__el28 = load double* %5, align 1
  %tmp2 = fsub double %u0, %bp0__el28
  %tmp4 = fsub double %bp0__el24, %bp0__el28
  %tmp5 = fdiv double %tmp2, %tmp4
  br label %merge8

merge:                                            ; preds = %true3, %true1
  %bpIdx_36 = phi i32 [ %prevIndex__el, %true1 ], [ %tmp7, %true3 ]
  store i32 %bpIdx_36, i32* %bpIdx_, align 1
  %6 = getelementptr inbounds double* %bp0, i32 %bpIdx_36
  %bp0__el20 = load double* %6, align 1
  %7 = fcmp olt double %u0, %bp0__el20
  br i1 %7, label %true3, label %false4

merge8:                                           ; preds = %false2, %false6, %true
  %bpIdx_46 = phi i32 [ 0, %true ], [ %tmp0, %false2 ], [ %bpIdx_35, %false6 ]
  %storemerge49 = phi double [ 0.000000e+00, %true ], [ 1.000000e+00, %false2 ], [ %tmp5, %false6 ]
  store double %storemerge49, double* %frac_, align 1
  store i32 %bpIdx_46, i32* %prevIndex, align 1
  %tmp8 = add i32 %bpIdx_46, 1
  %8 = getelementptr inbounds double* %table, i32 %tmp8
  %table__el = load double* %8, align 1
  %9 = getelementptr inbounds double* %table, i32 %bpIdx_46
  %table__el43 = load double* %9, align 1
  %tmp9 = fsub double %table__el, %table__el43
  %tmp10 = fmul double %tmp9, %storemerge49
  %tmp11 = fadd double %tmp10, %table__el43
  store double %tmp11, double* %y_, align 1
  ret double %tmp11
}

declare i32 @rt_ZCFcn(i32, i8*, double)

declare double @muDoubleScalarSign(double)

declare i8 @muDoubleScalarIsNaN(double)

declare i8 @muDoubleScalarIsInf(double)

declare double @muDoubleScalarRem(double, double)

define i32 @plook_u32d_linckpa(double %u, double* %bp, i32 %maxIndex, i32* %prevIndex) {
plook_u32d_linckpa_entry:
  %u_ = alloca double
  store double %u, double* %u_, align 1
  %bp_ = alloca double*
  store double* %bp, double** %bp_, align 1
  %maxIndex_ = alloca i32
  store i32 %maxIndex, i32* %maxIndex_, align 1
  %prevIndex_ = alloca i32*
  store i32* %prevIndex, i32** %prevIndex_, align 1
  %bpIndex_ = alloca i32
  %bp__el = load double* %bp, align 1
  %0 = fcmp ugt double %u, %bp__el
  br i1 %0, label %false, label %merge3

false:                                            ; preds = %plook_u32d_linckpa_entry
  %1 = getelementptr inbounds double* %bp, i32 %maxIndex
  %bp__el9 = load double* %1, align 1
  %2 = fcmp olt double %u, %bp__el9
  br i1 %2, label %true1, label %merge3

true1:                                            ; preds = %false
  %prevIndex_14 = load i32* %prevIndex, align 1
  %3 = call i32 @linsearch_u32d(double %u, double* %bp, i32 %prevIndex_14)
  br label %merge3

merge3:                                           ; preds = %true1, %false, %plook_u32d_linckpa_entry
  %storemerge18 = phi i32 [ 0, %plook_u32d_linckpa_entry ], [ %3, %true1 ], [ %maxIndex, %false ]
  store i32 %storemerge18, i32* %bpIndex_, align 1
  store i32 %storemerge18, i32* %prevIndex, align 1
  ret i32 %storemerge18
}

define double @look1_binlxpw(double %u0, double* %bp0, double* %table, i32 %maxIndex) {
look1_binlxpw_entry:
  %u0_ = alloca double
  store double %u0, double* %u0_, align 1
  %bp0_ = alloca double*
  store double* %bp0, double** %bp0_, align 1
  %table_ = alloca double*
  store double* %table, double** %table_, align 1
  %maxIndex_ = alloca i32
  store i32 %maxIndex, i32* %maxIndex_, align 1
  %frac_ = alloca double
  %iRght_ = alloca i32
  %iLeft_ = alloca i32
  %bpIdx_ = alloca i32
  %y_ = alloca double
  %bp0__el = load double* %bp0, align 1
  %0 = fcmp ugt double %u0, %bp0__el
  br i1 %0, label %false, label %true

true:                                             ; preds = %look1_binlxpw_entry
  store i32 0, i32* %iLeft_, align 1
  %tmp12 = fsub double %u0, %bp0__el
  %1 = getelementptr inbounds double* %bp0, i32 1
  %bp0__el53 = load double* %1, align 1
  %tmp13 = fsub double %bp0__el53, %bp0__el
  %tmp14 = fdiv double %tmp12, %tmp13
  br label %merge9

false:                                            ; preds = %look1_binlxpw_entry
  %2 = getelementptr inbounds double* %bp0, i32 %maxIndex
  %bp0__el15 = load double* %2, align 1
  %3 = fcmp olt double %u0, %bp0__el15
  br i1 %3, label %true1, label %false2

true1:                                            ; preds = %false
  %4 = lshr i32 %maxIndex, 1
  store i32 %4, i32* %bpIdx_, align 1
  store i32 0, i32* %iLeft_, align 1
  store i32 %maxIndex, i32* %iRght_, align 1
  br label %merge

false2:                                           ; preds = %false
  %tmp0 = add i32 %maxIndex, -1
  store i32 %tmp0, i32* %iLeft_, align 1
  %5 = getelementptr inbounds double* %bp0, i32 %tmp0
  %bp0__el20 = load double* %5, align 1
  %tmp2 = fsub double %u0, %bp0__el20
  %tmp4 = fsub double %bp0__el15, %bp0__el20
  %tmp5 = fdiv double %tmp2, %tmp4
  br label %merge9

true3:                                            ; preds = %merge
  %6 = getelementptr inbounds double* %bp0, i32 %bpIdx_45
  %bp0__el44 = load double* %6, align 1
  %7 = fcmp olt double %u0, %bp0__el44
  br i1 %7, label %true5, label %false6

false4:                                           ; preds = %merge
  %8 = getelementptr inbounds double* %bp0, i32 %iLeft_39
  %bp0__el34 = load double* %8, align 1
  %tmp7 = fsub double %u0, %bp0__el34
  %tmp8 = add i32 %iLeft_39, 1
  %9 = getelementptr inbounds double* %bp0, i32 %tmp8
  %bp0__el37 = load double* %9, align 1
  %tmp9 = fsub double %bp0__el37, %bp0__el34
  %tmp10 = fdiv double %tmp7, %tmp9
  br label %merge9

true5:                                            ; preds = %true3
  store i32 %bpIdx_45, i32* %iRght_, align 1
  br label %merge8

false6:                                           ; preds = %true3
  store i32 %bpIdx_45, i32* %iLeft_, align 1
  br label %merge8

merge:                                            ; preds = %merge8, %true1
  %bpIdx_45 = phi i32 [ %11, %merge8 ], [ %4, %true1 ]
  %iLeft_39 = phi i32 [ %iLeft_48, %merge8 ], [ 0, %true1 ]
  %iRght_29 = phi i32 [ %iRght_47, %merge8 ], [ %maxIndex, %true1 ]
  %tmp6 = sub i32 %iRght_29, %iLeft_39
  %10 = icmp ugt i32 %tmp6, 1
  br i1 %10, label %true3, label %false4

merge8:                                           ; preds = %true5, %false6
  %iLeft_48 = phi i32 [ %iLeft_39, %true5 ], [ %bpIdx_45, %false6 ]
  %iRght_47 = phi i32 [ %bpIdx_45, %true5 ], [ %iRght_29, %false6 ]
  %tmp11 = add i32 %iLeft_48, %iRght_47
  %11 = lshr i32 %tmp11, 1
  store i32 %11, i32* %bpIdx_, align 1
  br label %merge

merge9:                                           ; preds = %false2, %false4, %true
  %iLeft_63 = phi i32 [ 0, %true ], [ %tmp0, %false2 ], [ %iLeft_39, %false4 ]
  %storemerge66 = phi double [ %tmp14, %true ], [ %tmp5, %false2 ], [ %tmp10, %false4 ]
  store double %storemerge66, double* %frac_, align 1
  %tmp15 = add i32 %iLeft_63, 1
  %12 = getelementptr inbounds double* %table, i32 %tmp15
  %table__el = load double* %12, align 1
  %13 = getelementptr inbounds double* %table, i32 %iLeft_63
  %table__el60 = load double* %13, align 1
  %tmp16 = fsub double %table__el, %table__el60
  %tmp17 = fmul double %tmp16, %storemerge66
  %tmp18 = fadd double %tmp17, %table__el60
  store double %tmp18, double* %y_, align 1
  ret double %tmp18
}

define double @look1_plinlcapw(double %u0, double* %bp0, double* %table, i32* %prevIndex, i32 %maxIndex) {
look1_plinlcapw_entry:
  %u0_ = alloca double
  store double %u0, double* %u0_, align 1
  %bp0_ = alloca double*
  store double* %bp0, double** %bp0_, align 1
  %table_ = alloca double*
  store double* %table, double** %table_, align 1
  %prevIndex_ = alloca i32*
  store i32* %prevIndex, i32** %prevIndex_, align 1
  %maxIndex_ = alloca i32
  store i32 %maxIndex, i32* %maxIndex_, align 1
  %frac_ = alloca double
  %bpIdx_ = alloca i32
  %y_ = alloca double
  %bp0__el = load double* %bp0, align 1
  %0 = fcmp ugt double %u0, %bp0__el
  br i1 %0, label %false, label %true

true:                                             ; preds = %look1_plinlcapw_entry
  store i32 0, i32* %bpIdx_, align 1
  br label %merge10

false:                                            ; preds = %look1_plinlcapw_entry
  %1 = getelementptr inbounds double* %bp0, i32 %maxIndex
  %bp0__el17 = load double* %1, align 1
  %2 = fcmp olt double %u0, %bp0__el17
  br i1 %2, label %true1, label %false2

true1:                                            ; preds = %false
  %prevIndex__el = load i32* %prevIndex, align 1
  br label %merge

false2:                                           ; preds = %false
  store i32 %maxIndex, i32* %bpIdx_, align 1
  br label %merge10

true3:                                            ; preds = %merge
  %tmp6 = add i32 %bpIdx_39, -1
  br label %merge

false4:                                           ; preds = %true5, %merge
  %bpIdx_38 = phi i32 [ %tmp0, %true5 ], [ %bpIdx_39, %merge ]
  %tmp0 = add i32 %bpIdx_38, 1
  %3 = getelementptr inbounds double* %bp0, i32 %tmp0
  %bp0__el27 = load double* %3, align 1
  %4 = fcmp ult double %u0, %bp0__el27
  br i1 %4, label %false6, label %true5

true5:                                            ; preds = %false4
  store i32 %tmp0, i32* %bpIdx_, align 1
  br label %false4

false6:                                           ; preds = %false4
  %5 = getelementptr inbounds double* %bp0, i32 %bpIdx_38
  %bp0__el31 = load double* %5, align 1
  %tmp1 = fsub double %u0, %bp0__el31
  %tmp3 = fsub double %bp0__el27, %bp0__el31
  %tmp4 = fdiv double %tmp1, %tmp3
  br label %merge10

true7:                                            ; preds = %merge10
  %6 = getelementptr inbounds double* %table, i32 %maxIndex
  %table__el55 = load double* %6, align 1
  br label %merge11

false8:                                           ; preds = %merge10
  %tmp7 = add i32 %bpIdx_51, 1
  %7 = getelementptr inbounds double* %table, i32 %tmp7
  %table__el = load double* %7, align 1
  %8 = getelementptr inbounds double* %table, i32 %bpIdx_51
  %table__el48 = load double* %8, align 1
  %tmp8 = fsub double %table__el, %table__el48
  %tmp9 = fmul double %tmp8, %frac_49
  %tmp10 = fadd double %tmp9, %table__el48
  br label %merge11

merge:                                            ; preds = %true3, %true1
  %bpIdx_39 = phi i32 [ %prevIndex__el, %true1 ], [ %tmp6, %true3 ]
  store i32 %bpIdx_39, i32* %bpIdx_, align 1
  %9 = getelementptr inbounds double* %bp0, i32 %bpIdx_39
  %bp0__el23 = load double* %9, align 1
  %10 = fcmp olt double %u0, %bp0__el23
  br i1 %10, label %true3, label %false4

merge10:                                          ; preds = %false2, %false6, %true
  %bpIdx_51 = phi i32 [ 0, %true ], [ %maxIndex, %false2 ], [ %bpIdx_38, %false6 ]
  %frac_49 = phi double [ 0.000000e+00, %true ], [ 0.000000e+00, %false2 ], [ %tmp4, %false6 ]
  store double %frac_49, double* %frac_, align 1
  store i32 %bpIdx_51, i32* %prevIndex, align 1
  %11 = icmp eq i32 %bpIdx_51, %maxIndex
  br i1 %11, label %true7, label %false8

merge11:                                          ; preds = %true7, %false8
  %storemerge58 = phi double [ %tmp10, %false8 ], [ %table__el55, %true7 ]
  store double %storemerge58, double* %y_, align 1
  ret double %storemerge58
}

define double @look1_pbinlcapw(double %u0, double* %bp0, double* %table, i32* %prevIndex, i32 %maxIndex) {
look1_pbinlcapw_entry:
  %u0_ = alloca double
  store double %u0, double* %u0_, align 1
  %bp0_ = alloca double*
  store double* %bp0, double** %bp0_, align 1
  %table_ = alloca double*
  store double* %table, double** %table_, align 1
  %prevIndex_ = alloca i32*
  store i32* %prevIndex, i32** %prevIndex_, align 1
  %maxIndex_ = alloca i32
  store i32 %maxIndex, i32* %maxIndex_, align 1
  %frac_ = alloca double
  %iRght_ = alloca i32
  %iLeft_ = alloca i32
  %bpIdx_ = alloca i32
  %found_ = alloca i32
  %y_ = alloca double
  %bp0__el = load double* %bp0, align 1
  %0 = fcmp ugt double %u0, %bp0__el
  br i1 %0, label %false, label %true

true:                                             ; preds = %look1_pbinlcapw_entry
  store i32 0, i32* %bpIdx_, align 1
  br label %merge14

false:                                            ; preds = %look1_pbinlcapw_entry
  %1 = getelementptr inbounds double* %bp0, i32 %maxIndex
  %bp0__el21 = load double* %1, align 1
  %2 = fcmp olt double %u0, %bp0__el21
  br i1 %2, label %true1, label %false2

true1:                                            ; preds = %false
  %prevIndex__el = load i32* %prevIndex, align 1
  store i32 %prevIndex__el, i32* %bpIdx_, align 1
  store i32 0, i32* %iLeft_, align 1
  store i32 %maxIndex, i32* %iRght_, align 1
  store i32 0, i32* %found_, align 1
  br label %merge

false2:                                           ; preds = %false
  store i32 %maxIndex, i32* %bpIdx_, align 1
  br label %merge14

true3:                                            ; preds = %merge
  %3 = fcmp olt double %u0, %bp0__el39
  br i1 %3, label %true5, label %false6

false4:                                           ; preds = %merge
  %tmp0 = fsub double %u0, %bp0__el39
  %tmp1 = add i32 %bpIdx_34, 1
  %4 = getelementptr inbounds double* %bp0, i32 %tmp1
  %bp0__el32 = load double* %4, align 1
  %tmp2 = fsub double %bp0__el32, %bp0__el39
  %tmp3 = fdiv double %tmp0, %tmp2
  br label %merge14

true5:                                            ; preds = %true3
  %tmp7 = add i32 %bpIdx_34, -1
  store i32 %tmp7, i32* %iRght_, align 1
  %tmp8 = add i32 %tmp7, %iLeft_49
  %5 = lshr i32 %tmp8, 1
  store i32 %5, i32* %bpIdx_, align 1
  br label %merge

false6:                                           ; preds = %true3
  %tmp4 = add i32 %bpIdx_34, 1
  %6 = getelementptr inbounds double* %bp0, i32 %tmp4
  %bp0__el43 = load double* %6, align 1
  %7 = fcmp olt double %u0, %bp0__el43
  br i1 %7, label %true7, label %false8

true7:                                            ; preds = %false6
  store i32 1, i32* %found_, align 1
  br label %merge

false8:                                           ; preds = %false6
  store i32 %tmp4, i32* %iLeft_, align 1
  %tmp6 = add i32 %iRght_45, %tmp4
  %8 = lshr i32 %tmp6, 1
  store i32 %8, i32* %bpIdx_, align 1
  br label %merge

true9:                                            ; preds = %merge14
  %9 = getelementptr inbounds double* %table, i32 %maxIndex
  %table__el65 = load double* %9, align 1
  br label %merge15

false10:                                          ; preds = %merge14
  %tmp9 = add i32 %bpIdx_61, 1
  %10 = getelementptr inbounds double* %table, i32 %tmp9
  %table__el = load double* %10, align 1
  %11 = getelementptr inbounds double* %table, i32 %bpIdx_61
  %table__el58 = load double* %11, align 1
  %tmp10 = fsub double %table__el, %table__el58
  %tmp11 = fmul double %tmp10, %frac_59
  %tmp12 = fadd double %tmp11, %table__el58
  br label %merge15

merge:                                            ; preds = %true5, %true7, %false8, %true1
  %iRght_45 = phi i32 [ %maxIndex, %true1 ], [ %tmp7, %true5 ], [ %iRght_45, %true7 ], [ %iRght_45, %false8 ]
  %iLeft_49 = phi i32 [ 0, %true1 ], [ %iLeft_49, %true5 ], [ %iLeft_49, %true7 ], [ %tmp4, %false8 ]
  %bpIdx_34 = phi i32 [ %prevIndex__el, %true1 ], [ %5, %true5 ], [ %bpIdx_34, %true7 ], [ %8, %false8 ]
  %found_25 = phi i32 [ 0, %true1 ], [ 0, %true5 ], [ 1, %true7 ], [ 0, %false8 ]
  %12 = icmp eq i32 %found_25, 0
  %13 = getelementptr inbounds double* %bp0, i32 %bpIdx_34
  %bp0__el39 = load double* %13, align 1
  br i1 %12, label %true3, label %false4

merge14:                                          ; preds = %false2, %false4, %true
  %bpIdx_61 = phi i32 [ 0, %true ], [ %maxIndex, %false2 ], [ %bpIdx_34, %false4 ]
  %frac_59 = phi double [ 0.000000e+00, %true ], [ 0.000000e+00, %false2 ], [ %tmp3, %false4 ]
  store double %frac_59, double* %frac_, align 1
  store i32 %bpIdx_61, i32* %prevIndex, align 1
  %14 = icmp eq i32 %bpIdx_61, %maxIndex
  br i1 %14, label %true9, label %false10

merge15:                                          ; preds = %true9, %false10
  %storemerge68 = phi double [ %tmp12, %false10 ], [ %table__el65, %true9 ]
  store double %storemerge68, double* %y_, align 1
  ret double %storemerge68
}

define i32 @plook_linxp(double %u, double* %bp, i32 %maxIndex, double* %fraction, i32* %prevIndex) {
plook_linxp_entry:
  %u_ = alloca double
  store double %u, double* %u_, align 1
  %bp_ = alloca double*
  store double* %bp, double** %bp_, align 1
  %maxIndex_ = alloca i32
  store i32 %maxIndex, i32* %maxIndex_, align 1
  %fraction_ = alloca double*
  store double* %fraction, double** %fraction_, align 1
  %prevIndex_ = alloca i32*
  store i32* %prevIndex, i32** %prevIndex_, align 1
  %bpIndex_ = alloca i32
  %bp__el = load double* %bp, align 1
  %0 = fcmp ugt double %u, %bp__el
  br i1 %0, label %false, label %true

true:                                             ; preds = %plook_linxp_entry
  store i32 0, i32* %bpIndex_, align 1
  %tmp10 = fsub double %u, %bp__el
  %1 = getelementptr inbounds double* %bp, i32 1
  %bp__el41 = load double* %1, align 1
  %tmp11 = fsub double %bp__el41, %bp__el
  %tmp12 = fdiv double %tmp10, %tmp11
  store double %tmp12, double* %fraction, align 1
  br label %merge3

false:                                            ; preds = %plook_linxp_entry
  %2 = getelementptr inbounds double* %bp, i32 %maxIndex
  %bp__el9 = load double* %2, align 1
  %3 = fcmp olt double %u, %bp__el9
  br i1 %3, label %true1, label %false2

true1:                                            ; preds = %false
  %prevIndex_25 = load i32* %prevIndex, align 1
  %4 = call i32 @linsearch_u32d(double %u, double* %bp, i32 %prevIndex_25)
  store i32 %4, i32* %bpIndex_, align 1
  %5 = getelementptr inbounds double* %bp, i32 %4
  %bp__el29 = load double* %5, align 1
  %tmp6 = fsub double %u, %bp__el29
  %tmp7 = add i32 %4, 1
  %6 = getelementptr inbounds double* %bp, i32 %tmp7
  %bp__el32 = load double* %6, align 1
  %tmp8 = fsub double %bp__el32, %bp__el29
  %tmp9 = fdiv double %tmp6, %tmp8
  store double %tmp9, double* %fraction, align 1
  br label %merge3

false2:                                           ; preds = %false
  %tmp0 = add i32 %maxIndex, -1
  store i32 %tmp0, i32* %bpIndex_, align 1
  %7 = getelementptr inbounds double* %bp, i32 %tmp0
  %bp__el14 = load double* %7, align 1
  %tmp2 = fsub double %u, %bp__el14
  %tmp4 = fsub double %bp__el9, %bp__el14
  %tmp5 = fdiv double %tmp2, %tmp4
  store double %tmp5, double* %fraction, align 1
  br label %merge3

merge3:                                           ; preds = %false2, %true1, %true
  %bpIndex_47 = phi i32 [ 0, %true ], [ %4, %true1 ], [ %tmp0, %false2 ]
  store i32 %bpIndex_47, i32* %prevIndex, align 1
  ret i32 %bpIndex_47
}

define double @intrp4d_l_pw(i32* %bpIndex, double* %frac, double* %table, i32* %stride) {
intrp4d_l_pw_entry:
  %bpIndex_ = alloca i32*
  store i32* %bpIndex, i32** %bpIndex_, align 1
  %frac_ = alloca double*
  store double* %frac, double** %frac_, align 1
  %table_ = alloca double*
  store double* %table, double** %table_, align 1
  %stride_ = alloca i32*
  store i32* %stride, i32** %stride_, align 1
  %yL_3d_ = alloca double
  %offset_3d_ = alloca i32
  %yL_2d_ = alloca double
  %yL_1d_ = alloca double
  %offset_0d_ = alloca i32
  %offset_1d_ = alloca i32
  %y_ = alloca double
  %0 = getelementptr inbounds i32* %bpIndex, i32 3
  %bpIndex__el = load i32* %0, align 1
  %1 = getelementptr inbounds i32* %stride, i32 3
  %stride__el = load i32* %1, align 1
  %tmp0 = mul i32 %stride__el, %bpIndex__el
  %2 = getelementptr inbounds i32* %bpIndex, i32 2
  %bpIndex__el4 = load i32* %2, align 1
  %3 = getelementptr inbounds i32* %stride, i32 2
  %stride__el6 = load i32* %3, align 1
  %tmp1 = mul i32 %stride__el6, %bpIndex__el4
  %tmp2 = add i32 %tmp1, %tmp0
  %4 = getelementptr inbounds i32* %bpIndex, i32 1
  %bpIndex__el8 = load i32* %4, align 1
  %5 = getelementptr inbounds i32* %stride, i32 1
  %stride__el10 = load i32* %5, align 1
  %tmp3 = mul i32 %stride__el10, %bpIndex__el8
  %tmp4 = add i32 %tmp2, %tmp3
  %bpIndex__el12 = load i32* %bpIndex, align 1
  %tmp5 = add i32 %tmp4, %bpIndex__el12
  store i32 %tmp5, i32* %offset_3d_, align 1
  %tmp6 = add i32 %tmp5, 1
  %6 = getelementptr inbounds double* %table, i32 %tmp6
  %table__el = load double* %6, align 1
  %7 = getelementptr inbounds double* %table, i32 %tmp5
  %table__el17 = load double* %7, align 1
  %tmp7 = fsub double %table__el, %table__el17
  %frac__el = load double* %frac, align 1
  %tmp8 = fmul double %tmp7, %frac__el
  %tmp9 = fadd double %tmp8, %table__el17
  store double %tmp9, double* %yL_1d_, align 1
  %tmp10 = add i32 %stride__el10, %tmp5
  store i32 %tmp10, i32* %offset_0d_, align 1
  %tmp11 = add i32 %tmp10, 1
  %8 = getelementptr inbounds double* %table, i32 %tmp11
  %table__el27 = load double* %8, align 1
  %9 = getelementptr inbounds double* %table, i32 %tmp10
  %table__el30 = load double* %9, align 1
  %tmp12 = fsub double %table__el27, %table__el30
  %tmp13 = fmul double %tmp12, %frac__el
  %tmp14 = fadd double %tmp13, %table__el30
  %tmp15 = fsub double %tmp14, %tmp9
  %10 = getelementptr inbounds double* %frac, i32 1
  %frac__el38 = load double* %10, align 1
  %tmp16 = fmul double %tmp15, %frac__el38
  %tmp17 = fadd double %tmp9, %tmp16
  store double %tmp17, double* %yL_2d_, align 1
  %tmp18 = add i32 %stride__el6, %tmp5
  store i32 %tmp18, i32* %offset_1d_, align 1
  %tmp19 = add i32 %tmp18, 1
  %11 = getelementptr inbounds double* %table, i32 %tmp19
  %table__el45 = load double* %11, align 1
  %12 = getelementptr inbounds double* %table, i32 %tmp18
  %table__el48 = load double* %12, align 1
  %tmp20 = fsub double %table__el45, %table__el48
  %tmp21 = fmul double %tmp20, %frac__el
  %tmp22 = fadd double %tmp21, %table__el48
  store double %tmp22, double* %yL_1d_, align 1
  %tmp23 = add i32 %stride__el10, %tmp18
  store i32 %tmp23, i32* %offset_0d_, align 1
  %tmp24 = add i32 %tmp23, 1
  %13 = getelementptr inbounds double* %table, i32 %tmp24
  %table__el59 = load double* %13, align 1
  %14 = getelementptr inbounds double* %table, i32 %tmp23
  %table__el62 = load double* %14, align 1
  %tmp25 = fsub double %table__el59, %table__el62
  %tmp26 = fmul double %tmp25, %frac__el
  %tmp27 = fadd double %tmp26, %table__el62
  %tmp28 = fsub double %tmp27, %tmp22
  %tmp29 = fmul double %tmp28, %frac__el38
  %tmp30 = fadd double %tmp22, %tmp29
  %tmp31 = fsub double %tmp30, %tmp17
  %15 = getelementptr inbounds double* %frac, i32 2
  %frac__el74 = load double* %15, align 1
  %tmp32 = fmul double %tmp31, %frac__el74
  %tmp33 = fadd double %tmp17, %tmp32
  store double %tmp33, double* %yL_3d_, align 1
  %tmp34 = add i32 %stride__el, %tmp5
  store i32 %tmp34, i32* %offset_1d_, align 1
  %tmp35 = add i32 %tmp34, 1
  %16 = getelementptr inbounds double* %table, i32 %tmp35
  %table__el81 = load double* %16, align 1
  %17 = getelementptr inbounds double* %table, i32 %tmp34
  %table__el84 = load double* %17, align 1
  %tmp36 = fsub double %table__el81, %table__el84
  %tmp37 = fmul double %tmp36, %frac__el
  %tmp38 = fadd double %tmp37, %table__el84
  store double %tmp38, double* %yL_1d_, align 1
  %tmp39 = add i32 %stride__el10, %tmp34
  store i32 %tmp39, i32* %offset_0d_, align 1
  %tmp40 = add i32 %tmp39, 1
  %18 = getelementptr inbounds double* %table, i32 %tmp40
  %table__el95 = load double* %18, align 1
  %19 = getelementptr inbounds double* %table, i32 %tmp39
  %table__el98 = load double* %19, align 1
  %tmp41 = fsub double %table__el95, %table__el98
  %frac_99 = load double** %frac_, align 1
  %frac__el100 = load double* %frac_99, align 1
  %tmp42 = fmul double %tmp41, %frac__el100
  %table_101 = load double** %table_, align 1
  %20 = getelementptr inbounds double* %table_101, i32 %tmp39
  %table__el103 = load double* %20, align 1
  %tmp43 = fadd double %tmp42, %table__el103
  %tmp44 = fsub double %tmp43, %tmp38
  %21 = getelementptr inbounds double* %frac_99, i32 1
  %frac__el106 = load double* %21, align 1
  %tmp45 = fmul double %tmp44, %frac__el106
  %tmp46 = fadd double %tmp38, %tmp45
  store double %tmp46, double* %yL_2d_, align 1
  %stride_109 = load i32** %stride_, align 1
  %22 = getelementptr inbounds i32* %stride_109, i32 2
  %stride__el110 = load i32* %22, align 1
  %tmp47 = add i32 %stride__el110, %tmp34
  store i32 %tmp47, i32* %offset_1d_, align 1
  %tmp48 = add i32 %tmp47, 1
  %23 = getelementptr inbounds double* %table_101, i32 %tmp48
  %table__el113 = load double* %23, align 1
  %24 = getelementptr inbounds double* %table_101, i32 %tmp47
  %table__el116 = load double* %24, align 1
  %tmp49 = fsub double %table__el113, %table__el116
  %tmp50 = fmul double %tmp49, %frac__el100
  %tmp51 = fadd double %tmp50, %table__el116
  store double %tmp51, double* %yL_1d_, align 1
  %25 = getelementptr inbounds i32* %stride_109, i32 1
  %stride__el124 = load i32* %25, align 1
  %tmp52 = add i32 %stride__el124, %tmp47
  store i32 %tmp52, i32* %offset_0d_, align 1
  %tmp53 = add i32 %tmp52, 1
  %26 = getelementptr inbounds double* %table_101, i32 %tmp53
  %table__el127 = load double* %26, align 1
  %27 = getelementptr inbounds double* %table_101, i32 %tmp52
  %table__el130 = load double* %27, align 1
  %tmp54 = fsub double %table__el127, %table__el130
  %tmp55 = fmul double %tmp54, %frac__el100
  %tmp56 = fadd double %tmp55, %table__el130
  %tmp57 = fsub double %tmp56, %tmp51
  %tmp58 = fmul double %tmp57, %frac__el106
  %tmp59 = fadd double %tmp51, %tmp58
  %tmp60 = fsub double %tmp59, %tmp46
  %28 = getelementptr inbounds double* %frac_99, i32 2
  %frac__el142 = load double* %28, align 1
  %tmp61 = fmul double %tmp60, %frac__el142
  %tmp62 = fadd double %tmp46, %tmp61
  %tmp63 = fsub double %tmp62, %tmp33
  %29 = getelementptr inbounds double* %frac_99, i32 3
  %frac__el146 = load double* %29, align 1
  %tmp64 = fmul double %tmp63, %frac__el146
  %tmp65 = fadd double %tmp33, %tmp64
  store double %tmp65, double* %y_, align 1
  ret double %tmp65
}

define double @intrp3d_l_pw(i32* %bpIndex, double* %frac, double* %table, i32* %stride) {
intrp3d_l_pw_entry:
  %bpIndex_ = alloca i32*
  store i32* %bpIndex, i32** %bpIndex_, align 1
  %frac_ = alloca double*
  store double* %frac, double** %frac_, align 1
  %table_ = alloca double*
  store double* %table, double** %table_, align 1
  %stride_ = alloca i32*
  store i32* %stride, i32** %stride_, align 1
  %yL_2d_ = alloca double
  %offset_2d_ = alloca i32
  %yL_1d_ = alloca double
  %offset_0d_ = alloca i32
  %y_ = alloca double
  %0 = getelementptr inbounds i32* %bpIndex, i32 2
  %bpIndex__el = load i32* %0, align 1
  %1 = getelementptr inbounds i32* %stride, i32 2
  %stride__el = load i32* %1, align 1
  %tmp0 = mul i32 %stride__el, %bpIndex__el
  %2 = getelementptr inbounds i32* %bpIndex, i32 1
  %bpIndex__el4 = load i32* %2, align 1
  %3 = getelementptr inbounds i32* %stride, i32 1
  %stride__el6 = load i32* %3, align 1
  %tmp1 = mul i32 %stride__el6, %bpIndex__el4
  %tmp2 = add i32 %tmp1, %tmp0
  %bpIndex__el8 = load i32* %bpIndex, align 1
  %tmp3 = add i32 %tmp2, %bpIndex__el8
  store i32 %tmp3, i32* %offset_2d_, align 1
  %tmp4 = add i32 %tmp3, 1
  %4 = getelementptr inbounds double* %table, i32 %tmp4
  %table__el = load double* %4, align 1
  %5 = getelementptr inbounds double* %table, i32 %tmp3
  %table__el13 = load double* %5, align 1
  %tmp5 = fsub double %table__el, %table__el13
  %frac__el = load double* %frac, align 1
  %tmp6 = fmul double %tmp5, %frac__el
  %tmp7 = fadd double %tmp6, %table__el13
  store double %tmp7, double* %yL_1d_, align 1
  %tmp8 = add i32 %stride__el6, %tmp3
  store i32 %tmp8, i32* %offset_0d_, align 1
  %tmp9 = add i32 %tmp8, 1
  %6 = getelementptr inbounds double* %table, i32 %tmp9
  %table__el23 = load double* %6, align 1
  %7 = getelementptr inbounds double* %table, i32 %tmp8
  %table__el26 = load double* %7, align 1
  %tmp10 = fsub double %table__el23, %table__el26
  %tmp11 = fmul double %tmp10, %frac__el
  %tmp12 = fadd double %tmp11, %table__el26
  %tmp13 = fsub double %tmp12, %tmp7
  %8 = getelementptr inbounds double* %frac, i32 1
  %frac__el34 = load double* %8, align 1
  %tmp14 = fmul double %tmp13, %frac__el34
  %tmp15 = fadd double %tmp7, %tmp14
  store double %tmp15, double* %yL_2d_, align 1
  %tmp16 = add i32 %stride__el, %tmp3
  store i32 %tmp16, i32* %offset_2d_, align 1
  %tmp17 = add i32 %tmp16, 1
  %9 = getelementptr inbounds double* %table, i32 %tmp17
  %table__el41 = load double* %9, align 1
  %10 = getelementptr inbounds double* %table, i32 %tmp16
  %table__el44 = load double* %10, align 1
  %tmp18 = fsub double %table__el41, %table__el44
  %tmp19 = fmul double %tmp18, %frac__el
  %tmp20 = fadd double %tmp19, %table__el44
  store double %tmp20, double* %yL_1d_, align 1
  %tmp21 = add i32 %stride__el6, %tmp16
  store i32 %tmp21, i32* %offset_0d_, align 1
  %tmp22 = add i32 %tmp21, 1
  %11 = getelementptr inbounds double* %table, i32 %tmp22
  %table__el55 = load double* %11, align 1
  %12 = getelementptr inbounds double* %table, i32 %tmp21
  %table__el58 = load double* %12, align 1
  %tmp23 = fsub double %table__el55, %table__el58
  %tmp24 = fmul double %tmp23, %frac__el
  %tmp25 = fadd double %tmp24, %table__el58
  %tmp26 = fsub double %tmp25, %tmp20
  %tmp27 = fmul double %tmp26, %frac__el34
  %tmp28 = fadd double %tmp20, %tmp27
  %tmp29 = fsub double %tmp28, %tmp15
  %13 = getelementptr inbounds double* %frac, i32 2
  %frac__el70 = load double* %13, align 1
  %tmp30 = fmul double %tmp29, %frac__el70
  %tmp31 = fadd double %tmp15, %tmp30
  store double %tmp31, double* %y_, align 1
  ret double %tmp31
}

declare double @muDoubleScalarPower(double, double)

declare double @muDoubleScalarAbs(double)

declare double @muDoubleScalarRound(double)

define double @look2_plinlcapw(double %u0, double %u1, double* %bp0, double* %bp1, double* %table, i32* %prevIndex, i32* %maxIndex, i32 %stride) {
look2_plinlcapw_entry:
  %u0_ = alloca double
  store double %u0, double* %u0_, align 1
  %u1_ = alloca double
  store double %u1, double* %u1_, align 1
  %bp0_ = alloca double*
  store double* %bp0, double** %bp0_, align 1
  %bp1_ = alloca double*
  store double* %bp1, double** %bp1_, align 1
  %table_ = alloca double*
  store double* %table, double** %table_, align 1
  %prevIndex_ = alloca i32*
  store i32* %prevIndex, i32** %prevIndex_, align 1
  %maxIndex_ = alloca i32*
  store i32* %maxIndex, i32** %maxIndex_, align 1
  %stride_ = alloca i32
  store i32 %stride, i32* %stride_, align 1
  %frac_ = alloca double
  %bpIndices_ = alloca [2 x i32]
  %fractions_ = alloca [2 x double]
  %offset_1d_ = alloca i32
  %bpIdx_ = alloca i32
  %y_ = alloca double
  %bp0__el = load double* %bp0, align 1
  %0 = fcmp ugt double %u0, %bp0__el
  br i1 %0, label %false, label %true

true:                                             ; preds = %look2_plinlcapw_entry
  store i32 0, i32* %bpIdx_, align 1
  br label %merge22

false:                                            ; preds = %look2_plinlcapw_entry
  %maxIndex__el = load i32* %maxIndex, align 1
  %1 = getelementptr inbounds double* %bp0, i32 %maxIndex__el
  %bp0__el33 = load double* %1, align 1
  %2 = fcmp olt double %u0, %bp0__el33
  br i1 %2, label %true1, label %false2

true1:                                            ; preds = %false
  %prevIndex__el = load i32* %prevIndex, align 1
  br label %merge

false2:                                           ; preds = %false
  store i32 %maxIndex__el, i32* %bpIdx_, align 1
  br label %merge22

true3:                                            ; preds = %merge
  %tmp6 = add i32 %bpIdx_56, -1
  br label %merge

false4:                                           ; preds = %true5, %merge
  %bpIdx_55 = phi i32 [ %tmp0, %true5 ], [ %bpIdx_56, %merge ]
  %tmp0 = add i32 %bpIdx_55, 1
  %3 = getelementptr inbounds double* %bp0, i32 %tmp0
  %bp0__el44 = load double* %3, align 1
  %4 = fcmp ult double %u0, %bp0__el44
  br i1 %4, label %false6, label %true5

true5:                                            ; preds = %false4
  store i32 %tmp0, i32* %bpIdx_, align 1
  br label %false4

false6:                                           ; preds = %false4
  %5 = getelementptr inbounds double* %bp0, i32 %bpIdx_55
  %bp0__el48 = load double* %5, align 1
  %tmp1 = fsub double %u0, %bp0__el48
  %tmp3 = fsub double %bp0__el44, %bp0__el48
  %tmp4 = fdiv double %tmp1, %tmp3
  br label %merge22

true7:                                            ; preds = %merge22
  store i32 0, i32* %bpIdx_, align 1
  br label %merge25

false8:                                           ; preds = %merge22
  %6 = getelementptr inbounds i32* %maxIndex, i32 1
  %maxIndex__el66 = load i32* %6, align 1
  %7 = getelementptr inbounds double* %bp1, i32 %maxIndex__el66
  %bp1__el67 = load double* %7, align 1
  %8 = fcmp olt double %u1, %bp1__el67
  br i1 %8, label %true9, label %false10

true9:                                            ; preds = %false8
  %9 = getelementptr inbounds i32* %prevIndex, i32 1
  %prevIndex__el71 = load i32* %9, align 1
  br label %merge23

false10:                                          ; preds = %false8
  store i32 %maxIndex__el66, i32* %bpIdx_, align 1
  br label %merge25

true11:                                           ; preds = %merge23
  %tmp13 = add i32 %bpIdx_91, -1
  br label %merge23

false12:                                          ; preds = %true13, %merge23
  %bpIdx_90 = phi i32 [ %tmp7, %true13 ], [ %bpIdx_91, %merge23 ]
  %tmp7 = add i32 %bpIdx_90, 1
  %10 = getelementptr inbounds double* %bp1, i32 %tmp7
  %bp1__el79 = load double* %10, align 1
  %11 = fcmp ult double %u1, %bp1__el79
  br i1 %11, label %false14, label %true13

true13:                                           ; preds = %false12
  store i32 %tmp7, i32* %bpIdx_, align 1
  br label %false12

false14:                                          ; preds = %false12
  %12 = getelementptr inbounds double* %bp1, i32 %bpIdx_90
  %bp1__el83 = load double* %12, align 1
  %tmp8 = fsub double %u1, %bp1__el83
  %tmp10 = fsub double %bp1__el79, %bp1__el83
  %tmp11 = fdiv double %tmp8, %tmp10
  br label %merge25

true15:                                           ; preds = %merge25
  %13 = getelementptr inbounds double* %table, i32 %tmp15
  %table__el109 = load double* %13, align 1
  br label %merge26

false16:                                          ; preds = %merge25
  %tmp16 = add i32 %tmp15, 1
  %14 = getelementptr inbounds double* %table, i32 %tmp16
  %table__el = load double* %14, align 1
  %15 = getelementptr inbounds double* %table, i32 %tmp15
  %table__el103 = load double* %15, align 1
  %tmp17 = fsub double %table__el, %table__el103
  %tmp18 = fmul double %tmp17, %fractions__el
  %tmp19 = fadd double %tmp18, %table__el103
  br label %merge26

true17:                                           ; preds = %merge27, %merge26
  %y_135 = phi double [ %tmp27, %merge27 ], [ %y_132, %merge26 ]
  ret double %y_135

false18:                                          ; preds = %merge26
  %tmp20 = add i32 %stride, %tmp15
  store i32 %tmp20, i32* %bpIdx_, align 1
  br i1 %27, label %true19, label %false20

true19:                                           ; preds = %false18
  %16 = getelementptr inbounds double* %table, i32 %tmp20
  %table__el130 = load double* %16, align 1
  br label %merge27

false20:                                          ; preds = %false18
  %tmp21 = add i32 %tmp20, 1
  %17 = getelementptr inbounds double* %table, i32 %tmp21
  %table__el120 = load double* %17, align 1
  %18 = getelementptr inbounds double* %table, i32 %tmp20
  %table__el123 = load double* %18, align 1
  %tmp22 = fsub double %table__el120, %table__el123
  %tmp23 = fmul double %tmp22, %fractions__el
  %tmp24 = fadd double %tmp23, %table__el123
  br label %merge27

merge:                                            ; preds = %true3, %true1
  %bpIdx_56 = phi i32 [ %prevIndex__el, %true1 ], [ %tmp6, %true3 ]
  store i32 %bpIdx_56, i32* %bpIdx_, align 1
  %19 = getelementptr inbounds double* %bp0, i32 %bpIdx_56
  %bp0__el40 = load double* %19, align 1
  %20 = fcmp olt double %u0, %bp0__el40
  br i1 %20, label %true3, label %false4

merge22:                                          ; preds = %false2, %false6, %true
  %bpIndices__el115 = phi i32 [ 0, %true ], [ %maxIndex__el, %false2 ], [ %bpIdx_55, %false6 ]
  %fractions__el = phi double [ 0.000000e+00, %true ], [ 0.000000e+00, %false2 ], [ %tmp4, %false6 ]
  store double %fractions__el, double* %frac_, align 1
  store i32 %bpIndices__el115, i32* %prevIndex, align 1
  %21 = getelementptr inbounds [2 x double]* %fractions_, i32 0, i32 0
  store double %fractions__el, double* %21, align 1
  %22 = getelementptr inbounds [2 x i32]* %bpIndices_, i32 0, i32 0
  store i32 %bpIndices__el115, i32* %22, align 1
  %bp1__el = load double* %bp1, align 1
  %23 = fcmp ugt double %u1, %bp1__el
  br i1 %23, label %false8, label %true7

merge23:                                          ; preds = %true11, %true9
  %bpIdx_91 = phi i32 [ %prevIndex__el71, %true9 ], [ %tmp13, %true11 ]
  store i32 %bpIdx_91, i32* %bpIdx_, align 1
  %24 = getelementptr inbounds double* %bp1, i32 %bpIdx_91
  %bp1__el75 = load double* %24, align 1
  %25 = fcmp olt double %u1, %bp1__el75
  br i1 %25, label %true11, label %false12

merge25:                                          ; preds = %false10, %false14, %true7
  %bpIdx_110 = phi i32 [ 0, %true7 ], [ %maxIndex__el66, %false10 ], [ %bpIdx_90, %false14 ]
  %frac_133 = phi double [ 0.000000e+00, %true7 ], [ 0.000000e+00, %false10 ], [ %tmp11, %false14 ]
  store double %frac_133, double* %frac_, align 1
  %26 = getelementptr inbounds i32* %prevIndex, i32 1
  store i32 %bpIdx_110, i32* %26, align 1
  %tmp14 = mul i32 %stride, %bpIdx_110
  %tmp15 = add i32 %tmp14, %bpIndices__el115
  store i32 %tmp15, i32* %offset_1d_, align 1
  %maxIndex__el98 = load i32* %maxIndex, align 1
  %27 = icmp eq i32 %bpIndices__el115, %maxIndex__el98
  br i1 %27, label %true15, label %false16

merge26:                                          ; preds = %true15, %false16
  %y_132 = phi double [ %tmp19, %false16 ], [ %table__el109, %true15 ]
  store double %y_132, double* %y_, align 1
  %28 = getelementptr inbounds i32* %maxIndex, i32 1
  %maxIndex__el112 = load i32* %28, align 1
  %29 = icmp eq i32 %bpIdx_110, %maxIndex__el112
  br i1 %29, label %true17, label %false18

merge27:                                          ; preds = %true19, %false20
  %storemerge140 = phi double [ %tmp24, %false20 ], [ %table__el130, %true19 ]
  %tmp25 = fsub double %storemerge140, %y_132
  %tmp26 = fmul double %tmp25, %frac_133
  %tmp27 = fadd double %y_132, %tmp26
  store double %tmp27, double* %y_, align 1
  br label %true17
}

define double @look2_pbinlxpw(double %u0, double %u1, double* %bp0, double* %bp1, double* %table, i32* %prevIndex, i32* %maxIndex, i32 %stride) {
look2_pbinlxpw_entry:
  %u0_ = alloca double
  store double %u0, double* %u0_, align 1
  %u1_ = alloca double
  store double %u1, double* %u1_, align 1
  %bp0_ = alloca double*
  store double* %bp0, double** %bp0_, align 1
  %bp1_ = alloca double*
  store double* %bp1, double** %bp1_, align 1
  %table_ = alloca double*
  store double* %table, double** %table_, align 1
  %prevIndex_ = alloca i32*
  store i32* %prevIndex, i32** %prevIndex_, align 1
  %maxIndex_ = alloca i32*
  store i32* %maxIndex, i32** %maxIndex_, align 1
  %stride_ = alloca i32
  store i32 %stride, i32* %stride_, align 1
  %frac_ = alloca double
  %bpIndices_ = alloca [2 x i32]
  %fractions_ = alloca [2 x double]
  %yL_1d_ = alloca double
  %iRght_ = alloca i32
  %iLeft_ = alloca i32
  %found_ = alloca i32
  %bpIdx_ = alloca i32
  %y_ = alloca double
  %bp0__el = load double* %bp0, align 1
  %0 = fcmp ugt double %u0, %bp0__el
  br i1 %0, label %false, label %true

true:                                             ; preds = %look2_pbinlxpw_entry
  store i32 0, i32* %bpIdx_, align 1
  %tmp15 = fsub double %u0, %bp0__el
  %1 = getelementptr inbounds double* %bp0, i32 1
  %bp0__el81 = load double* %1, align 1
  %tmp16 = fsub double %bp0__el81, %bp0__el
  %tmp17 = fdiv double %tmp15, %tmp16
  br label %merge22

false:                                            ; preds = %look2_pbinlxpw_entry
  %maxIndex__el = load i32* %maxIndex, align 1
  %2 = getelementptr inbounds double* %bp0, i32 %maxIndex__el
  %bp0__el33 = load double* %2, align 1
  %3 = fcmp olt double %u0, %bp0__el33
  br i1 %3, label %true1, label %false2

true1:                                            ; preds = %false
  %prevIndex__el = load i32* %prevIndex, align 1
  store i32 %prevIndex__el, i32* %bpIdx_, align 1
  store i32 0, i32* %iLeft_, align 1
  store i32 %maxIndex__el, i32* %iRght_, align 1
  store i32 0, i32* %found_, align 1
  br label %merge

false2:                                           ; preds = %false
  %tmp0 = add i32 %maxIndex__el, -1
  store i32 %tmp0, i32* %bpIdx_, align 1
  %4 = getelementptr inbounds double* %bp0, i32 %tmp0
  %bp0__el40 = load double* %4, align 1
  %tmp2 = fsub double %u0, %bp0__el40
  %tmp4 = fsub double %bp0__el33, %bp0__el40
  %tmp5 = fdiv double %tmp2, %tmp4
  br label %merge22

true3:                                            ; preds = %merge
  %5 = fcmp olt double %u0, %bp0__el66
  br i1 %5, label %true5, label %false6

false4:                                           ; preds = %merge
  %tmp6 = fsub double %u0, %bp0__el66
  %tmp7 = add i32 %bpIdx_61, 1
  %6 = getelementptr inbounds double* %bp0, i32 %tmp7
  %bp0__el59 = load double* %6, align 1
  %tmp8 = fsub double %bp0__el59, %bp0__el66
  %tmp9 = fdiv double %tmp6, %tmp8
  br label %merge22

true5:                                            ; preds = %true3
  %tmp13 = add i32 %bpIdx_61, -1
  store i32 %tmp13, i32* %iRght_, align 1
  %tmp14 = add i32 %tmp13, %iLeft_76
  %7 = lshr i32 %tmp14, 1
  store i32 %7, i32* %bpIdx_, align 1
  br label %merge

false6:                                           ; preds = %true3
  %tmp10 = add i32 %bpIdx_61, 1
  %8 = getelementptr inbounds double* %bp0, i32 %tmp10
  %bp0__el70 = load double* %8, align 1
  %9 = fcmp olt double %u0, %bp0__el70
  br i1 %9, label %true7, label %false8

true7:                                            ; preds = %false6
  store i32 1, i32* %found_, align 1
  br label %merge

false8:                                           ; preds = %false6
  store i32 %tmp10, i32* %iLeft_, align 1
  %tmp12 = add i32 %iRght_72, %tmp10
  %10 = lshr i32 %tmp12, 1
  store i32 %10, i32* %bpIdx_, align 1
  br label %merge

true9:                                            ; preds = %merge22
  store i32 0, i32* %bpIdx_, align 1
  %tmp33 = fsub double %u1, %bp1__el
  %11 = getelementptr inbounds double* %bp1, i32 1
  %bp1__el143 = load double* %11, align 1
  %tmp34 = fsub double %bp1__el143, %bp1__el
  %tmp35 = fdiv double %tmp33, %tmp34
  br label %merge27

false10:                                          ; preds = %merge22
  %12 = getelementptr inbounds i32* %maxIndex, i32 1
  %maxIndex__el93 = load i32* %12, align 1
  %13 = getelementptr inbounds double* %bp1, i32 %maxIndex__el93
  %bp1__el94 = load double* %13, align 1
  %14 = fcmp olt double %u1, %bp1__el94
  br i1 %14, label %true11, label %false12

true11:                                           ; preds = %false10
  %15 = getelementptr inbounds i32* %prevIndex, i32 1
  %prevIndex__el111 = load i32* %15, align 1
  store i32 %prevIndex__el111, i32* %bpIdx_, align 1
  store i32 0, i32* %iLeft_, align 1
  store i32 %maxIndex__el93, i32* %iRght_, align 1
  store i32 0, i32* %found_, align 1
  br label %merge23

false12:                                          ; preds = %false10
  %tmp18 = add i32 %maxIndex__el93, -1
  store i32 %tmp18, i32* %bpIdx_, align 1
  %16 = getelementptr inbounds double* %bp1, i32 %tmp18
  %bp1__el101 = load double* %16, align 1
  %tmp20 = fsub double %u1, %bp1__el101
  %tmp22 = fsub double %bp1__el94, %bp1__el101
  %tmp23 = fdiv double %tmp20, %tmp22
  br label %merge27

true13:                                           ; preds = %merge23
  %17 = fcmp olt double %u1, %bp1__el128
  br i1 %17, label %true15, label %false16

false14:                                          ; preds = %merge23
  %tmp24 = fsub double %u1, %bp1__el128
  %tmp25 = add i32 %bpIdx_123, 1
  %18 = getelementptr inbounds double* %bp1, i32 %tmp25
  %bp1__el121 = load double* %18, align 1
  %tmp26 = fsub double %bp1__el121, %bp1__el128
  %tmp27 = fdiv double %tmp24, %tmp26
  br label %merge27

true15:                                           ; preds = %true13
  %tmp31 = add i32 %bpIdx_123, -1
  store i32 %tmp31, i32* %iRght_, align 1
  %tmp32 = add i32 %tmp31, %iLeft_138
  %19 = lshr i32 %tmp32, 1
  store i32 %19, i32* %bpIdx_, align 1
  br label %merge23

false16:                                          ; preds = %true13
  %tmp28 = add i32 %bpIdx_123, 1
  %20 = getelementptr inbounds double* %bp1, i32 %tmp28
  %bp1__el132 = load double* %20, align 1
  %21 = fcmp olt double %u1, %bp1__el132
  br i1 %21, label %true17, label %false18

true17:                                           ; preds = %false16
  store i32 1, i32* %found_, align 1
  br label %merge23

false18:                                          ; preds = %false16
  store i32 %tmp28, i32* %iLeft_, align 1
  %tmp30 = add i32 %iRght_134, %tmp28
  %22 = lshr i32 %tmp30, 1
  store i32 %22, i32* %bpIdx_, align 1
  br label %merge23

merge:                                            ; preds = %true5, %true7, %false8, %true1
  %iRght_72 = phi i32 [ %maxIndex__el, %true1 ], [ %tmp13, %true5 ], [ %iRght_72, %true7 ], [ %iRght_72, %false8 ]
  %iLeft_76 = phi i32 [ 0, %true1 ], [ %iLeft_76, %true5 ], [ %iLeft_76, %true7 ], [ %tmp10, %false8 ]
  %bpIdx_61 = phi i32 [ %prevIndex__el, %true1 ], [ %7, %true5 ], [ %bpIdx_61, %true7 ], [ %10, %false8 ]
  %found_52 = phi i32 [ 0, %true1 ], [ 0, %true5 ], [ 1, %true7 ], [ 0, %false8 ]
  %23 = icmp eq i32 %found_52, 0
  %24 = getelementptr inbounds double* %bp0, i32 %bpIdx_61
  %bp0__el66 = load double* %24, align 1
  br i1 %23, label %true3, label %false4

merge22:                                          ; preds = %false2, %false4, %true
  %bpIndices__el = phi i32 [ 0, %true ], [ %tmp0, %false2 ], [ %bpIdx_61, %false4 ]
  %fractions__el166 = phi double [ %tmp17, %true ], [ %tmp5, %false2 ], [ %tmp9, %false4 ]
  store double %fractions__el166, double* %frac_, align 1
  store i32 %bpIndices__el, i32* %prevIndex, align 1
  %25 = getelementptr inbounds [2 x double]* %fractions_, i32 0, i32 0
  store double %fractions__el166, double* %25, align 1
  %26 = getelementptr inbounds [2 x i32]* %bpIndices_, i32 0, i32 0
  store i32 %bpIndices__el, i32* %26, align 1
  %bp1__el = load double* %bp1, align 1
  %27 = fcmp ugt double %u1, %bp1__el
  br i1 %27, label %false10, label %true9

merge23:                                          ; preds = %true15, %true17, %false18, %true11
  %iRght_134 = phi i32 [ %maxIndex__el93, %true11 ], [ %tmp31, %true15 ], [ %iRght_134, %true17 ], [ %iRght_134, %false18 ]
  %iLeft_138 = phi i32 [ 0, %true11 ], [ %iLeft_138, %true15 ], [ %iLeft_138, %true17 ], [ %tmp28, %false18 ]
  %bpIdx_123 = phi i32 [ %prevIndex__el111, %true11 ], [ %19, %true15 ], [ %bpIdx_123, %true17 ], [ %22, %false18 ]
  %found_114 = phi i32 [ 0, %true11 ], [ 0, %true15 ], [ 1, %true17 ], [ 0, %false18 ]
  %28 = icmp eq i32 %found_114, 0
  %29 = getelementptr inbounds double* %bp1, i32 %bpIdx_123
  %bp1__el128 = load double* %29, align 1
  br i1 %28, label %true13, label %false14

merge27:                                          ; preds = %false12, %false14, %true9
  %bpIdx_148 = phi i32 [ 0, %true9 ], [ %tmp18, %false12 ], [ %bpIdx_123, %false14 ]
  %storemerge176 = phi double [ %tmp35, %true9 ], [ %tmp23, %false12 ], [ %tmp27, %false14 ]
  store double %storemerge176, double* %frac_, align 1
  %30 = getelementptr inbounds i32* %prevIndex, i32 1
  store i32 %bpIdx_148, i32* %30, align 1
  %tmp36 = mul i32 %stride, %bpIdx_148
  %tmp37 = add i32 %tmp36, %bpIndices__el
  store i32 %tmp37, i32* %iLeft_, align 1
  %tmp38 = add i32 %tmp37, 1
  %31 = getelementptr inbounds double* %table, i32 %tmp38
  %table__el = load double* %31, align 1
  %32 = getelementptr inbounds double* %table, i32 %tmp37
  %table__el154 = load double* %32, align 1
  %tmp39 = fsub double %table__el, %table__el154
  %tmp40 = fmul double %tmp39, %fractions__el166
  %tmp41 = fadd double %tmp40, %table__el154
  store double %tmp41, double* %yL_1d_, align 1
  %tmp42 = add i32 %stride, %tmp37
  store i32 %tmp42, i32* %iLeft_, align 1
  %tmp43 = add i32 %tmp42, 1
  %33 = getelementptr inbounds double* %table, i32 %tmp43
  %table__el162 = load double* %33, align 1
  %34 = getelementptr inbounds double* %table, i32 %tmp42
  %table__el165 = load double* %34, align 1
  %tmp44 = fsub double %table__el162, %table__el165
  %tmp45 = fmul double %tmp44, %fractions__el166
  %tmp46 = fadd double %tmp45, %table__el165
  %tmp47 = fsub double %tmp46, %tmp41
  %tmp48 = fmul double %tmp47, %storemerge176
  %tmp49 = fadd double %tmp41, %tmp48
  store double %tmp49, double* %y_, align 1
  ret double %tmp49
}

declare void @vm_ssSetBlkStateChange(i8*)

declare double @muDoubleScalarAtan(double)

declare double @muDoubleScalarCos(double)

declare void @vm_ssSetStopRequested(i8*, i32)

declare double @muDoubleScalarSin(double)

define void @SystemInitialize(i8* %"%<tSimStruct>") {
SystemInitialize_entry:
  %"%<tSimStruct>_" = alloca i8*
  store i8* %"%<tSimStruct>", i8** %"%<tSimStruct>_", align 1
  %i_ = alloca i32
  %_rtB_ = alloca %B_REVS_VM_T.12*
  %_rtP_ = alloca %P_REVS_VM_T.17*
  %_rtX_ = alloca %X_REVS_VM_T.18*
  %_rtDW_ = alloca %DW_REVS_VM_T.16*
  %vm_ssIsFirstInitCondVar0_ = alloca i8
  %0 = call i8 @vm_ssIsFirstInitCond(i8* %"%<tSimStruct>")
  store i8 %0, i8* %vm_ssIsFirstInitCondVar0_, align 1
  %"%<tSimStruct>_27" = load i8** %"%<tSimStruct>_", align 1
  %1 = call i8* @vm_ssGetRootDWork(i8* %"%<tSimStruct>_27")
  %2 = bitcast i8* %1 to %DW_REVS_VM_T.16*
  store %DW_REVS_VM_T.16* %2, %DW_REVS_VM_T.16** %_rtDW_, align 1
  %"%<tSimStruct>_28" = load i8** %"%<tSimStruct>_", align 1
  %3 = call i8* @vm_ssGetX(i8* %"%<tSimStruct>_28")
  %4 = bitcast i8* %3 to %X_REVS_VM_T.18*
  store %X_REVS_VM_T.18* %4, %X_REVS_VM_T.18** %_rtX_, align 1
  %"%<tSimStruct>_29" = load i8** %"%<tSimStruct>_", align 1
  %5 = call i8* @vm_ssGetModelRtp(i8* %"%<tSimStruct>_29")
  %6 = bitcast i8* %5 to %P_REVS_VM_T.17*
  store %P_REVS_VM_T.17* %6, %P_REVS_VM_T.17** %_rtP_, align 1
  %"%<tSimStruct>_30" = load i8** %"%<tSimStruct>_", align 1
  %7 = call i8* @vm__ssGetModelBlockIO(i8* %"%<tSimStruct>_30")
  %8 = bitcast i8* %7 to %B_REVS_VM_T.12*
  store %B_REVS_VM_T.12* %8, %B_REVS_VM_T.12** %_rtB_, align 1
  %_rtP_31 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %9 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_31, i32 0, i32 159
  %_rtP__Memory_52_X0 = load double* %9, align 1
  %_rtDW_32 = load %DW_REVS_VM_T.16** %_rtDW_, align 1
  %10 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_32, i32 0, i32 5
  store double %_rtP__Memory_52_X0, double* %10, align 1
  %_rtP_33 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %11 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_33, i32 0, i32 160
  %_rtP__Memory_58_X0 = load double* %11, align 1
  %_rtDW_34 = load %DW_REVS_VM_T.16** %_rtDW_, align 1
  %12 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_34, i32 0, i32 6
  store double %_rtP__Memory_58_X0, double* %12, align 1
  %13 = icmp eq i8 %0, 0
  br i1 %13, label %false, label %true

true:                                             ; preds = %SystemInitialize_entry
  %_rtX_36 = load %X_REVS_VM_T.18** %_rtX_, align 1
  %14 = getelementptr inbounds %X_REVS_VM_T.18* %_rtX_36, i32 0, i32 0
  store double 0.000000e+00, double* %14, align 1
  br label %false

false:                                            ; preds = %SystemInitialize_entry, %true
  %_rtDW_37 = load %DW_REVS_VM_T.16** %_rtDW_, align 1
  %15 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_37, i32 0, i32 839
  store i32 1, i32* %15, align 1
  %_rtP_38 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %16 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_38, i32 0, i32 177
  %_rtP__Memory2_X0 = load double* %16, align 1
  %_rtDW_39 = load %DW_REVS_VM_T.16** %_rtDW_, align 1
  %17 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_39, i32 0, i32 7
  store double %_rtP__Memory2_X0, double* %17, align 1
  %_rtP_40 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %18 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_40, i32 0, i32 178
  %_rtP__Integrator_IC = load double* %18, align 1
  %_rtX_41 = load %X_REVS_VM_T.18** %_rtX_, align 1
  %19 = getelementptr inbounds %X_REVS_VM_T.18* %_rtX_41, i32 0, i32 1
  store double %_rtP__Integrator_IC, double* %19, align 1
  %_rtP_42 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %20 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_42, i32 0, i32 179
  %_rtP__Integrator_IC_d = load double* %20, align 1
  %_rtX_43 = load %X_REVS_VM_T.18** %_rtX_, align 1
  %21 = getelementptr inbounds %X_REVS_VM_T.18* %_rtX_43, i32 0, i32 2
  store double %_rtP__Integrator_IC_d, double* %21, align 1
  %_rtP_44 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %22 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_44, i32 0, i32 191
  %_rtP__Memory_51_X0 = load double* %22, align 1
  %_rtDW_45 = load %DW_REVS_VM_T.16** %_rtDW_, align 1
  %23 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_45, i32 0, i32 8
  store double %_rtP__Memory_51_X0, double* %23, align 1
  %_rtP_46 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %24 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_46, i32 0, i32 196
  %_rtP__Memory_54_X0 = load double* %24, align 1
  %_rtDW_47 = load %DW_REVS_VM_T.16** %_rtDW_, align 1
  %25 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_47, i32 0, i32 9
  store double %_rtP__Memory_54_X0, double* %25, align 1
  %_rtP_48 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %26 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_48, i32 0, i32 229
  %_rtP__Memory2_X0_m = load double* %26, align 1
  %_rtDW_49 = load %DW_REVS_VM_T.16** %_rtDW_, align 1
  %27 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_49, i32 0, i32 10
  store double %_rtP__Memory2_X0_m, double* %27, align 1
  %_rtP_50 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %28 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_50, i32 0, i32 236
  %_rtP__Integrator_IC_e = load double* %28, align 1
  %_rtX_51 = load %X_REVS_VM_T.18** %_rtX_, align 1
  %29 = getelementptr inbounds %X_REVS_VM_T.18* %_rtX_51, i32 0, i32 3
  store double %_rtP__Integrator_IC_e, double* %29, align 1
  %_rtX_52 = load %X_REVS_VM_T.18** %_rtX_, align 1
  %30 = getelementptr inbounds %X_REVS_VM_T.18* %_rtX_52, i32 0, i32 4
  store double 0.000000e+00, double* %30, align 1
  %_rtP_53 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %31 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_53, i32 0, i32 243
  %_rtP__Memory_50_X0 = load double* %31, align 1
  %_rtDW_54 = load %DW_REVS_VM_T.16** %_rtDW_, align 1
  %32 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_54, i32 0, i32 11
  store double %_rtP__Memory_50_X0, double* %32, align 1
  %_rtP_55 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %33 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_55, i32 0, i32 244
  %_rtP__Memory_X0 = load double* %33, align 1
  %_rtDW_56 = load %DW_REVS_VM_T.16** %_rtDW_, align 1
  %34 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_56, i32 0, i32 12
  store double %_rtP__Memory_X0, double* %34, align 1
  %_rtP_57 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %35 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_57, i32 0, i32 246
  %_rtP__Integrator1_IC_ms = load double* %35, align 1
  %_rtX_58 = load %X_REVS_VM_T.18** %_rtX_, align 1
  %36 = getelementptr inbounds %X_REVS_VM_T.18* %_rtX_58, i32 0, i32 5
  store double %_rtP__Integrator1_IC_ms, double* %36, align 1
  %_rtP_59 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %37 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_59, i32 0, i32 1442
  %_rtP__Memory_53_X0 = load i8* %37, align 1
  %_rtDW_60 = load %DW_REVS_VM_T.16** %_rtDW_, align 1
  %38 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_60, i32 0, i32 1019
  store i8 %_rtP__Memory_53_X0, i8* %38, align 1
  %_rtP_61 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %39 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_61, i32 0, i32 1444
  %_rtP__Memory_1_X0 = load i8* %39, align 1
  %_rtDW_62 = load %DW_REVS_VM_T.16** %_rtDW_, align 1
  %40 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_62, i32 0, i32 1020
  store i8 %_rtP__Memory_1_X0, i8* %40, align 1
  %_rtP_63 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %41 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_63, i32 0, i32 253
  %_rtP__Memory_2_X0 = load double* %41, align 1
  %_rtDW_64 = load %DW_REVS_VM_T.16** %_rtDW_, align 1
  %42 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_64, i32 0, i32 13
  store double %_rtP__Memory_2_X0, double* %42, align 1
  %_rtDW_65 = load %DW_REVS_VM_T.16** %_rtDW_, align 1
  %43 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_65, i32 0, i32 16
  store double 0x7FF0000000000000, double* %43, align 1
  %_rtP_66 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %44 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_66, i32 0, i32 1445
  %_rtP__Memory2_X0_p = load i8* %44, align 1
  %_rtDW_67 = load %DW_REVS_VM_T.16** %_rtDW_, align 1
  %45 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_67, i32 0, i32 1021
  store i8 %_rtP__Memory2_X0_p, i8* %45, align 1
  br i1 %13, label %false2, label %true1

true1:                                            ; preds = %false
  %_rtX_69 = load %X_REVS_VM_T.18** %_rtX_, align 1
  %46 = getelementptr inbounds %X_REVS_VM_T.18* %_rtX_69, i32 0, i32 6
  store double 0.000000e+00, double* %46, align 1
  br label %false2

false2:                                           ; preds = %false, %true1
  %_rtDW_70 = load %DW_REVS_VM_T.16** %_rtDW_, align 1
  %47 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_70, i32 0, i32 840
  store i32 1, i32* %47, align 1
  %_rtP_71 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %48 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_71, i32 0, i32 1446
  %_rtP__Memory1_X0_es = load i8* %48, align 1
  %_rtDW_72 = load %DW_REVS_VM_T.16** %_rtDW_, align 1
  %49 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_72, i32 0, i32 1022
  store i8 %_rtP__Memory1_X0_es, i8* %49, align 1
  %_rtP_73 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %50 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_73, i32 0, i32 269
  %_rtP__Memory_33_X0 = load double* %50, align 1
  %_rtDW_74 = load %DW_REVS_VM_T.16** %_rtDW_, align 1
  %51 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_74, i32 0, i32 18
  store double %_rtP__Memory_33_X0, double* %51, align 1
  %_rtP_75 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %52 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_75, i32 0, i32 270
  %_rtP__DelayInput1_InitialCondition = load double* %52, align 1
  %_rtDW_76 = load %DW_REVS_VM_T.16** %_rtDW_, align 1
  %53 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_76, i32 0, i32 0
  store double %_rtP__DelayInput1_InitialCondition, double* %53, align 1
  %_rtP_77 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %54 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_77, i32 0, i32 272
  %_rtP__DelayInput1_InitialCondition_a = load double* %54, align 1
  %_rtDW_78 = load %DW_REVS_VM_T.16** %_rtDW_, align 1
  %55 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_78, i32 0, i32 1
  store double %_rtP__DelayInput1_InitialCondition_a, double* %55, align 1
  %_rtP_79 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %56 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_79, i32 0, i32 273
  %_rtP__Memory_X0_a = load double* %56, align 1
  %_rtDW_80 = load %DW_REVS_VM_T.16** %_rtDW_, align 1
  %57 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_80, i32 0, i32 19
  store double %_rtP__Memory_X0_a, double* %57, align 1
  %_rtP_81 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %58 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_81, i32 0, i32 274
  %_rtP__Memory_31_X0 = load double* %58, align 1
  %_rtDW_82 = load %DW_REVS_VM_T.16** %_rtDW_, align 1
  %59 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_82, i32 0, i32 20
  store double %_rtP__Memory_31_X0, double* %59, align 1
  %_rtP_83 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %60 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_83, i32 0, i32 275
  %_rtP__Memory_12_X0 = load double* %60, align 1
  %_rtDW_84 = load %DW_REVS_VM_T.16** %_rtDW_, align 1
  %61 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_84, i32 0, i32 21
  store double %_rtP__Memory_12_X0, double* %61, align 1
  %_rtP_85 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %62 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_85, i32 0, i32 280
  %_rtP__Memory_10_X0 = load double* %62, align 1
  %_rtDW_86 = load %DW_REVS_VM_T.16** %_rtDW_, align 1
  %63 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_86, i32 0, i32 22
  store double %_rtP__Memory_10_X0, double* %63, align 1
  %_rtP_87 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %64 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_87, i32 0, i32 288
  %_rtP__Memory_21_X0 = load double* %64, align 1
  %_rtDW_88 = load %DW_REVS_VM_T.16** %_rtDW_, align 1
  %65 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_88, i32 0, i32 23
  store double %_rtP__Memory_21_X0, double* %65, align 1
  %_rtP_89 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %66 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_89, i32 0, i32 304
  %_rtP__Integrator1_IC_d = load double* %66, align 1
  %_rtX_90 = load %X_REVS_VM_T.18** %_rtX_, align 1
  %67 = getelementptr inbounds %X_REVS_VM_T.18* %_rtX_90, i32 0, i32 7
  store double %_rtP__Integrator1_IC_d, double* %67, align 1
  %_rtDW_91 = load %DW_REVS_VM_T.16** %_rtDW_, align 1
  %68 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_91, i32 0, i32 25
  store double 0x7FF0000000000000, double* %68, align 1
  %_rtP_92 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %69 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_92, i32 0, i32 315
  %_rtP__Memory_X0_m = load double* %69, align 1
  %_rtDW_93 = load %DW_REVS_VM_T.16** %_rtDW_, align 1
  %70 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_93, i32 0, i32 26
  store double %_rtP__Memory_X0_m, double* %70, align 1
  br i1 %13, label %false4, label %true3

true3:                                            ; preds = %false2
  %_rtX_95 = load %X_REVS_VM_T.18** %_rtX_, align 1
  %71 = getelementptr inbounds %X_REVS_VM_T.18* %_rtX_95, i32 0, i32 8
  store double 0.000000e+00, double* %71, align 1
  br label %false4

false4:                                           ; preds = %false2, %true3
  %_rtDW_96 = load %DW_REVS_VM_T.16** %_rtDW_, align 1
  %72 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_96, i32 0, i32 841
  store i32 1, i32* %72, align 1
  %_rtP_97 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %73 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_97, i32 0, i32 373
  %_rtP__Integrator1_IC_fk = load double* %73, align 1
  %_rtX_98 = load %X_REVS_VM_T.18** %_rtX_, align 1
  %74 = getelementptr inbounds %X_REVS_VM_T.18* %_rtX_98, i32 0, i32 9
  store double %_rtP__Integrator1_IC_fk, double* %74, align 1
  %_rtP_99 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %75 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_99, i32 0, i32 381
  %_rtP__Memory_8_X0 = load double* %75, align 1
  %_rtDW_100 = load %DW_REVS_VM_T.16** %_rtDW_, align 1
  %76 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_100, i32 0, i32 27
  store double %_rtP__Memory_8_X0, double* %76, align 1
  %_rtP_101 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %77 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_101, i32 0, i32 1464
  %_rtP__Memory2_X0_pc = load i8* %77, align 1
  %_rtDW_102 = load %DW_REVS_VM_T.16** %_rtDW_, align 1
  %78 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_102, i32 0, i32 1023
  store i8 %_rtP__Memory2_X0_pc, i8* %78, align 1
  %_rtP_103 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %79 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_103, i32 0, i32 383
  %_rtP__Integrator_IC_o = load double* %79, align 1
  %_rtX_104 = load %X_REVS_VM_T.18** %_rtX_, align 1
  %80 = getelementptr inbounds %X_REVS_VM_T.18* %_rtX_104, i32 0, i32 10
  store double %_rtP__Integrator_IC_o, double* %80, align 1
  %_rtP_105 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %81 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_105, i32 0, i32 385
  %_rtP__Filter_IC = load double* %81, align 1
  %_rtX_106 = load %X_REVS_VM_T.18** %_rtX_, align 1
  %82 = getelementptr inbounds %X_REVS_VM_T.18* %_rtX_106, i32 0, i32 11
  store double %_rtP__Filter_IC, double* %82, align 1
  %_rtDW_107 = load %DW_REVS_VM_T.16** %_rtDW_, align 1
  %83 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_107, i32 0, i32 29
  store double 0x7FF0000000000000, double* %83, align 1
  %_rtP_108 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %84 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_108, i32 0, i32 1467
  %_rtP__Memory2_X0_a = load i8* %84, align 1
  %_rtDW_109 = load %DW_REVS_VM_T.16** %_rtDW_, align 1
  %85 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_109, i32 0, i32 1024
  store i8 %_rtP__Memory2_X0_a, i8* %85, align 1
  %_rtP_110 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %86 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_110, i32 0, i32 397
  %_rtP__Integrator1_IC_l = load double* %86, align 1
  %_rtX_111 = load %X_REVS_VM_T.18** %_rtX_, align 1
  %87 = getelementptr inbounds %X_REVS_VM_T.18* %_rtX_111, i32 0, i32 12
  store double %_rtP__Integrator1_IC_l, double* %87, align 1
  %_rtP_112 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %88 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_112, i32 0, i32 405
  %_rtP__Memory_42_X0 = load double* %88, align 1
  %_rtDW_113 = load %DW_REVS_VM_T.16** %_rtDW_, align 1
  %89 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_113, i32 0, i32 30
  store double %_rtP__Memory_42_X0, double* %89, align 1
  %_rtP_114 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %90 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_114, i32 0, i32 408
  %_rtP__Memory_9_X0 = load double* %90, align 1
  %_rtDW_115 = load %DW_REVS_VM_T.16** %_rtDW_, align 1
  %91 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_115, i32 0, i32 31
  store double %_rtP__Memory_9_X0, double* %91, align 1
  %_rtP_116 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %92 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_116, i32 0, i32 410
  %_rtP__Memory_49_X0 = load double* %92, align 1
  %_rtDW_117 = load %DW_REVS_VM_T.16** %_rtDW_, align 1
  %93 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_117, i32 0, i32 32
  store double %_rtP__Memory_49_X0, double* %93, align 1
  %_rtDW_118 = load %DW_REVS_VM_T.16** %_rtDW_, align 1
  %94 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_118, i32 0, i32 34
  store double 0x7FF0000000000000, double* %94, align 1
  %_rtP_119 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %95 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_119, i32 0, i32 428
  %_rtP__Integrator_IC_c = load double* %95, align 1
  %_rtX_120 = load %X_REVS_VM_T.18** %_rtX_, align 1
  %96 = getelementptr inbounds %X_REVS_VM_T.18* %_rtX_120, i32 0, i32 13
  store double %_rtP__Integrator_IC_c, double* %96, align 1
  %_rtP_121 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %97 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_121, i32 0, i32 430
  %_rtP__Filter_IC_o = load double* %97, align 1
  %_rtX_122 = load %X_REVS_VM_T.18** %_rtX_, align 1
  %98 = getelementptr inbounds %X_REVS_VM_T.18* %_rtX_122, i32 0, i32 14
  store double %_rtP__Filter_IC_o, double* %98, align 1
  %_rtP_123 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %99 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_123, i32 0, i32 1470
  %_rtP__Memory_X0_i = load i8* %99, align 1
  %_rtDW_124 = load %DW_REVS_VM_T.16** %_rtDW_, align 1
  %100 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_124, i32 0, i32 1025
  store i8 %_rtP__Memory_X0_i, i8* %100, align 1
  %_rtP_125 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %101 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_125, i32 0, i32 473
  %_rtP__Integrator1_IC_j = load double* %101, align 1
  %_rtX_126 = load %X_REVS_VM_T.18** %_rtX_, align 1
  %102 = getelementptr inbounds %X_REVS_VM_T.18* %_rtX_126, i32 0, i32 15
  store double %_rtP__Integrator1_IC_j, double* %102, align 1
  %_rtP_127 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %103 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_127, i32 0, i32 476
  %_rtP__Integrator3_IC = load double* %103, align 1
  %_rtX_128 = load %X_REVS_VM_T.18** %_rtX_, align 1
  %104 = getelementptr inbounds %X_REVS_VM_T.18* %_rtX_128, i32 0, i32 16
  store double %_rtP__Integrator3_IC, double* %104, align 1
  %_rtP_129 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %105 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_129, i32 0, i32 479
  %_rtP__Integrator2_IC = load double* %105, align 1
  %_rtX_130 = load %X_REVS_VM_T.18** %_rtX_, align 1
  %106 = getelementptr inbounds %X_REVS_VM_T.18* %_rtX_130, i32 0, i32 17
  store double %_rtP__Integrator2_IC, double* %106, align 1
  br label %merge

true5:                                            ; preds = %merge
  %107 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_545, i32 0, i32 485
  %_rtP__Integrator2_IC_d = load double* %107, align 1
  %_rtX_546 = load %X_REVS_VM_T.18** %_rtX_, align 1
  %108 = getelementptr inbounds %X_REVS_VM_T.18* %_rtX_546, i32 0, i32 18, i32 %i_547
  store double %_rtP__Integrator2_IC_d, double* %108, align 1
  %i_548 = load i32* %i_, align 1
  %tmp5 = add i32 %i_548, 1
  br label %merge

false6:                                           ; preds = %merge
  %109 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_545, i32 0, i32 486
  %_rtP__Integrator1_IC_f0 = load double* %109, align 1
  %_rtX_133 = load %X_REVS_VM_T.18** %_rtX_, align 1
  %110 = getelementptr inbounds %X_REVS_VM_T.18* %_rtX_133, i32 0, i32 19
  store double %_rtP__Integrator1_IC_f0, double* %110, align 1
  %_rtP_134 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %111 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_134, i32 0, i32 488
  %_rtP__Integrator_IC_b = load double* %111, align 1
  %_rtX_135 = load %X_REVS_VM_T.18** %_rtX_, align 1
  %112 = getelementptr inbounds %X_REVS_VM_T.18* %_rtX_135, i32 0, i32 20
  store double %_rtP__Integrator_IC_b, double* %112, align 1
  %vm_ssIsFirstInitCondVar0_136 = load i8* %vm_ssIsFirstInitCondVar0_, align 1
  %113 = icmp eq i8 %vm_ssIsFirstInitCondVar0_136, 0
  br i1 %113, label %false8, label %true7

true7:                                            ; preds = %false6
  %_rtX_137 = load %X_REVS_VM_T.18** %_rtX_, align 1
  %114 = getelementptr inbounds %X_REVS_VM_T.18* %_rtX_137, i32 0, i32 21
  store double 2.000000e+01, double* %114, align 1
  br label %false8

false8:                                           ; preds = %false6, %true7
  %_rtDW_138 = load %DW_REVS_VM_T.16** %_rtDW_, align 1
  %115 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_138, i32 0, i32 842
  store i32 1, i32* %115, align 1
  %_rtP_139 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %116 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_139, i32 0, i32 555
  %_rtP__Memory_57_X0 = load double* %116, align 1
  %_rtDW_140 = load %DW_REVS_VM_T.16** %_rtDW_, align 1
  %117 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_140, i32 0, i32 35
  store double %_rtP__Memory_57_X0, double* %117, align 1
  %_rtX_141 = load %X_REVS_VM_T.18** %_rtX_, align 1
  %118 = getelementptr inbounds %X_REVS_VM_T.18* %_rtX_141, i32 0, i32 22
  store double 0.000000e+00, double* %118, align 1
  %_rtP_142 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %119 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_142, i32 0, i32 572
  %_rtP__Integrator1_IC_c = load double* %119, align 1
  %_rtX_143 = load %X_REVS_VM_T.18** %_rtX_, align 1
  %120 = getelementptr inbounds %X_REVS_VM_T.18* %_rtX_143, i32 0, i32 23
  store double %_rtP__Integrator1_IC_c, double* %120, align 1
  %_rtP_144 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %121 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_144, i32 0, i32 578
  %_rtP__Memory_55_X0 = load double* %121, align 1
  %_rtDW_145 = load %DW_REVS_VM_T.16** %_rtDW_, align 1
  %122 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_145, i32 0, i32 36
  store double %_rtP__Memory_55_X0, double* %122, align 1
  %_rtP_146 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %123 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_146, i32 0, i32 585
  %_rtP__Integrator1_IC_b = load double* %123, align 1
  %_rtX_147 = load %X_REVS_VM_T.18** %_rtX_, align 1
  %124 = getelementptr inbounds %X_REVS_VM_T.18* %_rtX_147, i32 0, i32 25
  store double %_rtP__Integrator1_IC_b, double* %124, align 1
  %_rtDW_148 = load %DW_REVS_VM_T.16** %_rtDW_, align 1
  %125 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_148, i32 0, i32 37
  store double 0x7FF0000000000000, double* %125, align 1
  %_rtDW_149 = load %DW_REVS_VM_T.16** %_rtDW_, align 1
  %126 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_149, i32 0, i32 39
  store double 0x7FF0000000000000, double* %126, align 1
  %_rtP_150 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %127 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_150, i32 0, i32 1493
  %_rtP__Memory_15_X0 = load i8* %127, align 1
  %_rtDW_151 = load %DW_REVS_VM_T.16** %_rtDW_, align 1
  %128 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_151, i32 0, i32 1026
  store i8 %_rtP__Memory_15_X0, i8* %128, align 1
  %_rtX_152 = load %X_REVS_VM_T.18** %_rtX_, align 1
  %129 = getelementptr inbounds %X_REVS_VM_T.18* %_rtX_152, i32 0, i32 26
  store double 0.000000e+00, double* %129, align 1
  %_rtP_153 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %130 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_153, i32 0, i32 599
  %_rtP__Memory_X0_m1 = load double* %130, align 1
  %_rtDW_154 = load %DW_REVS_VM_T.16** %_rtDW_, align 1
  %131 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_154, i32 0, i32 41
  store double %_rtP__Memory_X0_m1, double* %131, align 1
  %_rtP_155 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %132 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_155, i32 0, i32 606
  %_rtP__Integrator1_IC_j1 = load double* %132, align 1
  %_rtX_156 = load %X_REVS_VM_T.18** %_rtX_, align 1
  %133 = getelementptr inbounds %X_REVS_VM_T.18* %_rtX_156, i32 0, i32 27
  store double %_rtP__Integrator1_IC_j1, double* %133, align 1
  %_rtP_157 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %134 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_157, i32 0, i32 607
  %_rtP__Memory_X0_f = load double* %134, align 1
  %_rtDW_158 = load %DW_REVS_VM_T.16** %_rtDW_, align 1
  %135 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_158, i32 0, i32 42
  store double %_rtP__Memory_X0_f, double* %135, align 1
  %_rtP_159 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %136 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_159, i32 0, i32 609
  %_rtP__Integrator1_IC_cd = load double* %136, align 1
  %_rtX_160 = load %X_REVS_VM_T.18** %_rtX_, align 1
  %137 = getelementptr inbounds %X_REVS_VM_T.18* %_rtX_160, i32 0, i32 28
  store double %_rtP__Integrator1_IC_cd, double* %137, align 1
  %_rtP_161 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %138 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_161, i32 0, i32 1495
  %_rtP__Memory2_X0_et = load i8* %138, align 1
  %_rtDW_162 = load %DW_REVS_VM_T.16** %_rtDW_, align 1
  %139 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_162, i32 0, i32 1027
  store i8 %_rtP__Memory2_X0_et, i8* %139, align 1
  %_rtP_163 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %140 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_163, i32 0, i32 617
  %_rtP__Memory_17_X0 = load double* %140, align 1
  %_rtDW_164 = load %DW_REVS_VM_T.16** %_rtDW_, align 1
  %141 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_164, i32 0, i32 43
  store double %_rtP__Memory_17_X0, double* %141, align 1
  %_rtP_165 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %142 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_165, i32 0, i32 618
  %_rtP__runningtimer_IC = load double* %142, align 1
  %_rtX_166 = load %X_REVS_VM_T.18** %_rtX_, align 1
  %143 = getelementptr inbounds %X_REVS_VM_T.18* %_rtX_166, i32 0, i32 29
  store double %_rtP__runningtimer_IC, double* %143, align 1
  %_rtDW_167 = load %DW_REVS_VM_T.16** %_rtDW_, align 1
  %144 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_167, i32 0, i32 51
  store double 0x7FF0000000000000, double* %144, align 1
  %_rtP_168 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %145 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_168, i32 0, i32 631
  %_rtP__Integrator_IC_bt = load double* %145, align 1
  %_rtX_169 = load %X_REVS_VM_T.18** %_rtX_, align 1
  %146 = getelementptr inbounds %X_REVS_VM_T.18* %_rtX_169, i32 0, i32 30
  store double %_rtP__Integrator_IC_bt, double* %146, align 1
  %_rtDW_170 = load %DW_REVS_VM_T.16** %_rtDW_, align 1
  %147 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_170, i32 0, i32 52
  store double 0x7FF0000000000000, double* %147, align 1
  %_rtDW_171 = load %DW_REVS_VM_T.16** %_rtDW_, align 1
  %148 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_171, i32 0, i32 54
  store double 0x7FF0000000000000, double* %148, align 1
  %_rtDW_172 = load %DW_REVS_VM_T.16** %_rtDW_, align 1
  %149 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_172, i32 0, i32 56
  store double 0x7FF0000000000000, double* %149, align 1
  %_rtDW_173 = load %DW_REVS_VM_T.16** %_rtDW_, align 1
  %150 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_173, i32 0, i32 58
  store double 0x7FF0000000000000, double* %150, align 1
  %_rtP_174 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %151 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_174, i32 0, i32 649
  %_rtP__Integrator_IC_g = load double* %151, align 1
  %_rtX_175 = load %X_REVS_VM_T.18** %_rtX_, align 1
  %152 = getelementptr inbounds %X_REVS_VM_T.18* %_rtX_175, i32 0, i32 31
  store double %_rtP__Integrator_IC_g, double* %152, align 1
  %_rtP_176 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %153 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_176, i32 0, i32 662
  %_rtP__Memory_11_X0 = load double* %153, align 1
  %_rtDW_177 = load %DW_REVS_VM_T.16** %_rtDW_, align 1
  %154 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_177, i32 0, i32 60
  store double %_rtP__Memory_11_X0, double* %154, align 1
  %_rtDW_178 = load %DW_REVS_VM_T.16** %_rtDW_, align 1
  %155 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_178, i32 0, i32 63
  store double 0x7FF0000000000000, double* %155, align 1
  %_rtP_179 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %156 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_179, i32 0, i32 699
  %_rtP__DelayInput1_InitialCondition_g = load double* %156, align 1
  %_rtDW_180 = load %DW_REVS_VM_T.16** %_rtDW_, align 1
  %157 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_180, i32 0, i32 2
  store double %_rtP__DelayInput1_InitialCondition_g, double* %157, align 1
  %_rtDW_181 = load %DW_REVS_VM_T.16** %_rtDW_, align 1
  %158 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_181, i32 0, i32 66
  store double 0x7FF0000000000000, double* %158, align 1
  %_rtDW_182 = load %DW_REVS_VM_T.16** %_rtDW_, align 1
  %159 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_182, i32 0, i32 68
  store double 0x7FF0000000000000, double* %159, align 1
  br label %merge21

true9:                                            ; preds = %merge21
  %160 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_538, i32 0, i32 584
  %_rtP__Integrator2_IC_a = load double* %160, align 1
  %_rtX_539 = load %X_REVS_VM_T.18** %_rtX_, align 1
  %161 = getelementptr inbounds %X_REVS_VM_T.18* %_rtX_539, i32 0, i32 24, i32 %i_540
  store double %_rtP__Integrator2_IC_a, double* %161, align 1
  %_rtP_541 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %162 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_541, i32 0, i32 764
  %_rtP__PhaseMemory_X0 = load double* %162, align 1
  %_rtDW_542 = load %DW_REVS_VM_T.16** %_rtDW_, align 1
  %i_543 = load i32* %i_, align 1
  %163 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_542, i32 0, i32 70, i32 %i_543
  store double %_rtP__PhaseMemory_X0, double* %163, align 1
  %i_544 = load i32* %i_, align 1
  %tmp4 = add i32 %i_544, 1
  br label %merge21

false10:                                          ; preds = %merge21
  %164 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_538, i32 0, i32 765
  %_rtP__TotalMemory_X0 = load double* %164, align 1
  %_rtDW_185 = load %DW_REVS_VM_T.16** %_rtDW_, align 1
  %165 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_185, i32 0, i32 71
  store double %_rtP__TotalMemory_X0, double* %165, align 1
  %_rtP_186 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %166 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_186, i32 0, i32 766
  %_rtP__Memory_X0_j = load double* %166, align 1
  %_rtDW_187 = load %DW_REVS_VM_T.16** %_rtDW_, align 1
  %167 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_187, i32 0, i32 72
  store double %_rtP__Memory_X0_j, double* %167, align 1
  %_rtP_188 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %168 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_188, i32 0, i32 768
  %_rtP__LastGear_X0 = load double* %168, align 1
  %_rtDW_189 = load %DW_REVS_VM_T.16** %_rtDW_, align 1
  %169 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_189, i32 0, i32 73
  store double %_rtP__LastGear_X0, double* %169, align 1
  br label %merge22

true11:                                           ; preds = %merge22
  %_rtP_534 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %170 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_534, i32 0, i32 769
  %_rtP__Integrator2_IC_f = load double* %170, align 1
  %_rtX_535 = load %X_REVS_VM_T.18** %_rtX_, align 1
  %171 = getelementptr inbounds %X_REVS_VM_T.18* %_rtX_535, i32 0, i32 32, i32 %i_536
  store double %_rtP__Integrator2_IC_f, double* %171, align 1
  %i_537 = load i32* %i_, align 1
  %tmp3 = add i32 %i_537, 1
  br label %merge22

true13:                                           ; preds = %merge23
  %172 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_530, i32 0, i32 770
  %_rtP__Integrator1_IC_a = load double* %172, align 1
  %_rtX_531 = load %X_REVS_VM_T.18** %_rtX_, align 1
  %173 = getelementptr inbounds %X_REVS_VM_T.18* %_rtX_531, i32 0, i32 33, i32 %i_532
  store double %_rtP__Integrator1_IC_a, double* %173, align 1
  %i_533 = load i32* %i_, align 1
  %tmp2 = add i32 %i_533, 1
  br label %merge23

false14:                                          ; preds = %merge23
  %174 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_530, i32 0, i32 773
  %_rtP__TotalMemory_X0_b = load double* %174, align 1
  %_rtDW_193 = load %DW_REVS_VM_T.16** %_rtDW_, align 1
  %175 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_193, i32 0, i32 75
  store double %_rtP__TotalMemory_X0_b, double* %175, align 1
  %_rtP_194 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %176 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_194, i32 0, i32 789
  %_rtP__Memory_48_X0 = load double* %176, align 1
  %_rtDW_195 = load %DW_REVS_VM_T.16** %_rtDW_, align 1
  %177 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_195, i32 0, i32 76
  store double %_rtP__Memory_48_X0, double* %177, align 1
  %_rtX_196 = load %X_REVS_VM_T.18** %_rtX_, align 1
  %178 = getelementptr inbounds %X_REVS_VM_T.18* %_rtX_196, i32 0, i32 34
  store double 0.000000e+00, double* %178, align 1
  %_rtP_197 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %179 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_197, i32 0, i32 793
  %_rtP__Memory_X0_m2 = load double* %179, align 1
  %_rtDW_198 = load %DW_REVS_VM_T.16** %_rtDW_, align 1
  %180 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_198, i32 0, i32 77
  store double %_rtP__Memory_X0_m2, double* %180, align 1
  %_rtP_199 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %181 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_199, i32 0, i32 797
  %_rtP__Memory1_X0 = load double* %181, align 1
  %_rtDW_200 = load %DW_REVS_VM_T.16** %_rtDW_, align 1
  %182 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_200, i32 0, i32 78
  store double %_rtP__Memory1_X0, double* %182, align 1
  %_rtP_201 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %183 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_201, i32 0, i32 798
  %_rtP__Memory2_X0_e = load double* %183, align 1
  %_rtDW_202 = load %DW_REVS_VM_T.16** %_rtDW_, align 1
  %184 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_202, i32 0, i32 79
  store double %_rtP__Memory2_X0_e, double* %184, align 1
  %_rtP_203 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %185 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_203, i32 0, i32 799
  %_rtP__Memory3_X0 = load double* %185, align 1
  %_rtDW_204 = load %DW_REVS_VM_T.16** %_rtDW_, align 1
  %186 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_204, i32 0, i32 80
  store double %_rtP__Memory3_X0, double* %186, align 1
  %_rtP_205 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %187 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_205, i32 0, i32 800
  %_rtP__Memory1_X0_c = load double* %187, align 1
  %_rtDW_206 = load %DW_REVS_VM_T.16** %_rtDW_, align 1
  %188 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_206, i32 0, i32 81
  store double %_rtP__Memory1_X0_c, double* %188, align 1
  %_rtP_207 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %189 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_207, i32 0, i32 801
  %_rtP__Memory_3_X0 = load double* %189, align 1
  %_rtDW_208 = load %DW_REVS_VM_T.16** %_rtDW_, align 1
  %190 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_208, i32 0, i32 82
  store double %_rtP__Memory_3_X0, double* %190, align 1
  %_rtP_209 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %191 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_209, i32 0, i32 802
  %_rtP__Memory_5_X0 = load double* %191, align 1
  %_rtDW_210 = load %DW_REVS_VM_T.16** %_rtDW_, align 1
  %192 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_210, i32 0, i32 83
  store double %_rtP__Memory_5_X0, double* %192, align 1
  %_rtP_211 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %193 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_211, i32 0, i32 805
  %_rtP__Memory_40_X0 = load double* %193, align 1
  %_rtDW_212 = load %DW_REVS_VM_T.16** %_rtDW_, align 1
  %194 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_212, i32 0, i32 84
  store double %_rtP__Memory_40_X0, double* %194, align 1
  %_rtP_213 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %195 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_213, i32 0, i32 807
  %_rtP__Memory_39_X0 = load double* %195, align 1
  %_rtDW_214 = load %DW_REVS_VM_T.16** %_rtDW_, align 1
  %196 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_214, i32 0, i32 85
  store double %_rtP__Memory_39_X0, double* %196, align 1
  %_rtP_215 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %197 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_215, i32 0, i32 824
  %_rtP__Memory1_X0_e = load double* %197, align 1
  %_rtDW_216 = load %DW_REVS_VM_T.16** %_rtDW_, align 1
  %198 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_216, i32 0, i32 86
  store double %_rtP__Memory1_X0_e, double* %198, align 1
  %_rtP_217 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %199 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_217, i32 0, i32 1525
  %_rtP__Memory_24_X0 = load i8* %199, align 1
  %_rtDW_218 = load %DW_REVS_VM_T.16** %_rtDW_, align 1
  %200 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_218, i32 0, i32 1028
  store i8 %_rtP__Memory_24_X0, i8* %200, align 1
  %_rtP_219 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %201 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_219, i32 0, i32 865
  %_rtP__Memory_14_X0 = load double* %201, align 1
  %_rtDW_220 = load %DW_REVS_VM_T.16** %_rtDW_, align 1
  %202 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_220, i32 0, i32 87
  store double %_rtP__Memory_14_X0, double* %202, align 1
  %_rtP_221 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %203 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_221, i32 0, i32 880
  %_rtP__Memory1_X0_l = load double* %203, align 1
  %_rtDW_222 = load %DW_REVS_VM_T.16** %_rtDW_, align 1
  %204 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_222, i32 0, i32 88
  store double %_rtP__Memory1_X0_l, double* %204, align 1
  %_rtP_223 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %205 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_223, i32 0, i32 893
  %_rtP__Memory_X0_au = load double* %205, align 1
  %_rtDW_224 = load %DW_REVS_VM_T.16** %_rtDW_, align 1
  %206 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_224, i32 0, i32 89
  store double %_rtP__Memory_X0_au, double* %206, align 1
  %_rtP_225 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %207 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_225, i32 0, i32 894
  %_rtP__DelayInput1_InitialCondition_f = load double* %207, align 1
  %_rtDW_226 = load %DW_REVS_VM_T.16** %_rtDW_, align 1
  %208 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_226, i32 0, i32 3
  store double %_rtP__DelayInput1_InitialCondition_f, double* %208, align 1
  %_rtP_227 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %209 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_227, i32 0, i32 895
  %_rtP__Memory1_X0_g = load double* %209, align 1
  %_rtDW_228 = load %DW_REVS_VM_T.16** %_rtDW_, align 1
  %210 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_228, i32 0, i32 90
  store double %_rtP__Memory1_X0_g, double* %210, align 1
  %_rtP_229 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %211 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_229, i32 0, i32 930
  %_rtP__Integrator1_IC_ml0 = load double* %211, align 1
  %_rtX_230 = load %X_REVS_VM_T.18** %_rtX_, align 1
  %212 = getelementptr inbounds %X_REVS_VM_T.18* %_rtX_230, i32 0, i32 36
  store double %_rtP__Integrator1_IC_ml0, double* %212, align 1
  %_rtDW_231 = load %DW_REVS_VM_T.16** %_rtDW_, align 1
  %213 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_231, i32 0, i32 91
  store double 0x7FF0000000000000, double* %213, align 1
  %_rtDW_232 = load %DW_REVS_VM_T.16** %_rtDW_, align 1
  %214 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_232, i32 0, i32 93
  store double 0x7FF0000000000000, double* %214, align 1
  %_rtP_233 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %215 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_233, i32 0, i32 933
  %_rtP__TotalMemory_X0_k = load double* %215, align 1
  %_rtDW_234 = load %DW_REVS_VM_T.16** %_rtDW_, align 1
  %216 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_234, i32 0, i32 96
  store double %_rtP__TotalMemory_X0_k, double* %216, align 1
  %_rtP_235 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %217 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_235, i32 0, i32 935
  %_rtP__DelayInput1_InitialCondition_e = load double* %217, align 1
  %_rtDW_236 = load %DW_REVS_VM_T.16** %_rtDW_, align 1
  %218 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_236, i32 0, i32 4
  store double %_rtP__DelayInput1_InitialCondition_e, double* %218, align 1
  %_rtP_237 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %219 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_237, i32 0, i32 937
  %_rtP__Integrator1_IC_li = load double* %219, align 1
  %_rtX_238 = load %X_REVS_VM_T.18** %_rtX_, align 1
  %220 = getelementptr inbounds %X_REVS_VM_T.18* %_rtX_238, i32 0, i32 38
  store double %_rtP__Integrator1_IC_li, double* %220, align 1
  %_rtP_239 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %221 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_239, i32 0, i32 939
  %_rtP__Integrator1_IC_gl = load double* %221, align 1
  %_rtX_240 = load %X_REVS_VM_T.18** %_rtX_, align 1
  %222 = getelementptr inbounds %X_REVS_VM_T.18* %_rtX_240, i32 0, i32 40
  store double %_rtP__Integrator1_IC_gl, double* %222, align 1
  %_rtP_241 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %223 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_241, i32 0, i32 951
  %_rtP__RateLimiter_IC = load double* %223, align 1
  %_rtDW_242 = load %DW_REVS_VM_T.16** %_rtDW_, align 1
  %224 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_242, i32 0, i32 97
  store double %_rtP__RateLimiter_IC, double* %224, align 1
  %_rtP_243 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %225 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_243, i32 0, i32 952
  %_rtP__Memory_16_X0 = load double* %225, align 1
  %_rtDW_244 = load %DW_REVS_VM_T.16** %_rtDW_, align 1
  %226 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_244, i32 0, i32 98
  store double %_rtP__Memory_16_X0, double* %226, align 1
  %_rtP_245 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %227 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_245, i32 0, i32 956
  %_rtP__Memory_18_X0 = load double* %227, align 1
  %_rtDW_246 = load %DW_REVS_VM_T.16** %_rtDW_, align 1
  %228 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_246, i32 0, i32 99
  store double %_rtP__Memory_18_X0, double* %228, align 1
  %_rtP_247 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %229 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_247, i32 0, i32 970
  %_rtP__RateLimiter1_IC = load double* %229, align 1
  %_rtDW_248 = load %DW_REVS_VM_T.16** %_rtDW_, align 1
  %230 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_248, i32 0, i32 100
  store double %_rtP__RateLimiter1_IC, double* %230, align 1
  %_rtP_249 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %231 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_249, i32 0, i32 1527
  %_rtP__Memory2_X0_b = load i8* %231, align 1
  %_rtDW_250 = load %DW_REVS_VM_T.16** %_rtDW_, align 1
  %232 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_250, i32 0, i32 1031
  store i8 %_rtP__Memory2_X0_b, i8* %232, align 1
  %_rtP_251 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %233 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_251, i32 0, i32 971
  %_rtP__dfcorefueltimer_IC = load double* %233, align 1
  %_rtX_252 = load %X_REVS_VM_T.18** %_rtX_, align 1
  %234 = getelementptr inbounds %X_REVS_VM_T.18* %_rtX_252, i32 0, i32 41
  store double %_rtP__dfcorefueltimer_IC, double* %234, align 1
  %_rtP_253 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %235 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_253, i32 0, i32 977
  %_rtP__deac_off_timer_IC = load double* %235, align 1
  %_rtX_254 = load %X_REVS_VM_T.18** %_rtX_, align 1
  %236 = getelementptr inbounds %X_REVS_VM_T.18* %_rtX_254, i32 0, i32 42
  store double %_rtP__deac_off_timer_IC, double* %236, align 1
  %_rtDW_255 = load %DW_REVS_VM_T.16** %_rtDW_, align 1
  %237 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_255, i32 0, i32 101
  store double 0x7FF0000000000000, double* %237, align 1
  %_rtDW_256 = load %DW_REVS_VM_T.16** %_rtDW_, align 1
  %238 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_256, i32 0, i32 103
  store double 0x7FF0000000000000, double* %238, align 1
  %_rtP_257 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %239 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_257, i32 0, i32 994
  %_rtP__Integrator1_IC_g0 = load double* %239, align 1
  %_rtX_258 = load %X_REVS_VM_T.18** %_rtX_, align 1
  %240 = getelementptr inbounds %X_REVS_VM_T.18* %_rtX_258, i32 0, i32 44
  store double %_rtP__Integrator1_IC_g0, double* %240, align 1
  %_rtP_259 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %241 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_259, i32 0, i32 997
  %_rtP__Integrator1_IC_an = load double* %241, align 1
  %_rtX_260 = load %X_REVS_VM_T.18** %_rtX_, align 1
  %242 = getelementptr inbounds %X_REVS_VM_T.18* %_rtX_260, i32 0, i32 46
  store double %_rtP__Integrator1_IC_an, double* %242, align 1
  br label %merge24

true15:                                           ; preds = %merge24
  %243 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_505, i32 0, i32 772
  %_rtP__PhaseMemory_X0_f = load double* %243, align 1
  %_rtDW_506 = load %DW_REVS_VM_T.16** %_rtDW_, align 1
  %244 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_506, i32 0, i32 74, i32 %i_507
  store double %_rtP__PhaseMemory_X0_f, double* %244, align 1
  %_rtP_508 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %245 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_508, i32 0, i32 929
  %_rtP__Integrator2_IC_h = load double* %245, align 1
  %_rtX_509 = load %X_REVS_VM_T.18** %_rtX_, align 1
  %i_510 = load i32* %i_, align 1
  %246 = getelementptr inbounds %X_REVS_VM_T.18* %_rtX_509, i32 0, i32 35, i32 %i_510
  store double %_rtP__Integrator2_IC_h, double* %246, align 1
  %_rtP_511 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %247 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_511, i32 0, i32 932
  %_rtP__PhaseMemory_X0_h = load double* %247, align 1
  %_rtDW_512 = load %DW_REVS_VM_T.16** %_rtDW_, align 1
  %i_513 = load i32* %i_, align 1
  %248 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_512, i32 0, i32 95, i32 %i_513
  store double %_rtP__PhaseMemory_X0_h, double* %248, align 1
  %_rtP_514 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %249 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_514, i32 0, i32 936
  %_rtP__Integrator2_IC_ft = load double* %249, align 1
  %_rtX_515 = load %X_REVS_VM_T.18** %_rtX_, align 1
  %i_516 = load i32* %i_, align 1
  %250 = getelementptr inbounds %X_REVS_VM_T.18* %_rtX_515, i32 0, i32 37, i32 %i_516
  store double %_rtP__Integrator2_IC_ft, double* %250, align 1
  %_rtP_517 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %251 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_517, i32 0, i32 938
  %_rtP__Integrator2_IC_k = load double* %251, align 1
  %_rtX_518 = load %X_REVS_VM_T.18** %_rtX_, align 1
  %i_519 = load i32* %i_, align 1
  %252 = getelementptr inbounds %X_REVS_VM_T.18* %_rtX_518, i32 0, i32 39, i32 %i_519
  store double %_rtP__Integrator2_IC_k, double* %252, align 1
  %_rtP_520 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %253 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_520, i32 0, i32 993
  %_rtP__Integrator2_IC_dm = load double* %253, align 1
  %_rtX_521 = load %X_REVS_VM_T.18** %_rtX_, align 1
  %i_522 = load i32* %i_, align 1
  %254 = getelementptr inbounds %X_REVS_VM_T.18* %_rtX_521, i32 0, i32 43, i32 %i_522
  store double %_rtP__Integrator2_IC_dm, double* %254, align 1
  %_rtP_523 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %255 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_523, i32 0, i32 996
  %_rtP__Integrator2_IC_dz = load double* %255, align 1
  %_rtX_524 = load %X_REVS_VM_T.18** %_rtX_, align 1
  %i_525 = load i32* %i_, align 1
  %256 = getelementptr inbounds %X_REVS_VM_T.18* %_rtX_524, i32 0, i32 45, i32 %i_525
  store double %_rtP__Integrator2_IC_dz, double* %256, align 1
  %_rtP_526 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %257 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_526, i32 0, i32 999
  %_rtP__Integrator2_IC_b = load double* %257, align 1
  %_rtX_527 = load %X_REVS_VM_T.18** %_rtX_, align 1
  %i_528 = load i32* %i_, align 1
  %258 = getelementptr inbounds %X_REVS_VM_T.18* %_rtX_527, i32 0, i32 47, i32 %i_528
  store double %_rtP__Integrator2_IC_b, double* %258, align 1
  %i_529 = load i32* %i_, align 1
  %tmp1 = add i32 %i_529, 1
  br label %merge24

false16:                                          ; preds = %merge24
  %259 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_505, i32 0, i32 1000
  %_rtP__Integrator1_IC_dr = load double* %259, align 1
  %_rtX_263 = load %X_REVS_VM_T.18** %_rtX_, align 1
  %260 = getelementptr inbounds %X_REVS_VM_T.18* %_rtX_263, i32 0, i32 48
  store double %_rtP__Integrator1_IC_dr, double* %260, align 1
  %_rtDW_264 = load %DW_REVS_VM_T.16** %_rtDW_, align 1
  %261 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_264, i32 0, i32 105
  store double 0x7FF0000000000000, double* %261, align 1
  %_rtDW_265 = load %DW_REVS_VM_T.16** %_rtDW_, align 1
  %262 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_265, i32 0, i32 107
  store double 0x7FF0000000000000, double* %262, align 1
  %_rtP_266 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %263 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_266, i32 0, i32 1010
  %_rtP__Integrator_IC_f = load double* %263, align 1
  %_rtX_267 = load %X_REVS_VM_T.18** %_rtX_, align 1
  %264 = getelementptr inbounds %X_REVS_VM_T.18* %_rtX_267, i32 0, i32 49
  store double %_rtP__Integrator_IC_f, double* %264, align 1
  %_rtP_268 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %265 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_268, i32 0, i32 1027
  %_rtP__Integrator_IC_l = load double* %265, align 1
  %_rtX_269 = load %X_REVS_VM_T.18** %_rtX_, align 1
  %266 = getelementptr inbounds %X_REVS_VM_T.18* %_rtX_269, i32 0, i32 50
  store double %_rtP__Integrator_IC_l, double* %266, align 1
  %_rtP_270 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %267 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_270, i32 0, i32 1030
  %_rtP__Integrator1_IC_d0 = load double* %267, align 1
  %_rtX_271 = load %X_REVS_VM_T.18** %_rtX_, align 1
  %268 = getelementptr inbounds %X_REVS_VM_T.18* %_rtX_271, i32 0, i32 51
  store double %_rtP__Integrator1_IC_d0, double* %268, align 1
  %_rtP_272 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %269 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_272, i32 0, i32 1033
  %_rtP__Integrator2_IC_m = load double* %269, align 1
  %_rtX_273 = load %X_REVS_VM_T.18** %_rtX_, align 1
  %270 = getelementptr inbounds %X_REVS_VM_T.18* %_rtX_273, i32 0, i32 52
  store double %_rtP__Integrator2_IC_m, double* %270, align 1
  %_rtP_274 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %271 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_274, i32 0, i32 1040
  %_rtP__Integrator3_IC_g = load double* %271, align 1
  %_rtX_275 = load %X_REVS_VM_T.18** %_rtX_, align 1
  %272 = getelementptr inbounds %X_REVS_VM_T.18* %_rtX_275, i32 0, i32 53
  store double %_rtP__Integrator3_IC_g, double* %272, align 1
  %_rtP_276 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %273 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_276, i32 0, i32 1048
  %_rtP__Integrator1_IC_fkt = load double* %273, align 1
  %_rtX_277 = load %X_REVS_VM_T.18** %_rtX_, align 1
  %274 = getelementptr inbounds %X_REVS_VM_T.18* %_rtX_277, i32 0, i32 54
  store double %_rtP__Integrator1_IC_fkt, double* %274, align 1
  %vm_ssIsFirstInitCondVar0_278 = load i8* %vm_ssIsFirstInitCondVar0_, align 1
  %275 = icmp eq i8 %vm_ssIsFirstInitCondVar0_278, 0
  br i1 %275, label %false18, label %true17

true17:                                           ; preds = %false16
  %_rtX_279 = load %X_REVS_VM_T.18** %_rtX_, align 1
  %276 = getelementptr inbounds %X_REVS_VM_T.18* %_rtX_279, i32 0, i32 55
  store double 0.000000e+00, double* %276, align 1
  br label %false18

false18:                                          ; preds = %false16, %true17
  %_rtDW_280 = load %DW_REVS_VM_T.16** %_rtDW_, align 1
  %277 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_280, i32 0, i32 843
  store i32 1, i32* %277, align 1
  %_rtP_281 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %278 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_281, i32 0, i32 1123
  %_rtP__Integrator1_IC_h = load double* %278, align 1
  %_rtX_282 = load %X_REVS_VM_T.18** %_rtX_, align 1
  %279 = getelementptr inbounds %X_REVS_VM_T.18* %_rtX_282, i32 0, i32 57
  store double %_rtP__Integrator1_IC_h, double* %279, align 1
  %_rtDW_283 = load %DW_REVS_VM_T.16** %_rtDW_, align 1
  %280 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_283, i32 0, i32 109
  store double 0x7FF0000000000000, double* %280, align 1
  %_rtDW_284 = load %DW_REVS_VM_T.16** %_rtDW_, align 1
  %281 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_284, i32 0, i32 111
  store double 0x7FF0000000000000, double* %281, align 1
  %_rtDW_285 = load %DW_REVS_VM_T.16** %_rtDW_, align 1
  %282 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_285, i32 0, i32 114
  store double 0x7FF0000000000000, double* %282, align 1
  %_rtP_286 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %283 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_286, i32 0, i32 1156
  %_rtP__Memory_56_X0 = load double* %283, align 1
  %_rtDW_287 = load %DW_REVS_VM_T.16** %_rtDW_, align 1
  %284 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_287, i32 0, i32 115
  store double %_rtP__Memory_56_X0, double* %284, align 1
  %_rtP_288 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %285 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_288, i32 0, i32 1531
  %_rtP__Memory_13_X0 = load i8* %285, align 1
  %_rtDW_289 = load %DW_REVS_VM_T.16** %_rtDW_, align 1
  %286 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_289, i32 0, i32 1032
  store i8 %_rtP__Memory_13_X0, i8* %286, align 1
  %_rtP_290 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %287 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_290, i32 0, i32 1176
  %_rtP__Memory_20_X0 = load double* %287, align 1
  %_rtDW_291 = load %DW_REVS_VM_T.16** %_rtDW_, align 1
  %288 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_291, i32 0, i32 116
  store double %_rtP__Memory_20_X0, double* %288, align 1
  %_rtP_292 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %289 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_292, i32 0, i32 1177
  %_rtP__Memory_59_X0 = load double* %289, align 1
  %_rtDW_293 = load %DW_REVS_VM_T.16** %_rtDW_, align 1
  %290 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_293, i32 0, i32 117
  store double %_rtP__Memory_59_X0, double* %290, align 1
  %_rtDW_294 = load %DW_REVS_VM_T.16** %_rtDW_, align 1
  %291 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_294, i32 0, i32 119
  store double 0x7FF0000000000000, double* %291, align 1
  %_rtP_295 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %292 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_295, i32 0, i32 1200
  %_rtP__Integrator_IC_oo = load double* %292, align 1
  %_rtX_296 = load %X_REVS_VM_T.18** %_rtX_, align 1
  %293 = getelementptr inbounds %X_REVS_VM_T.18* %_rtX_296, i32 0, i32 58
  store double %_rtP__Integrator_IC_oo, double* %293, align 1
  %_rtDW_297 = load %DW_REVS_VM_T.16** %_rtDW_, align 1
  %294 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_297, i32 0, i32 120
  store double 0x7FF0000000000000, double* %294, align 1
  %_rtDW_298 = load %DW_REVS_VM_T.16** %_rtDW_, align 1
  %295 = getelementptr inbounds %DW_REVS_VM_T.16* %_rtDW_298, i32 0, i32 122
  store double 0x7FF0000000000000, double* %295, align 1
  %_rtP_299 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %296 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_299, i32 0, i32 1234
  %_rtP__Integrator1_IC_hu = load double* %296, align 1
  %_rtX_300 = load %X_REVS_VM_T.18** %_rtX_, align 1
  %297 = getelementptr inbounds %X_REVS_VM_T.18* %_rtX_300, i32 0, i32 60
  store double %_rtP__Integrator1_IC_hu, double* %297, align 1
  %_rtP_301 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %298 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_301, i32 0, i32 1245
  %_rtP__Integrator1_IC_oi = load double* %298, align 1
  %_rtX_302 = load %X_REVS_VM_T.18** %_rtX_, align 1
  %299 = getelementptr inbounds %X_REVS_VM_T.18* %_rtX_302, i32 0, i32 61
  store double %_rtP__Integrator1_IC_oi, double* %299, align 1
  %_rtP_303 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %300 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_303, i32 0, i32 1254
  %_rtP__Integrator1_IC_k = load double* %300, align 1
  %_rtX_304 = load %X_REVS_VM_T.18** %_rtX_, align 1
  %301 = getelementptr inbounds %X_REVS_VM_T.18* %_rtX_304, i32 0, i32 63
  store double %_rtP__Integrator1_IC_k, double* %301, align 1
  %_rtP_305 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %302 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_305, i32 0, i32 1256
  %_rtP__Integrator1_IC_m2 = load double* %302, align 1
  %_rtX_306 = load %X_REVS_VM_T.18** %_rtX_, align 1
  %303 = getelementptr inbounds %X_REVS_VM_T.18* %_rtX_306, i32 0, i32 65
  store double %_rtP__Integrator1_IC_m2, double* %303, align 1
  %_rtP_307 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %304 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_307, i32 0, i32 1307
  %_rtP__Integrator1_IC_p = load double* %304, align 1
  %_rtX_308 = load %X_REVS_VM_T.18** %_rtX_, align 1
  %305 = getelementptr inbounds %X_REVS_VM_T.18* %_rtX_308, i32 0, i32 67
  store double %_rtP__Integrator1_IC_p, double* %305, align 1
  br label %merge25

true19:                                           ; preds = %merge25
  %306 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_486, i32 0, i32 1122
  %_rtP__Integrator2_IC_e = load double* %306, align 1
  %_rtX_487 = load %X_REVS_VM_T.18** %_rtX_, align 1
  %307 = getelementptr inbounds %X_REVS_VM_T.18* %_rtX_487, i32 0, i32 56, i32 %i_488
  store double %_rtP__Integrator2_IC_e, double* %307, align 1
  %_rtP_489 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %308 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_489, i32 0, i32 1233
  %_rtP__Integrator2_IC_o = load double* %308, align 1
  %_rtX_490 = load %X_REVS_VM_T.18** %_rtX_, align 1
  %i_491 = load i32* %i_, align 1
  %309 = getelementptr inbounds %X_REVS_VM_T.18* %_rtX_490, i32 0, i32 59, i32 %i_491
  store double %_rtP__Integrator2_IC_o, double* %309, align 1
  %_rtP_492 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %310 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_492, i32 0, i32 1253
  %_rtP__Integrator2_IC_bw = load double* %310, align 1
  %_rtX_493 = load %X_REVS_VM_T.18** %_rtX_, align 1
  %i_494 = load i32* %i_, align 1
  %311 = getelementptr inbounds %X_REVS_VM_T.18* %_rtX_493, i32 0, i32 62, i32 %i_494
  store double %_rtP__Integrator2_IC_bw, double* %311, align 1
  %_rtP_495 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %312 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_495, i32 0, i32 1255
  %_rtP__Integrator2_IC_ol = load double* %312, align 1
  %_rtX_496 = load %X_REVS_VM_T.18** %_rtX_, align 1
  %i_497 = load i32* %i_, align 1
  %313 = getelementptr inbounds %X_REVS_VM_T.18* %_rtX_496, i32 0, i32 64, i32 %i_497
  store double %_rtP__Integrator2_IC_ol, double* %313, align 1
  %_rtP_498 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %314 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_498, i32 0, i32 1306
  %_rtP__Integrator2_IC_p = load double* %314, align 1
  %_rtX_499 = load %X_REVS_VM_T.18** %_rtX_, align 1
  %i_500 = load i32* %i_, align 1
  %315 = getelementptr inbounds %X_REVS_VM_T.18* %_rtX_499, i32 0, i32 66, i32 %i_500
  store double %_rtP__Integrator2_IC_p, double* %315, align 1
  %_rtP_501 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %316 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_501, i32 0, i32 1308
  %_rtP__Integrator2_IC_oq = load double* %316, align 1
  %_rtX_502 = load %X_REVS_VM_T.18** %_rtX_, align 1
  %i_503 = load i32* %i_, align 1
  %317 = getelementptr inbounds %X_REVS_VM_T.18* %_rtX_502, i32 0, i32 68, i32 %i_503
  store double %_rtP__Integrator2_IC_oq, double* %317, align 1
  %i_504 = load i32* %i_, align 1
  %tmp0 = add i32 %i_504, 1
  br label %merge25

false20:                                          ; preds = %merge25
  %318 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_486, i32 0, i32 1309
  %_rtP__Integrator1_IC_i = load double* %318, align 1
  %_rtX_311 = load %X_REVS_VM_T.18** %_rtX_, align 1
  %319 = getelementptr inbounds %X_REVS_VM_T.18* %_rtX_311, i32 0, i32 69
  store double %_rtP__Integrator1_IC_i, double* %319, align 1
  %_rtP_312 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %320 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_312, i32 0, i32 1315
  %_rtP__Integrator1_IC_ov = load double* %320, align 1
  %_rtX_313 = load %X_REVS_VM_T.18** %_rtX_, align 1
  %321 = getelementptr inbounds %X_REVS_VM_T.18* %_rtX_313, i32 0, i32 70
  store double %_rtP__Integrator1_IC_ov, double* %321, align 1
  %"%<tSimStruct>_314" = load i8** %"%<tSimStruct>_", align 1
  %_rtP_315 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %322 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_315, i32 0, i32 1582
  %_rtX_316 = load %X_REVS_VM_T.18** %_rtX_, align 1
  %323 = getelementptr inbounds %X_REVS_VM_T.18* %_rtX_316, i32 0, i32 113
  call void @REVS_VM_ElecEnergyVA_Init(i8* %"%<tSimStruct>_314", %P_ElecEnergyVA_REVS_VM_T.2* %322, %X_ElecEnergyVA_REVS_VM_T.3* %323)
  %"%<tSimStruct>_317" = load i8** %"%<tSimStruct>_", align 1
  %_rtP_318 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %324 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_318, i32 0, i32 1581
  %_rtX_319 = load %X_REVS_VM_T.18** %_rtX_, align 1
  %325 = getelementptr inbounds %X_REVS_VM_T.18* %_rtX_319, i32 0, i32 112
  call void @REVS_VM_MechEnergyNmradps_Init(i8* %"%<tSimStruct>_317", %P_MechEnergyNmradps_REVS_VM_T.6* %324, %X_MechEnergyNmradps_REVS_VM_T.7* %325)
  %"%<tSimStruct>_320" = load i8** %"%<tSimStruct>_", align 1
  %_rtP_321 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %326 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_321, i32 0, i32 1580
  %_rtX_322 = load %X_REVS_VM_T.18** %_rtX_, align 1
  %327 = getelementptr inbounds %X_REVS_VM_T.18* %_rtX_322, i32 0, i32 111
  call void @REVS_VM_ElecEnergyVA_Init(i8* %"%<tSimStruct>_320", %P_ElecEnergyVA_REVS_VM_T.2* %326, %X_ElecEnergyVA_REVS_VM_T.3* %327)
  %"%<tSimStruct>_323" = load i8** %"%<tSimStruct>_", align 1
  %_rtP_324 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %328 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_324, i32 0, i32 1579
  %_rtX_325 = load %X_REVS_VM_T.18** %_rtX_, align 1
  %329 = getelementptr inbounds %X_REVS_VM_T.18* %_rtX_325, i32 0, i32 110
  call void @REVS_VM_MechEnergyNmradps_Init(i8* %"%<tSimStruct>_323", %P_MechEnergyNmradps_REVS_VM_T.6* %328, %X_MechEnergyNmradps_REVS_VM_T.7* %329)
  %"%<tSimStruct>_326" = load i8** %"%<tSimStruct>_", align 1
  %_rtP_327 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %330 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_327, i32 0, i32 1578
  %_rtX_328 = load %X_REVS_VM_T.18** %_rtX_, align 1
  %331 = getelementptr inbounds %X_REVS_VM_T.18* %_rtX_328, i32 0, i32 109
  call void @REVS_VM_ElecEnergyVA_Init(i8* %"%<tSimStruct>_326", %P_ElecEnergyVA_REVS_VM_T.2* %330, %X_ElecEnergyVA_REVS_VM_T.3* %331)
  %"%<tSimStruct>_329" = load i8** %"%<tSimStruct>_", align 1
  %_rtP_330 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %332 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_330, i32 0, i32 1577
  %_rtX_331 = load %X_REVS_VM_T.18** %_rtX_, align 1
  %333 = getelementptr inbounds %X_REVS_VM_T.18* %_rtX_331, i32 0, i32 108
  call void @REVS_VM_MechEnergyNmradps_Init(i8* %"%<tSimStruct>_329", %P_MechEnergyNmradps_REVS_VM_T.6* %332, %X_MechEnergyNmradps_REVS_VM_T.7* %333)
  %"%<tSimStruct>_332" = load i8** %"%<tSimStruct>_", align 1
  %_rtP_333 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %334 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_333, i32 0, i32 1576
  %_rtX_334 = load %X_REVS_VM_T.18** %_rtX_, align 1
  %335 = getelementptr inbounds %X_REVS_VM_T.18* %_rtX_334, i32 0, i32 107
  call void @REVS_VM_ElecEnergyVA_Init(i8* %"%<tSimStruct>_332", %P_ElecEnergyVA_REVS_VM_T.2* %334, %X_ElecEnergyVA_REVS_VM_T.3* %335)
  %"%<tSimStruct>_335" = load i8** %"%<tSimStruct>_", align 1
  %_rtP_336 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %336 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_336, i32 0, i32 1575
  %_rtX_337 = load %X_REVS_VM_T.18** %_rtX_, align 1
  %337 = getelementptr inbounds %X_REVS_VM_T.18* %_rtX_337, i32 0, i32 106
  call void @REVS_VM_MechEnergyNmradps_Init(i8* %"%<tSimStruct>_335", %P_MechEnergyNmradps_REVS_VM_T.6* %336, %X_MechEnergyNmradps_REVS_VM_T.7* %337)
  %"%<tSimStruct>_338" = load i8** %"%<tSimStruct>_", align 1
  %_rtP_339 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %338 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_339, i32 0, i32 1574
  %_rtX_340 = load %X_REVS_VM_T.18** %_rtX_, align 1
  %339 = getelementptr inbounds %X_REVS_VM_T.18* %_rtX_340, i32 0, i32 105
  call void @REVS_VM_ElecEnergyVA_Init(i8* %"%<tSimStruct>_338", %P_ElecEnergyVA_REVS_VM_T.2* %338, %X_ElecEnergyVA_REVS_VM_T.3* %339)
  %"%<tSimStruct>_341" = load i8** %"%<tSimStruct>_", align 1
  %_rtP_342 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %340 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_342, i32 0, i32 1573
  %_rtX_343 = load %X_REVS_VM_T.18** %_rtX_, align 1
  %341 = getelementptr inbounds %X_REVS_VM_T.18* %_rtX_343, i32 0, i32 104
  call void @REVS_VM_MechEnergyNmradps_Init(i8* %"%<tSimStruct>_341", %P_MechEnergyNmradps_REVS_VM_T.6* %340, %X_MechEnergyNmradps_REVS_VM_T.7* %341)
  %"%<tSimStruct>_344" = load i8** %"%<tSimStruct>_", align 1
  %_rtP_345 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %342 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_345, i32 0, i32 1572
  %_rtX_346 = load %X_REVS_VM_T.18** %_rtX_, align 1
  %343 = getelementptr inbounds %X_REVS_VM_T.18* %_rtX_346, i32 0, i32 103
  call void @REVS_VM_ElecEnergyVA_Init(i8* %"%<tSimStruct>_344", %P_ElecEnergyVA_REVS_VM_T.2* %342, %X_ElecEnergyVA_REVS_VM_T.3* %343)
  %_rtP_347 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %344 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_347, i32 0, i32 5
  %_rtP__pos_kJ_Y0 = load double* %344, align 1
  %_rtB_348 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %345 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_348, i32 0, i32 888, i32 2
  store double %_rtP__pos_kJ_Y0, double* %345, align 1
  %_rtP_349 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %346 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_349, i32 0, i32 6
  %_rtP__neg_kJ_Y0 = load double* %346, align 1
  %_rtB_350 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %347 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_350, i32 0, i32 888, i32 0
  store double %_rtP__neg_kJ_Y0, double* %347, align 1
  %"%<tSimStruct>_351" = load i8** %"%<tSimStruct>_", align 1
  %_rtP_352 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %348 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_352, i32 0, i32 1571
  %_rtX_353 = load %X_REVS_VM_T.18** %_rtX_, align 1
  %349 = getelementptr inbounds %X_REVS_VM_T.18* %_rtX_353, i32 0, i32 102
  call void @REVS_VM_MechEnergyNmradps_Init(i8* %"%<tSimStruct>_351", %P_MechEnergyNmradps_REVS_VM_T.6* %348, %X_MechEnergyNmradps_REVS_VM_T.7* %349)
  %_rtP_354 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %350 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_354, i32 0, i32 7
  %_rtP__pos_kJ_Y0_i = load double* %350, align 1
  %_rtB_355 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %351 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_355, i32 0, i32 887, i32 2
  store double %_rtP__pos_kJ_Y0_i, double* %351, align 1
  %_rtP_356 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %352 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_356, i32 0, i32 8
  %_rtP__neg_kJ_Y0_f = load double* %352, align 1
  %_rtB_357 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %353 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_357, i32 0, i32 887, i32 0
  store double %_rtP__neg_kJ_Y0_f, double* %353, align 1
  %"%<tSimStruct>_358" = load i8** %"%<tSimStruct>_", align 1
  %_rtP_359 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %354 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_359, i32 0, i32 1570
  %_rtX_360 = load %X_REVS_VM_T.18** %_rtX_, align 1
  %355 = getelementptr inbounds %X_REVS_VM_T.18* %_rtX_360, i32 0, i32 101
  call void @REVS_VM_ElecEnergyVA_Init(i8* %"%<tSimStruct>_358", %P_ElecEnergyVA_REVS_VM_T.2* %354, %X_ElecEnergyVA_REVS_VM_T.3* %355)
  %"%<tSimStruct>_361" = load i8** %"%<tSimStruct>_", align 1
  %_rtP_362 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %356 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_362, i32 0, i32 1569
  %_rtX_363 = load %X_REVS_VM_T.18** %_rtX_, align 1
  %357 = getelementptr inbounds %X_REVS_VM_T.18* %_rtX_363, i32 0, i32 100
  call void @REVS_VM_ElecEnergyVA_Init(i8* %"%<tSimStruct>_361", %P_ElecEnergyVA_REVS_VM_T.2* %356, %X_ElecEnergyVA_REVS_VM_T.3* %357)
  %_rtP_364 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %358 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_364, i32 0, i32 41
  %_rtP__pos_kJ_Y0_m = load double* %358, align 1
  %_rtB_365 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %359 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_365, i32 0, i32 885, i32 2
  store double %_rtP__pos_kJ_Y0_m, double* %359, align 1
  %_rtP_366 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %360 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_366, i32 0, i32 42
  %_rtP__neg_kJ_Y0_j = load double* %360, align 1
  %_rtB_367 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %361 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_367, i32 0, i32 885, i32 0
  store double %_rtP__neg_kJ_Y0_j, double* %361, align 1
  %"%<tSimStruct>_368" = load i8** %"%<tSimStruct>_", align 1
  %_rtP_369 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %362 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_369, i32 0, i32 1568
  %_rtX_370 = load %X_REVS_VM_T.18** %_rtX_, align 1
  %363 = getelementptr inbounds %X_REVS_VM_T.18* %_rtX_370, i32 0, i32 99
  call void @REVS_VM_MechEnergyNmradps_Init(i8* %"%<tSimStruct>_368", %P_MechEnergyNmradps_REVS_VM_T.6* %362, %X_MechEnergyNmradps_REVS_VM_T.7* %363)
  %_rtP_371 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %364 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_371, i32 0, i32 43
  %_rtP__pos_kJ_Y0_f = load double* %364, align 1
  %_rtB_372 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %365 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_372, i32 0, i32 884, i32 2
  store double %_rtP__pos_kJ_Y0_f, double* %365, align 1
  %_rtP_373 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %366 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_373, i32 0, i32 44
  %_rtP__neg_kJ_Y0_e = load double* %366, align 1
  %_rtB_374 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %367 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_374, i32 0, i32 884, i32 0
  store double %_rtP__neg_kJ_Y0_e, double* %367, align 1
  %"%<tSimStruct>_375" = load i8** %"%<tSimStruct>_", align 1
  call void @vm_ssCallAccelRunBlock(i8* %"%<tSimStruct>_375", i32 78, i32 0, i32 102)
  %"%<tSimStruct>_376" = load i8** %"%<tSimStruct>_", align 1
  call void @vm_ssCallAccelRunBlock(i8* %"%<tSimStruct>_376", i32 77, i32 0, i32 102)
  %"%<tSimStruct>_377" = load i8** %"%<tSimStruct>_", align 1
  %_rtP_378 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %368 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_378, i32 0, i32 1567
  %_rtX_379 = load %X_REVS_VM_T.18** %_rtX_, align 1
  %369 = getelementptr inbounds %X_REVS_VM_T.18* %_rtX_379, i32 0, i32 98
  call void @REVS_VM_MechEnergyNmradps_Init(i8* %"%<tSimStruct>_377", %P_MechEnergyNmradps_REVS_VM_T.6* %368, %X_MechEnergyNmradps_REVS_VM_T.7* %369)
  %_rtP_380 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %370 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_380, i32 0, i32 62
  %_rtP__pos_kJ_Y0_a = load double* %370, align 1
  %_rtB_381 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %371 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_381, i32 0, i32 883, i32 2
  store double %_rtP__pos_kJ_Y0_a, double* %371, align 1
  %_rtP_382 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %372 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_382, i32 0, i32 63
  %_rtP__neg_kJ_Y0_n = load double* %372, align 1
  %_rtB_383 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %373 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_383, i32 0, i32 883, i32 0
  store double %_rtP__neg_kJ_Y0_n, double* %373, align 1
  %"%<tSimStruct>_384" = load i8** %"%<tSimStruct>_", align 1
  %_rtP_385 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %374 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_385, i32 0, i32 1566
  %_rtX_386 = load %X_REVS_VM_T.18** %_rtX_, align 1
  %375 = getelementptr inbounds %X_REVS_VM_T.18* %_rtX_386, i32 0, i32 97
  call void @REVS_VM_MechEnergyNmradps_Init(i8* %"%<tSimStruct>_384", %P_MechEnergyNmradps_REVS_VM_T.6* %374, %X_MechEnergyNmradps_REVS_VM_T.7* %375)
  %_rtP_387 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %376 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_387, i32 0, i32 65
  %_rtP__pos_kJ_Y0_j = load double* %376, align 1
  %_rtB_388 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %377 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_388, i32 0, i32 882, i32 2
  store double %_rtP__pos_kJ_Y0_j, double* %377, align 1
  %_rtP_389 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %378 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_389, i32 0, i32 66
  %_rtP__neg_kJ_Y0_ft = load double* %378, align 1
  %_rtB_390 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %379 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_390, i32 0, i32 882, i32 0
  store double %_rtP__neg_kJ_Y0_ft, double* %379, align 1
  %"%<tSimStruct>_391" = load i8** %"%<tSimStruct>_", align 1
  %_rtP_392 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %380 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_392, i32 0, i32 1564
  %_rtX_393 = load %X_REVS_VM_T.18** %_rtX_, align 1
  %381 = getelementptr inbounds %X_REVS_VM_T.18* %_rtX_393, i32 0, i32 95
  call void @REVS_VM_MechEnergyNmradps_Init(i8* %"%<tSimStruct>_391", %P_MechEnergyNmradps_REVS_VM_T.6* %380, %X_MechEnergyNmradps_REVS_VM_T.7* %381)
  %"%<tSimStruct>_394" = load i8** %"%<tSimStruct>_", align 1
  %_rtP_395 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %382 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_395, i32 0, i32 1563
  %_rtX_396 = load %X_REVS_VM_T.18** %_rtX_, align 1
  %383 = getelementptr inbounds %X_REVS_VM_T.18* %_rtX_396, i32 0, i32 94
  call void @REVS_VM_MechEnergyNmradps_Init(i8* %"%<tSimStruct>_394", %P_MechEnergyNmradps_REVS_VM_T.6* %382, %X_MechEnergyNmradps_REVS_VM_T.7* %383)
  %"%<tSimStruct>_397" = load i8** %"%<tSimStruct>_", align 1
  %_rtP_398 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %384 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_398, i32 0, i32 1565
  %_rtX_399 = load %X_REVS_VM_T.18** %_rtX_, align 1
  %385 = getelementptr inbounds %X_REVS_VM_T.18* %_rtX_399, i32 0, i32 96
  call void @REVS_VM_MechEnergyNmradps_Init(i8* %"%<tSimStruct>_397", %P_MechEnergyNmradps_REVS_VM_T.6* %384, %X_MechEnergyNmradps_REVS_VM_T.7* %385)
  %"%<tSimStruct>_400" = load i8** %"%<tSimStruct>_", align 1
  %_rtP_401 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %386 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_401, i32 0, i32 1562
  %_rtX_402 = load %X_REVS_VM_T.18** %_rtX_, align 1
  %387 = getelementptr inbounds %X_REVS_VM_T.18* %_rtX_402, i32 0, i32 93
  call void @REVS_VM_MechEnergyNmradps_Init(i8* %"%<tSimStruct>_400", %P_MechEnergyNmradps_REVS_VM_T.6* %386, %X_MechEnergyNmradps_REVS_VM_T.7* %387)
  %_rtP_403 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %388 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_403, i32 0, i32 78
  %_rtP__pos_kJ_Y0_n = load double* %388, align 1
  %_rtB_404 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %389 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_404, i32 0, i32 878, i32 2
  store double %_rtP__pos_kJ_Y0_n, double* %389, align 1
  %_rtP_405 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %390 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_405, i32 0, i32 79
  %_rtP__neg_kJ_Y0_b = load double* %390, align 1
  %_rtB_406 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %391 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_406, i32 0, i32 878, i32 0
  store double %_rtP__neg_kJ_Y0_b, double* %391, align 1
  %"%<tSimStruct>_407" = load i8** %"%<tSimStruct>_", align 1
  %_rtP_408 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %392 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_408, i32 0, i32 1561
  %_rtX_409 = load %X_REVS_VM_T.18** %_rtX_, align 1
  %393 = getelementptr inbounds %X_REVS_VM_T.18* %_rtX_409, i32 0, i32 92
  call void @REVS_VM_MechEnergyNmradps_Init(i8* %"%<tSimStruct>_407", %P_MechEnergyNmradps_REVS_VM_T.6* %392, %X_MechEnergyNmradps_REVS_VM_T.7* %393)
  %_rtP_410 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %394 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_410, i32 0, i32 81
  %_rtP__pos_kJ_Y0_l = load double* %394, align 1
  %_rtB_411 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %395 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_411, i32 0, i32 877, i32 2
  store double %_rtP__pos_kJ_Y0_l, double* %395, align 1
  %_rtP_412 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %396 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_412, i32 0, i32 82
  %_rtP__neg_kJ_Y0_bt = load double* %396, align 1
  %_rtB_413 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %397 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_413, i32 0, i32 877, i32 0
  store double %_rtP__neg_kJ_Y0_bt, double* %397, align 1
  %"%<tSimStruct>_414" = load i8** %"%<tSimStruct>_", align 1
  %_rtP_415 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %398 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_415, i32 0, i32 1560
  %_rtX_416 = load %X_REVS_VM_T.18** %_rtX_, align 1
  %399 = getelementptr inbounds %X_REVS_VM_T.18* %_rtX_416, i32 0, i32 91
  call void @REVS_VM_MechEnergyNmradps_Init(i8* %"%<tSimStruct>_414", %P_MechEnergyNmradps_REVS_VM_T.6* %398, %X_MechEnergyNmradps_REVS_VM_T.7* %399)
  %"%<tSimStruct>_417" = load i8** %"%<tSimStruct>_", align 1
  %_rtP_418 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %400 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_418, i32 0, i32 1559
  %_rtX_419 = load %X_REVS_VM_T.18** %_rtX_, align 1
  %401 = getelementptr inbounds %X_REVS_VM_T.18* %_rtX_419, i32 0, i32 90
  call void @REVS_VM_MechEnergyNmradps_Init(i8* %"%<tSimStruct>_417", %P_MechEnergyNmradps_REVS_VM_T.6* %400, %X_MechEnergyNmradps_REVS_VM_T.7* %401)
  %"%<tSimStruct>_420" = load i8** %"%<tSimStruct>_", align 1
  %_rtP_421 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %402 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_421, i32 0, i32 1558
  %_rtX_422 = load %X_REVS_VM_T.18** %_rtX_, align 1
  %403 = getelementptr inbounds %X_REVS_VM_T.18* %_rtX_422, i32 0, i32 89
  call void @REVS_VM_MechEnergyNmradps_Init(i8* %"%<tSimStruct>_420", %P_MechEnergyNmradps_REVS_VM_T.6* %402, %X_MechEnergyNmradps_REVS_VM_T.7* %403)
  %"%<tSimStruct>_423" = load i8** %"%<tSimStruct>_", align 1
  %_rtP_424 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %404 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_424, i32 0, i32 1557
  %_rtX_425 = load %X_REVS_VM_T.18** %_rtX_, align 1
  %405 = getelementptr inbounds %X_REVS_VM_T.18* %_rtX_425, i32 0, i32 88
  call void @REVS_VM_MechEnergyNmradps_Init(i8* %"%<tSimStruct>_423", %P_MechEnergyNmradps_REVS_VM_T.6* %404, %X_MechEnergyNmradps_REVS_VM_T.7* %405)
  %"%<tSimStruct>_426" = load i8** %"%<tSimStruct>_", align 1
  %_rtP_427 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %406 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_427, i32 0, i32 1556
  %_rtX_428 = load %X_REVS_VM_T.18** %_rtX_, align 1
  %407 = getelementptr inbounds %X_REVS_VM_T.18* %_rtX_428, i32 0, i32 87
  call void @REVS_VM_MechEnergyNmradps_Init(i8* %"%<tSimStruct>_426", %P_MechEnergyNmradps_REVS_VM_T.6* %406, %X_MechEnergyNmradps_REVS_VM_T.7* %407)
  %_rtP_429 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %408 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_429, i32 0, i32 102
  %_rtP__pos_kJ_Y0_nq = load double* %408, align 1
  %_rtB_430 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %409 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_430, i32 0, i32 872, i32 2
  store double %_rtP__pos_kJ_Y0_nq, double* %409, align 1
  %_rtP_431 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %410 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_431, i32 0, i32 103
  %_rtP__neg_kJ_Y0_c = load double* %410, align 1
  %_rtB_432 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %411 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_432, i32 0, i32 872, i32 0
  store double %_rtP__neg_kJ_Y0_c, double* %411, align 1
  %"%<tSimStruct>_433" = load i8** %"%<tSimStruct>_", align 1
  %_rtP_434 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %412 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_434, i32 0, i32 1555
  %_rtX_435 = load %X_REVS_VM_T.18** %_rtX_, align 1
  %413 = getelementptr inbounds %X_REVS_VM_T.18* %_rtX_435, i32 0, i32 86
  call void @REVS_VM_MechEnergyNmradps_Init(i8* %"%<tSimStruct>_433", %P_MechEnergyNmradps_REVS_VM_T.6* %412, %X_MechEnergyNmradps_REVS_VM_T.7* %413)
  %_rtP_436 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %414 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_436, i32 0, i32 105
  %_rtP__pos_kJ_Y0_fj = load double* %414, align 1
  %_rtB_437 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %415 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_437, i32 0, i32 871, i32 2
  store double %_rtP__pos_kJ_Y0_fj, double* %415, align 1
  %_rtP_438 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %416 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_438, i32 0, i32 106
  %_rtP__neg_kJ_Y0_e4 = load double* %416, align 1
  %_rtB_439 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %417 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_439, i32 0, i32 871, i32 0
  store double %_rtP__neg_kJ_Y0_e4, double* %417, align 1
  %"%<tSimStruct>_440" = load i8** %"%<tSimStruct>_", align 1
  %_rtP_441 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %418 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_441, i32 0, i32 1554
  %_rtX_442 = load %X_REVS_VM_T.18** %_rtX_, align 1
  %419 = getelementptr inbounds %X_REVS_VM_T.18* %_rtX_442, i32 0, i32 85
  call void @REVS_VM_MechEnergyNmradps_Init(i8* %"%<tSimStruct>_440", %P_MechEnergyNmradps_REVS_VM_T.6* %418, %X_MechEnergyNmradps_REVS_VM_T.7* %419)
  %_rtP_443 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %420 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_443, i32 0, i32 119
  %_rtP__pos_kJ_Y0_k = load double* %420, align 1
  %_rtB_444 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %421 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_444, i32 0, i32 870, i32 2
  store double %_rtP__pos_kJ_Y0_k, double* %421, align 1
  %_rtP_445 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %422 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_445, i32 0, i32 120
  %_rtP__neg_kJ_Y0_ew = load double* %422, align 1
  %_rtB_446 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %423 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_446, i32 0, i32 870, i32 0
  store double %_rtP__neg_kJ_Y0_ew, double* %423, align 1
  %_rtP_447 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %424 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_447, i32 0, i32 125
  %_rtP__Integrator1_IC = load double* %424, align 1
  %_rtX_448 = load %X_REVS_VM_T.18** %_rtX_, align 1
  %425 = getelementptr inbounds %X_REVS_VM_T.18* %_rtX_448, i32 0, i32 83
  store double %_rtP__Integrator1_IC, double* %425, align 1
  %"%<tSimStruct>_449" = load i8** %"%<tSimStruct>_", align 1
  %_rtP_450 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %426 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_450, i32 0, i32 1553
  %_rtX_451 = load %X_REVS_VM_T.18** %_rtX_, align 1
  %427 = getelementptr inbounds %X_REVS_VM_T.18* %_rtX_451, i32 0, i32 84
  call void @REVS_VM_MechEnergyNmps_Init(i8* %"%<tSimStruct>_449", %P_MechEnergyNmps_REVS_VM_T.10* %426, %X_MechEnergyNmps_REVS_VM_T.11* %427)
  %_rtP_452 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %428 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_452, i32 0, i32 122
  %_rtP__pos_kJ_Y0_d = load double* %428, align 1
  %_rtB_453 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %429 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_453, i32 0, i32 869, i32 2
  store double %_rtP__pos_kJ_Y0_d, double* %429, align 1
  %_rtP_454 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %430 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_454, i32 0, i32 123
  %_rtP__neg_kJ_Y0_p = load double* %430, align 1
  %_rtB_455 = load %B_REVS_VM_T.12** %_rtB_, align 1
  %431 = getelementptr inbounds %B_REVS_VM_T.12* %_rtB_455, i32 0, i32 869, i32 0
  store double %_rtP__neg_kJ_Y0_p, double* %431, align 1
  %_rtP_456 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %432 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_456, i32 0, i32 136
  %_rtP__Integrator1_IC_f = load double* %432, align 1
  %_rtX_457 = load %X_REVS_VM_T.18** %_rtX_, align 1
  %433 = getelementptr inbounds %X_REVS_VM_T.18* %_rtX_457, i32 0, i32 81
  store double %_rtP__Integrator1_IC_f, double* %433, align 1
  %"%<tSimStruct>_458" = load i8** %"%<tSimStruct>_", align 1
  %_rtP_459 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %434 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_459, i32 0, i32 1552
  %_rtX_460 = load %X_REVS_VM_T.18** %_rtX_, align 1
  %435 = getelementptr inbounds %X_REVS_VM_T.18* %_rtX_460, i32 0, i32 82
  call void @REVS_VM_MechEnergyNmps_Init(i8* %"%<tSimStruct>_458", %P_MechEnergyNmps_REVS_VM_T.10* %434, %X_MechEnergyNmps_REVS_VM_T.11* %435)
  %_rtP_461 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %436 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_461, i32 0, i32 142
  %_rtP__Integrator1_IC_o = load double* %436, align 1
  %_rtX_462 = load %X_REVS_VM_T.18** %_rtX_, align 1
  %437 = getelementptr inbounds %X_REVS_VM_T.18* %_rtX_462, i32 0, i32 79
  store double %_rtP__Integrator1_IC_o, double* %437, align 1
  %"%<tSimStruct>_463" = load i8** %"%<tSimStruct>_", align 1
  %_rtP_464 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %438 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_464, i32 0, i32 1551
  %_rtX_465 = load %X_REVS_VM_T.18** %_rtX_, align 1
  %439 = getelementptr inbounds %X_REVS_VM_T.18* %_rtX_465, i32 0, i32 80
  call void @REVS_VM_MechEnergyNmps_Init(i8* %"%<tSimStruct>_463", %P_MechEnergyNmps_REVS_VM_T.10* %438, %X_MechEnergyNmps_REVS_VM_T.11* %439)
  %_rtP_466 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %440 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_466, i32 0, i32 145
  %_rtP__Integrator1_IC_m = load double* %440, align 1
  %_rtX_467 = load %X_REVS_VM_T.18** %_rtX_, align 1
  %441 = getelementptr inbounds %X_REVS_VM_T.18* %_rtX_467, i32 0, i32 77
  store double %_rtP__Integrator1_IC_m, double* %441, align 1
  %"%<tSimStruct>_468" = load i8** %"%<tSimStruct>_", align 1
  %_rtP_469 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %442 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_469, i32 0, i32 1550
  %_rtX_470 = load %X_REVS_VM_T.18** %_rtX_, align 1
  %443 = getelementptr inbounds %X_REVS_VM_T.18* %_rtX_470, i32 0, i32 78
  call void @REVS_VM_MechEnergyNmps_Init(i8* %"%<tSimStruct>_468", %P_MechEnergyNmps_REVS_VM_T.10* %442, %X_MechEnergyNmps_REVS_VM_T.11* %443)
  %_rtP_471 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %444 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_471, i32 0, i32 149
  %_rtP__Integrator1_IC_oq = load double* %444, align 1
  %_rtX_472 = load %X_REVS_VM_T.18** %_rtX_, align 1
  %445 = getelementptr inbounds %X_REVS_VM_T.18* %_rtX_472, i32 0, i32 75
  store double %_rtP__Integrator1_IC_oq, double* %445, align 1
  %"%<tSimStruct>_473" = load i8** %"%<tSimStruct>_", align 1
  %_rtP_474 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %446 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_474, i32 0, i32 1549
  %_rtX_475 = load %X_REVS_VM_T.18** %_rtX_, align 1
  %447 = getelementptr inbounds %X_REVS_VM_T.18* %_rtX_475, i32 0, i32 76
  call void @REVS_VM_MechEnergyNmps_Init(i8* %"%<tSimStruct>_473", %P_MechEnergyNmps_REVS_VM_T.10* %446, %X_MechEnergyNmps_REVS_VM_T.11* %447)
  %_rtP_476 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %448 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_476, i32 0, i32 152
  %_rtP__Integrator1_IC_ml = load double* %448, align 1
  %_rtX_477 = load %X_REVS_VM_T.18** %_rtX_, align 1
  %449 = getelementptr inbounds %X_REVS_VM_T.18* %_rtX_477, i32 0, i32 73
  store double %_rtP__Integrator1_IC_ml, double* %449, align 1
  %"%<tSimStruct>_478" = load i8** %"%<tSimStruct>_", align 1
  %_rtP_479 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %450 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_479, i32 0, i32 1548
  %_rtX_480 = load %X_REVS_VM_T.18** %_rtX_, align 1
  %451 = getelementptr inbounds %X_REVS_VM_T.18* %_rtX_480, i32 0, i32 74
  call void @REVS_VM_MechEnergyNmps_Init(i8* %"%<tSimStruct>_478", %P_MechEnergyNmps_REVS_VM_T.10* %450, %X_MechEnergyNmps_REVS_VM_T.11* %451)
  %_rtP_481 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %452 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_481, i32 0, i32 156
  %_rtP__Integrator1_IC_g = load double* %452, align 1
  %_rtX_482 = load %X_REVS_VM_T.18** %_rtX_, align 1
  %453 = getelementptr inbounds %X_REVS_VM_T.18* %_rtX_482, i32 0, i32 71
  store double %_rtP__Integrator1_IC_g, double* %453, align 1
  %"%<tSimStruct>_483" = load i8** %"%<tSimStruct>_", align 1
  %_rtP_484 = load %P_REVS_VM_T.17** %_rtP_, align 1
  %454 = getelementptr inbounds %P_REVS_VM_T.17* %_rtP_484, i32 0, i32 1547
  %_rtX_485 = load %X_REVS_VM_T.18** %_rtX_, align 1
  %455 = getelementptr inbounds %X_REVS_VM_T.18* %_rtX_485, i32 0, i32 72
  call void @REVS_VM_MechEnergyNmps_Init(i8* %"%<tSimStruct>_483", %P_MechEnergyNmps_REVS_VM_T.10* %454, %X_MechEnergyNmps_REVS_VM_T.11* %455)
  ret void

merge:                                            ; preds = %true5, %false4
  %i_547 = phi i32 [ 0, %false4 ], [ %tmp5, %true5 ]
  store i32 %i_547, i32* %i_, align 1
  %456 = icmp slt i32 %i_547, 10
  %_rtP_545 = load %P_REVS_VM_T.17** %_rtP_, align 1
  br i1 %456, label %true5, label %false6

merge21:                                          ; preds = %true9, %false8
  %i_540 = phi i32 [ 0, %false8 ], [ %tmp4, %true9 ]
  store i32 %i_540, i32* %i_, align 1
  %457 = icmp slt i32 %i_540, 10
  %_rtP_538 = load %P_REVS_VM_T.17** %_rtP_, align 1
  br i1 %457, label %true9, label %false10

merge22:                                          ; preds = %true11, %false10
  %i_536 = phi i32 [ 0, %false10 ], [ %tmp3, %true11 ]
  store i32 %i_536, i32* %i_, align 1
  %458 = icmp slt i32 %i_536, 90
  br i1 %458, label %true11, label %merge23

merge23:                                          ; preds = %merge22, %true13
  %i_532 = phi i32 [ %tmp2, %true13 ], [ 0, %merge22 ]
  store i32 %i_532, i32* %i_, align 1
  %459 = icmp slt i32 %i_532, 9
  %_rtP_530 = load %P_REVS_VM_T.17** %_rtP_, align 1
  br i1 %459, label %true13, label %false14

merge24:                                          ; preds = %true15, %false14
  %i_507 = phi i32 [ 0, %false14 ], [ %tmp1, %true15 ]
  store i32 %i_507, i32* %i_, align 1
  %460 = icmp slt i32 %i_507, 10
  %_rtP_505 = load %P_REVS_VM_T.17** %_rtP_, align 1
  br i1 %460, label %true15, label %false16

merge25:                                          ; preds = %true19, %false18
  %i_488 = phi i32 [ 0, %false18 ], [ %tmp0, %true19 ]
  store i32 %i_488, i32* %i_, align 1
  %461 = icmp slt i32 %i_488, 10
  %_rtP_486 = load %P_REVS_VM_T.17** %_rtP_, align 1
  br i1 %461, label %true19, label %false20
}

declare i8 @vm_ssIsFirstInitCond(i8*)

define i32 @binsearch_u32d_prevIdx(double %u, double* %bp, i32 %startIndex, i32 %maxIndex) {
binsearch_u32d_prevIdx_entry:
  %u_ = alloca double
  store double %u, double* %u_, align 1
  %bp_ = alloca double*
  store double* %bp, double** %bp_, align 1
  %startIndex_ = alloca i32
  store i32 %startIndex, i32* %startIndex_, align 1
  %maxIndex_ = alloca i32
  store i32 %maxIndex, i32* %maxIndex_, align 1
  %iRght_ = alloca i32
  %iLeft_ = alloca i32
  %found_ = alloca i32
  %bpIndex_ = alloca i32
  store i32 %startIndex, i32* %bpIndex_, align 1
  store i32 0, i32* %iLeft_, align 1
  store i32 %maxIndex, i32* %iRght_, align 1
  store i32 0, i32* %found_, align 1
  br label %merge

true:                                             ; preds = %merge
  %0 = getelementptr inbounds double* %bp, i32 %bpIndex_23
  %bp__el = load double* %0, align 1
  %1 = fcmp olt double %u, %bp__el
  br i1 %1, label %true1, label %false2

false:                                            ; preds = %merge
  ret i32 %bpIndex_23

true1:                                            ; preds = %true
  %tmp3 = add i32 %bpIndex_23, -1
  store i32 %tmp3, i32* %iRght_, align 1
  %tmp4 = add i32 %tmp3, %iLeft_22
  %2 = lshr i32 %tmp4, 1
  store i32 %2, i32* %bpIndex_, align 1
  br label %merge

false2:                                           ; preds = %true
  %tmp0 = add i32 %bpIndex_23, 1
  %3 = getelementptr inbounds double* %bp, i32 %tmp0
  %bp__el16 = load double* %3, align 1
  %4 = fcmp olt double %u, %bp__el16
  br i1 %4, label %true3, label %false4

true3:                                            ; preds = %false2
  store i32 1, i32* %found_, align 1
  br label %merge

false4:                                           ; preds = %false2
  store i32 %tmp0, i32* %iLeft_, align 1
  %tmp2 = add i32 %iRght_18, %tmp0
  %5 = lshr i32 %tmp2, 1
  store i32 %5, i32* %bpIndex_, align 1
  br label %merge

merge:                                            ; preds = %true1, %true3, %false4, %binsearch_u32d_prevIdx_entry
  %iRght_18 = phi i32 [ %maxIndex, %binsearch_u32d_prevIdx_entry ], [ %tmp3, %true1 ], [ %iRght_18, %true3 ], [ %iRght_18, %false4 ]
  %iLeft_22 = phi i32 [ 0, %binsearch_u32d_prevIdx_entry ], [ %iLeft_22, %true1 ], [ %iLeft_22, %true3 ], [ %tmp0, %false4 ]
  %bpIndex_23 = phi i32 [ %startIndex, %binsearch_u32d_prevIdx_entry ], [ %2, %true1 ], [ %bpIndex_23, %true3 ], [ %5, %false4 ]
  %found_9 = phi i32 [ 0, %binsearch_u32d_prevIdx_entry ], [ 0, %true1 ], [ 1, %true3 ], [ 0, %false4 ]
  %6 = icmp eq i32 %found_9, 0
  br i1 %6, label %true, label %false
}

define i32 @binsearch_u32d(double %u, double* %bp, i32 %startIndex, i32 %maxIndex) {
binsearch_u32d_entry:
  %u_ = alloca double
  store double %u, double* %u_, align 1
  %bp_ = alloca double*
  store double* %bp, double** %bp_, align 1
  %iRght_ = alloca i32
  %bpIdx_ = alloca i32
  %bpIndex_ = alloca i32
  store i32 %startIndex, i32* %bpIdx_, align 1
  store i32 0, i32* %bpIndex_, align 1
  store i32 %maxIndex, i32* %iRght_, align 1
  br label %merge

true:                                             ; preds = %merge
  %0 = getelementptr inbounds double* %bp, i32 %bpIdx_11
  %bp__el = load double* %0, align 1
  %1 = fcmp olt double %u, %bp__el
  br i1 %1, label %true1, label %false2

false:                                            ; preds = %merge
  ret i32 %bpIndex_15

true1:                                            ; preds = %true
  store i32 %bpIdx_11, i32* %iRght_, align 1
  br label %merge3

false2:                                           ; preds = %true
  store i32 %bpIdx_11, i32* %bpIndex_, align 1
  br label %merge3

merge:                                            ; preds = %merge3, %binsearch_u32d_entry
  %bpIdx_11 = phi i32 [ %3, %merge3 ], [ %startIndex, %binsearch_u32d_entry ]
  %bpIndex_15 = phi i32 [ %bpIndex_14, %merge3 ], [ 0, %binsearch_u32d_entry ]
  %iRght_6 = phi i32 [ %iRght_13, %merge3 ], [ %maxIndex, %binsearch_u32d_entry ]
  %tmp0 = sub i32 %iRght_6, %bpIndex_15
  %2 = icmp ugt i32 %tmp0, 1
  br i1 %2, label %true, label %false

merge3:                                           ; preds = %true1, %false2
  %bpIndex_14 = phi i32 [ %bpIndex_15, %true1 ], [ %bpIdx_11, %false2 ]
  %iRght_13 = phi i32 [ %bpIdx_11, %true1 ], [ %iRght_6, %false2 ]
  %tmp1 = add i32 %bpIndex_14, %iRght_13
  %3 = lshr i32 %tmp1, 1
  store i32 %3, i32* %bpIdx_, align 1
  br label %merge
}

define i32 @plook_binxp(double %u, double* %bp, i32 %maxIndex, double* %fraction, i32* %prevIndex) {
plook_binxp_entry:
  %u_ = alloca double
  store double %u, double* %u_, align 1
  %bp_ = alloca double*
  store double* %bp, double** %bp_, align 1
  %maxIndex_ = alloca i32
  store i32 %maxIndex, i32* %maxIndex_, align 1
  %fraction_ = alloca double*
  store double* %fraction, double** %fraction_, align 1
  %prevIndex_ = alloca i32*
  store i32* %prevIndex, i32** %prevIndex_, align 1
  %bpIndex_ = alloca i32
  %bp__el = load double* %bp, align 1
  %0 = fcmp ugt double %u, %bp__el
  br i1 %0, label %false, label %true

true:                                             ; preds = %plook_binxp_entry
  store i32 0, i32* %bpIndex_, align 1
  %tmp10 = fsub double %u, %bp__el
  %1 = getelementptr inbounds double* %bp, i32 1
  %bp__el42 = load double* %1, align 1
  %tmp11 = fsub double %bp__el42, %bp__el
  %tmp12 = fdiv double %tmp10, %tmp11
  store double %tmp12, double* %fraction, align 1
  br label %merge3

false:                                            ; preds = %plook_binxp_entry
  %2 = getelementptr inbounds double* %bp, i32 %maxIndex
  %bp__el9 = load double* %2, align 1
  %3 = fcmp olt double %u, %bp__el9
  br i1 %3, label %true1, label %false2

true1:                                            ; preds = %false
  %prevIndex_25 = load i32* %prevIndex, align 1
  %4 = call i32 @binsearch_u32d_prevIdx(double %u, double* %bp, i32 %prevIndex_25, i32 %maxIndex)
  store i32 %4, i32* %bpIndex_, align 1
  %5 = getelementptr inbounds double* %bp, i32 %4
  %bp__el30 = load double* %5, align 1
  %tmp6 = fsub double %u, %bp__el30
  %tmp7 = add i32 %4, 1
  %6 = getelementptr inbounds double* %bp, i32 %tmp7
  %bp__el33 = load double* %6, align 1
  %tmp8 = fsub double %bp__el33, %bp__el30
  %tmp9 = fdiv double %tmp6, %tmp8
  store double %tmp9, double* %fraction, align 1
  br label %merge3

false2:                                           ; preds = %false
  %tmp0 = add i32 %maxIndex, -1
  store i32 %tmp0, i32* %bpIndex_, align 1
  %7 = getelementptr inbounds double* %bp, i32 %tmp0
  %bp__el14 = load double* %7, align 1
  %tmp2 = fsub double %u, %bp__el14
  %tmp4 = fsub double %bp__el9, %bp__el14
  %tmp5 = fdiv double %tmp2, %tmp4
  store double %tmp5, double* %fraction, align 1
  br label %merge3

merge3:                                           ; preds = %false2, %true1, %true
  %bpIndex_48 = phi i32 [ 0, %true ], [ %4, %true1 ], [ %tmp0, %false2 ]
  store i32 %bpIndex_48, i32* %prevIndex, align 1
  ret i32 %bpIndex_48
}

define double @intrp2d_la_pw(i32* %bpIndex, double* %frac, double* %table, i32 %stride, i32* %maxIndex) {
intrp2d_la_pw_entry:
  %bpIndex_ = alloca i32*
  store i32* %bpIndex, i32** %bpIndex_, align 1
  %frac_ = alloca double*
  store double* %frac, double** %frac_, align 1
  %table_ = alloca double*
  store double* %table, double** %table_, align 1
  %stride_ = alloca i32
  store i32 %stride, i32* %stride_, align 1
  %maxIndex_ = alloca i32*
  store i32* %maxIndex, i32** %maxIndex_, align 1
  %offset_1d_ = alloca i32
  %y_ = alloca double
  %0 = getelementptr inbounds i32* %bpIndex, i32 1
  %bpIndex__el = load i32* %0, align 1
  %tmp0 = mul i32 %stride, %bpIndex__el
  %bpIndex__el9 = load i32* %bpIndex, align 1
  %tmp1 = add i32 %tmp0, %bpIndex__el9
  store i32 %tmp1, i32* %offset_1d_, align 1
  %maxIndex__el = load i32* %maxIndex, align 1
  %1 = icmp eq i32 %bpIndex__el9, %maxIndex__el
  br i1 %1, label %true, label %false

true:                                             ; preds = %intrp2d_la_pw_entry
  %2 = getelementptr inbounds double* %table, i32 %tmp1
  %table__el24 = load double* %2, align 1
  br label %merge

false:                                            ; preds = %intrp2d_la_pw_entry
  %tmp2 = add i32 %tmp1, 1
  %3 = getelementptr inbounds double* %table, i32 %tmp2
  %table__el = load double* %3, align 1
  %4 = getelementptr inbounds double* %table, i32 %tmp1
  %table__el17 = load double* %4, align 1
  %tmp3 = fsub double %table__el, %table__el17
  %frac__el = load double* %frac, align 1
  %tmp4 = fmul double %tmp3, %frac__el
  %tmp5 = fadd double %tmp4, %table__el17
  br label %merge

true1:                                            ; preds = %merge5, %merge
  %y_54 = phi double [ %tmp13, %merge5 ], [ %y_50, %merge ]
  ret double %y_54

false2:                                           ; preds = %merge
  %tmp6 = add i32 %stride, %tmp1
  store i32 %tmp6, i32* %offset_1d_, align 1
  br i1 %1, label %true3, label %false4

true3:                                            ; preds = %false2
  %5 = getelementptr inbounds double* %table, i32 %tmp6
  %table__el48 = load double* %5, align 1
  br label %merge5

false4:                                           ; preds = %false2
  %tmp7 = add i32 %tmp6, 1
  %6 = getelementptr inbounds double* %table, i32 %tmp7
  %table__el37 = load double* %6, align 1
  %7 = getelementptr inbounds double* %table, i32 %tmp6
  %table__el40 = load double* %7, align 1
  %tmp8 = fsub double %table__el37, %table__el40
  %frac__el42 = load double* %frac, align 1
  %tmp9 = fmul double %tmp8, %frac__el42
  %tmp10 = fadd double %tmp9, %table__el40
  br label %merge5

merge:                                            ; preds = %true, %false
  %y_50 = phi double [ %tmp5, %false ], [ %table__el24, %true ]
  store double %y_50, double* %y_, align 1
  %8 = getelementptr inbounds i32* %maxIndex, i32 1
  %maxIndex__el28 = load i32* %8, align 1
  %9 = icmp eq i32 %bpIndex__el, %maxIndex__el28
  br i1 %9, label %true1, label %false2

merge5:                                           ; preds = %true3, %false4
  %storemerge55 = phi double [ %tmp10, %false4 ], [ %table__el48, %true3 ]
  %tmp11 = fsub double %storemerge55, %y_50
  %10 = getelementptr inbounds double* %frac, i32 1
  %frac__el52 = load double* %10, align 1
  %tmp12 = fmul double %tmp11, %frac__el52
  %tmp13 = fadd double %y_50, %tmp12
  store double %tmp13, double* %y_, align 1
  br label %true1
}

define i32 @plook_bincpa(double %u, double* %bp, i32 %maxIndex, double* %fraction, i32* %prevIndex) {
plook_bincpa_entry:
  %u_ = alloca double
  store double %u, double* %u_, align 1
  %bp_ = alloca double*
  store double* %bp, double** %bp_, align 1
  %maxIndex_ = alloca i32
  store i32 %maxIndex, i32* %maxIndex_, align 1
  %fraction_ = alloca double*
  store double* %fraction, double** %fraction_, align 1
  %prevIndex_ = alloca i32*
  store i32* %prevIndex, i32** %prevIndex_, align 1
  %bpIndex_ = alloca i32
  %bp__el = load double* %bp, align 1
  %0 = fcmp ugt double %u, %bp__el
  br i1 %0, label %false, label %true

true:                                             ; preds = %plook_bincpa_entry
  store i32 0, i32* %bpIndex_, align 1
  store double 0.000000e+00, double* %fraction, align 1
  br label %merge3

false:                                            ; preds = %plook_bincpa_entry
  %1 = getelementptr inbounds double* %bp, i32 %maxIndex
  %bp__el9 = load double* %1, align 1
  %2 = fcmp olt double %u, %bp__el9
  br i1 %2, label %true1, label %false2

true1:                                            ; preds = %false
  %prevIndex_15 = load i32* %prevIndex, align 1
  %3 = call i32 @binsearch_u32d_prevIdx(double %u, double* %bp, i32 %prevIndex_15, i32 %maxIndex)
  store i32 %3, i32* %bpIndex_, align 1
  %4 = getelementptr inbounds double* %bp, i32 %3
  %bp__el20 = load double* %4, align 1
  %tmp0 = fsub double %u, %bp__el20
  %tmp1 = add i32 %3, 1
  %5 = getelementptr inbounds double* %bp, i32 %tmp1
  %bp__el23 = load double* %5, align 1
  %tmp2 = fsub double %bp__el23, %bp__el20
  %tmp3 = fdiv double %tmp0, %tmp2
  store double %tmp3, double* %fraction, align 1
  br label %merge3

false2:                                           ; preds = %false
  store i32 %maxIndex, i32* %bpIndex_, align 1
  store double 0.000000e+00, double* %fraction, align 1
  br label %merge3

merge3:                                           ; preds = %false2, %true1, %true
  %bpIndex_31 = phi i32 [ 0, %true ], [ %3, %true1 ], [ %maxIndex, %false2 ]
  store i32 %bpIndex_31, i32* %prevIndex, align 1
  ret i32 %bpIndex_31
}

define double @intrp1d_la_pw(i32 %bpIndex, double %frac, double* %table, i32 %maxIndex) {
intrp1d_la_pw_entry:
  %bpIndex_ = alloca i32
  store i32 %bpIndex, i32* %bpIndex_, align 1
  %frac_ = alloca double
  store double %frac, double* %frac_, align 1
  %table_ = alloca double*
  store double* %table, double** %table_, align 1
  %y_ = alloca double
  %0 = icmp eq i32 %bpIndex, %maxIndex
  br i1 %0, label %true, label %false

true:                                             ; preds = %intrp1d_la_pw_entry
  %1 = getelementptr inbounds double* %table, i32 %bpIndex
  %table__el14 = load double* %1, align 1
  br label %merge

false:                                            ; preds = %intrp1d_la_pw_entry
  %tmp0 = add i32 %bpIndex, 1
  %2 = getelementptr inbounds double* %table, i32 %tmp0
  %table__el = load double* %2, align 1
  %3 = getelementptr inbounds double* %table, i32 %bpIndex
  %table__el7 = load double* %3, align 1
  %tmp1 = fsub double %table__el, %table__el7
  %tmp2 = fmul double %tmp1, %frac
  %tmp3 = fadd double %tmp2, %table__el7
  br label %merge

merge:                                            ; preds = %true, %false
  %storemerge = phi double [ %tmp3, %false ], [ %table__el14, %true ]
  store double %storemerge, double* %y_, align 1
  ret double %storemerge
}

define i32 @plook_lincpa(double %u, double* %bp, i32 %maxIndex, double* %fraction, i32* %prevIndex) {
plook_lincpa_entry:
  %u_ = alloca double
  store double %u, double* %u_, align 1
  %bp_ = alloca double*
  store double* %bp, double** %bp_, align 1
  %maxIndex_ = alloca i32
  store i32 %maxIndex, i32* %maxIndex_, align 1
  %fraction_ = alloca double*
  store double* %fraction, double** %fraction_, align 1
  %prevIndex_ = alloca i32*
  store i32* %prevIndex, i32** %prevIndex_, align 1
  %bpIndex_ = alloca i32
  %bp__el = load double* %bp, align 1
  %0 = fcmp ugt double %u, %bp__el
  br i1 %0, label %false, label %true

true:                                             ; preds = %plook_lincpa_entry
  store i32 0, i32* %bpIndex_, align 1
  store double 0.000000e+00, double* %fraction, align 1
  br label %merge3

false:                                            ; preds = %plook_lincpa_entry
  %1 = getelementptr inbounds double* %bp, i32 %maxIndex
  %bp__el9 = load double* %1, align 1
  %2 = fcmp olt double %u, %bp__el9
  br i1 %2, label %true1, label %false2

true1:                                            ; preds = %false
  %prevIndex_15 = load i32* %prevIndex, align 1
  %3 = call i32 @linsearch_u32d(double %u, double* %bp, i32 %prevIndex_15)
  store i32 %3, i32* %bpIndex_, align 1
  %4 = getelementptr inbounds double* %bp, i32 %3
  %bp__el19 = load double* %4, align 1
  %tmp0 = fsub double %u, %bp__el19
  %tmp1 = add i32 %3, 1
  %5 = getelementptr inbounds double* %bp, i32 %tmp1
  %bp__el22 = load double* %5, align 1
  %tmp2 = fsub double %bp__el22, %bp__el19
  %tmp3 = fdiv double %tmp0, %tmp2
  store double %tmp3, double* %fraction, align 1
  br label %merge3

false2:                                           ; preds = %false
  store i32 %maxIndex, i32* %bpIndex_, align 1
  store double 0.000000e+00, double* %fraction, align 1
  br label %merge3

merge3:                                           ; preds = %false2, %true1, %true
  %bpIndex_30 = phi i32 [ 0, %true ], [ %3, %true1 ], [ %maxIndex, %false2 ]
  store i32 %bpIndex_30, i32* %prevIndex, align 1
  ret i32 %bpIndex_30
}

define i32 @linsearch_u32d(double %u, double* %bp, i32 %startIndex) {
linsearch_u32d_entry:
  %u_ = alloca double
  store double %u, double* %u_, align 1
  %bp_ = alloca double*
  store double* %bp, double** %bp_, align 1
  %bpIndex_ = alloca i32
  br label %merge

true:                                             ; preds = %merge
  %tmp2 = add i32 %bpIndex_12, -1
  br label %merge

false:                                            ; preds = %true1, %merge
  %bpIndex_11 = phi i32 [ %tmp0, %true1 ], [ %bpIndex_12, %merge ]
  %tmp0 = add i32 %bpIndex_11, 1
  %0 = getelementptr inbounds double* %bp, i32 %tmp0
  %bp__el10 = load double* %0, align 1
  %1 = fcmp ult double %u, %bp__el10
  br i1 %1, label %false2, label %true1

true1:                                            ; preds = %false
  store i32 %tmp0, i32* %bpIndex_, align 1
  br label %false

false2:                                           ; preds = %false
  ret i32 %bpIndex_11

merge:                                            ; preds = %true, %linsearch_u32d_entry
  %bpIndex_12 = phi i32 [ %startIndex, %linsearch_u32d_entry ], [ %tmp2, %true ]
  store i32 %bpIndex_12, i32* %bpIndex_, align 1
  %2 = getelementptr inbounds double* %bp, i32 %bpIndex_12
  %bp__el = load double* %2, align 1
  %3 = fcmp olt double %u, %bp__el
  br i1 %3, label %true, label %false
}

define i32 @plook_binx(double %u, double* %bp, i32 %maxIndex, double* %fraction) {
plook_binx_entry:
  %u_ = alloca double
  store double %u, double* %u_, align 1
  %bp_ = alloca double*
  store double* %bp, double** %bp_, align 1
  %maxIndex_ = alloca i32
  store i32 %maxIndex, i32* %maxIndex_, align 1
  %fraction_ = alloca double*
  store double* %fraction, double** %fraction_, align 1
  %bpIndex_ = alloca i32
  %bp__el = load double* %bp, align 1
  %0 = fcmp ugt double %u, %bp__el
  br i1 %0, label %false, label %true

true:                                             ; preds = %plook_binx_entry
  store i32 0, i32* %bpIndex_, align 1
  %tmp10 = fsub double %u, %bp__el
  %1 = getelementptr inbounds double* %bp, i32 1
  %bp__el41 = load double* %1, align 1
  %tmp11 = fsub double %bp__el41, %bp__el
  %tmp12 = fdiv double %tmp10, %tmp11
  store double %tmp12, double* %fraction, align 1
  br label %merge3

false:                                            ; preds = %plook_binx_entry
  %2 = getelementptr inbounds double* %bp, i32 %maxIndex
  %bp__el9 = load double* %2, align 1
  %3 = fcmp olt double %u, %bp__el9
  br i1 %3, label %true1, label %false2

true1:                                            ; preds = %false
  %4 = lshr i32 %maxIndex, 1
  %5 = call i32 @binsearch_u32d(double %u, double* %bp, i32 %4, i32 %maxIndex)
  store i32 %5, i32* %bpIndex_, align 1
  %6 = getelementptr inbounds double* %bp, i32 %5
  %bp__el29 = load double* %6, align 1
  %tmp6 = fsub double %u, %bp__el29
  %tmp7 = add i32 %5, 1
  %7 = getelementptr inbounds double* %bp, i32 %tmp7
  %bp__el32 = load double* %7, align 1
  %tmp8 = fsub double %bp__el32, %bp__el29
  %tmp9 = fdiv double %tmp6, %tmp8
  store double %tmp9, double* %fraction, align 1
  br label %merge3

false2:                                           ; preds = %false
  %tmp0 = add i32 %maxIndex, -1
  store i32 %tmp0, i32* %bpIndex_, align 1
  %8 = getelementptr inbounds double* %bp, i32 %tmp0
  %bp__el14 = load double* %8, align 1
  %tmp2 = fsub double %u, %bp__el14
  %tmp4 = fsub double %bp__el9, %bp__el14
  %tmp5 = fdiv double %tmp2, %tmp4
  store double %tmp5, double* %fraction, align 1
  br label %merge3

merge3:                                           ; preds = %false2, %true1, %true
  %bpIndex_45 = phi i32 [ 0, %true ], [ %5, %true1 ], [ %tmp0, %false2 ]
  ret i32 %bpIndex_45
}

define i32 @plook_lincp(double %u, double* %bp, i32 %maxIndex, double* %fraction, i32* %prevIndex) {
plook_lincp_entry:
  %u_ = alloca double
  store double %u, double* %u_, align 1
  %bp_ = alloca double*
  store double* %bp, double** %bp_, align 1
  %maxIndex_ = alloca i32
  store i32 %maxIndex, i32* %maxIndex_, align 1
  %fraction_ = alloca double*
  store double* %fraction, double** %fraction_, align 1
  %prevIndex_ = alloca i32*
  store i32* %prevIndex, i32** %prevIndex_, align 1
  %bpIndex_ = alloca i32
  %bp__el = load double* %bp, align 1
  %0 = fcmp ugt double %u, %bp__el
  br i1 %0, label %false, label %true

true:                                             ; preds = %plook_lincp_entry
  store i32 0, i32* %bpIndex_, align 1
  store double 0.000000e+00, double* %fraction, align 1
  br label %merge3

false:                                            ; preds = %plook_lincp_entry
  %1 = getelementptr inbounds double* %bp, i32 %maxIndex
  %bp__el9 = load double* %1, align 1
  %2 = fcmp olt double %u, %bp__el9
  br i1 %2, label %true1, label %false2

true1:                                            ; preds = %false
  %prevIndex_15 = load i32* %prevIndex, align 1
  %3 = call i32 @linsearch_u32d(double %u, double* %bp, i32 %prevIndex_15)
  store i32 %3, i32* %bpIndex_, align 1
  %4 = getelementptr inbounds double* %bp, i32 %3
  %bp__el19 = load double* %4, align 1
  %tmp1 = fsub double %u, %bp__el19
  %tmp2 = add i32 %3, 1
  %5 = getelementptr inbounds double* %bp, i32 %tmp2
  %bp__el22 = load double* %5, align 1
  %tmp3 = fsub double %bp__el22, %bp__el19
  %tmp4 = fdiv double %tmp1, %tmp3
  store double %tmp4, double* %fraction, align 1
  br label %merge3

false2:                                           ; preds = %false
  %tmp0 = add i32 %maxIndex, -1
  store i32 %tmp0, i32* %bpIndex_, align 1
  store double 1.000000e+00, double* %fraction, align 1
  br label %merge3

merge3:                                           ; preds = %false2, %true1, %true
  %bpIndex_30 = phi i32 [ 0, %true ], [ %3, %true1 ], [ %tmp0, %false2 ]
  store i32 %bpIndex_30, i32* %prevIndex, align 1
  ret i32 %bpIndex_30
}

define double @intrp2d_l_pw(i32* %bpIndex, double* %frac, double* %table, i32 %stride) {
intrp2d_l_pw_entry:
  %bpIndex_ = alloca i32*
  store i32* %bpIndex, i32** %bpIndex_, align 1
  %frac_ = alloca double*
  store double* %frac, double** %frac_, align 1
  %table_ = alloca double*
  store double* %table, double** %table_, align 1
  %stride_ = alloca i32
  store i32 %stride, i32* %stride_, align 1
  %yL_1d_ = alloca double
  %offset_1d_ = alloca i32
  %y_ = alloca double
  %0 = getelementptr inbounds i32* %bpIndex, i32 1
  %bpIndex__el = load i32* %0, align 1
  %tmp0 = mul i32 %stride, %bpIndex__el
  %bpIndex__el4 = load i32* %bpIndex, align 1
  %tmp1 = add i32 %tmp0, %bpIndex__el4
  store i32 %tmp1, i32* %offset_1d_, align 1
  %tmp2 = add i32 %tmp1, 1
  %1 = getelementptr inbounds double* %table, i32 %tmp2
  %table__el = load double* %1, align 1
  %2 = getelementptr inbounds double* %table, i32 %tmp1
  %table__el9 = load double* %2, align 1
  %tmp3 = fsub double %table__el, %table__el9
  %frac__el = load double* %frac, align 1
  %tmp4 = fmul double %tmp3, %frac__el
  %tmp5 = fadd double %tmp4, %table__el9
  store double %tmp5, double* %yL_1d_, align 1
  %tmp6 = add i32 %stride, %tmp1
  store i32 %tmp6, i32* %offset_1d_, align 1
  %tmp7 = add i32 %tmp6, 1
  %3 = getelementptr inbounds double* %table, i32 %tmp7
  %table__el18 = load double* %3, align 1
  %4 = getelementptr inbounds double* %table, i32 %tmp6
  %table__el21 = load double* %4, align 1
  %tmp8 = fsub double %table__el18, %table__el21
  %tmp9 = fmul double %tmp8, %frac__el
  %tmp10 = fadd double %tmp9, %table__el21
  %tmp11 = fsub double %tmp10, %tmp5
  %5 = getelementptr inbounds double* %frac, i32 1
  %frac__el29 = load double* %5, align 1
  %tmp12 = fmul double %tmp11, %frac__el29
  %tmp13 = fadd double %tmp5, %tmp12
  store double %tmp13, double* %y_, align 1
  ret double %tmp13
}

define double @intrp1d_l_pw(i32 %bpIndex, double %frac, double* %table) {
intrp1d_l_pw_entry:
  %bpIndex_ = alloca i32
  store i32 %bpIndex, i32* %bpIndex_, align 1
  %frac_ = alloca double
  store double %frac, double* %frac_, align 1
  %table_ = alloca double*
  store double* %table, double** %table_, align 1
  %y_ = alloca double
  %tmp0 = add i32 %bpIndex, 1
  %0 = getelementptr inbounds double* %table, i32 %tmp0
  %table__el = load double* %0, align 1
  %1 = getelementptr inbounds double* %table, i32 %bpIndex
  %table__el5 = load double* %1, align 1
  %tmp1 = fsub double %table__el, %table__el5
  %tmp2 = fmul double %tmp1, %frac
  %tmp3 = fadd double %tmp2, %table__el5
  store double %tmp3, double* %y_, align 1
  ret double %tmp3
}

