Generated Code

The following is matlab code generated by the CellML API from this CellML file. (Back to language selection)

The raw code is available.

function [VOI, STATES, ALGEBRAIC, CONSTANTS] = mainFunction()
    % This is the "main function".  In Matlab, things work best if you rename this function to match the filename.
   [VOI, STATES, ALGEBRAIC, CONSTANTS] = solveModel();
end

function [algebraicVariableCount] = getAlgebraicVariableCount() 
    % Used later when setting a global variable with the number of algebraic variables.
    % Note: This is not the "main method".  
    algebraicVariableCount =253;
end
% There are a total of 67 entries in each of the rate and state variable arrays.
% There are a total of 174 entries in the constant variable array.
%

function [VOI, STATES, ALGEBRAIC, CONSTANTS] = solveModel()
    % Create ALGEBRAIC of correct size
    global algebraicVariableCount;  algebraicVariableCount = getAlgebraicVariableCount();
    % Initialise constants and state variables
    [INIT_STATES, CONSTANTS] = initConsts;

    % Set timespan to solve over 
    tspan = [0, 10];

    % Set numerical accuracy options for ODE solver
    options = odeset('RelTol', 1e-06, 'AbsTol', 1e-06, 'MaxStep', 1);

    % Solve model with ODE solver
    [VOI, STATES] = ode15s(@(VOI, STATES)computeRates(VOI, STATES, CONSTANTS), tspan, INIT_STATES, options);

    % Compute algebraic variables
    [RATES, ALGEBRAIC] = computeRates(VOI, STATES, CONSTANTS);
    ALGEBRAIC = computeAlgebraic(ALGEBRAIC, CONSTANTS, STATES, VOI);

    % Plot state variables against variable of integration
    [LEGEND_STATES, LEGEND_ALGEBRAIC, LEGEND_VOI, LEGEND_CONSTANTS] = createLegends();
    figure();
    plot(VOI, STATES);
    xlabel(LEGEND_VOI);
    l = legend(LEGEND_STATES);
    set(l,'Interpreter','none');
end

function [LEGEND_STATES, LEGEND_ALGEBRAIC, LEGEND_VOI, LEGEND_CONSTANTS] = createLegends()
    LEGEND_STATES = ''; LEGEND_ALGEBRAIC = ''; LEGEND_VOI = ''; LEGEND_CONSTANTS = '';
    LEGEND_VOI = strpad('time in component environment (ms)');
    LEGEND_CONSTANTS(:,144) = strpad('a1 in component COMPUTE_CONCENTRATION_AND_VOLTAGE_DERIVATIVES (F_M_per_coulomb)');
    LEGEND_CONSTANTS(:,149) = strpad('a2 in component COMPUTE_CONCENTRATION_AND_VOLTAGE_DERIVATIVES (F_M_per_coulomb)');
    LEGEND_CONSTANTS(:,1) = strpad('Faraday in component COMPUTE_CONCENTRATION_AND_VOLTAGE_DERIVATIVES (coulomb_per_millimole)');
    LEGEND_CONSTANTS(:,2) = strpad('Temp in component COMPUTE_CONCENTRATION_AND_VOLTAGE_DERIVATIVES (kelvin)');
    LEGEND_CONSTANTS(:,3) = strpad('Rgas in component COMPUTE_CONCENTRATION_AND_VOLTAGE_DERIVATIVES (joule_per_mole_kelvin)');
    LEGEND_CONSTANTS(:,116) = strpad('RT_over_F in component COMPUTE_CONCENTRATION_AND_VOLTAGE_DERIVATIVES (mV)');
    LEGEND_CONSTANTS(:,4) = strpad('Acap in component COMPUTE_CONCENTRATION_AND_VOLTAGE_DERIVATIVES (cm2)');
    LEGEND_CONSTANTS(:,124) = strpad('C in component COMPUTE_CONCENTRATION_AND_VOLTAGE_DERIVATIVES (mF)');
    LEGEND_CONSTANTS(:,5) = strpad('Vmyo in component COMPUTE_CONCENTRATION_AND_VOLTAGE_DERIVATIVES (uL)');
    LEGEND_CONSTANTS(:,6) = strpad('VJSR in component COMPUTE_CONCENTRATION_AND_VOLTAGE_DERIVATIVES (uL)');
    LEGEND_CONSTANTS(:,7) = strpad('VNSR in component COMPUTE_CONCENTRATION_AND_VOLTAGE_DERIVATIVES (uL)');
    LEGEND_CONSTANTS(:,8) = strpad('VSS in component COMPUTE_CONCENTRATION_AND_VOLTAGE_DERIVATIVES (uL)');
    LEGEND_STATES(:,1) = strpad('Nai in component COMPUTE_CONCENTRATION_AND_VOLTAGE_DERIVATIVES (mM)');
    LEGEND_STATES(:,2) = strpad('Ki in component COMPUTE_CONCENTRATION_AND_VOLTAGE_DERIVATIVES (mM)');
    LEGEND_STATES(:,3) = strpad('Cai in component COMPUTE_CONCENTRATION_AND_VOLTAGE_DERIVATIVES (mM)');
    LEGEND_STATES(:,4) = strpad('CaSS in component COMPUTE_CONCENTRATION_AND_VOLTAGE_DERIVATIVES (mM)');
    LEGEND_STATES(:,5) = strpad('CaJSR in component COMPUTE_CONCENTRATION_AND_VOLTAGE_DERIVATIVES (mM)');
    LEGEND_STATES(:,6) = strpad('CaNSR in component COMPUTE_CONCENTRATION_AND_VOLTAGE_DERIVATIVES (mM)');
    LEGEND_STATES(:,7) = strpad('V in component COMPUTE_CONCENTRATION_AND_VOLTAGE_DERIVATIVES (mV)');
    LEGEND_ALGEBRAIC(:,129) = strpad('INa in component COMPUTE_INa_IKr_IKs_Ito1_IK1_INab_IKp (uA_per_uF)');
    LEGEND_ALGEBRAIC(:,226) = strpad('INab in component COMPUTE_INa_IKr_IKs_Ito1_IK1_INab_IKp (uA_per_uF)');
    LEGEND_ALGEBRAIC(:,241) = strpad('INaCa in component COMPUTE_INaK_INaCa_ICab_IpCa (uA_per_uF)');
    LEGEND_ALGEBRAIC(:,237) = strpad('INaK in component COMPUTE_INaK_INaCa_ICab_IpCa (uA_per_uF)');
    LEGEND_ALGEBRAIC(:,204) = strpad('IKv14_Na in component COMPUTE_INa_IKr_IKs_Ito1_IK1_INab_IKp (uA_per_uF)');
    LEGEND_ALGEBRAIC(:,133) = strpad('IKr in component COMPUTE_INa_IKr_IKs_Ito1_IK1_INab_IKp (uA_per_uF)');
    LEGEND_ALGEBRAIC(:,137) = strpad('IKs in component COMPUTE_INa_IKr_IKs_Ito1_IK1_INab_IKp (uA_per_uF)');
    LEGEND_ALGEBRAIC(:,224) = strpad('IK1 in component COMPUTE_INa_IKr_IKs_Ito1_IK1_INab_IKp (uA_per_uF)');
    LEGEND_ALGEBRAIC(:,252) = strpad('ICaK in component COMPUTE_ICa_ICaK (uA_per_uF)');
    LEGEND_ALGEBRAIC(:,247) = strpad('ICa in component COMPUTE_ICa_ICaK (uA_per_uF)');
    LEGEND_ALGEBRAIC(:,218) = strpad('Ito1 in component COMPUTE_INa_IKr_IKs_Ito1_IK1_INab_IKp (uA_per_uF)');
    LEGEND_ALGEBRAIC(:,12) = strpad('i_Stim in component I_stimulus (uA_per_uF)');
    LEGEND_ALGEBRAIC(:,142) = strpad('IKv43 in component COMPUTE_INa_IKr_IKs_Ito1_IK1_INab_IKp (uA_per_uF)');
    LEGEND_ALGEBRAIC(:,186) = strpad('IKv14_K in component COMPUTE_INa_IKr_IKs_Ito1_IK1_INab_IKp (uA_per_uF)');
    LEGEND_ALGEBRAIC(:,228) = strpad('ICab in component COMPUTE_INaK_INaCa_ICab_IpCa (uA_per_uF)');
    LEGEND_ALGEBRAIC(:,230) = strpad('IpCa in component COMPUTE_INaK_INaCa_ICab_IpCa (uA_per_uF)');
    LEGEND_ALGEBRAIC(:,59) = strpad('Jxfer in component COMPUTE_INTRACELLULAR_CALCIUM_FLUXES (mM_per_ms)');
    LEGEND_ALGEBRAIC(:,43) = strpad('Jup in component COMPUTE_INTRACELLULAR_CALCIUM_FLUXES (mM_per_ms)');
    LEGEND_ALGEBRAIC(:,89) = strpad('Jtrpn in component COMPUTE_Jtrpn_and_BUFFER_SCALE_FACTORS (mM_per_ms)');
    LEGEND_ALGEBRAIC(:,51) = strpad('Jrel in component COMPUTE_INTRACELLULAR_CALCIUM_FLUXES (mM_per_ms)');
    LEGEND_ALGEBRAIC(:,60) = strpad('Jtr in component COMPUTE_INTRACELLULAR_CALCIUM_FLUXES (mM_per_ms)');
    LEGEND_ALGEBRAIC(:,99) = strpad('beta_SS in component COMPUTE_Jtrpn_and_BUFFER_SCALE_FACTORS (dimensionless)');
    LEGEND_ALGEBRAIC(:,69) = strpad('beta_JSR in component COMPUTE_Jtrpn_and_BUFFER_SCALE_FACTORS (dimensionless)');
    LEGEND_ALGEBRAIC(:,109) = strpad('beta_i in component COMPUTE_Jtrpn_and_BUFFER_SCALE_FACTORS (dimensionless)');
    LEGEND_ALGEBRAIC(:,253) = strpad('i_tot in component COMPUTE_CONCENTRATION_AND_VOLTAGE_DERIVATIVES (uA_per_uF)');
    LEGEND_CONSTANTS(:,9) = strpad('Ko in component COMPUTE_CONCENTRATION_AND_VOLTAGE_DERIVATIVES (mM)');
    LEGEND_CONSTANTS(:,10) = strpad('Nao in component COMPUTE_CONCENTRATION_AND_VOLTAGE_DERIVATIVES (mM)');
    LEGEND_CONSTANTS(:,11) = strpad('Cao in component COMPUTE_CONCENTRATION_AND_VOLTAGE_DERIVATIVES (mM)');
    LEGEND_CONSTANTS(:,12) = strpad('stim_period in component I_stimulus (ms)');
    LEGEND_CONSTANTS(:,13) = strpad('stim_duration in component I_stimulus (ms)');
    LEGEND_CONSTANTS(:,14) = strpad('stim_amplitude in component I_stimulus (uA_per_uF)');
    LEGEND_CONSTANTS(:,15) = strpad('stim_offset in component I_stimulus (ms)');
    LEGEND_ALGEBRAIC(:,1) = strpad('past in component I_stimulus (ms)');
    LEGEND_ALGEBRAIC(:,23) = strpad('fb in component COMPUTE_INTRACELLULAR_CALCIUM_FLUXES (dimensionless)');
    LEGEND_CONSTANTS(:,16) = strpad('Kfb in component COMPUTE_INTRACELLULAR_CALCIUM_FLUXES (mM)');
    LEGEND_CONSTANTS(:,17) = strpad('Nfb in component COMPUTE_INTRACELLULAR_CALCIUM_FLUXES (dimensionless)');
    LEGEND_ALGEBRAIC(:,34) = strpad('rb in component COMPUTE_INTRACELLULAR_CALCIUM_FLUXES (dimensionless)');
    LEGEND_CONSTANTS(:,18) = strpad('Krb in component COMPUTE_INTRACELLULAR_CALCIUM_FLUXES (mM)');
    LEGEND_CONSTANTS(:,19) = strpad('Nrb in component COMPUTE_INTRACELLULAR_CALCIUM_FLUXES (dimensionless)');
    LEGEND_CONSTANTS(:,20) = strpad('KSR in component COMPUTE_INTRACELLULAR_CALCIUM_FLUXES (mM)');
    LEGEND_CONSTANTS(:,21) = strpad('vmaxf in component COMPUTE_INTRACELLULAR_CALCIUM_FLUXES (per_ms)');
    LEGEND_CONSTANTS(:,22) = strpad('vmaxr in component COMPUTE_INTRACELLULAR_CALCIUM_FLUXES (per_ms)');
    LEGEND_CONSTANTS(:,23) = strpad('v1 in component COMPUTE_INTRACELLULAR_CALCIUM_FLUXES (per_ms)');
    LEGEND_STATES(:,8) = strpad('O1_RyR in component COMPUTE_DERIVATIVES_OF_RyR_RECEPTOR_STATES (dimensionless)');
    LEGEND_STATES(:,9) = strpad('O2_RyR in component COMPUTE_DERIVATIVES_OF_RyR_RECEPTOR_STATES (dimensionless)');
    LEGEND_CONSTANTS(:,24) = strpad('tautr in component COMPUTE_INTRACELLULAR_CALCIUM_FLUXES (ms)');
    LEGEND_CONSTANTS(:,25) = strpad('tauxfer in component COMPUTE_INTRACELLULAR_CALCIUM_FLUXES (ms)');
    LEGEND_CONSTANTS(:,26) = strpad('LTRPNtot in component COMPUTE_Jtrpn_and_BUFFER_SCALE_FACTORS (mM)');
    LEGEND_CONSTANTS(:,27) = strpad('HTRPNtot in component COMPUTE_Jtrpn_and_BUFFER_SCALE_FACTORS (mM)');
    LEGEND_CONSTANTS(:,28) = strpad('khtrpn_plus in component COMPUTE_Jtrpn_and_BUFFER_SCALE_FACTORS (per_mM_per_ms)');
    LEGEND_CONSTANTS(:,29) = strpad('khtrpn_minus in component COMPUTE_Jtrpn_and_BUFFER_SCALE_FACTORS (per_ms)');
    LEGEND_CONSTANTS(:,30) = strpad('kltrpn_plus in component COMPUTE_Jtrpn_and_BUFFER_SCALE_FACTORS (per_mM_per_ms)');
    LEGEND_CONSTANTS(:,31) = strpad('kltrpn_minus in component COMPUTE_Jtrpn_and_BUFFER_SCALE_FACTORS (per_ms)');
    LEGEND_CONSTANTS(:,32) = strpad('CMDNtot in component COMPUTE_Jtrpn_and_BUFFER_SCALE_FACTORS (mM)');
    LEGEND_CONSTANTS(:,33) = strpad('CSQNtot in component COMPUTE_Jtrpn_and_BUFFER_SCALE_FACTORS (mM)');
    LEGEND_CONSTANTS(:,34) = strpad('EGTAtot in component COMPUTE_Jtrpn_and_BUFFER_SCALE_FACTORS (mM)');
    LEGEND_CONSTANTS(:,35) = strpad('KmCMDN in component COMPUTE_Jtrpn_and_BUFFER_SCALE_FACTORS (mM)');
    LEGEND_CONSTANTS(:,36) = strpad('KmCSQN in component COMPUTE_Jtrpn_and_BUFFER_SCALE_FACTORS (mM)');
    LEGEND_CONSTANTS(:,37) = strpad('KmEGTA in component COMPUTE_Jtrpn_and_BUFFER_SCALE_FACTORS (mM)');
    LEGEND_ALGEBRAIC(:,68) = strpad('dLTRPNCa in component COMPUTE_Jtrpn_and_BUFFER_SCALE_FACTORS (per_ms)');
    LEGEND_ALGEBRAIC(:,79) = strpad('dHTRPNCa in component COMPUTE_Jtrpn_and_BUFFER_SCALE_FACTORS (per_ms)');
    LEGEND_STATES(:,10) = strpad('LTRPNCa in component COMPUTE_Jtrpn_and_BUFFER_SCALE_FACTORS (dimensionless)');
    LEGEND_STATES(:,11) = strpad('HTRPNCa in component COMPUTE_Jtrpn_and_BUFFER_SCALE_FACTORS (dimensionless)');
    LEGEND_CONSTANTS(:,38) = strpad('kaplus in component COMPUTE_DERIVATIVES_OF_RyR_RECEPTOR_STATES (per_uM4_per_ms)');
    LEGEND_CONSTANTS(:,39) = strpad('kaminus in component COMPUTE_DERIVATIVES_OF_RyR_RECEPTOR_STATES (per_ms)');
    LEGEND_CONSTANTS(:,40) = strpad('kbplus in component COMPUTE_DERIVATIVES_OF_RyR_RECEPTOR_STATES (per_uM3_per_ms)');
    LEGEND_CONSTANTS(:,41) = strpad('kbminus in component COMPUTE_DERIVATIVES_OF_RyR_RECEPTOR_STATES (per_ms)');
    LEGEND_CONSTANTS(:,42) = strpad('kcplus in component COMPUTE_DERIVATIVES_OF_RyR_RECEPTOR_STATES (per_ms)');
    LEGEND_CONSTANTS(:,43) = strpad('kcminus in component COMPUTE_DERIVATIVES_OF_RyR_RECEPTOR_STATES (per_ms)');
    LEGEND_CONSTANTS(:,44) = strpad('ncoop in component COMPUTE_DERIVATIVES_OF_RyR_RECEPTOR_STATES (dimensionless)');
    LEGEND_CONSTANTS(:,45) = strpad('mcoop in component COMPUTE_DERIVATIVES_OF_RyR_RECEPTOR_STATES (dimensionless)');
    LEGEND_ALGEBRAIC(:,2) = strpad('dC1_RyR in component COMPUTE_DERIVATIVES_OF_RyR_RECEPTOR_STATES (per_ms)');
    LEGEND_ALGEBRAIC(:,13) = strpad('dO2_RyR in component COMPUTE_DERIVATIVES_OF_RyR_RECEPTOR_STATES (per_ms)');
    LEGEND_ALGEBRAIC(:,24) = strpad('dC2_RyR in component COMPUTE_DERIVATIVES_OF_RyR_RECEPTOR_STATES (per_ms)');
    LEGEND_ALGEBRAIC(:,35) = strpad('dO1_RyR in component COMPUTE_DERIVATIVES_OF_RyR_RECEPTOR_STATES (per_ms)');
    LEGEND_STATES(:,12) = strpad('C1_RyR in component COMPUTE_DERIVATIVES_OF_RyR_RECEPTOR_STATES (dimensionless)');
    LEGEND_STATES(:,13) = strpad('C2_RyR in component COMPUTE_DERIVATIVES_OF_RyR_RECEPTOR_STATES (dimensionless)');
    LEGEND_CONSTANTS(:,46) = strpad('fL in component COMPUTE_DERIVATIVES_OF_LTYPE_CHANNEL_STATES (per_ms)');
    LEGEND_CONSTANTS(:,47) = strpad('gL in component COMPUTE_DERIVATIVES_OF_LTYPE_CHANNEL_STATES (per_ms)');
    LEGEND_CONSTANTS(:,48) = strpad('bL in component COMPUTE_DERIVATIVES_OF_LTYPE_CHANNEL_STATES (dimensionless)');
    LEGEND_CONSTANTS(:,49) = strpad('aL in component COMPUTE_DERIVATIVES_OF_LTYPE_CHANNEL_STATES (dimensionless)');
    LEGEND_ALGEBRAIC(:,52) = strpad('C0_to_C1 in component COMPUTE_DERIVATIVES_OF_LTYPE_CHANNEL_STATES (per_ms)');
    LEGEND_ALGEBRAIC(:,61) = strpad('C1_to_C2 in component COMPUTE_DERIVATIVES_OF_LTYPE_CHANNEL_STATES (per_ms)');
    LEGEND_ALGEBRAIC(:,70) = strpad('C2_to_C3 in component COMPUTE_DERIVATIVES_OF_LTYPE_CHANNEL_STATES (per_ms)');
    LEGEND_ALGEBRAIC(:,80) = strpad('C3_to_C4 in component COMPUTE_DERIVATIVES_OF_LTYPE_CHANNEL_STATES (per_ms)');
    LEGEND_ALGEBRAIC(:,122) = strpad('C1_to_C0 in component COMPUTE_DERIVATIVES_OF_LTYPE_CHANNEL_STATES (per_ms)');
    LEGEND_ALGEBRAIC(:,126) = strpad('C2_to_C1 in component COMPUTE_DERIVATIVES_OF_LTYPE_CHANNEL_STATES (per_ms)');
    LEGEND_ALGEBRAIC(:,130) = strpad('C3_to_C2 in component COMPUTE_DERIVATIVES_OF_LTYPE_CHANNEL_STATES (per_ms)');
    LEGEND_ALGEBRAIC(:,134) = strpad('C4_to_C3 in component COMPUTE_DERIVATIVES_OF_LTYPE_CHANNEL_STATES (per_ms)');
    LEGEND_ALGEBRAIC(:,90) = strpad('CCa0_to_CCa1 in component COMPUTE_DERIVATIVES_OF_LTYPE_CHANNEL_STATES (per_ms)');
    LEGEND_ALGEBRAIC(:,100) = strpad('CCa1_to_CCa2 in component COMPUTE_DERIVATIVES_OF_LTYPE_CHANNEL_STATES (per_ms)');
    LEGEND_ALGEBRAIC(:,110) = strpad('CCa2_to_CCa3 in component COMPUTE_DERIVATIVES_OF_LTYPE_CHANNEL_STATES (per_ms)');
    LEGEND_ALGEBRAIC(:,118) = strpad('CCa3_to_CCa4 in component COMPUTE_DERIVATIVES_OF_LTYPE_CHANNEL_STATES (per_ms)');
    LEGEND_ALGEBRAIC(:,138) = strpad('CCa1_to_CCa0 in component COMPUTE_DERIVATIVES_OF_LTYPE_CHANNEL_STATES (per_ms)');
    LEGEND_ALGEBRAIC(:,143) = strpad('CCa2_to_CCa1 in component COMPUTE_DERIVATIVES_OF_LTYPE_CHANNEL_STATES (per_ms)');
    LEGEND_ALGEBRAIC(:,149) = strpad('CCa3_to_CCa2 in component COMPUTE_DERIVATIVES_OF_LTYPE_CHANNEL_STATES (per_ms)');
    LEGEND_ALGEBRAIC(:,157) = strpad('CCa4_to_CCa3 in component COMPUTE_DERIVATIVES_OF_LTYPE_CHANNEL_STATES (per_ms)');
    LEGEND_ALGEBRAIC(:,167) = strpad('C0_to_CCa0 in component COMPUTE_DERIVATIVES_OF_LTYPE_CHANNEL_STATES (per_ms)');
    LEGEND_ALGEBRAIC(:,176) = strpad('C1_to_CCa1 in component COMPUTE_DERIVATIVES_OF_LTYPE_CHANNEL_STATES (per_ms)');
    LEGEND_ALGEBRAIC(:,187) = strpad('C2_to_CCa2 in component COMPUTE_DERIVATIVES_OF_LTYPE_CHANNEL_STATES (per_ms)');
    LEGEND_ALGEBRAIC(:,198) = strpad('C3_to_CCa3 in component COMPUTE_DERIVATIVES_OF_LTYPE_CHANNEL_STATES (per_ms)');
    LEGEND_ALGEBRAIC(:,205) = strpad('C4_to_CCa4 in component COMPUTE_DERIVATIVES_OF_LTYPE_CHANNEL_STATES (per_ms)');
    LEGEND_CONSTANTS(:,132) = strpad('CCa0_to_C0 in component COMPUTE_DERIVATIVES_OF_LTYPE_CHANNEL_STATES (per_ms)');
    LEGEND_CONSTANTS(:,148) = strpad('CCa1_to_C1 in component COMPUTE_DERIVATIVES_OF_LTYPE_CHANNEL_STATES (per_ms)');
    LEGEND_CONSTANTS(:,151) = strpad('CCa2_to_C2 in component COMPUTE_DERIVATIVES_OF_LTYPE_CHANNEL_STATES (per_ms)');
    LEGEND_CONSTANTS(:,157) = strpad('CCa3_to_C3 in component COMPUTE_DERIVATIVES_OF_LTYPE_CHANNEL_STATES (per_ms)');
    LEGEND_CONSTANTS(:,162) = strpad('CCa4_to_C4 in component COMPUTE_DERIVATIVES_OF_LTYPE_CHANNEL_STATES (per_ms)');
    LEGEND_ALGEBRAIC(:,3) = strpad('alpha in component COMPUTE_DERIVATIVES_OF_LTYPE_CHANNEL_STATES (per_ms)');
    LEGEND_ALGEBRAIC(:,14) = strpad('beta in component COMPUTE_DERIVATIVES_OF_LTYPE_CHANNEL_STATES (per_ms)');
    LEGEND_ALGEBRAIC(:,25) = strpad('alpha_prime in component COMPUTE_DERIVATIVES_OF_LTYPE_CHANNEL_STATES (per_ms)');
    LEGEND_ALGEBRAIC(:,36) = strpad('beta_prime in component COMPUTE_DERIVATIVES_OF_LTYPE_CHANNEL_STATES (per_ms)');
    LEGEND_ALGEBRAIC(:,44) = strpad('gamma in component COMPUTE_DERIVATIVES_OF_LTYPE_CHANNEL_STATES (per_ms)');
    LEGEND_CONSTANTS(:,117) = strpad('omega in component COMPUTE_DERIVATIVES_OF_LTYPE_CHANNEL_STATES (per_ms)');
    LEGEND_ALGEBRAIC(:,177) = strpad('a1_Ca0 in component COMPUTE_DERIVATIVES_OF_LTYPE_CHANNEL_STATES (per_ms)');
    LEGEND_ALGEBRAIC(:,188) = strpad('a2_Ca0 in component COMPUTE_DERIVATIVES_OF_LTYPE_CHANNEL_STATES (per_ms)');
    LEGEND_ALGEBRAIC(:,189) = strpad('a1_Ca1 in component COMPUTE_DERIVATIVES_OF_LTYPE_CHANNEL_STATES (per_ms)');
    LEGEND_ALGEBRAIC(:,199) = strpad('a2_Ca1 in component COMPUTE_DERIVATIVES_OF_LTYPE_CHANNEL_STATES (per_ms)');
    LEGEND_ALGEBRAIC(:,200) = strpad('a1_Ca2 in component COMPUTE_DERIVATIVES_OF_LTYPE_CHANNEL_STATES (per_ms)');
    LEGEND_ALGEBRAIC(:,206) = strpad('a2_Ca2 in component COMPUTE_DERIVATIVES_OF_LTYPE_CHANNEL_STATES (per_ms)');
    LEGEND_ALGEBRAIC(:,207) = strpad('a1_Ca3 in component COMPUTE_DERIVATIVES_OF_LTYPE_CHANNEL_STATES (per_ms)');
    LEGEND_ALGEBRAIC(:,212) = strpad('a2_Ca3 in component COMPUTE_DERIVATIVES_OF_LTYPE_CHANNEL_STATES (per_ms)');
    LEGEND_ALGEBRAIC(:,213) = strpad('a1_Ca4 in component COMPUTE_DERIVATIVES_OF_LTYPE_CHANNEL_STATES (per_ms)');
    LEGEND_ALGEBRAIC(:,219) = strpad('a2_Ca4 in component COMPUTE_DERIVATIVES_OF_LTYPE_CHANNEL_STATES (per_ms)');
    LEGEND_ALGEBRAIC(:,178) = strpad('a1_C0 in component COMPUTE_DERIVATIVES_OF_LTYPE_CHANNEL_STATES (per_ms)');
    LEGEND_ALGEBRAIC(:,190) = strpad('a2_C0 in component COMPUTE_DERIVATIVES_OF_LTYPE_CHANNEL_STATES (per_ms)');
    LEGEND_ALGEBRAIC(:,191) = strpad('a1_C1 in component COMPUTE_DERIVATIVES_OF_LTYPE_CHANNEL_STATES (per_ms)');
    LEGEND_ALGEBRAIC(:,201) = strpad('a2_C1 in component COMPUTE_DERIVATIVES_OF_LTYPE_CHANNEL_STATES (per_ms)');
    LEGEND_ALGEBRAIC(:,202) = strpad('a1_C2 in component COMPUTE_DERIVATIVES_OF_LTYPE_CHANNEL_STATES (per_ms)');
    LEGEND_ALGEBRAIC(:,208) = strpad('a2_C2 in component COMPUTE_DERIVATIVES_OF_LTYPE_CHANNEL_STATES (per_ms)');
    LEGEND_ALGEBRAIC(:,209) = strpad('a1_C3 in component COMPUTE_DERIVATIVES_OF_LTYPE_CHANNEL_STATES (per_ms)');
    LEGEND_ALGEBRAIC(:,214) = strpad('a2_C3 in component COMPUTE_DERIVATIVES_OF_LTYPE_CHANNEL_STATES (per_ms)');
    LEGEND_ALGEBRAIC(:,215) = strpad('a1_C4 in component COMPUTE_DERIVATIVES_OF_LTYPE_CHANNEL_STATES (per_ms)');
    LEGEND_ALGEBRAIC(:,220) = strpad('a2_C4 in component COMPUTE_DERIVATIVES_OF_LTYPE_CHANNEL_STATES (per_ms)');
    LEGEND_STATES(:,14) = strpad('C0 in component COMPUTE_DERIVATIVES_OF_LTYPE_CHANNEL_STATES (dimensionless)');
    LEGEND_STATES(:,15) = strpad('C1 in component COMPUTE_DERIVATIVES_OF_LTYPE_CHANNEL_STATES (dimensionless)');
    LEGEND_STATES(:,16) = strpad('C2 in component COMPUTE_DERIVATIVES_OF_LTYPE_CHANNEL_STATES (dimensionless)');
    LEGEND_STATES(:,17) = strpad('C3 in component COMPUTE_DERIVATIVES_OF_LTYPE_CHANNEL_STATES (dimensionless)');
    LEGEND_STATES(:,18) = strpad('C4 in component COMPUTE_DERIVATIVES_OF_LTYPE_CHANNEL_STATES (dimensionless)');
    LEGEND_STATES(:,19) = strpad('CCa0 in component COMPUTE_DERIVATIVES_OF_LTYPE_CHANNEL_STATES (dimensionless)');
    LEGEND_STATES(:,20) = strpad('CCa1 in component COMPUTE_DERIVATIVES_OF_LTYPE_CHANNEL_STATES (dimensionless)');
    LEGEND_STATES(:,21) = strpad('CCa2 in component COMPUTE_DERIVATIVES_OF_LTYPE_CHANNEL_STATES (dimensionless)');
    LEGEND_STATES(:,22) = strpad('CCa3 in component COMPUTE_DERIVATIVES_OF_LTYPE_CHANNEL_STATES (dimensionless)');
    LEGEND_STATES(:,23) = strpad('CCa4 in component COMPUTE_DERIVATIVES_OF_LTYPE_CHANNEL_STATES (dimensionless)');
    LEGEND_STATES(:,24) = strpad('Open in component COMPUTE_DERIVATIVES_OF_LTYPE_CHANNEL_STATES (dimensionless)');
    LEGEND_STATES(:,25) = strpad('yCa in component COMPUTE_DERIVATIVES_OF_LTYPE_CHANNEL_STATES (dimensionless)');
    LEGEND_CONSTANTS(:,118) = strpad('a1_Cainf in component COMPUTE_DERIVATIVES_OF_LTYPE_CHANNEL_STATES (dimensionless)');
    LEGEND_ALGEBRAIC(:,4) = strpad('yCa_inf in component COMPUTE_DERIVATIVES_OF_LTYPE_CHANNEL_STATES (dimensionless)');
    LEGEND_ALGEBRAIC(:,15) = strpad('tau_yCa in component COMPUTE_DERIVATIVES_OF_LTYPE_CHANNEL_STATES (ms)');
    LEGEND_ALGEBRAIC(:,5) = strpad('alpha_act43 in component COMPUTE_DERIVATIVES_OF_Kv4_3_CHANNEL_STATES (per_ms)');
    LEGEND_ALGEBRAIC(:,16) = strpad('beta_act43 in component COMPUTE_DERIVATIVES_OF_Kv4_3_CHANNEL_STATES (per_ms)');
    LEGEND_ALGEBRAIC(:,26) = strpad('alpha_inact43 in component COMPUTE_DERIVATIVES_OF_Kv4_3_CHANNEL_STATES (per_ms)');
    LEGEND_ALGEBRAIC(:,37) = strpad('beta_inact43 in component COMPUTE_DERIVATIVES_OF_Kv4_3_CHANNEL_STATES (per_ms)');
    LEGEND_ALGEBRAIC(:,45) = strpad('C0Kv43_to_C1Kv43 in component COMPUTE_DERIVATIVES_OF_Kv4_3_CHANNEL_STATES (per_ms)');
    LEGEND_ALGEBRAIC(:,53) = strpad('C1Kv43_to_C2Kv43 in component COMPUTE_DERIVATIVES_OF_Kv4_3_CHANNEL_STATES (per_ms)');
    LEGEND_ALGEBRAIC(:,62) = strpad('C2Kv43_to_C3Kv43 in component COMPUTE_DERIVATIVES_OF_Kv4_3_CHANNEL_STATES (per_ms)');
    LEGEND_ALGEBRAIC(:,71) = strpad('C3Kv43_to_OKv43 in component COMPUTE_DERIVATIVES_OF_Kv4_3_CHANNEL_STATES (per_ms)');
    LEGEND_ALGEBRAIC(:,81) = strpad('CI0Kv43_to_CI1Kv43 in component COMPUTE_DERIVATIVES_OF_Kv4_3_CHANNEL_STATES (per_ms)');
    LEGEND_ALGEBRAIC(:,91) = strpad('CI1Kv43_to_CI2Kv43 in component COMPUTE_DERIVATIVES_OF_Kv4_3_CHANNEL_STATES (per_ms)');
    LEGEND_ALGEBRAIC(:,101) = strpad('CI2Kv43_to_CI3Kv43 in component COMPUTE_DERIVATIVES_OF_Kv4_3_CHANNEL_STATES (per_ms)');
    LEGEND_ALGEBRAIC(:,111) = strpad('CI3Kv43_to_OIKv43 in component COMPUTE_DERIVATIVES_OF_Kv4_3_CHANNEL_STATES (per_ms)');
    LEGEND_ALGEBRAIC(:,119) = strpad('C1Kv43_to_C0Kv43 in component COMPUTE_DERIVATIVES_OF_Kv4_3_CHANNEL_STATES (per_ms)');
    LEGEND_ALGEBRAIC(:,123) = strpad('C2Kv43_to_C1Kv43 in component COMPUTE_DERIVATIVES_OF_Kv4_3_CHANNEL_STATES (per_ms)');
    LEGEND_ALGEBRAIC(:,127) = strpad('C3Kv43_to_C2Kv43 in component COMPUTE_DERIVATIVES_OF_Kv4_3_CHANNEL_STATES (per_ms)');
    LEGEND_ALGEBRAIC(:,131) = strpad('OKv43_to_C3Kv43 in component COMPUTE_DERIVATIVES_OF_Kv4_3_CHANNEL_STATES (per_ms)');
    LEGEND_ALGEBRAIC(:,135) = strpad('CI1Kv43_to_CI0Kv43 in component COMPUTE_DERIVATIVES_OF_Kv4_3_CHANNEL_STATES (per_ms)');
    LEGEND_ALGEBRAIC(:,140) = strpad('CI2Kv43_to_CI1Kv43 in component COMPUTE_DERIVATIVES_OF_Kv4_3_CHANNEL_STATES (per_ms)');
    LEGEND_ALGEBRAIC(:,145) = strpad('CI3Kv43_to_CI2Kv43 in component COMPUTE_DERIVATIVES_OF_Kv4_3_CHANNEL_STATES (per_ms)');
    LEGEND_ALGEBRAIC(:,151) = strpad('OIKv43_to_CI3Kv43 in component COMPUTE_DERIVATIVES_OF_Kv4_3_CHANNEL_STATES (per_ms)');
    LEGEND_ALGEBRAIC(:,139) = strpad('C0Kv43_to_CI0Kv43 in component COMPUTE_DERIVATIVES_OF_Kv4_3_CHANNEL_STATES (per_ms)');
    LEGEND_ALGEBRAIC(:,144) = strpad('C1Kv43_to_CI1Kv43 in component COMPUTE_DERIVATIVES_OF_Kv4_3_CHANNEL_STATES (per_ms)');
    LEGEND_ALGEBRAIC(:,150) = strpad('C2Kv43_to_CI2Kv43 in component COMPUTE_DERIVATIVES_OF_Kv4_3_CHANNEL_STATES (per_ms)');
    LEGEND_ALGEBRAIC(:,158) = strpad('C3Kv43_to_CI3Kv43 in component COMPUTE_DERIVATIVES_OF_Kv4_3_CHANNEL_STATES (per_ms)');
    LEGEND_ALGEBRAIC(:,159) = strpad('OKv43_to_OIKv43 in component COMPUTE_DERIVATIVES_OF_Kv4_3_CHANNEL_STATES (per_ms)');
    LEGEND_ALGEBRAIC(:,146) = strpad('CI0Kv43_to_C0Kv43 in component COMPUTE_DERIVATIVES_OF_Kv4_3_CHANNEL_STATES (per_ms)');
    LEGEND_ALGEBRAIC(:,152) = strpad('CI1Kv43_to_C1Kv43 in component COMPUTE_DERIVATIVES_OF_Kv4_3_CHANNEL_STATES (per_ms)');
    LEGEND_ALGEBRAIC(:,160) = strpad('CI2Kv43_to_C2Kv43 in component COMPUTE_DERIVATIVES_OF_Kv4_3_CHANNEL_STATES (per_ms)');
    LEGEND_ALGEBRAIC(:,168) = strpad('CI3Kv43_to_C3Kv43 in component COMPUTE_DERIVATIVES_OF_Kv4_3_CHANNEL_STATES (per_ms)');
    LEGEND_ALGEBRAIC(:,169) = strpad('OIKv43_to_OKv43 in component COMPUTE_DERIVATIVES_OF_Kv4_3_CHANNEL_STATES (per_ms)');
    LEGEND_STATES(:,26) = strpad('C0Kv43 in component COMPUTE_DERIVATIVES_OF_Kv4_3_CHANNEL_STATES (dimensionless)');
    LEGEND_STATES(:,27) = strpad('C1Kv43 in component COMPUTE_DERIVATIVES_OF_Kv4_3_CHANNEL_STATES (dimensionless)');
    LEGEND_STATES(:,28) = strpad('C2Kv43 in component COMPUTE_DERIVATIVES_OF_Kv4_3_CHANNEL_STATES (dimensionless)');
    LEGEND_STATES(:,29) = strpad('C3Kv43 in component COMPUTE_DERIVATIVES_OF_Kv4_3_CHANNEL_STATES (dimensionless)');
    LEGEND_STATES(:,30) = strpad('OKv43 in component COMPUTE_DERIVATIVES_OF_Kv4_3_CHANNEL_STATES (dimensionless)');
    LEGEND_STATES(:,31) = strpad('CI0Kv43 in component COMPUTE_DERIVATIVES_OF_Kv4_3_CHANNEL_STATES (dimensionless)');
    LEGEND_STATES(:,32) = strpad('CI1Kv43 in component COMPUTE_DERIVATIVES_OF_Kv4_3_CHANNEL_STATES (dimensionless)');
    LEGEND_STATES(:,33) = strpad('CI2Kv43 in component COMPUTE_DERIVATIVES_OF_Kv4_3_CHANNEL_STATES (dimensionless)');
    LEGEND_STATES(:,34) = strpad('CI3Kv43 in component COMPUTE_DERIVATIVES_OF_Kv4_3_CHANNEL_STATES (dimensionless)');
    LEGEND_STATES(:,35) = strpad('OIKv43 in component COMPUTE_DERIVATIVES_OF_Kv4_3_CHANNEL_STATES (dimensionless)');
    LEGEND_ALGEBRAIC(:,153) = strpad('a1_C043 in component COMPUTE_DERIVATIVES_OF_Kv4_3_CHANNEL_STATES (per_ms)');
    LEGEND_ALGEBRAIC(:,161) = strpad('a2_C043 in component COMPUTE_DERIVATIVES_OF_Kv4_3_CHANNEL_STATES (per_ms)');
    LEGEND_ALGEBRAIC(:,162) = strpad('a1_C143 in component COMPUTE_DERIVATIVES_OF_Kv4_3_CHANNEL_STATES (per_ms)');
    LEGEND_ALGEBRAIC(:,170) = strpad('a2_C143 in component COMPUTE_DERIVATIVES_OF_Kv4_3_CHANNEL_STATES (per_ms)');
    LEGEND_ALGEBRAIC(:,171) = strpad('a1_C243 in component COMPUTE_DERIVATIVES_OF_Kv4_3_CHANNEL_STATES (per_ms)');
    LEGEND_ALGEBRAIC(:,179) = strpad('a2_C243 in component COMPUTE_DERIVATIVES_OF_Kv4_3_CHANNEL_STATES (per_ms)');
    LEGEND_ALGEBRAIC(:,180) = strpad('a1_C343 in component COMPUTE_DERIVATIVES_OF_Kv4_3_CHANNEL_STATES (per_ms)');
    LEGEND_ALGEBRAIC(:,192) = strpad('a2_C343 in component COMPUTE_DERIVATIVES_OF_Kv4_3_CHANNEL_STATES (per_ms)');
    LEGEND_ALGEBRAIC(:,181) = strpad('a1_O43 in component COMPUTE_DERIVATIVES_OF_Kv4_3_CHANNEL_STATES (per_ms)');
    LEGEND_ALGEBRAIC(:,193) = strpad('a2_O43 in component COMPUTE_DERIVATIVES_OF_Kv4_3_CHANNEL_STATES (per_ms)');
    LEGEND_ALGEBRAIC(:,154) = strpad('a1_I043 in component COMPUTE_DERIVATIVES_OF_Kv4_3_CHANNEL_STATES (per_ms)');
    LEGEND_ALGEBRAIC(:,163) = strpad('a2_I043 in component COMPUTE_DERIVATIVES_OF_Kv4_3_CHANNEL_STATES (per_ms)');
    LEGEND_ALGEBRAIC(:,164) = strpad('a1_I143 in component COMPUTE_DERIVATIVES_OF_Kv4_3_CHANNEL_STATES (per_ms)');
    LEGEND_ALGEBRAIC(:,172) = strpad('a2_I143 in component COMPUTE_DERIVATIVES_OF_Kv4_3_CHANNEL_STATES (per_ms)');
    LEGEND_ALGEBRAIC(:,173) = strpad('a1_I243 in component COMPUTE_DERIVATIVES_OF_Kv4_3_CHANNEL_STATES (per_ms)');
    LEGEND_ALGEBRAIC(:,182) = strpad('a2_I243 in component COMPUTE_DERIVATIVES_OF_Kv4_3_CHANNEL_STATES (per_ms)');
    LEGEND_ALGEBRAIC(:,183) = strpad('a1_I343 in component COMPUTE_DERIVATIVES_OF_Kv4_3_CHANNEL_STATES (per_ms)');
    LEGEND_ALGEBRAIC(:,194) = strpad('a2_I343 in component COMPUTE_DERIVATIVES_OF_Kv4_3_CHANNEL_STATES (per_ms)');
    LEGEND_ALGEBRAIC(:,184) = strpad('a1_OI43 in component COMPUTE_DERIVATIVES_OF_Kv4_3_CHANNEL_STATES (per_ms)');
    LEGEND_ALGEBRAIC(:,195) = strpad('a2_OI43 in component COMPUTE_DERIVATIVES_OF_Kv4_3_CHANNEL_STATES (per_ms)');
    LEGEND_CONSTANTS(:,50) = strpad('alphaa0Kv43 in component COMPUTE_DERIVATIVES_OF_Kv4_3_CHANNEL_STATES (per_ms)');
    LEGEND_CONSTANTS(:,51) = strpad('aaKv43 in component COMPUTE_DERIVATIVES_OF_Kv4_3_CHANNEL_STATES (per_mV)');
    LEGEND_CONSTANTS(:,52) = strpad('betaa0Kv43 in component COMPUTE_DERIVATIVES_OF_Kv4_3_CHANNEL_STATES (per_ms)');
    LEGEND_CONSTANTS(:,53) = strpad('baKv43 in component COMPUTE_DERIVATIVES_OF_Kv4_3_CHANNEL_STATES (per_mV)');
    LEGEND_CONSTANTS(:,54) = strpad('alphai0Kv43 in component COMPUTE_DERIVATIVES_OF_Kv4_3_CHANNEL_STATES (per_ms)');
    LEGEND_CONSTANTS(:,55) = strpad('aiKv43 in component COMPUTE_DERIVATIVES_OF_Kv4_3_CHANNEL_STATES (per_mV)');
    LEGEND_CONSTANTS(:,56) = strpad('betai0Kv43 in component COMPUTE_DERIVATIVES_OF_Kv4_3_CHANNEL_STATES (per_ms)');
    LEGEND_CONSTANTS(:,57) = strpad('biKv43 in component COMPUTE_DERIVATIVES_OF_Kv4_3_CHANNEL_STATES (per_mV)');
    LEGEND_CONSTANTS(:,58) = strpad('f1Kv43 in component COMPUTE_DERIVATIVES_OF_Kv4_3_CHANNEL_STATES (dimensionless)');
    LEGEND_CONSTANTS(:,59) = strpad('f2Kv43 in component COMPUTE_DERIVATIVES_OF_Kv4_3_CHANNEL_STATES (dimensionless)');
    LEGEND_CONSTANTS(:,60) = strpad('f3Kv43 in component COMPUTE_DERIVATIVES_OF_Kv4_3_CHANNEL_STATES (dimensionless)');
    LEGEND_CONSTANTS(:,61) = strpad('f4Kv43 in component COMPUTE_DERIVATIVES_OF_Kv4_3_CHANNEL_STATES (dimensionless)');
    LEGEND_CONSTANTS(:,62) = strpad('b1Kv43 in component COMPUTE_DERIVATIVES_OF_Kv4_3_CHANNEL_STATES (dimensionless)');
    LEGEND_CONSTANTS(:,63) = strpad('b2Kv43 in component COMPUTE_DERIVATIVES_OF_Kv4_3_CHANNEL_STATES (dimensionless)');
    LEGEND_CONSTANTS(:,64) = strpad('b3Kv43 in component COMPUTE_DERIVATIVES_OF_Kv4_3_CHANNEL_STATES (dimensionless)');
    LEGEND_CONSTANTS(:,65) = strpad('b4Kv43 in component COMPUTE_DERIVATIVES_OF_Kv4_3_CHANNEL_STATES (dimensionless)');
    LEGEND_CONSTANTS(:,66) = strpad('f1Kv14 in component COMPUTE_DERIVATIVES_OF_Kv1_4_CHANNEL_STATES (dimensionless)');
    LEGEND_CONSTANTS(:,67) = strpad('f2Kv14 in component COMPUTE_DERIVATIVES_OF_Kv1_4_CHANNEL_STATES (dimensionless)');
    LEGEND_CONSTANTS(:,68) = strpad('f3Kv14 in component COMPUTE_DERIVATIVES_OF_Kv1_4_CHANNEL_STATES (dimensionless)');
    LEGEND_CONSTANTS(:,69) = strpad('f4Kv14 in component COMPUTE_DERIVATIVES_OF_Kv1_4_CHANNEL_STATES (dimensionless)');
    LEGEND_CONSTANTS(:,70) = strpad('b1Kv14 in component COMPUTE_DERIVATIVES_OF_Kv1_4_CHANNEL_STATES (dimensionless)');
    LEGEND_CONSTANTS(:,71) = strpad('b2Kv14 in component COMPUTE_DERIVATIVES_OF_Kv1_4_CHANNEL_STATES (dimensionless)');
    LEGEND_CONSTANTS(:,72) = strpad('b3Kv14 in component COMPUTE_DERIVATIVES_OF_Kv1_4_CHANNEL_STATES (dimensionless)');
    LEGEND_CONSTANTS(:,73) = strpad('b4Kv14 in component COMPUTE_DERIVATIVES_OF_Kv1_4_CHANNEL_STATES (dimensionless)');
    LEGEND_CONSTANTS(:,74) = strpad('alphaa0Kv14 in component COMPUTE_DERIVATIVES_OF_Kv1_4_CHANNEL_STATES (per_ms)');
    LEGEND_CONSTANTS(:,75) = strpad('aaKv14 in component COMPUTE_DERIVATIVES_OF_Kv1_4_CHANNEL_STATES (per_mV)');
    LEGEND_CONSTANTS(:,76) = strpad('betaa0Kv14 in component COMPUTE_DERIVATIVES_OF_Kv1_4_CHANNEL_STATES (per_ms)');
    LEGEND_CONSTANTS(:,77) = strpad('baKv14 in component COMPUTE_DERIVATIVES_OF_Kv1_4_CHANNEL_STATES (per_mV)');
    LEGEND_CONSTANTS(:,78) = strpad('alphai0Kv14 in component COMPUTE_DERIVATIVES_OF_Kv1_4_CHANNEL_STATES (per_ms)');
    LEGEND_CONSTANTS(:,79) = strpad('betai0Kv14 in component COMPUTE_DERIVATIVES_OF_Kv1_4_CHANNEL_STATES (per_ms)');
    LEGEND_ALGEBRAIC(:,6) = strpad('alpha_act14 in component COMPUTE_DERIVATIVES_OF_Kv1_4_CHANNEL_STATES (per_ms)');
    LEGEND_ALGEBRAIC(:,17) = strpad('beta_act14 in component COMPUTE_DERIVATIVES_OF_Kv1_4_CHANNEL_STATES (per_ms)');
    LEGEND_CONSTANTS(:,119) = strpad('alpha_inact14 in component COMPUTE_DERIVATIVES_OF_Kv1_4_CHANNEL_STATES (per_ms)');
    LEGEND_CONSTANTS(:,120) = strpad('beta_inact14 in component COMPUTE_DERIVATIVES_OF_Kv1_4_CHANNEL_STATES (per_ms)');
    LEGEND_ALGEBRAIC(:,27) = strpad('C0Kv14_to_C1Kv14 in component COMPUTE_DERIVATIVES_OF_Kv1_4_CHANNEL_STATES (per_ms)');
    LEGEND_ALGEBRAIC(:,38) = strpad('C1Kv14_to_C2Kv14 in component COMPUTE_DERIVATIVES_OF_Kv1_4_CHANNEL_STATES (per_ms)');
    LEGEND_ALGEBRAIC(:,46) = strpad('C2Kv14_to_C3Kv14 in component COMPUTE_DERIVATIVES_OF_Kv1_4_CHANNEL_STATES (per_ms)');
    LEGEND_ALGEBRAIC(:,54) = strpad('C3Kv14_to_OKv14 in component COMPUTE_DERIVATIVES_OF_Kv1_4_CHANNEL_STATES (per_ms)');
    LEGEND_ALGEBRAIC(:,28) = strpad('CI0Kv14_to_CI1Kv14 in component COMPUTE_DERIVATIVES_OF_Kv1_4_CHANNEL_STATES (per_ms)');
    LEGEND_ALGEBRAIC(:,39) = strpad('CI1Kv14_to_CI2Kv14 in component COMPUTE_DERIVATIVES_OF_Kv1_4_CHANNEL_STATES (per_ms)');
    LEGEND_ALGEBRAIC(:,47) = strpad('CI2Kv14_to_CI3Kv14 in component COMPUTE_DERIVATIVES_OF_Kv1_4_CHANNEL_STATES (per_ms)');
    LEGEND_ALGEBRAIC(:,55) = strpad('CI3Kv14_to_OIKv14 in component COMPUTE_DERIVATIVES_OF_Kv1_4_CHANNEL_STATES (per_ms)');
    LEGEND_ALGEBRAIC(:,63) = strpad('C1Kv14_to_C0Kv14 in component COMPUTE_DERIVATIVES_OF_Kv1_4_CHANNEL_STATES (per_ms)');
    LEGEND_ALGEBRAIC(:,72) = strpad('C2Kv14_to_C1Kv14 in component COMPUTE_DERIVATIVES_OF_Kv1_4_CHANNEL_STATES (per_ms)');
    LEGEND_ALGEBRAIC(:,82) = strpad('C3Kv14_to_C2Kv14 in component COMPUTE_DERIVATIVES_OF_Kv1_4_CHANNEL_STATES (per_ms)');
    LEGEND_ALGEBRAIC(:,92) = strpad('OKv14_to_C3Kv14 in component COMPUTE_DERIVATIVES_OF_Kv1_4_CHANNEL_STATES (per_ms)');
    LEGEND_ALGEBRAIC(:,64) = strpad('CI1Kv14_to_CI0Kv14 in component COMPUTE_DERIVATIVES_OF_Kv1_4_CHANNEL_STATES (per_ms)');
    LEGEND_ALGEBRAIC(:,73) = strpad('CI2Kv14_to_CI1Kv14 in component COMPUTE_DERIVATIVES_OF_Kv1_4_CHANNEL_STATES (per_ms)');
    LEGEND_ALGEBRAIC(:,83) = strpad('CI3Kv14_to_CI2Kv14 in component COMPUTE_DERIVATIVES_OF_Kv1_4_CHANNEL_STATES (per_ms)');
    LEGEND_ALGEBRAIC(:,93) = strpad('OIKv14_to_CI3Kv14 in component COMPUTE_DERIVATIVES_OF_Kv1_4_CHANNEL_STATES (per_ms)');
    LEGEND_CONSTANTS(:,133) = strpad('C0Kv14_to_CI0Kv14 in component COMPUTE_DERIVATIVES_OF_Kv1_4_CHANNEL_STATES (per_ms)');
    LEGEND_CONSTANTS(:,134) = strpad('C1Kv14_to_CI1Kv14 in component COMPUTE_DERIVATIVES_OF_Kv1_4_CHANNEL_STATES (per_ms)');
    LEGEND_CONSTANTS(:,135) = strpad('C2Kv14_to_CI2Kv14 in component COMPUTE_DERIVATIVES_OF_Kv1_4_CHANNEL_STATES (per_ms)');
    LEGEND_CONSTANTS(:,136) = strpad('C3Kv14_to_CI3Kv14 in component COMPUTE_DERIVATIVES_OF_Kv1_4_CHANNEL_STATES (per_ms)');
    LEGEND_CONSTANTS(:,137) = strpad('OKv14_to_OIKv14 in component COMPUTE_DERIVATIVES_OF_Kv1_4_CHANNEL_STATES (per_ms)');
    LEGEND_CONSTANTS(:,138) = strpad('CI0Kv14_to_C0Kv14 in component COMPUTE_DERIVATIVES_OF_Kv1_4_CHANNEL_STATES (per_ms)');
    LEGEND_CONSTANTS(:,139) = strpad('CI1Kv14_to_C1Kv14 in component COMPUTE_DERIVATIVES_OF_Kv1_4_CHANNEL_STATES (per_ms)');
    LEGEND_CONSTANTS(:,140) = strpad('CI2Kv14_to_C2Kv14 in component COMPUTE_DERIVATIVES_OF_Kv1_4_CHANNEL_STATES (per_ms)');
    LEGEND_CONSTANTS(:,141) = strpad('CI3Kv14_to_C3Kv14 in component COMPUTE_DERIVATIVES_OF_Kv1_4_CHANNEL_STATES (per_ms)');
    LEGEND_CONSTANTS(:,142) = strpad('OIKv14_to_OKv14 in component COMPUTE_DERIVATIVES_OF_Kv1_4_CHANNEL_STATES (per_ms)');
    LEGEND_ALGEBRAIC(:,74) = strpad('a1_C0 in component COMPUTE_DERIVATIVES_OF_Kv1_4_CHANNEL_STATES (per_ms)');
    LEGEND_ALGEBRAIC(:,84) = strpad('a2_C0 in component COMPUTE_DERIVATIVES_OF_Kv1_4_CHANNEL_STATES (per_ms)');
    LEGEND_STATES(:,36) = strpad('C0Kv14 in component COMPUTE_DERIVATIVES_OF_Kv1_4_CHANNEL_STATES (dimensionless)');
    LEGEND_ALGEBRAIC(:,85) = strpad('a1_C1 in component COMPUTE_DERIVATIVES_OF_Kv1_4_CHANNEL_STATES (per_ms)');
    LEGEND_ALGEBRAIC(:,94) = strpad('a2_C1 in component COMPUTE_DERIVATIVES_OF_Kv1_4_CHANNEL_STATES (per_ms)');
    LEGEND_STATES(:,37) = strpad('C1Kv14 in component COMPUTE_DERIVATIVES_OF_Kv1_4_CHANNEL_STATES (dimensionless)');
    LEGEND_ALGEBRAIC(:,95) = strpad('a1_C2 in component COMPUTE_DERIVATIVES_OF_Kv1_4_CHANNEL_STATES (per_ms)');
    LEGEND_ALGEBRAIC(:,102) = strpad('a2_C2 in component COMPUTE_DERIVATIVES_OF_Kv1_4_CHANNEL_STATES (per_ms)');
    LEGEND_STATES(:,38) = strpad('C2Kv14 in component COMPUTE_DERIVATIVES_OF_Kv1_4_CHANNEL_STATES (dimensionless)');
    LEGEND_ALGEBRAIC(:,103) = strpad('a1_C3 in component COMPUTE_DERIVATIVES_OF_Kv1_4_CHANNEL_STATES (per_ms)');
    LEGEND_ALGEBRAIC(:,112) = strpad('a2_C3 in component COMPUTE_DERIVATIVES_OF_Kv1_4_CHANNEL_STATES (per_ms)');
    LEGEND_STATES(:,39) = strpad('C3Kv14 in component COMPUTE_DERIVATIVES_OF_Kv1_4_CHANNEL_STATES (dimensionless)');
    LEGEND_ALGEBRAIC(:,104) = strpad('a1_O in component COMPUTE_DERIVATIVES_OF_Kv1_4_CHANNEL_STATES (per_ms)');
    LEGEND_ALGEBRAIC(:,113) = strpad('a2_O in component COMPUTE_DERIVATIVES_OF_Kv1_4_CHANNEL_STATES (per_ms)');
    LEGEND_STATES(:,40) = strpad('OKv14 in component COMPUTE_DERIVATIVES_OF_Kv1_4_CHANNEL_STATES (dimensionless)');
    LEGEND_ALGEBRAIC(:,75) = strpad('a1_CI0 in component COMPUTE_DERIVATIVES_OF_Kv1_4_CHANNEL_STATES (per_ms)');
    LEGEND_ALGEBRAIC(:,86) = strpad('a2_CI0 in component COMPUTE_DERIVATIVES_OF_Kv1_4_CHANNEL_STATES (per_ms)');
    LEGEND_STATES(:,41) = strpad('CI0Kv14 in component COMPUTE_DERIVATIVES_OF_Kv1_4_CHANNEL_STATES (dimensionless)');
    LEGEND_ALGEBRAIC(:,87) = strpad('a1_CI1 in component COMPUTE_DERIVATIVES_OF_Kv1_4_CHANNEL_STATES (per_ms)');
    LEGEND_ALGEBRAIC(:,96) = strpad('a2_CI1 in component COMPUTE_DERIVATIVES_OF_Kv1_4_CHANNEL_STATES (per_ms)');
    LEGEND_STATES(:,42) = strpad('CI1Kv14 in component COMPUTE_DERIVATIVES_OF_Kv1_4_CHANNEL_STATES (dimensionless)');
    LEGEND_ALGEBRAIC(:,97) = strpad('a1_CI2 in component COMPUTE_DERIVATIVES_OF_Kv1_4_CHANNEL_STATES (per_ms)');
    LEGEND_ALGEBRAIC(:,105) = strpad('a2_CI2 in component COMPUTE_DERIVATIVES_OF_Kv1_4_CHANNEL_STATES (per_ms)');
    LEGEND_STATES(:,43) = strpad('CI2Kv14 in component COMPUTE_DERIVATIVES_OF_Kv1_4_CHANNEL_STATES (dimensionless)');
    LEGEND_ALGEBRAIC(:,106) = strpad('a1_CI3 in component COMPUTE_DERIVATIVES_OF_Kv1_4_CHANNEL_STATES (per_ms)');
    LEGEND_ALGEBRAIC(:,114) = strpad('a2_CI3 in component COMPUTE_DERIVATIVES_OF_Kv1_4_CHANNEL_STATES (per_ms)');
    LEGEND_STATES(:,44) = strpad('CI3Kv14 in component COMPUTE_DERIVATIVES_OF_Kv1_4_CHANNEL_STATES (dimensionless)');
    LEGEND_ALGEBRAIC(:,107) = strpad('a1_OI in component COMPUTE_DERIVATIVES_OF_Kv1_4_CHANNEL_STATES (per_ms)');
    LEGEND_ALGEBRAIC(:,115) = strpad('a2_OI in component COMPUTE_DERIVATIVES_OF_Kv1_4_CHANNEL_STATES (per_ms)');
    LEGEND_STATES(:,45) = strpad('OIKv14 in component COMPUTE_DERIVATIVES_OF_Kv1_4_CHANNEL_STATES (dimensionless)');
    LEGEND_ALGEBRAIC(:,117) = strpad('ENa in component COMPUTE_REVERSAL_POTENTIALS (mV)');
    LEGEND_ALGEBRAIC(:,121) = strpad('EK in component COMPUTE_REVERSAL_POTENTIALS (mV)');
    LEGEND_ALGEBRAIC(:,18) = strpad('EKs in component COMPUTE_REVERSAL_POTENTIALS (mV)');
    LEGEND_ALGEBRAIC(:,125) = strpad('ECa in component COMPUTE_REVERSAL_POTENTIALS (mV)');
    LEGEND_CONSTANTS(:,143) = strpad('a1 in component COMPUTE_REVERSAL_POTENTIALS (mM)');
    LEGEND_ALGEBRAIC(:,7) = strpad('a2 in component COMPUTE_REVERSAL_POTENTIALS (mM)');
    LEGEND_CONSTANTS(:,80) = strpad('GKr in component COMPUTE_INa_IKr_IKs_Ito1_IK1_INab_IKp (mS_per_uF)');
    LEGEND_CONSTANTS(:,81) = strpad('GKs in component COMPUTE_INa_IKr_IKs_Ito1_IK1_INab_IKp (mS_per_uF)');
    LEGEND_CONSTANTS(:,82) = strpad('GK1 in component COMPUTE_INa_IKr_IKs_Ito1_IK1_INab_IKp (mS_per_uF)');
    LEGEND_CONSTANTS(:,83) = strpad('GNa in component COMPUTE_INa_IKr_IKs_Ito1_IK1_INab_IKp (mS_per_uF)');
    LEGEND_CONSTANTS(:,84) = strpad('GNab in component COMPUTE_INa_IKr_IKs_Ito1_IK1_INab_IKp (mS_per_uF)');
    LEGEND_CONSTANTS(:,85) = strpad('KvScale in component COMPUTE_INa_IKr_IKs_Ito1_IK1_INab_IKp (dimensionless)');
    LEGEND_CONSTANTS(:,86) = strpad('Kv43Frac in component COMPUTE_INa_IKr_IKs_Ito1_IK1_INab_IKp (dimensionless)');
    LEGEND_CONSTANTS(:,121) = strpad('GKv43 in component COMPUTE_INa_IKr_IKs_Ito1_IK1_INab_IKp (mS_per_uF)');
    LEGEND_CONSTANTS(:,122) = strpad('PKv14 in component COMPUTE_INa_IKr_IKs_Ito1_IK1_INab_IKp (litre_per_farad_second)');
    LEGEND_STATES(:,46) = strpad('na6 in component INa (dimensionless)');
    LEGEND_STATES(:,47) = strpad('na7 in component INa (dimensionless)');
    LEGEND_STATES(:,48) = strpad('OHerg in component IKr (dimensionless)');
    LEGEND_STATES(:,49) = strpad('O1ks in component IKs (dimensionless)');
    LEGEND_STATES(:,50) = strpad('O2ks in component IKs (dimensionless)');
    LEGEND_CONSTANTS(:,123) = strpad('fKo in component COMPUTE_INa_IKr_IKs_Ito1_IK1_INab_IKp (dimensionless)');
    LEGEND_ALGEBRAIC(:,148) = strpad('VF_over_RT in component COMPUTE_INa_IKr_IKs_Ito1_IK1_INab_IKp (dimensionless)');
    LEGEND_ALGEBRAIC(:,156) = strpad('VFsq_over_RT in component COMPUTE_INa_IKr_IKs_Ito1_IK1_INab_IKp (coulomb_per_millimole)');
    LEGEND_ALGEBRAIC(:,166) = strpad('a1_K in component COMPUTE_INa_IKr_IKs_Ito1_IK1_INab_IKp (mM)');
    LEGEND_ALGEBRAIC(:,175) = strpad('a2 in component COMPUTE_INa_IKr_IKs_Ito1_IK1_INab_IKp (dimensionless)');
    LEGEND_ALGEBRAIC(:,197) = strpad('a1_Na in component COMPUTE_INa_IKr_IKs_Ito1_IK1_INab_IKp (mM)');
    LEGEND_ALGEBRAIC(:,222) = strpad('K1_inf in component COMPUTE_INa_IKr_IKs_Ito1_IK1_INab_IKp (dimensionless)');
    LEGEND_ALGEBRAIC(:,211) = strpad('IKv14 in component COMPUTE_INa_IKr_IKs_Ito1_IK1_INab_IKp (uA_per_uF)');
    LEGEND_CONSTANTS(:,87) = strpad('kNaCa in component COMPUTE_INaK_INaCa_ICab_IpCa (uA_per_uF)');
    LEGEND_CONSTANTS(:,88) = strpad('KmNa in component COMPUTE_INaK_INaCa_ICab_IpCa (mM)');
    LEGEND_CONSTANTS(:,89) = strpad('KmCa in component COMPUTE_INaK_INaCa_ICab_IpCa (mM)');
    LEGEND_CONSTANTS(:,90) = strpad('ksat in component COMPUTE_INaK_INaCa_ICab_IpCa (dimensionless)');
    LEGEND_CONSTANTS(:,91) = strpad('eta in component COMPUTE_INaK_INaCa_ICab_IpCa (dimensionless)');
    LEGEND_CONSTANTS(:,92) = strpad('INaKmax in component COMPUTE_INaK_INaCa_ICab_IpCa (uA_per_uF)');
    LEGEND_CONSTANTS(:,93) = strpad('KmNai in component COMPUTE_INaK_INaCa_ICab_IpCa (mM)');
    LEGEND_CONSTANTS(:,94) = strpad('KmKo in component COMPUTE_INaK_INaCa_ICab_IpCa (mM)');
    LEGEND_CONSTANTS(:,95) = strpad('IpCamax in component COMPUTE_INaK_INaCa_ICab_IpCa (uA_per_uF)');
    LEGEND_CONSTANTS(:,96) = strpad('KmpCa in component COMPUTE_INaK_INaCa_ICab_IpCa (mM)');
    LEGEND_CONSTANTS(:,97) = strpad('GCab in component COMPUTE_INaK_INaCa_ICab_IpCa (mS_per_uF)');
    LEGEND_ALGEBRAIC(:,232) = strpad('VF_over_RT in component COMPUTE_INaK_INaCa_ICab_IpCa (dimensionless)');
    LEGEND_CONSTANTS(:,152) = strpad('sigma in component COMPUTE_INaK_INaCa_ICab_IpCa (dimensionless)');
    LEGEND_ALGEBRAIC(:,233) = strpad('a1_Na in component COMPUTE_INaK_INaCa_ICab_IpCa (dimensionless)');
    LEGEND_ALGEBRAIC(:,234) = strpad('a2_Na in component COMPUTE_INaK_INaCa_ICab_IpCa (dimensionless)');
    LEGEND_ALGEBRAIC(:,235) = strpad('fNaK in component COMPUTE_INaK_INaCa_ICab_IpCa (dimensionless)');
    LEGEND_CONSTANTS(:,156) = strpad('a1_K in component COMPUTE_INaK_INaCa_ICab_IpCa (dimensionless)');
    LEGEND_ALGEBRAIC(:,236) = strpad('a2_K in component COMPUTE_INaK_INaCa_ICab_IpCa (dimensionless)');
    LEGEND_ALGEBRAIC(:,238) = strpad('a1_ncx in component COMPUTE_INaK_INaCa_ICab_IpCa (mM4)');
    LEGEND_ALGEBRAIC(:,239) = strpad('a2_ncx in component COMPUTE_INaK_INaCa_ICab_IpCa (mM4)');
    LEGEND_ALGEBRAIC(:,240) = strpad('a3_ncx in component COMPUTE_INaK_INaCa_ICab_IpCa (dimensionless)');
    LEGEND_CONSTANTS(:,161) = strpad('a4_ncx in component COMPUTE_INaK_INaCa_ICab_IpCa (mM)');
    LEGEND_CONSTANTS(:,164) = strpad('a5_ncx in component COMPUTE_INaK_INaCa_ICab_IpCa (mM3)');
    LEGEND_ALGEBRAIC(:,249) = strpad('PKprime in component COMPUTE_ICa_ICaK (litre_per_farad_second)');
    LEGEND_ALGEBRAIC(:,242) = strpad('VF_over_RT in component COMPUTE_ICa_ICaK (dimensionless)');
    LEGEND_ALGEBRAIC(:,243) = strpad('VFsq_over_RT in component COMPUTE_ICa_ICaK (coulomb_per_millimole)');
    LEGEND_ALGEBRAIC(:,244) = strpad('a1_Ca in component COMPUTE_ICa_ICaK (mM)');
    LEGEND_ALGEBRAIC(:,245) = strpad('a2_Ca in component COMPUTE_ICa_ICaK (dimensionless)');
    LEGEND_ALGEBRAIC(:,250) = strpad('a1_K in component COMPUTE_ICa_ICaK (mM)');
    LEGEND_ALGEBRAIC(:,251) = strpad('a2_K in component COMPUTE_ICa_ICaK (dimensionless)');
    LEGEND_ALGEBRAIC(:,246) = strpad('ICamax in component COMPUTE_ICa_ICaK (uA_per_uF)');
    LEGEND_ALGEBRAIC(:,248) = strpad('Icabar in component COMPUTE_ICa_ICaK (uA_per_uF)');
    LEGEND_CONSTANTS(:,145) = strpad('PCa in component COMPUTE_ICa_ICaK (litre_per_farad_second)');
    LEGEND_CONSTANTS(:,125) = strpad('PK in component COMPUTE_ICa_ICaK (litre_per_farad_second)');
    LEGEND_CONSTANTS(:,98) = strpad('ICahalf in component COMPUTE_ICa_ICaK (uA_per_uF)');
    LEGEND_CONSTANTS(:,99) = strpad('Pscale in component COMPUTE_ICa_ICaK (dimensionless)');
    LEGEND_CONSTANTS(:,150) = strpad('Temp_Scale in component INa (dimensionless)');
    LEGEND_ALGEBRAIC(:,8) = strpad('alpha1 in component INa (per_ms)');
    LEGEND_ALGEBRAIC(:,19) = strpad('beta1 in component INa (per_ms)');
    LEGEND_ALGEBRAIC(:,29) = strpad('gamma1 in component INa (per_ms)');
    LEGEND_ALGEBRAIC(:,40) = strpad('Delta1 in component INa (per_ms)');
    LEGEND_ALGEBRAIC(:,48) = strpad('On in component INa (per_ms)');
    LEGEND_ALGEBRAIC(:,56) = strpad('Of in component INa (per_ms)');
    LEGEND_ALGEBRAIC(:,65) = strpad('GammaGamma in component INa (per_ms)');
    LEGEND_ALGEBRAIC(:,76) = strpad('DeltaDelta in component INa (per_ms)');
    LEGEND_CONSTANTS(:,154) = strpad('epsilon in component INa (per_ms)');
    LEGEND_CONSTANTS(:,155) = strpad('omega_na in component INa (per_ms)');
    LEGEND_ALGEBRAIC(:,88) = strpad('rho in component INa (per_ms)');
    LEGEND_ALGEBRAIC(:,98) = strpad('mu in component INa (per_ms)');
    LEGEND_CONSTANTS(:,153) = strpad('Cn in component INa (per_ms)');
    LEGEND_CONSTANTS(:,158) = strpad('Cf in component INa (per_ms)');
    LEGEND_CONSTANTS(:,163) = strpad('parameter_a in component INa (dimensionless)');
    LEGEND_ALGEBRAIC(:,108) = strpad('k12 in component INa (per_ms)');
    LEGEND_ALGEBRAIC(:,116) = strpad('k23 in component INa (per_ms)');
    LEGEND_ALGEBRAIC(:,120) = strpad('k34 in component INa (per_ms)');
    LEGEND_ALGEBRAIC(:,124) = strpad('k45 in component INa (per_ms)');
    LEGEND_ALGEBRAIC(:,128) = strpad('k56 in component INa (per_ms)');
    LEGEND_CONSTANTS(:,159) = strpad('k67 in component INa (per_ms)');
    LEGEND_ALGEBRAIC(:,132) = strpad('k89 in component INa (per_ms)');
    LEGEND_ALGEBRAIC(:,136) = strpad('k910 in component INa (per_ms)');
    LEGEND_ALGEBRAIC(:,141) = strpad('k1011 in component INa (per_ms)');
    LEGEND_ALGEBRAIC(:,147) = strpad('k1112 in component INa (per_ms)');
    LEGEND_ALGEBRAIC(:,155) = strpad('k1213 in component INa (per_ms)');
    LEGEND_ALGEBRAIC(:,165) = strpad('k57 in component INa (per_ms)');
    LEGEND_ALGEBRAIC(:,174) = strpad('k21 in component INa (per_ms)');
    LEGEND_ALGEBRAIC(:,185) = strpad('k32 in component INa (per_ms)');
    LEGEND_ALGEBRAIC(:,196) = strpad('k43 in component INa (per_ms)');
    LEGEND_ALGEBRAIC(:,203) = strpad('k54 in component INa (per_ms)');
    LEGEND_ALGEBRAIC(:,210) = strpad('k65 in component INa (per_ms)');
    LEGEND_CONSTANTS(:,160) = strpad('k76 in component INa (per_ms)');
    LEGEND_ALGEBRAIC(:,216) = strpad('k98 in component INa (per_ms)');
    LEGEND_ALGEBRAIC(:,221) = strpad('k109 in component INa (per_ms)');
    LEGEND_ALGEBRAIC(:,223) = strpad('k1110 in component INa (per_ms)');
    LEGEND_ALGEBRAIC(:,225) = strpad('k1211 in component INa (per_ms)');
    LEGEND_ALGEBRAIC(:,227) = strpad('k1312 in component INa (per_ms)');
    LEGEND_ALGEBRAIC(:,217) = strpad('k75 in component INa (per_ms)');
    LEGEND_CONSTANTS(:,165) = strpad('k81 in component INa (per_ms)');
    LEGEND_CONSTANTS(:,167) = strpad('k92 in component INa (per_ms)');
    LEGEND_CONSTANTS(:,169) = strpad('k103 in component INa (per_ms)');
    LEGEND_CONSTANTS(:,171) = strpad('k114 in component INa (per_ms)');
    LEGEND_CONSTANTS(:,173) = strpad('k125 in component INa (per_ms)');
    LEGEND_ALGEBRAIC(:,229) = strpad('k136 in component INa (per_ms)');
    LEGEND_CONSTANTS(:,166) = strpad('k18 in component INa (per_ms)');
    LEGEND_CONSTANTS(:,168) = strpad('k29 in component INa (per_ms)');
    LEGEND_CONSTANTS(:,170) = strpad('k310 in component INa (per_ms)');
    LEGEND_CONSTANTS(:,172) = strpad('k411 in component INa (per_ms)');
    LEGEND_CONSTANTS(:,174) = strpad('k512 in component INa (per_ms)');
    LEGEND_ALGEBRAIC(:,231) = strpad('k613 in component INa (per_ms)');
    LEGEND_STATES(:,51) = strpad('na1 in component INa (dimensionless)');
    LEGEND_STATES(:,52) = strpad('na2 in component INa (dimensionless)');
    LEGEND_STATES(:,53) = strpad('na3 in component INa (dimensionless)');
    LEGEND_STATES(:,54) = strpad('na4 in component INa (dimensionless)');
    LEGEND_STATES(:,55) = strpad('na5 in component INa (dimensionless)');
    LEGEND_STATES(:,56) = strpad('na8 in component INa (dimensionless)');
    LEGEND_STATES(:,57) = strpad('na9 in component INa (dimensionless)');
    LEGEND_STATES(:,58) = strpad('na10 in component INa (dimensionless)');
    LEGEND_STATES(:,59) = strpad('na11 in component INa (dimensionless)');
    LEGEND_STATES(:,60) = strpad('na12 in component INa (dimensionless)');
    LEGEND_STATES(:,61) = strpad('na13 in component INa (dimensionless)');
    LEGEND_CONSTANTS(:,100) = strpad('TNa in component INa (kelvin)');
    LEGEND_CONSTANTS(:,126) = strpad('KToverH in component INa (per_ms)');
    LEGEND_CONSTANTS(:,147) = strpad('FoverRT in component INa (per_mV)');
    LEGEND_CONSTANTS(:,146) = strpad('RTNa in component INa (joule_per_mole)');
    LEGEND_CONSTANTS(:,127) = strpad('RTNaF in component INa (mV)');
    LEGEND_CONSTANTS(:,101) = strpad('T_Const_HERG in component IKr (dimensionless)');
    LEGEND_CONSTANTS(:,102) = strpad('A0_HERG in component IKr (per_ms)');
    LEGEND_CONSTANTS(:,103) = strpad('B0_HERG in component IKr (per_mV)');
    LEGEND_CONSTANTS(:,104) = strpad('A1_HERG in component IKr (per_ms)');
    LEGEND_CONSTANTS(:,105) = strpad('B1_HERG in component IKr (per_mV)');
    LEGEND_CONSTANTS(:,106) = strpad('A2_HERG in component IKr (per_ms)');
    LEGEND_CONSTANTS(:,107) = strpad('B2_HERG in component IKr (per_mV)');
    LEGEND_CONSTANTS(:,108) = strpad('A3_HERG in component IKr (per_ms)');
    LEGEND_CONSTANTS(:,109) = strpad('B3_HERG in component IKr (per_mV)');
    LEGEND_CONSTANTS(:,110) = strpad('A4_HERG in component IKr (per_ms)');
    LEGEND_CONSTANTS(:,111) = strpad('B4_HERG in component IKr (per_mV)');
    LEGEND_CONSTANTS(:,112) = strpad('A5_HERG in component IKr (per_ms)');
    LEGEND_CONSTANTS(:,113) = strpad('B5_HERG in component IKr (per_mV)');
    LEGEND_CONSTANTS(:,114) = strpad('A6_HERG in component IKr (per_ms)');
    LEGEND_CONSTANTS(:,115) = strpad('B6_HERG in component IKr (per_mV)');
    LEGEND_CONSTANTS(:,128) = strpad('C2H_to_C3H in component IKr (per_ms)');
    LEGEND_CONSTANTS(:,129) = strpad('C3H_to_C2H in component IKr (per_ms)');
    LEGEND_ALGEBRAIC(:,9) = strpad('C1H_to_C2H in component IKr (per_ms)');
    LEGEND_ALGEBRAIC(:,20) = strpad('C2H_to_C1H in component IKr (per_ms)');
    LEGEND_ALGEBRAIC(:,10) = strpad('C3H_to_OH in component IKr (per_ms)');
    LEGEND_ALGEBRAIC(:,21) = strpad('OH_to_C3H in component IKr (per_ms)');
    LEGEND_ALGEBRAIC(:,30) = strpad('OH_to_IH in component IKr (per_ms)');
    LEGEND_ALGEBRAIC(:,41) = strpad('IH_to_OH in component IKr (per_ms)');
    LEGEND_ALGEBRAIC(:,49) = strpad('C3H_to_IH in component IKr (per_ms)');
    LEGEND_ALGEBRAIC(:,57) = strpad('IH_to_C3H in component IKr (per_ms)');
    LEGEND_STATES(:,62) = strpad('C1Herg in component IKr (dimensionless)');
    LEGEND_ALGEBRAIC(:,31) = strpad('a1_C2 in component IKr (per_ms)');
    LEGEND_ALGEBRAIC(:,42) = strpad('a2_C2 in component IKr (per_ms)');
    LEGEND_STATES(:,63) = strpad('C2Herg in component IKr (dimensionless)');
    LEGEND_ALGEBRAIC(:,66) = strpad('a1_C3 in component IKr (per_ms)');
    LEGEND_ALGEBRAIC(:,77) = strpad('a2_C3 in component IKr (per_ms)');
    LEGEND_STATES(:,64) = strpad('C3Herg in component IKr (dimensionless)');
    LEGEND_ALGEBRAIC(:,50) = strpad('a1_O in component IKr (per_ms)');
    LEGEND_ALGEBRAIC(:,58) = strpad('a2_O in component IKr (per_ms)');
    LEGEND_ALGEBRAIC(:,67) = strpad('a1_I in component IKr (per_ms)');
    LEGEND_ALGEBRAIC(:,78) = strpad('a2_I in component IKr (per_ms)');
    LEGEND_STATES(:,65) = strpad('IHerg in component IKr (dimensionless)');
    LEGEND_CONSTANTS(:,130) = strpad('C0ks_C1ks in component IKs (per_ms)');
    LEGEND_CONSTANTS(:,131) = strpad('C1ks_O1ks in component IKs (per_ms)');
    LEGEND_ALGEBRAIC(:,11) = strpad('O1ks_O2ks in component IKs (per_ms)');
    LEGEND_ALGEBRAIC(:,22) = strpad('O1ks_C1ks in component IKs (per_ms)');
    LEGEND_ALGEBRAIC(:,32) = strpad('O2ks_O1ks in component IKs (per_ms)');
    LEGEND_ALGEBRAIC(:,33) = strpad('C1ks_C0ks in component IKs (per_ms)');
    LEGEND_STATES(:,66) = strpad('C0ks in component IKs (dimensionless)');
    LEGEND_STATES(:,67) = strpad('C1ks in component IKs (dimensionless)');
    LEGEND_RATES(:,1) = strpad('d/dt Nai in component COMPUTE_CONCENTRATION_AND_VOLTAGE_DERIVATIVES (mM)');
    LEGEND_RATES(:,2) = strpad('d/dt Ki in component COMPUTE_CONCENTRATION_AND_VOLTAGE_DERIVATIVES (mM)');
    LEGEND_RATES(:,3) = strpad('d/dt Cai in component COMPUTE_CONCENTRATION_AND_VOLTAGE_DERIVATIVES (mM)');
    LEGEND_RATES(:,4) = strpad('d/dt CaSS in component COMPUTE_CONCENTRATION_AND_VOLTAGE_DERIVATIVES (mM)');
    LEGEND_RATES(:,5) = strpad('d/dt CaJSR in component COMPUTE_CONCENTRATION_AND_VOLTAGE_DERIVATIVES (mM)');
    LEGEND_RATES(:,6) = strpad('d/dt CaNSR in component COMPUTE_CONCENTRATION_AND_VOLTAGE_DERIVATIVES (mM)');
    LEGEND_RATES(:,7) = strpad('d/dt V in component COMPUTE_CONCENTRATION_AND_VOLTAGE_DERIVATIVES (mV)');
    LEGEND_RATES(:,10) = strpad('d/dt LTRPNCa in component COMPUTE_Jtrpn_and_BUFFER_SCALE_FACTORS (dimensionless)');
    LEGEND_RATES(:,11) = strpad('d/dt HTRPNCa in component COMPUTE_Jtrpn_and_BUFFER_SCALE_FACTORS (dimensionless)');
    LEGEND_RATES(:,12) = strpad('d/dt C1_RyR in component COMPUTE_DERIVATIVES_OF_RyR_RECEPTOR_STATES (dimensionless)');
    LEGEND_RATES(:,9) = strpad('d/dt O2_RyR in component COMPUTE_DERIVATIVES_OF_RyR_RECEPTOR_STATES (dimensionless)');
    LEGEND_RATES(:,13) = strpad('d/dt C2_RyR in component COMPUTE_DERIVATIVES_OF_RyR_RECEPTOR_STATES (dimensionless)');
    LEGEND_RATES(:,8) = strpad('d/dt O1_RyR in component COMPUTE_DERIVATIVES_OF_RyR_RECEPTOR_STATES (dimensionless)');
    LEGEND_RATES(:,14) = strpad('d/dt C0 in component COMPUTE_DERIVATIVES_OF_LTYPE_CHANNEL_STATES (dimensionless)');
    LEGEND_RATES(:,15) = strpad('d/dt C1 in component COMPUTE_DERIVATIVES_OF_LTYPE_CHANNEL_STATES (dimensionless)');
    LEGEND_RATES(:,16) = strpad('d/dt C2 in component COMPUTE_DERIVATIVES_OF_LTYPE_CHANNEL_STATES (dimensionless)');
    LEGEND_RATES(:,17) = strpad('d/dt C3 in component COMPUTE_DERIVATIVES_OF_LTYPE_CHANNEL_STATES (dimensionless)');
    LEGEND_RATES(:,18) = strpad('d/dt C4 in component COMPUTE_DERIVATIVES_OF_LTYPE_CHANNEL_STATES (dimensionless)');
    LEGEND_RATES(:,24) = strpad('d/dt Open in component COMPUTE_DERIVATIVES_OF_LTYPE_CHANNEL_STATES (dimensionless)');
    LEGEND_RATES(:,19) = strpad('d/dt CCa0 in component COMPUTE_DERIVATIVES_OF_LTYPE_CHANNEL_STATES (dimensionless)');
    LEGEND_RATES(:,20) = strpad('d/dt CCa1 in component COMPUTE_DERIVATIVES_OF_LTYPE_CHANNEL_STATES (dimensionless)');
    LEGEND_RATES(:,21) = strpad('d/dt CCa2 in component COMPUTE_DERIVATIVES_OF_LTYPE_CHANNEL_STATES (dimensionless)');
    LEGEND_RATES(:,22) = strpad('d/dt CCa3 in component COMPUTE_DERIVATIVES_OF_LTYPE_CHANNEL_STATES (dimensionless)');
    LEGEND_RATES(:,23) = strpad('d/dt CCa4 in component COMPUTE_DERIVATIVES_OF_LTYPE_CHANNEL_STATES (dimensionless)');
    LEGEND_RATES(:,25) = strpad('d/dt yCa in component COMPUTE_DERIVATIVES_OF_LTYPE_CHANNEL_STATES (dimensionless)');
    LEGEND_RATES(:,26) = strpad('d/dt C0Kv43 in component COMPUTE_DERIVATIVES_OF_Kv4_3_CHANNEL_STATES (dimensionless)');
    LEGEND_RATES(:,27) = strpad('d/dt C1Kv43 in component COMPUTE_DERIVATIVES_OF_Kv4_3_CHANNEL_STATES (dimensionless)');
    LEGEND_RATES(:,28) = strpad('d/dt C2Kv43 in component COMPUTE_DERIVATIVES_OF_Kv4_3_CHANNEL_STATES (dimensionless)');
    LEGEND_RATES(:,29) = strpad('d/dt C3Kv43 in component COMPUTE_DERIVATIVES_OF_Kv4_3_CHANNEL_STATES (dimensionless)');
    LEGEND_RATES(:,30) = strpad('d/dt OKv43 in component COMPUTE_DERIVATIVES_OF_Kv4_3_CHANNEL_STATES (dimensionless)');
    LEGEND_RATES(:,31) = strpad('d/dt CI0Kv43 in component COMPUTE_DERIVATIVES_OF_Kv4_3_CHANNEL_STATES (dimensionless)');
    LEGEND_RATES(:,32) = strpad('d/dt CI1Kv43 in component COMPUTE_DERIVATIVES_OF_Kv4_3_CHANNEL_STATES (dimensionless)');
    LEGEND_RATES(:,33) = strpad('d/dt CI2Kv43 in component COMPUTE_DERIVATIVES_OF_Kv4_3_CHANNEL_STATES (dimensionless)');
    LEGEND_RATES(:,34) = strpad('d/dt CI3Kv43 in component COMPUTE_DERIVATIVES_OF_Kv4_3_CHANNEL_STATES (dimensionless)');
    LEGEND_RATES(:,35) = strpad('d/dt OIKv43 in component COMPUTE_DERIVATIVES_OF_Kv4_3_CHANNEL_STATES (dimensionless)');
    LEGEND_RATES(:,36) = strpad('d/dt C0Kv14 in component COMPUTE_DERIVATIVES_OF_Kv1_4_CHANNEL_STATES (dimensionless)');
    LEGEND_RATES(:,37) = strpad('d/dt C1Kv14 in component COMPUTE_DERIVATIVES_OF_Kv1_4_CHANNEL_STATES (dimensionless)');
    LEGEND_RATES(:,38) = strpad('d/dt C2Kv14 in component COMPUTE_DERIVATIVES_OF_Kv1_4_CHANNEL_STATES (dimensionless)');
    LEGEND_RATES(:,39) = strpad('d/dt C3Kv14 in component COMPUTE_DERIVATIVES_OF_Kv1_4_CHANNEL_STATES (dimensionless)');
    LEGEND_RATES(:,40) = strpad('d/dt OKv14 in component COMPUTE_DERIVATIVES_OF_Kv1_4_CHANNEL_STATES (dimensionless)');
    LEGEND_RATES(:,41) = strpad('d/dt CI0Kv14 in component COMPUTE_DERIVATIVES_OF_Kv1_4_CHANNEL_STATES (dimensionless)');
    LEGEND_RATES(:,42) = strpad('d/dt CI1Kv14 in component COMPUTE_DERIVATIVES_OF_Kv1_4_CHANNEL_STATES (dimensionless)');
    LEGEND_RATES(:,43) = strpad('d/dt CI2Kv14 in component COMPUTE_DERIVATIVES_OF_Kv1_4_CHANNEL_STATES (dimensionless)');
    LEGEND_RATES(:,44) = strpad('d/dt CI3Kv14 in component COMPUTE_DERIVATIVES_OF_Kv1_4_CHANNEL_STATES (dimensionless)');
    LEGEND_RATES(:,45) = strpad('d/dt OIKv14 in component COMPUTE_DERIVATIVES_OF_Kv1_4_CHANNEL_STATES (dimensionless)');
    LEGEND_RATES(:,51) = strpad('d/dt na1 in component INa (dimensionless)');
    LEGEND_RATES(:,52) = strpad('d/dt na2 in component INa (dimensionless)');
    LEGEND_RATES(:,53) = strpad('d/dt na3 in component INa (dimensionless)');
    LEGEND_RATES(:,54) = strpad('d/dt na4 in component INa (dimensionless)');
    LEGEND_RATES(:,55) = strpad('d/dt na5 in component INa (dimensionless)');
    LEGEND_RATES(:,46) = strpad('d/dt na6 in component INa (dimensionless)');
    LEGEND_RATES(:,47) = strpad('d/dt na7 in component INa (dimensionless)');
    LEGEND_RATES(:,56) = strpad('d/dt na8 in component INa (dimensionless)');
    LEGEND_RATES(:,57) = strpad('d/dt na9 in component INa (dimensionless)');
    LEGEND_RATES(:,58) = strpad('d/dt na10 in component INa (dimensionless)');
    LEGEND_RATES(:,59) = strpad('d/dt na11 in component INa (dimensionless)');
    LEGEND_RATES(:,60) = strpad('d/dt na12 in component INa (dimensionless)');
    LEGEND_RATES(:,61) = strpad('d/dt na13 in component INa (dimensionless)');
    LEGEND_RATES(:,62) = strpad('d/dt C1Herg in component IKr (dimensionless)');
    LEGEND_RATES(:,63) = strpad('d/dt C2Herg in component IKr (dimensionless)');
    LEGEND_RATES(:,64) = strpad('d/dt C3Herg in component IKr (dimensionless)');
    LEGEND_RATES(:,48) = strpad('d/dt OHerg in component IKr (dimensionless)');
    LEGEND_RATES(:,65) = strpad('d/dt IHerg in component IKr (dimensionless)');
    LEGEND_RATES(:,66) = strpad('d/dt C0ks in component IKs (dimensionless)');
    LEGEND_RATES(:,67) = strpad('d/dt C1ks in component IKs (dimensionless)');
    LEGEND_RATES(:,49) = strpad('d/dt O1ks in component IKs (dimensionless)');
    LEGEND_RATES(:,50) = strpad('d/dt O2ks in component IKs (dimensionless)');
    LEGEND_STATES  = LEGEND_STATES';
    LEGEND_ALGEBRAIC = LEGEND_ALGEBRAIC';
    LEGEND_RATES = LEGEND_RATES';
    LEGEND_CONSTANTS = LEGEND_CONSTANTS';
end

function [STATES, CONSTANTS] = initConsts()
    VOI = 0; CONSTANTS = []; STATES = []; ALGEBRAIC = [];
    CONSTANTS(:,1) = 96.5;
    CONSTANTS(:,2) = 310;
    CONSTANTS(:,3) = 8.315;
    CONSTANTS(:,4) = 1.534e-4;
    CONSTANTS(:,5) = 25.84e-6;
    CONSTANTS(:,6) = 0.16e-6;
    CONSTANTS(:,7) = 2.1e-6;
    CONSTANTS(:,8) = 1.2e-9;
    STATES(:,1) = 0.9798304162e1;
    STATES(:,2) = 0.1255589432e3;
    STATES(:,3) = 0.8601192016e-4;
    STATES(:,4) = 0.1420215245e-3;
    STATES(:,5) = 0.2852239446;
    STATES(:,6) = 0.2855294915;
    STATES(:,7) = -0.9065755929e2;
    CONSTANTS(:,9) = 4;
    CONSTANTS(:,10) = 138;
    CONSTANTS(:,11) = 2;
    CONSTANTS(:,12) = 1e3;
    CONSTANTS(:,13) = 3;
    CONSTANTS(:,14) = -15;
    CONSTANTS(:,15) = 0;
    CONSTANTS(:,16) = 0.000168;
    CONSTANTS(:,17) = 1.2;
    CONSTANTS(:,18) = 3.29;
    CONSTANTS(:,19) = 1;
    CONSTANTS(:,20) = 1.2;
    CONSTANTS(:,21) = 0.0748e-3;
    CONSTANTS(:,22) = 0.318e-3;
    CONSTANTS(:,23) = 1.8;
    STATES(:,8) = 0.6601783287e-3;
    STATES(:,9) = 0.397392006e-8;
    CONSTANTS(:,24) = 0.5747;
    CONSTANTS(:,25) = 26.7;
    CONSTANTS(:,26) = 70e-3;
    CONSTANTS(:,27) = 140e-3;
    CONSTANTS(:,28) = 20e0;
    CONSTANTS(:,29) = 0.066e-3;
    CONSTANTS(:,30) = 40e0;
    CONSTANTS(:,31) = 40e-3;
    CONSTANTS(:,32) = 50e-3;
    CONSTANTS(:,33) = 15e0;
    CONSTANTS(:,34) = 0e0;
    CONSTANTS(:,35) = 2.38e-3;
    CONSTANTS(:,36) = 0.8e0;
    CONSTANTS(:,37) = 1.5e-4;
    STATES(:,10) = 0.8046584973e-1;
    STATES(:,11) = 0.9772152481;
    CONSTANTS(:,38) = 0.01215;
    CONSTANTS(:,39) = 0.576;
    CONSTANTS(:,40) = 0.00405;
    CONSTANTS(:,41) = 1.93;
    CONSTANTS(:,42) = 0.1;
    CONSTANTS(:,43) = 0.0008;
    CONSTANTS(:,44) = 4;
    CONSTANTS(:,45) = 3;
    STATES(:,12) = 0.4448038946;
    STATES(:,13) = 0.554535924;
    CONSTANTS(:,46) = 0.3;
    CONSTANTS(:,47) = 4;
    CONSTANTS(:,48) = 2;
    CONSTANTS(:,49) = 2;
    STATES(:,14) = 0.8621934054;
    STATES(:,15) = 0.01141398211;
    STATES(:,16) = 5.666325225e-5;
    STATES(:,17) = 1.25021357e-7;
    STATES(:,18) = 1.034426748e-10;
    STATES(:,19) = 0.1198547081;
    STATES(:,20) = 0.006346794302;
    STATES(:,21) = 1.260326488e-4;
    STATES(:,22) = 1.112315238e-6;
    STATES(:,23) = 3.681315892e-9;
    STATES(:,24) = 7.757981563e-12;
    STATES(:,25) = 0.9997157074;
    STATES(:,26) = 0.9513721351;
    STATES(:,27) = 0.02668288089;
    STATES(:,28) = 2.806380358e-4;
    STATES(:,29) = 1.311837579e-6;
    STATES(:,30) = 2.29955624e-9;
    STATES(:,31) = 0.01513025204;
    STATES(:,32) = 0.005442964601;
    STATES(:,33) = 9.918373359000001e-4;
    STATES(:,34) = 9.514386057000001e-5;
    STATES(:,35) = 2.742677382e-6;
    CONSTANTS(:,50) = 0.543708;
    CONSTANTS(:,51) = 0.028983;
    CONSTANTS(:,52) = 0.080185;
    CONSTANTS(:,53) = 0.0468437;
    CONSTANTS(:,54) = 0.0498424;
    CONSTANTS(:,55) = 0.000373016;
    CONSTANTS(:,56) = 0.000819482;
    CONSTANTS(:,57) = 0.00000005374;
    CONSTANTS(:,58) = 1.8936;
    CONSTANTS(:,59) = 14.224647456;
    CONSTANTS(:,60) = 158.574378389;
    CONSTANTS(:,61) = 142.936645351;
    CONSTANTS(:,62) = 6.77348;
    CONSTANTS(:,63) = 15.6212705152;
    CONSTANTS(:,64) = 28.7532603313;
    CONSTANTS(:,65) = 524.576206679;
    CONSTANTS(:,66) = 0.52465073996;
    CONSTANTS(:,67) = 17.51885408639;
    CONSTANTS(:,68) = 938.58764534556;
    CONSTANTS(:,69) = 54749.19473332601;
    CONSTANTS(:,70) = 1.00947847105;
    CONSTANTS(:,71) = 1.17100540567;
    CONSTANTS(:,72) = 0.63902768758;
    CONSTANTS(:,73) = 2.12035379095;
    CONSTANTS(:,74) = 1.84002414554;
    CONSTANTS(:,75) = 0.00768548031;
    CONSTANTS(:,76) = 0.0108174834;
    CONSTANTS(:,77) = 0.07793378174;
    CONSTANTS(:,78) = 0.00305767916;
    CONSTANTS(:,79) = 0.00000244936;
    STATES(:,36) = 0.5977099765;
    STATES(:,37) = 0.1730990528;
    STATES(:,38) = 0.01881072386;
    STATES(:,39) = 9.16070135e-4;
    STATES(:,40) = 1.975541357e-5;
    STATES(:,41) = 0.03539084346;
    STATES(:,42) = 0.005428824353;
    STATES(:,43) = 0.02287858869;
    STATES(:,44) = 0.03233800003;
    STATES(:,45) = 0.1134082058;
    CONSTANTS(:,80) = 0.0186e0;
    CONSTANTS(:,81) = 0.0035e0;
    CONSTANTS(:,82) = 0.1253051261188079722568586886469e0;
    CONSTANTS(:,83) = 56.32e0;
    CONSTANTS(:,84) = 0.001e0;
    CONSTANTS(:,85) = 0.872;
    CONSTANTS(:,86) = 0.889;
    STATES(:,46) = 1.57442749e-8;
    STATES(:,47) = 2.856607179e-9;
    STATES(:,48) = 9.511789113e-6;
    STATES(:,49) = 2.491710696e-7;
    STATES(:,50) = 1.298547822e-5;
    CONSTANTS(:,87) = 0.44;
    CONSTANTS(:,88) = 87.5;
    CONSTANTS(:,89) = 1.38;
    CONSTANTS(:,90) = 0.2;
    CONSTANTS(:,91) = 0.35;
    CONSTANTS(:,92) = 2.387;
    CONSTANTS(:,93) = 20;
    CONSTANTS(:,94) = 1.5;
    CONSTANTS(:,95) = 0.05;
    CONSTANTS(:,96) = 0.0005;
    CONSTANTS(:,97) = 7.684e-5;
    CONSTANTS(:,98) = -0.265;
    CONSTANTS(:,99) = 7;
    STATES(:,51) = 0.1437575649;
    STATES(:,52) = 0.0417776208;
    STATES(:,53) = 0.004552898364;
    STATES(:,54) = 2.20520743e-4;
    STATES(:,55) = 4.005266484e-6;
    STATES(:,56) = 0.4749950008;
    STATES(:,57) = 0.2707214097;
    STATES(:,58) = 0.05786120057;
    STATES(:,59) = 0.005496292279;
    STATES(:,60) = 1.957874519e-4;
    STATES(:,61) = 4.17679396e-4;
    CONSTANTS(:,100) = 294.16;
    CONSTANTS(:,101) = 5.320000001;
    CONSTANTS(:,102) = 0.017147641733086;
    CONSTANTS(:,103) = 0.03304608038835;
    CONSTANTS(:,104) = 0.03969328381141;
    CONSTANTS(:,105) = -0.0430605416398;
    CONSTANTS(:,106) = 0.02057448605977;
    CONSTANTS(:,107) = 0.02617412715118;
    CONSTANTS(:,108) = 0.00134366604423;
    CONSTANTS(:,109) = -0.02691385498399;
    CONSTANTS(:,110) = 0.10666316491288;
    CONSTANTS(:,111) = 0.00568908859717;
    CONSTANTS(:,112) = 0.00646393910049;
    CONSTANTS(:,113) = -0.04536642959543;
    CONSTANTS(:,114) = 0.00008039374403;
    CONSTANTS(:,115) = 0.00000069808924;
    STATES(:,62) = 0.996697338;
    STATES(:,63) = 4.340879648e-4;
    STATES(:,64) = 7.634099755000001e-5;
    STATES(:,65) = 1.533347007e-6;
    STATES(:,66) = 0.9645606295;
    STATES(:,67) = 0.03542613568;
    CONSTANTS(:,116) = ( CONSTANTS(:,3).*CONSTANTS(:,2))./CONSTANTS(:,1);
    CONSTANTS(:,117) =  0.250000.*0.0100000;
    CONSTANTS(:,118) = 0.820000;
    CONSTANTS(:,119) = CONSTANTS(:,78);
    CONSTANTS(:,120) = CONSTANTS(:,79);
    CONSTANTS(:,121) =  CONSTANTS(:,86).*CONSTANTS(:,85).*0.100000;
    CONSTANTS(:,122) =  (1.00000 - CONSTANTS(:,86)).*CONSTANTS(:,85).*4.29860e-07;
    CONSTANTS(:,123) = power((CONSTANTS(:,9)./4.00000), 1.0 ./ 2);
    CONSTANTS(:,124) =  CONSTANTS(:,4).*0.00100000;
    CONSTANTS(:,125) =  CONSTANTS(:,99).*4.57400e-07;
    CONSTANTS(:,126) = ( 1.38100e-23.*CONSTANTS(:,100))./6.62600e-31;
    CONSTANTS(:,127) = ( CONSTANTS(:,3).*CONSTANTS(:,100))./CONSTANTS(:,1);
    CONSTANTS(:,128) =  CONSTANTS(:,101).*0.0260836;
    CONSTANTS(:,129) =  CONSTANTS(:,101).*0.148330;
    CONSTANTS(:,130) = 0.00795601;
    CONSTANTS(:,131) = 0.0396672;
    CONSTANTS(:,132) = CONSTANTS(:,117);
    CONSTANTS(:,133) = CONSTANTS(:,120);
    CONSTANTS(:,134) =  CONSTANTS(:,66).*CONSTANTS(:,120);
    CONSTANTS(:,135) =  CONSTANTS(:,67).*CONSTANTS(:,120);
    CONSTANTS(:,136) =  CONSTANTS(:,68).*CONSTANTS(:,120);
    CONSTANTS(:,137) =  CONSTANTS(:,69).*CONSTANTS(:,120);
    CONSTANTS(:,138) = CONSTANTS(:,119);
    CONSTANTS(:,139) = CONSTANTS(:,119)./CONSTANTS(:,70);
    CONSTANTS(:,140) = CONSTANTS(:,119)./CONSTANTS(:,71);
    CONSTANTS(:,141) = CONSTANTS(:,119)./CONSTANTS(:,72);
    CONSTANTS(:,142) = CONSTANTS(:,119)./CONSTANTS(:,73);
    CONSTANTS(:,143) = CONSTANTS(:,9)+ 0.0183300.*CONSTANTS(:,10);
    CONSTANTS(:,144) = CONSTANTS(:,124)./( CONSTANTS(:,5).*CONSTANTS(:,1));
    CONSTANTS(:,145) =  CONSTANTS(:,99).*0.000246900;
    CONSTANTS(:,146) =  CONSTANTS(:,3).*CONSTANTS(:,100);
    CONSTANTS(:,147) = 1.00000./CONSTANTS(:,116);
    CONSTANTS(:,148) = CONSTANTS(:,132)./CONSTANTS(:,48);
    CONSTANTS(:,149) = CONSTANTS(:,124)./( 2.00000.*CONSTANTS(:,8).*CONSTANTS(:,1));
    CONSTANTS(:,150) = 1.38862;
    CONSTANTS(:,151) = CONSTANTS(:,148)./CONSTANTS(:,48);
    CONSTANTS(:,152) = (exp(CONSTANTS(:,10)./67.3000) - 1.00000)./7.00000;
    CONSTANTS(:,153) =  CONSTANTS(:,150).*CONSTANTS(:,126).*exp( - 287913../CONSTANTS(:,146)+786.217./CONSTANTS(:,3));
    CONSTANTS(:,154) =  CONSTANTS(:,150).*CONSTANTS(:,126).*exp( - 85800.4./CONSTANTS(:,146)+70.0780./CONSTANTS(:,3));
    CONSTANTS(:,155) =  CONSTANTS(:,150).*CONSTANTS(:,126).*exp( - 121955../CONSTANTS(:,146)+225.175./CONSTANTS(:,3));
    CONSTANTS(:,156) = CONSTANTS(:,9)./(CONSTANTS(:,9)+CONSTANTS(:,94));
    CONSTANTS(:,157) = CONSTANTS(:,151)./CONSTANTS(:,48);
    CONSTANTS(:,158) =  CONSTANTS(:,150).*CONSTANTS(:,126).*exp( - 59565.2./CONSTANTS(:,146)+0.00711000./CONSTANTS(:,3));
    CONSTANTS(:,159) = CONSTANTS(:,154);
    CONSTANTS(:,160) = CONSTANTS(:,155);
    CONSTANTS(:,161) = CONSTANTS(:,89)+CONSTANTS(:,11);
    CONSTANTS(:,162) = CONSTANTS(:,157)./CONSTANTS(:,48);
    CONSTANTS(:,163) = 1.40043;
    CONSTANTS(:,164) = (power(CONSTANTS(:,88), 3.00000)+power(CONSTANTS(:,10), 3.00000))./5000.00;
    CONSTANTS(:,165) = CONSTANTS(:,158);
    CONSTANTS(:,166) = CONSTANTS(:,153);
    CONSTANTS(:,167) = CONSTANTS(:,165)./CONSTANTS(:,163);
    CONSTANTS(:,168) =  CONSTANTS(:,166).*CONSTANTS(:,163);
    CONSTANTS(:,169) = CONSTANTS(:,167)./CONSTANTS(:,163);
    CONSTANTS(:,170) =  CONSTANTS(:,168).*CONSTANTS(:,163);
    CONSTANTS(:,171) = CONSTANTS(:,169)./CONSTANTS(:,163);
    CONSTANTS(:,172) =  CONSTANTS(:,170).*CONSTANTS(:,163);
    CONSTANTS(:,173) = CONSTANTS(:,171)./CONSTANTS(:,163);
    CONSTANTS(:,174) =  CONSTANTS(:,172).*CONSTANTS(:,163);
    if (isempty(STATES)), warning('Initial values for states not set');, end
end

function [RATES, ALGEBRAIC] = computeRates(VOI, STATES, CONSTANTS)
    global algebraicVariableCount;
    statesSize = size(STATES);
    statesColumnCount = statesSize(2);
    if ( statesColumnCount == 1)
        STATES = STATES';
        ALGEBRAIC = zeros(1, algebraicVariableCount);
        utilOnes = 1;
    else
        statesRowCount = statesSize(1);
        ALGEBRAIC = zeros(statesRowCount, algebraicVariableCount);
        RATES = zeros(statesRowCount, statesColumnCount);
        utilOnes = ones(statesRowCount, 1);
    end
    RATES(:,24) =  CONSTANTS(:,46).*STATES(:,18) -  CONSTANTS(:,47).*STATES(:,24);
    ALGEBRAIC(:,2) =   - CONSTANTS(:,38).*power( STATES(:,4).*1000.00, CONSTANTS(:,44)).*STATES(:,12)+ CONSTANTS(:,39).*STATES(:,8);
    RATES(:,12) = ALGEBRAIC(:,2);
    ALGEBRAIC(:,13) =  CONSTANTS(:,40).*power( STATES(:,4).*1000.00, CONSTANTS(:,45)).*STATES(:,8) -  CONSTANTS(:,41).*STATES(:,9);
    RATES(:,9) = ALGEBRAIC(:,13);
    ALGEBRAIC(:,4) = (CONSTANTS(:,118)./(1.00000+exp((STATES(:,7)+28.5000)./7.80000))+1.00000) - CONSTANTS(:,118);
    ALGEBRAIC(:,15) = 1.00000./(0.00653000./(0.500000+exp(STATES(:,7)./ - 7.10000))+ 0.00512000.*exp(STATES(:,7)./ - 39.8000));
    RATES(:,25) = (ALGEBRAIC(:,4) - STATES(:,25))./ALGEBRAIC(:,15);
    ALGEBRAIC(:,9) =  CONSTANTS(:,101).*CONSTANTS(:,102).*exp( CONSTANTS(:,103).*STATES(:,7));
    ALGEBRAIC(:,20) =  CONSTANTS(:,101).*CONSTANTS(:,104).*exp( CONSTANTS(:,105).*STATES(:,7));
    RATES(:,62) =  ALGEBRAIC(:,20).*STATES(:,63) -  ALGEBRAIC(:,9).*STATES(:,62);
    ALGEBRAIC(:,24) =  CONSTANTS(:,42).*STATES(:,8) -  CONSTANTS(:,43).*STATES(:,13);
    RATES(:,13) = ALGEBRAIC(:,24);
    ALGEBRAIC(:,33) =  0.216256.*exp(  - 1.88912e-05.*STATES(:,7));
    RATES(:,66) =   - CONSTANTS(:,130).*STATES(:,66)+ ALGEBRAIC(:,33).*STATES(:,67);
    ALGEBRAIC(:,22) =  0.00700807.*exp(  - 0.149998.*STATES(:,7));
    RATES(:,67) = ( CONSTANTS(:,130).*STATES(:,66) -  (ALGEBRAIC(:,33)+CONSTANTS(:,131)).*STATES(:,67))+ ALGEBRAIC(:,22).*STATES(:,49);
    ALGEBRAIC(:,11) =  0.00767254.*exp( 0.0866295.*STATES(:,7));
    ALGEBRAIC(:,32) =  0.00379738.*exp(  - 0.0142567.*STATES(:,7));
    RATES(:,49) = ( CONSTANTS(:,131).*STATES(:,67) -  (ALGEBRAIC(:,22)+ALGEBRAIC(:,11)).*STATES(:,49))+ ALGEBRAIC(:,32).*STATES(:,50);
    RATES(:,50) =  ALGEBRAIC(:,11).*STATES(:,49) -  ALGEBRAIC(:,32).*STATES(:,50);
    ALGEBRAIC(:,35) =  - (ALGEBRAIC(:,2)+ALGEBRAIC(:,13)+ALGEBRAIC(:,24));
    RATES(:,8) = ALGEBRAIC(:,35);
    ALGEBRAIC(:,31) =  ALGEBRAIC(:,9).*STATES(:,62)+ CONSTANTS(:,129).*STATES(:,64);
    ALGEBRAIC(:,42) =  (ALGEBRAIC(:,20)+CONSTANTS(:,128)).*STATES(:,63);
    RATES(:,63) = ALGEBRAIC(:,31) - ALGEBRAIC(:,42);
    ALGEBRAIC(:,10) =  CONSTANTS(:,101).*CONSTANTS(:,106).*exp( CONSTANTS(:,107).*STATES(:,7));
    ALGEBRAIC(:,41) =  CONSTANTS(:,101).*CONSTANTS(:,112).*exp( CONSTANTS(:,113).*STATES(:,7));
    ALGEBRAIC(:,50) =  ALGEBRAIC(:,10).*STATES(:,64)+ ALGEBRAIC(:,41).*STATES(:,65);
    ALGEBRAIC(:,21) =  CONSTANTS(:,101).*CONSTANTS(:,108).*exp( CONSTANTS(:,109).*STATES(:,7));
    ALGEBRAIC(:,30) =  CONSTANTS(:,101).*CONSTANTS(:,110).*exp( CONSTANTS(:,111).*STATES(:,7));
    ALGEBRAIC(:,58) =  (ALGEBRAIC(:,21)+ALGEBRAIC(:,30)).*STATES(:,48);
    RATES(:,48) = ALGEBRAIC(:,50) - ALGEBRAIC(:,58);
    ALGEBRAIC(:,23) = power(STATES(:,3)./CONSTANTS(:,16), CONSTANTS(:,17));
    ALGEBRAIC(:,34) = power(STATES(:,6)./CONSTANTS(:,18), CONSTANTS(:,19));
    ALGEBRAIC(:,43) = ( CONSTANTS(:,20).*( CONSTANTS(:,21).*ALGEBRAIC(:,23) -  CONSTANTS(:,22).*ALGEBRAIC(:,34)))./(1.00000+ALGEBRAIC(:,23)+ALGEBRAIC(:,34));
    ALGEBRAIC(:,60) = (STATES(:,6) - STATES(:,5))./CONSTANTS(:,24);
    RATES(:,6) = ( ALGEBRAIC(:,43).*CONSTANTS(:,5))./CONSTANTS(:,7) - ( ALGEBRAIC(:,60).*CONSTANTS(:,6))./CONSTANTS(:,7);
    ALGEBRAIC(:,51) =  CONSTANTS(:,23).*(STATES(:,8)+STATES(:,9)).*(STATES(:,5) - STATES(:,4));
    ALGEBRAIC(:,69) = 1.00000./(1.00000+( CONSTANTS(:,33).*CONSTANTS(:,36))./power(STATES(:,5)+CONSTANTS(:,36), 2.00000));
    RATES(:,5) =  ALGEBRAIC(:,69).*(ALGEBRAIC(:,60) - ALGEBRAIC(:,51));
    ALGEBRAIC(:,68) =  CONSTANTS(:,30).*STATES(:,3).*(1.00000 - STATES(:,10)) -  CONSTANTS(:,31).*STATES(:,10);
    RATES(:,10) = ALGEBRAIC(:,68);
    ALGEBRAIC(:,49) =  CONSTANTS(:,101).*CONSTANTS(:,114).*exp( CONSTANTS(:,115).*STATES(:,7));
    ALGEBRAIC(:,57) = ( ALGEBRAIC(:,21).*ALGEBRAIC(:,41).*ALGEBRAIC(:,49))./( ALGEBRAIC(:,10).*ALGEBRAIC(:,30));
    ALGEBRAIC(:,66) =  CONSTANTS(:,128).*STATES(:,63)+ ALGEBRAIC(:,21).*STATES(:,48)+ ALGEBRAIC(:,57).*STATES(:,65);
    ALGEBRAIC(:,77) =  (ALGEBRAIC(:,49)+ALGEBRAIC(:,10)+CONSTANTS(:,129)).*STATES(:,64);
    RATES(:,64) = ALGEBRAIC(:,66) - ALGEBRAIC(:,77);
    ALGEBRAIC(:,67) =  ALGEBRAIC(:,49).*STATES(:,64)+ ALGEBRAIC(:,30).*STATES(:,48);
    ALGEBRAIC(:,78) =  (ALGEBRAIC(:,57)+ALGEBRAIC(:,41)).*STATES(:,65);
    RATES(:,65) = ALGEBRAIC(:,67) - ALGEBRAIC(:,78);
    ALGEBRAIC(:,79) =  CONSTANTS(:,28).*STATES(:,3).*(1.00000 - STATES(:,11)) -  CONSTANTS(:,29).*STATES(:,11);
    RATES(:,11) = ALGEBRAIC(:,79);
    ALGEBRAIC(:,6) =  CONSTANTS(:,74).*exp( CONSTANTS(:,75).*STATES(:,7));
    ALGEBRAIC(:,27) =  4.00000.*ALGEBRAIC(:,6);
    ALGEBRAIC(:,74) =  (ALGEBRAIC(:,27)+CONSTANTS(:,133)).*STATES(:,36);
    ALGEBRAIC(:,17) =  CONSTANTS(:,76).*exp(  - CONSTANTS(:,77).*STATES(:,7));
    ALGEBRAIC(:,63) = ALGEBRAIC(:,17);
    ALGEBRAIC(:,84) =  ALGEBRAIC(:,63).*STATES(:,37)+ CONSTANTS(:,138).*STATES(:,41);
    RATES(:,36) = ALGEBRAIC(:,84) - ALGEBRAIC(:,74);
    ALGEBRAIC(:,28) =  4.00000.*CONSTANTS(:,70).*ALGEBRAIC(:,6);
    ALGEBRAIC(:,75) =  (CONSTANTS(:,138)+ALGEBRAIC(:,28)).*STATES(:,41);
    ALGEBRAIC(:,64) = ALGEBRAIC(:,17)./CONSTANTS(:,66);
    ALGEBRAIC(:,86) =  CONSTANTS(:,133).*STATES(:,36)+ ALGEBRAIC(:,64).*STATES(:,42);
    RATES(:,41) = ALGEBRAIC(:,86) - ALGEBRAIC(:,75);
    ALGEBRAIC(:,38) =  3.00000.*ALGEBRAIC(:,6);
    ALGEBRAIC(:,85) =  (ALGEBRAIC(:,38)+ALGEBRAIC(:,63)+CONSTANTS(:,134)).*STATES(:,37);
    ALGEBRAIC(:,72) =  2.00000.*ALGEBRAIC(:,17);
    ALGEBRAIC(:,94) =  ALGEBRAIC(:,72).*STATES(:,38)+ CONSTANTS(:,139).*STATES(:,42)+ ALGEBRAIC(:,27).*STATES(:,36);
    RATES(:,37) = ALGEBRAIC(:,94) - ALGEBRAIC(:,85);
    ALGEBRAIC(:,39) = ( 3.00000.*CONSTANTS(:,71).*ALGEBRAIC(:,6))./CONSTANTS(:,70);
    ALGEBRAIC(:,87) =  (ALGEBRAIC(:,39)+CONSTANTS(:,139)+ALGEBRAIC(:,64)).*STATES(:,42);
    ALGEBRAIC(:,73) = ( 2.00000.*CONSTANTS(:,66).*ALGEBRAIC(:,17))./CONSTANTS(:,67);
    ALGEBRAIC(:,96) =  ALGEBRAIC(:,73).*STATES(:,43)+ CONSTANTS(:,134).*STATES(:,37)+ ALGEBRAIC(:,28).*STATES(:,41);
    RATES(:,42) = ALGEBRAIC(:,96) - ALGEBRAIC(:,87);
    ALGEBRAIC(:,46) =  2.00000.*ALGEBRAIC(:,6);
    ALGEBRAIC(:,95) =  (ALGEBRAIC(:,46)+ALGEBRAIC(:,72)+CONSTANTS(:,135)).*STATES(:,38);
    ALGEBRAIC(:,82) =  3.00000.*ALGEBRAIC(:,17);
    ALGEBRAIC(:,102) =  ALGEBRAIC(:,82).*STATES(:,39)+ CONSTANTS(:,140).*STATES(:,43)+ ALGEBRAIC(:,38).*STATES(:,37);
    RATES(:,38) = ALGEBRAIC(:,102) - ALGEBRAIC(:,95);
    ALGEBRAIC(:,47) = ( 2.00000.*CONSTANTS(:,72).*ALGEBRAIC(:,6))./CONSTANTS(:,71);
    ALGEBRAIC(:,97) =  (ALGEBRAIC(:,47)+CONSTANTS(:,140)+ALGEBRAIC(:,73)).*STATES(:,43);
    ALGEBRAIC(:,83) = ( 3.00000.*CONSTANTS(:,67).*ALGEBRAIC(:,17))./CONSTANTS(:,68);
    ALGEBRAIC(:,105) =  ALGEBRAIC(:,83).*STATES(:,44)+ CONSTANTS(:,135).*STATES(:,38)+ ALGEBRAIC(:,39).*STATES(:,42);
    RATES(:,43) = ALGEBRAIC(:,105) - ALGEBRAIC(:,97);
    ALGEBRAIC(:,54) = ALGEBRAIC(:,6);
    ALGEBRAIC(:,103) =  (ALGEBRAIC(:,54)+ALGEBRAIC(:,82)+CONSTANTS(:,136)).*STATES(:,39);
    ALGEBRAIC(:,92) =  4.00000.*ALGEBRAIC(:,17);
    ALGEBRAIC(:,112) =  ALGEBRAIC(:,92).*STATES(:,40)+ CONSTANTS(:,141).*STATES(:,44)+ ALGEBRAIC(:,46).*STATES(:,38);
    RATES(:,39) = ALGEBRAIC(:,112) - ALGEBRAIC(:,103);
    ALGEBRAIC(:,104) =  (ALGEBRAIC(:,92)+CONSTANTS(:,137)).*STATES(:,40);
    ALGEBRAIC(:,113) =  ALGEBRAIC(:,54).*STATES(:,39)+ CONSTANTS(:,142).*STATES(:,45);
    RATES(:,40) = ALGEBRAIC(:,113) - ALGEBRAIC(:,104);
    ALGEBRAIC(:,55) = ( CONSTANTS(:,73).*ALGEBRAIC(:,6))./CONSTANTS(:,72);
    ALGEBRAIC(:,106) =  (ALGEBRAIC(:,55)+CONSTANTS(:,141)+ALGEBRAIC(:,83)).*STATES(:,44);
    ALGEBRAIC(:,93) = ( 4.00000.*CONSTANTS(:,68).*ALGEBRAIC(:,17))./CONSTANTS(:,69);
    ALGEBRAIC(:,114) =  ALGEBRAIC(:,93).*STATES(:,45)+ CONSTANTS(:,136).*STATES(:,39)+ ALGEBRAIC(:,47).*STATES(:,43);
    RATES(:,44) = ALGEBRAIC(:,114) - ALGEBRAIC(:,106);
    ALGEBRAIC(:,107) =  (CONSTANTS(:,142)+ALGEBRAIC(:,93)).*STATES(:,45);
    ALGEBRAIC(:,115) =  CONSTANTS(:,137).*STATES(:,40)+ ALGEBRAIC(:,55).*STATES(:,44);
    RATES(:,45) = ALGEBRAIC(:,115) - ALGEBRAIC(:,107);
    ALGEBRAIC(:,5) =  CONSTANTS(:,50).*exp( CONSTANTS(:,51).*STATES(:,7));
    ALGEBRAIC(:,45) =  4.00000.*ALGEBRAIC(:,5);
    ALGEBRAIC(:,37) =  CONSTANTS(:,56).*exp( CONSTANTS(:,57).*STATES(:,7));
    ALGEBRAIC(:,139) = ALGEBRAIC(:,37);
    ALGEBRAIC(:,153) =  (ALGEBRAIC(:,45)+ALGEBRAIC(:,139)).*STATES(:,26);
    ALGEBRAIC(:,16) =  CONSTANTS(:,52).*exp(  - CONSTANTS(:,53).*STATES(:,7));
    ALGEBRAIC(:,119) = ALGEBRAIC(:,16);
    ALGEBRAIC(:,26) =  CONSTANTS(:,54).*exp(  - CONSTANTS(:,55).*STATES(:,7));
    ALGEBRAIC(:,146) = ALGEBRAIC(:,26);
    ALGEBRAIC(:,161) =  ALGEBRAIC(:,119).*STATES(:,27)+ ALGEBRAIC(:,146).*STATES(:,31);
    RATES(:,26) = ALGEBRAIC(:,161) - ALGEBRAIC(:,153);
    ALGEBRAIC(:,81) =  4.00000.*CONSTANTS(:,62).*ALGEBRAIC(:,5);
    ALGEBRAIC(:,154) =  (ALGEBRAIC(:,146)+ALGEBRAIC(:,81)).*STATES(:,31);
    ALGEBRAIC(:,135) = ALGEBRAIC(:,16)./CONSTANTS(:,58);
    ALGEBRAIC(:,163) =  ALGEBRAIC(:,139).*STATES(:,26)+ ALGEBRAIC(:,135).*STATES(:,32);
    RATES(:,31) = ALGEBRAIC(:,163) - ALGEBRAIC(:,154);
    ALGEBRAIC(:,53) =  3.00000.*ALGEBRAIC(:,5);
    ALGEBRAIC(:,144) =  CONSTANTS(:,58).*ALGEBRAIC(:,37);
    ALGEBRAIC(:,162) =  (ALGEBRAIC(:,53)+ALGEBRAIC(:,119)+ALGEBRAIC(:,144)).*STATES(:,27);
    ALGEBRAIC(:,123) =  2.00000.*ALGEBRAIC(:,16);
    ALGEBRAIC(:,152) = ALGEBRAIC(:,26)./CONSTANTS(:,62);
    ALGEBRAIC(:,170) =  ALGEBRAIC(:,123).*STATES(:,28)+ ALGEBRAIC(:,152).*STATES(:,32)+ ALGEBRAIC(:,45).*STATES(:,26);
    RATES(:,27) = ALGEBRAIC(:,170) - ALGEBRAIC(:,162);
    ALGEBRAIC(:,91) = ( 3.00000.*CONSTANTS(:,63).*ALGEBRAIC(:,5))./CONSTANTS(:,62);
    ALGEBRAIC(:,164) =  (ALGEBRAIC(:,91)+ALGEBRAIC(:,152)+ALGEBRAIC(:,135)).*STATES(:,32);
    ALGEBRAIC(:,140) = ( 2.00000.*CONSTANTS(:,58).*ALGEBRAIC(:,16))./CONSTANTS(:,59);
    ALGEBRAIC(:,172) =  ALGEBRAIC(:,140).*STATES(:,33)+ ALGEBRAIC(:,144).*STATES(:,27)+ ALGEBRAIC(:,81).*STATES(:,31);
    RATES(:,32) = ALGEBRAIC(:,172) - ALGEBRAIC(:,164);
    ALGEBRAIC(:,8) =  CONSTANTS(:,150).*CONSTANTS(:,126).*exp( - 114007../CONSTANTS(:,146)+224.114./CONSTANTS(:,3)+( 0.286374.*STATES(:,7))./CONSTANTS(:,127));
    ALGEBRAIC(:,108) =  4.00000.*ALGEBRAIC(:,8);
    ALGEBRAIC(:,19) =  CONSTANTS(:,150).*CONSTANTS(:,126).*exp( - 272470../CONSTANTS(:,146)+708.146./CONSTANTS(:,3)+(  - 2.28528.*STATES(:,7))./CONSTANTS(:,127));
    ALGEBRAIC(:,174) = ALGEBRAIC(:,19);
    RATES(:,51) =   - (CONSTANTS(:,166)+ALGEBRAIC(:,108)).*STATES(:,51)+ ALGEBRAIC(:,174).*STATES(:,52)+ CONSTANTS(:,165).*STATES(:,56);
    ALGEBRAIC(:,62) =  2.00000.*ALGEBRAIC(:,5);
    ALGEBRAIC(:,150) =  CONSTANTS(:,59).*ALGEBRAIC(:,37);
    ALGEBRAIC(:,171) =  (ALGEBRAIC(:,62)+ALGEBRAIC(:,123)+ALGEBRAIC(:,150)).*STATES(:,28);
    ALGEBRAIC(:,127) =  3.00000.*ALGEBRAIC(:,16);
    ALGEBRAIC(:,160) = ALGEBRAIC(:,26)./CONSTANTS(:,63);
    ALGEBRAIC(:,179) =  ALGEBRAIC(:,127).*STATES(:,29)+ ALGEBRAIC(:,160).*STATES(:,33)+ ALGEBRAIC(:,53).*STATES(:,27);
    RATES(:,28) = ALGEBRAIC(:,179) - ALGEBRAIC(:,171);
    ALGEBRAIC(:,101) = ( 2.00000.*CONSTANTS(:,64).*ALGEBRAIC(:,5))./CONSTANTS(:,63);
    ALGEBRAIC(:,173) =  (ALGEBRAIC(:,101)+ALGEBRAIC(:,160)+ALGEBRAIC(:,140)).*STATES(:,33);
    ALGEBRAIC(:,145) = ( 3.00000.*CONSTANTS(:,59).*ALGEBRAIC(:,16))./CONSTANTS(:,60);
    ALGEBRAIC(:,182) =  ALGEBRAIC(:,145).*STATES(:,34)+ ALGEBRAIC(:,150).*STATES(:,28)+ ALGEBRAIC(:,91).*STATES(:,32);
    RATES(:,33) = ALGEBRAIC(:,182) - ALGEBRAIC(:,173);
    ALGEBRAIC(:,116) =  3.00000.*ALGEBRAIC(:,8);
    ALGEBRAIC(:,185) =  2.00000.*ALGEBRAIC(:,19);
    RATES(:,52) = ( ALGEBRAIC(:,108).*STATES(:,51) -  (ALGEBRAIC(:,174)+ALGEBRAIC(:,116)+CONSTANTS(:,168)).*STATES(:,52))+ ALGEBRAIC(:,185).*STATES(:,53)+ CONSTANTS(:,167).*STATES(:,57);
    ALGEBRAIC(:,3) =  4.00000.*1.20000.*0.416000.*exp( 0.0120000.*(STATES(:,7) - 35.0000));
    ALGEBRAIC(:,52) =  4.00000.*ALGEBRAIC(:,3);
    ALGEBRAIC(:,44) =  0.600000.*0.0923300.*STATES(:,4);
    ALGEBRAIC(:,167) = ALGEBRAIC(:,44);
    ALGEBRAIC(:,178) =  (ALGEBRAIC(:,52)+ALGEBRAIC(:,167)).*STATES(:,14);
    ALGEBRAIC(:,14) =  4.00000.*0.450000.*0.0490000.*exp(  - 0.0650000.*(STATES(:,7) - 22.0000));
    ALGEBRAIC(:,122) = ALGEBRAIC(:,14);
    ALGEBRAIC(:,190) =  ALGEBRAIC(:,122).*STATES(:,15)+ CONSTANTS(:,132).*STATES(:,19);
    RATES(:,14) = ALGEBRAIC(:,190) - ALGEBRAIC(:,178);
    ALGEBRAIC(:,25) =  CONSTANTS(:,49).*ALGEBRAIC(:,3);
    ALGEBRAIC(:,90) =  4.00000.*ALGEBRAIC(:,25);
    ALGEBRAIC(:,177) =  (ALGEBRAIC(:,90)+CONSTANTS(:,132)).*STATES(:,19);
    ALGEBRAIC(:,36) = ALGEBRAIC(:,14)./CONSTANTS(:,48);
    ALGEBRAIC(:,138) = ALGEBRAIC(:,36);
    ALGEBRAIC(:,188) =  ALGEBRAIC(:,138).*STATES(:,20)+ ALGEBRAIC(:,167).*STATES(:,14);
    RATES(:,19) = ALGEBRAIC(:,188) - ALGEBRAIC(:,177);
    ALGEBRAIC(:,71) = ALGEBRAIC(:,5);
    ALGEBRAIC(:,158) =  CONSTANTS(:,60).*ALGEBRAIC(:,37);
    ALGEBRAIC(:,180) =  (ALGEBRAIC(:,71)+ALGEBRAIC(:,127)+ALGEBRAIC(:,158)).*STATES(:,29);
    ALGEBRAIC(:,131) =  4.00000.*ALGEBRAIC(:,16);
    ALGEBRAIC(:,168) = ALGEBRAIC(:,26)./CONSTANTS(:,64);
    ALGEBRAIC(:,192) =  ALGEBRAIC(:,131).*STATES(:,30)+ ALGEBRAIC(:,168).*STATES(:,34)+ ALGEBRAIC(:,62).*STATES(:,28);
    RATES(:,29) = ALGEBRAIC(:,192) - ALGEBRAIC(:,180);
    ALGEBRAIC(:,159) =  CONSTANTS(:,61).*ALGEBRAIC(:,37);
    ALGEBRAIC(:,181) =  (ALGEBRAIC(:,131)+ALGEBRAIC(:,159)).*STATES(:,30);
    ALGEBRAIC(:,169) = ALGEBRAIC(:,26)./CONSTANTS(:,65);
    ALGEBRAIC(:,193) =  ALGEBRAIC(:,71).*STATES(:,29)+ ALGEBRAIC(:,169).*STATES(:,35);
    RATES(:,30) = ALGEBRAIC(:,193) - ALGEBRAIC(:,181);
    ALGEBRAIC(:,111) = ( CONSTANTS(:,65).*ALGEBRAIC(:,5))./CONSTANTS(:,64);
    ALGEBRAIC(:,183) =  (ALGEBRAIC(:,111)+ALGEBRAIC(:,168)+ALGEBRAIC(:,145)).*STATES(:,34);
    ALGEBRAIC(:,151) = ( 4.00000.*CONSTANTS(:,60).*ALGEBRAIC(:,16))./CONSTANTS(:,61);
    ALGEBRAIC(:,194) =  ALGEBRAIC(:,151).*STATES(:,35)+ ALGEBRAIC(:,158).*STATES(:,29)+ ALGEBRAIC(:,101).*STATES(:,33);
    RATES(:,34) = ALGEBRAIC(:,194) - ALGEBRAIC(:,183);
    ALGEBRAIC(:,184) =  (ALGEBRAIC(:,169)+ALGEBRAIC(:,151)).*STATES(:,35);
    ALGEBRAIC(:,195) =  ALGEBRAIC(:,159).*STATES(:,30)+ ALGEBRAIC(:,111).*STATES(:,34);
    RATES(:,35) = ALGEBRAIC(:,195) - ALGEBRAIC(:,184);
    ALGEBRAIC(:,120) =  2.00000.*ALGEBRAIC(:,8);
    ALGEBRAIC(:,196) =  3.00000.*ALGEBRAIC(:,19);
    RATES(:,53) = ( ALGEBRAIC(:,116).*STATES(:,52) -  (ALGEBRAIC(:,185)+ALGEBRAIC(:,120)+CONSTANTS(:,170)).*STATES(:,53))+ ALGEBRAIC(:,196).*STATES(:,54)+ CONSTANTS(:,169).*STATES(:,58);
    ALGEBRAIC(:,61) =  3.00000.*ALGEBRAIC(:,3);
    ALGEBRAIC(:,176) =  CONSTANTS(:,49).*ALGEBRAIC(:,167);
    ALGEBRAIC(:,191) =  (ALGEBRAIC(:,122)+ALGEBRAIC(:,61)+ALGEBRAIC(:,176)).*STATES(:,15);
    ALGEBRAIC(:,126) =  2.00000.*ALGEBRAIC(:,14);
    ALGEBRAIC(:,201) =  ALGEBRAIC(:,52).*STATES(:,14)+ ALGEBRAIC(:,126).*STATES(:,16)+ CONSTANTS(:,148).*STATES(:,20);
    RATES(:,15) = ALGEBRAIC(:,201) - ALGEBRAIC(:,191);
    ALGEBRAIC(:,100) =  3.00000.*ALGEBRAIC(:,25);
    ALGEBRAIC(:,189) =  (ALGEBRAIC(:,138)+ALGEBRAIC(:,100)+CONSTANTS(:,148)).*STATES(:,20);
    ALGEBRAIC(:,143) =  2.00000.*ALGEBRAIC(:,36);
    ALGEBRAIC(:,199) =  ALGEBRAIC(:,90).*STATES(:,19)+ ALGEBRAIC(:,143).*STATES(:,21)+ ALGEBRAIC(:,176).*STATES(:,15);
    RATES(:,20) = ALGEBRAIC(:,199) - ALGEBRAIC(:,189);
    ALGEBRAIC(:,124) = ALGEBRAIC(:,8);
    ALGEBRAIC(:,203) =  4.00000.*ALGEBRAIC(:,19);
    RATES(:,54) = ( ALGEBRAIC(:,120).*STATES(:,53) -  (ALGEBRAIC(:,196)+ALGEBRAIC(:,124)+CONSTANTS(:,172)).*STATES(:,54))+ ALGEBRAIC(:,203).*STATES(:,55)+ CONSTANTS(:,171).*STATES(:,59);
    ALGEBRAIC(:,70) =  2.00000.*ALGEBRAIC(:,3);
    ALGEBRAIC(:,187) =  CONSTANTS(:,49).*ALGEBRAIC(:,176);
    ALGEBRAIC(:,202) =  (ALGEBRAIC(:,126)+ALGEBRAIC(:,70)+ALGEBRAIC(:,187)).*STATES(:,16);
    ALGEBRAIC(:,130) =  3.00000.*ALGEBRAIC(:,14);
    ALGEBRAIC(:,208) =  ALGEBRAIC(:,61).*STATES(:,15)+ ALGEBRAIC(:,130).*STATES(:,17)+ CONSTANTS(:,151).*STATES(:,21);
    RATES(:,16) = ALGEBRAIC(:,208) - ALGEBRAIC(:,202);
    ALGEBRAIC(:,110) =  2.00000.*ALGEBRAIC(:,25);
    ALGEBRAIC(:,200) =  (ALGEBRAIC(:,143)+ALGEBRAIC(:,110)+CONSTANTS(:,151)).*STATES(:,21);
    ALGEBRAIC(:,149) =  3.00000.*ALGEBRAIC(:,36);
    ALGEBRAIC(:,206) =  ALGEBRAIC(:,100).*STATES(:,20)+ ALGEBRAIC(:,149).*STATES(:,22)+ ALGEBRAIC(:,187).*STATES(:,16);
    RATES(:,21) = ALGEBRAIC(:,206) - ALGEBRAIC(:,200);
    ALGEBRAIC(:,80) = ALGEBRAIC(:,3);
    ALGEBRAIC(:,198) =  CONSTANTS(:,49).*ALGEBRAIC(:,187);
    ALGEBRAIC(:,209) =  (ALGEBRAIC(:,130)+ALGEBRAIC(:,80)+ALGEBRAIC(:,198)).*STATES(:,17);
    ALGEBRAIC(:,134) =  4.00000.*ALGEBRAIC(:,14);
    ALGEBRAIC(:,214) =  ALGEBRAIC(:,70).*STATES(:,16)+ ALGEBRAIC(:,134).*STATES(:,18)+ CONSTANTS(:,157).*STATES(:,22);
    RATES(:,17) = ALGEBRAIC(:,214) - ALGEBRAIC(:,209);
    ALGEBRAIC(:,118) = ALGEBRAIC(:,25);
    ALGEBRAIC(:,207) =  (ALGEBRAIC(:,149)+ALGEBRAIC(:,118)+CONSTANTS(:,157)).*STATES(:,22);
    ALGEBRAIC(:,157) =  4.00000.*ALGEBRAIC(:,36);
    ALGEBRAIC(:,212) =  ALGEBRAIC(:,110).*STATES(:,21)+ ALGEBRAIC(:,157).*STATES(:,23)+ ALGEBRAIC(:,198).*STATES(:,17);
    RATES(:,22) = ALGEBRAIC(:,212) - ALGEBRAIC(:,207);
    ALGEBRAIC(:,29) =  CONSTANTS(:,150).*CONSTANTS(:,126).*exp( - 196337../CONSTANTS(:,146)+529.952./CONSTANTS(:,3)+( 2.78085.*STATES(:,7))./CONSTANTS(:,127));
    ALGEBRAIC(:,128) = ALGEBRAIC(:,29);
    ALGEBRAIC(:,88) =  CONSTANTS(:,150).*CONSTANTS(:,126).*exp( - 147814../CONSTANTS(:,146)+338.915./CONSTANTS(:,3)+( 2.13600.*STATES(:,7))./CONSTANTS(:,127));
    ALGEBRAIC(:,165) = ALGEBRAIC(:,88);
    ALGEBRAIC(:,40) =  CONSTANTS(:,150).*CONSTANTS(:,126).*exp( - 133690../CONSTANTS(:,146)+229.205./CONSTANTS(:,3)+(  - 1.55804.*STATES(:,7))./CONSTANTS(:,127));
    ALGEBRAIC(:,210) = ALGEBRAIC(:,40);
    ALGEBRAIC(:,98) =  CONSTANTS(:,150).*CONSTANTS(:,126).*exp( - 121322../CONSTANTS(:,146)+193.265./CONSTANTS(:,3)+(  - 1.74290.*STATES(:,7))./CONSTANTS(:,127));
    ALGEBRAIC(:,217) = ALGEBRAIC(:,98);
    RATES(:,55) = ( ALGEBRAIC(:,124).*STATES(:,54) -  (ALGEBRAIC(:,203)+ALGEBRAIC(:,128)+ALGEBRAIC(:,165)+CONSTANTS(:,174)).*STATES(:,55))+ ALGEBRAIC(:,210).*STATES(:,46)+ ALGEBRAIC(:,217).*STATES(:,47)+ CONSTANTS(:,173).*STATES(:,60);
    RATES(:,47) = ( ALGEBRAIC(:,165).*STATES(:,55)+ CONSTANTS(:,159).*STATES(:,46)) -  (ALGEBRAIC(:,217)+CONSTANTS(:,160)).*STATES(:,47);
    ALGEBRAIC(:,132) =  ALGEBRAIC(:,108).*CONSTANTS(:,163);
    ALGEBRAIC(:,216) = ALGEBRAIC(:,174)./CONSTANTS(:,163);
    RATES(:,56) = ( CONSTANTS(:,166).*STATES(:,51) -  (CONSTANTS(:,165)+ALGEBRAIC(:,132)).*STATES(:,56))+ ALGEBRAIC(:,216).*STATES(:,57);
    ALGEBRAIC(:,205) =  CONSTANTS(:,49).*ALGEBRAIC(:,198);
    ALGEBRAIC(:,215) =  (ALGEBRAIC(:,134)+CONSTANTS(:,46)+ALGEBRAIC(:,205)).*STATES(:,18);
    ALGEBRAIC(:,220) =  ALGEBRAIC(:,80).*STATES(:,17)+ CONSTANTS(:,47).*STATES(:,24)+ CONSTANTS(:,162).*STATES(:,23);
    RATES(:,18) = ALGEBRAIC(:,220) - ALGEBRAIC(:,215);
    ALGEBRAIC(:,213) =  (ALGEBRAIC(:,157)+CONSTANTS(:,162)).*STATES(:,23);
    ALGEBRAIC(:,219) =  ALGEBRAIC(:,118).*STATES(:,22)+ ALGEBRAIC(:,205).*STATES(:,18);
    RATES(:,23) = ALGEBRAIC(:,219) - ALGEBRAIC(:,213);
    ALGEBRAIC(:,136) =  ALGEBRAIC(:,116).*CONSTANTS(:,163);
    ALGEBRAIC(:,221) = ALGEBRAIC(:,185)./CONSTANTS(:,163);
    RATES(:,57) = (( CONSTANTS(:,168).*STATES(:,52)+ ALGEBRAIC(:,132).*STATES(:,56)) -  (ALGEBRAIC(:,216)+CONSTANTS(:,167)+ALGEBRAIC(:,136)).*STATES(:,57))+ ALGEBRAIC(:,221).*STATES(:,58);
    ALGEBRAIC(:,141) =  ALGEBRAIC(:,120).*CONSTANTS(:,163);
    ALGEBRAIC(:,223) = ALGEBRAIC(:,196)./CONSTANTS(:,163);
    RATES(:,58) = (( CONSTANTS(:,170).*STATES(:,53)+ ALGEBRAIC(:,136).*STATES(:,57)) -  (ALGEBRAIC(:,141)+CONSTANTS(:,169)+ALGEBRAIC(:,221)).*STATES(:,58))+ ALGEBRAIC(:,223).*STATES(:,59);
    ALGEBRAIC(:,147) =  ALGEBRAIC(:,124).*CONSTANTS(:,163);
    ALGEBRAIC(:,225) = ALGEBRAIC(:,203)./CONSTANTS(:,163);
    RATES(:,59) = (( CONSTANTS(:,172).*STATES(:,54)+ ALGEBRAIC(:,141).*STATES(:,58)) -  (ALGEBRAIC(:,223)+CONSTANTS(:,171)+ALGEBRAIC(:,147)).*STATES(:,59))+ ALGEBRAIC(:,225).*STATES(:,60);
    ALGEBRAIC(:,65) =  CONSTANTS(:,150).*CONSTANTS(:,126).*exp(116431../CONSTANTS(:,146)+ - 578.317./CONSTANTS(:,3)+( 0.764126.*STATES(:,7))./CONSTANTS(:,127));
    ALGEBRAIC(:,155) = ALGEBRAIC(:,65);
    ALGEBRAIC(:,76) =  CONSTANTS(:,150).*CONSTANTS(:,126).*exp( - 55700.7./CONSTANTS(:,146)+ - 130.639./CONSTANTS(:,3)+(  - 3.64982.*STATES(:,7))./CONSTANTS(:,127));
    ALGEBRAIC(:,227) = ALGEBRAIC(:,76);
    RATES(:,60) = (( CONSTANTS(:,174).*STATES(:,55)+ ALGEBRAIC(:,147).*STATES(:,59)) -  (ALGEBRAIC(:,225)+CONSTANTS(:,173)+ALGEBRAIC(:,155)).*STATES(:,60))+ ALGEBRAIC(:,227).*STATES(:,61);
    ALGEBRAIC(:,56) =  CONSTANTS(:,150).*CONSTANTS(:,126).*exp( - 97657.8./CONSTANTS(:,146)+1.51000./CONSTANTS(:,3)+( 0.0684862.*STATES(:,7))./CONSTANTS(:,127));
    ALGEBRAIC(:,229) = ALGEBRAIC(:,56);
    ALGEBRAIC(:,48) =  CONSTANTS(:,150).*CONSTANTS(:,126).*exp( - 62123.1./CONSTANTS(:,146)+39.2950./CONSTANTS(:,3)+( 0.288816.*STATES(:,7))./CONSTANTS(:,127));
    ALGEBRAIC(:,231) = ALGEBRAIC(:,48);
    RATES(:,46) = ( ALGEBRAIC(:,128).*STATES(:,55) -  (ALGEBRAIC(:,210)+CONSTANTS(:,159)+ALGEBRAIC(:,231)).*STATES(:,46))+ CONSTANTS(:,160).*STATES(:,47)+ ALGEBRAIC(:,229).*STATES(:,61);
    RATES(:,61) = ( ALGEBRAIC(:,231).*STATES(:,46)+ ALGEBRAIC(:,155).*STATES(:,60)) -  (ALGEBRAIC(:,227)+ALGEBRAIC(:,229)).*STATES(:,61);
    ALGEBRAIC(:,117) =  CONSTANTS(:,116).*log(CONSTANTS(:,10)./STATES(:,1));
    ALGEBRAIC(:,129) =  CONSTANTS(:,83).*(STATES(:,46)+STATES(:,47)).*(STATES(:,7) - ALGEBRAIC(:,117));
    ALGEBRAIC(:,226) =  CONSTANTS(:,84).*(STATES(:,7) - ALGEBRAIC(:,117));
    ALGEBRAIC(:,232) = STATES(:,7)./CONSTANTS(:,116);
    ALGEBRAIC(:,238) =  exp( CONSTANTS(:,91).*ALGEBRAIC(:,232)).*power(STATES(:,1), 3.00000).*CONSTANTS(:,11);
    ALGEBRAIC(:,239) =  exp( (CONSTANTS(:,91) - 1.00000).*ALGEBRAIC(:,232)).*power(CONSTANTS(:,10), 3.00000).*STATES(:,3);
    ALGEBRAIC(:,240) = 1.00000+ CONSTANTS(:,90).*exp( (CONSTANTS(:,91) - 1.00000).*ALGEBRAIC(:,232));
    ALGEBRAIC(:,241) = ( CONSTANTS(:,87).*(ALGEBRAIC(:,238) - ALGEBRAIC(:,239)))./( CONSTANTS(:,161).*ALGEBRAIC(:,240).*CONSTANTS(:,164));
    ALGEBRAIC(:,233) = 1.00000+ 0.124500.*exp(  - 0.100000.*ALGEBRAIC(:,232));
    ALGEBRAIC(:,234) =  0.0365000.*CONSTANTS(:,152).*exp(  - 1.33000.*ALGEBRAIC(:,232));
    ALGEBRAIC(:,235) = 1.00000./(ALGEBRAIC(:,233)+ALGEBRAIC(:,234));
    ALGEBRAIC(:,236) = 1.00000+power(CONSTANTS(:,93)./STATES(:,1), 1.50000);
    ALGEBRAIC(:,237) = ( CONSTANTS(:,92).*ALGEBRAIC(:,235).*CONSTANTS(:,156))./ALGEBRAIC(:,236);
    ALGEBRAIC(:,148) = STATES(:,7)./CONSTANTS(:,116);
    ALGEBRAIC(:,156) =  1000.00.*CONSTANTS(:,1).*ALGEBRAIC(:,148);
    ALGEBRAIC(:,175) = exp(ALGEBRAIC(:,148)) - 1.00000;
    ALGEBRAIC(:,197) =  STATES(:,1).*exp(ALGEBRAIC(:,148)) - CONSTANTS(:,10);
    ALGEBRAIC(:,204) = ( 0.0200000.*CONSTANTS(:,122).*STATES(:,40).*ALGEBRAIC(:,156).*ALGEBRAIC(:,197))./ALGEBRAIC(:,175);
    RATES(:,1) =   - (ALGEBRAIC(:,129)+ALGEBRAIC(:,226)+ 3.00000.*(ALGEBRAIC(:,241)+ALGEBRAIC(:,237))+ALGEBRAIC(:,204)).*CONSTANTS(:,144);
    ALGEBRAIC(:,125) =  0.500000.*CONSTANTS(:,116).*log(CONSTANTS(:,11)./STATES(:,3));
    ALGEBRAIC(:,228) =  CONSTANTS(:,97).*(STATES(:,7) - ALGEBRAIC(:,125));
    ALGEBRAIC(:,230) = ( CONSTANTS(:,95).*STATES(:,3))./(CONSTANTS(:,96)+STATES(:,3));
    ALGEBRAIC(:,59) = (STATES(:,4) - STATES(:,3))./CONSTANTS(:,25);
    ALGEBRAIC(:,89) =  CONSTANTS(:,26).*ALGEBRAIC(:,68)+ CONSTANTS(:,27).*ALGEBRAIC(:,79);
    ALGEBRAIC(:,109) = 1.00000./(1.00000+( CONSTANTS(:,32).*CONSTANTS(:,35))./power(STATES(:,3)+CONSTANTS(:,35), 2.00000)+( CONSTANTS(:,34).*CONSTANTS(:,37))./power(STATES(:,3)+CONSTANTS(:,37), 2.00000));
    RATES(:,3) =  ALGEBRAIC(:,109).*(((ALGEBRAIC(:,59) - ALGEBRAIC(:,43)) - ALGEBRAIC(:,89)) -  ((ALGEBRAIC(:,228) -  2.00000.*ALGEBRAIC(:,241))+ALGEBRAIC(:,230)).*0.500000.*CONSTANTS(:,144));
    ALGEBRAIC(:,242) = STATES(:,7)./CONSTANTS(:,116);
    ALGEBRAIC(:,243) =  1000.00.*CONSTANTS(:,1).*ALGEBRAIC(:,242);
    ALGEBRAIC(:,244) =  0.00100000.*exp( 2.00000.*ALGEBRAIC(:,242)) -  CONSTANTS(:,11).*0.341000;
    ALGEBRAIC(:,245) = exp( 2.00000.*ALGEBRAIC(:,242)) - 1.00000;
    ALGEBRAIC(:,246) = ( CONSTANTS(:,145).*4.00000.*ALGEBRAIC(:,243).*ALGEBRAIC(:,244))./ALGEBRAIC(:,245);
    ALGEBRAIC(:,247) =  ALGEBRAIC(:,246).*STATES(:,25).*STATES(:,24);
    ALGEBRAIC(:,99) = 1.00000./(1.00000+( CONSTANTS(:,32).*CONSTANTS(:,35))./power(STATES(:,4)+CONSTANTS(:,35), 2.00000)+( CONSTANTS(:,34).*CONSTANTS(:,37))./power(STATES(:,4)+CONSTANTS(:,37), 2.00000));
    RATES(:,4) =  ALGEBRAIC(:,99).*((( ALGEBRAIC(:,51).*CONSTANTS(:,6))./CONSTANTS(:,8) - ( ALGEBRAIC(:,59).*CONSTANTS(:,5))./CONSTANTS(:,8)) -  ALGEBRAIC(:,247).*CONSTANTS(:,149));
    ALGEBRAIC(:,121) =  CONSTANTS(:,116).*log(CONSTANTS(:,9)./STATES(:,2));
    ALGEBRAIC(:,133) =  CONSTANTS(:,80).*CONSTANTS(:,123).*STATES(:,48).*(STATES(:,7) - ALGEBRAIC(:,121));
    ALGEBRAIC(:,137) =  CONSTANTS(:,81).*(STATES(:,49)+STATES(:,50)).*(STATES(:,7) - ALGEBRAIC(:,121));
    ALGEBRAIC(:,222) = 1.00000./(0.940000+exp( (1.26000./CONSTANTS(:,116)).*(STATES(:,7) - ALGEBRAIC(:,121))));
    ALGEBRAIC(:,224) =  CONSTANTS(:,82).*power((CONSTANTS(:,9)./1.00000), 1.0 ./ 2).*ALGEBRAIC(:,222).*(STATES(:,7) - ALGEBRAIC(:,121));
    ALGEBRAIC(:,248) = piecewise({ALGEBRAIC(:,246)>=0.00000, 0.00000 }, ALGEBRAIC(:,246));
    ALGEBRAIC(:,249) = CONSTANTS(:,125)./(1.00000+ALGEBRAIC(:,248)./CONSTANTS(:,98));
    ALGEBRAIC(:,250) =  STATES(:,2).*exp(ALGEBRAIC(:,242)) - CONSTANTS(:,9);
    ALGEBRAIC(:,251) = exp(ALGEBRAIC(:,242)) - 1.00000;
    ALGEBRAIC(:,252) = ( ALGEBRAIC(:,249).*STATES(:,24).*STATES(:,25).*ALGEBRAIC(:,243).*ALGEBRAIC(:,250))./ALGEBRAIC(:,251);
    ALGEBRAIC(:,1) =  floor(VOI./CONSTANTS(:,12)).*CONSTANTS(:,12);
    ALGEBRAIC(:,12) = piecewise({VOI - ALGEBRAIC(:,1)>=CONSTANTS(:,15)&VOI - ALGEBRAIC(:,1)<=CONSTANTS(:,15)+CONSTANTS(:,13), CONSTANTS(:,14) }, 0.00000);
    ALGEBRAIC(:,142) =  CONSTANTS(:,121).*STATES(:,30).*(STATES(:,7) - ALGEBRAIC(:,121));
    ALGEBRAIC(:,166) =  STATES(:,2).*exp(ALGEBRAIC(:,148)) - CONSTANTS(:,9);
    ALGEBRAIC(:,186) = ( CONSTANTS(:,122).*STATES(:,40).*ALGEBRAIC(:,156).*ALGEBRAIC(:,166))./ALGEBRAIC(:,175);
    RATES(:,2) =   - (((ALGEBRAIC(:,133)+ALGEBRAIC(:,137)+ALGEBRAIC(:,224)+ALGEBRAIC(:,252)+ALGEBRAIC(:,12)) -  2.00000.*ALGEBRAIC(:,237))+ALGEBRAIC(:,142)+ALGEBRAIC(:,186)).*CONSTANTS(:,144);
    ALGEBRAIC(:,211) = ALGEBRAIC(:,186)+ALGEBRAIC(:,204);
    ALGEBRAIC(:,218) = ALGEBRAIC(:,142)+ALGEBRAIC(:,211);
    ALGEBRAIC(:,253) = ALGEBRAIC(:,129)+ALGEBRAIC(:,247)+ALGEBRAIC(:,252)+ALGEBRAIC(:,133)+ALGEBRAIC(:,137)+ALGEBRAIC(:,224)+ALGEBRAIC(:,241)+ALGEBRAIC(:,237)+ALGEBRAIC(:,218)+ALGEBRAIC(:,230)+ALGEBRAIC(:,228)+ALGEBRAIC(:,226)+ALGEBRAIC(:,12);
    RATES(:,7) =  - ALGEBRAIC(:,253);
   RATES = RATES';
end

% Calculate algebraic variables
function ALGEBRAIC = computeAlgebraic(ALGEBRAIC, CONSTANTS, STATES, VOI)
    statesSize = size(STATES);
    statesColumnCount = statesSize(2);
    if ( statesColumnCount == 1)
        STATES = STATES';
        utilOnes = 1;
    else
        statesRowCount = statesSize(1);
        utilOnes = ones(statesRowCount, 1);
    end
    ALGEBRAIC(:,2) =   - CONSTANTS(:,38).*power( STATES(:,4).*1000.00, CONSTANTS(:,44)).*STATES(:,12)+ CONSTANTS(:,39).*STATES(:,8);
    ALGEBRAIC(:,13) =  CONSTANTS(:,40).*power( STATES(:,4).*1000.00, CONSTANTS(:,45)).*STATES(:,8) -  CONSTANTS(:,41).*STATES(:,9);
    ALGEBRAIC(:,4) = (CONSTANTS(:,118)./(1.00000+exp((STATES(:,7)+28.5000)./7.80000))+1.00000) - CONSTANTS(:,118);
    ALGEBRAIC(:,15) = 1.00000./(0.00653000./(0.500000+exp(STATES(:,7)./ - 7.10000))+ 0.00512000.*exp(STATES(:,7)./ - 39.8000));
    ALGEBRAIC(:,9) =  CONSTANTS(:,101).*CONSTANTS(:,102).*exp( CONSTANTS(:,103).*STATES(:,7));
    ALGEBRAIC(:,20) =  CONSTANTS(:,101).*CONSTANTS(:,104).*exp( CONSTANTS(:,105).*STATES(:,7));
    ALGEBRAIC(:,24) =  CONSTANTS(:,42).*STATES(:,8) -  CONSTANTS(:,43).*STATES(:,13);
    ALGEBRAIC(:,33) =  0.216256.*exp(  - 1.88912e-05.*STATES(:,7));
    ALGEBRAIC(:,22) =  0.00700807.*exp(  - 0.149998.*STATES(:,7));
    ALGEBRAIC(:,11) =  0.00767254.*exp( 0.0866295.*STATES(:,7));
    ALGEBRAIC(:,32) =  0.00379738.*exp(  - 0.0142567.*STATES(:,7));
    ALGEBRAIC(:,35) =  - (ALGEBRAIC(:,2)+ALGEBRAIC(:,13)+ALGEBRAIC(:,24));
    ALGEBRAIC(:,31) =  ALGEBRAIC(:,9).*STATES(:,62)+ CONSTANTS(:,129).*STATES(:,64);
    ALGEBRAIC(:,42) =  (ALGEBRAIC(:,20)+CONSTANTS(:,128)).*STATES(:,63);
    ALGEBRAIC(:,10) =  CONSTANTS(:,101).*CONSTANTS(:,106).*exp( CONSTANTS(:,107).*STATES(:,7));
    ALGEBRAIC(:,41) =  CONSTANTS(:,101).*CONSTANTS(:,112).*exp( CONSTANTS(:,113).*STATES(:,7));
    ALGEBRAIC(:,50) =  ALGEBRAIC(:,10).*STATES(:,64)+ ALGEBRAIC(:,41).*STATES(:,65);
    ALGEBRAIC(:,21) =  CONSTANTS(:,101).*CONSTANTS(:,108).*exp( CONSTANTS(:,109).*STATES(:,7));
    ALGEBRAIC(:,30) =  CONSTANTS(:,101).*CONSTANTS(:,110).*exp( CONSTANTS(:,111).*STATES(:,7));
    ALGEBRAIC(:,58) =  (ALGEBRAIC(:,21)+ALGEBRAIC(:,30)).*STATES(:,48);
    ALGEBRAIC(:,23) = power(STATES(:,3)./CONSTANTS(:,16), CONSTANTS(:,17));
    ALGEBRAIC(:,34) = power(STATES(:,6)./CONSTANTS(:,18), CONSTANTS(:,19));
    ALGEBRAIC(:,43) = ( CONSTANTS(:,20).*( CONSTANTS(:,21).*ALGEBRAIC(:,23) -  CONSTANTS(:,22).*ALGEBRAIC(:,34)))./(1.00000+ALGEBRAIC(:,23)+ALGEBRAIC(:,34));
    ALGEBRAIC(:,60) = (STATES(:,6) - STATES(:,5))./CONSTANTS(:,24);
    ALGEBRAIC(:,51) =  CONSTANTS(:,23).*(STATES(:,8)+STATES(:,9)).*(STATES(:,5) - STATES(:,4));
    ALGEBRAIC(:,69) = 1.00000./(1.00000+( CONSTANTS(:,33).*CONSTANTS(:,36))./power(STATES(:,5)+CONSTANTS(:,36), 2.00000));
    ALGEBRAIC(:,68) =  CONSTANTS(:,30).*STATES(:,3).*(1.00000 - STATES(:,10)) -  CONSTANTS(:,31).*STATES(:,10);
    ALGEBRAIC(:,49) =  CONSTANTS(:,101).*CONSTANTS(:,114).*exp( CONSTANTS(:,115).*STATES(:,7));
    ALGEBRAIC(:,57) = ( ALGEBRAIC(:,21).*ALGEBRAIC(:,41).*ALGEBRAIC(:,49))./( ALGEBRAIC(:,10).*ALGEBRAIC(:,30));
    ALGEBRAIC(:,66) =  CONSTANTS(:,128).*STATES(:,63)+ ALGEBRAIC(:,21).*STATES(:,48)+ ALGEBRAIC(:,57).*STATES(:,65);
    ALGEBRAIC(:,77) =  (ALGEBRAIC(:,49)+ALGEBRAIC(:,10)+CONSTANTS(:,129)).*STATES(:,64);
    ALGEBRAIC(:,67) =  ALGEBRAIC(:,49).*STATES(:,64)+ ALGEBRAIC(:,30).*STATES(:,48);
    ALGEBRAIC(:,78) =  (ALGEBRAIC(:,57)+ALGEBRAIC(:,41)).*STATES(:,65);
    ALGEBRAIC(:,79) =  CONSTANTS(:,28).*STATES(:,3).*(1.00000 - STATES(:,11)) -  CONSTANTS(:,29).*STATES(:,11);
    ALGEBRAIC(:,6) =  CONSTANTS(:,74).*exp( CONSTANTS(:,75).*STATES(:,7));
    ALGEBRAIC(:,27) =  4.00000.*ALGEBRAIC(:,6);
    ALGEBRAIC(:,74) =  (ALGEBRAIC(:,27)+CONSTANTS(:,133)).*STATES(:,36);
    ALGEBRAIC(:,17) =  CONSTANTS(:,76).*exp(  - CONSTANTS(:,77).*STATES(:,7));
    ALGEBRAIC(:,63) = ALGEBRAIC(:,17);
    ALGEBRAIC(:,84) =  ALGEBRAIC(:,63).*STATES(:,37)+ CONSTANTS(:,138).*STATES(:,41);
    ALGEBRAIC(:,28) =  4.00000.*CONSTANTS(:,70).*ALGEBRAIC(:,6);
    ALGEBRAIC(:,75) =  (CONSTANTS(:,138)+ALGEBRAIC(:,28)).*STATES(:,41);
    ALGEBRAIC(:,64) = ALGEBRAIC(:,17)./CONSTANTS(:,66);
    ALGEBRAIC(:,86) =  CONSTANTS(:,133).*STATES(:,36)+ ALGEBRAIC(:,64).*STATES(:,42);
    ALGEBRAIC(:,38) =  3.00000.*ALGEBRAIC(:,6);
    ALGEBRAIC(:,85) =  (ALGEBRAIC(:,38)+ALGEBRAIC(:,63)+CONSTANTS(:,134)).*STATES(:,37);
    ALGEBRAIC(:,72) =  2.00000.*ALGEBRAIC(:,17);
    ALGEBRAIC(:,94) =  ALGEBRAIC(:,72).*STATES(:,38)+ CONSTANTS(:,139).*STATES(:,42)+ ALGEBRAIC(:,27).*STATES(:,36);
    ALGEBRAIC(:,39) = ( 3.00000.*CONSTANTS(:,71).*ALGEBRAIC(:,6))./CONSTANTS(:,70);
    ALGEBRAIC(:,87) =  (ALGEBRAIC(:,39)+CONSTANTS(:,139)+ALGEBRAIC(:,64)).*STATES(:,42);
    ALGEBRAIC(:,73) = ( 2.00000.*CONSTANTS(:,66).*ALGEBRAIC(:,17))./CONSTANTS(:,67);
    ALGEBRAIC(:,96) =  ALGEBRAIC(:,73).*STATES(:,43)+ CONSTANTS(:,134).*STATES(:,37)+ ALGEBRAIC(:,28).*STATES(:,41);
    ALGEBRAIC(:,46) =  2.00000.*ALGEBRAIC(:,6);
    ALGEBRAIC(:,95) =  (ALGEBRAIC(:,46)+ALGEBRAIC(:,72)+CONSTANTS(:,135)).*STATES(:,38);
    ALGEBRAIC(:,82) =  3.00000.*ALGEBRAIC(:,17);
    ALGEBRAIC(:,102) =  ALGEBRAIC(:,82).*STATES(:,39)+ CONSTANTS(:,140).*STATES(:,43)+ ALGEBRAIC(:,38).*STATES(:,37);
    ALGEBRAIC(:,47) = ( 2.00000.*CONSTANTS(:,72).*ALGEBRAIC(:,6))./CONSTANTS(:,71);
    ALGEBRAIC(:,97) =  (ALGEBRAIC(:,47)+CONSTANTS(:,140)+ALGEBRAIC(:,73)).*STATES(:,43);
    ALGEBRAIC(:,83) = ( 3.00000.*CONSTANTS(:,67).*ALGEBRAIC(:,17))./CONSTANTS(:,68);
    ALGEBRAIC(:,105) =  ALGEBRAIC(:,83).*STATES(:,44)+ CONSTANTS(:,135).*STATES(:,38)+ ALGEBRAIC(:,39).*STATES(:,42);
    ALGEBRAIC(:,54) = ALGEBRAIC(:,6);
    ALGEBRAIC(:,103) =  (ALGEBRAIC(:,54)+ALGEBRAIC(:,82)+CONSTANTS(:,136)).*STATES(:,39);
    ALGEBRAIC(:,92) =  4.00000.*ALGEBRAIC(:,17);
    ALGEBRAIC(:,112) =  ALGEBRAIC(:,92).*STATES(:,40)+ CONSTANTS(:,141).*STATES(:,44)+ ALGEBRAIC(:,46).*STATES(:,38);
    ALGEBRAIC(:,104) =  (ALGEBRAIC(:,92)+CONSTANTS(:,137)).*STATES(:,40);
    ALGEBRAIC(:,113) =  ALGEBRAIC(:,54).*STATES(:,39)+ CONSTANTS(:,142).*STATES(:,45);
    ALGEBRAIC(:,55) = ( CONSTANTS(:,73).*ALGEBRAIC(:,6))./CONSTANTS(:,72);
    ALGEBRAIC(:,106) =  (ALGEBRAIC(:,55)+CONSTANTS(:,141)+ALGEBRAIC(:,83)).*STATES(:,44);
    ALGEBRAIC(:,93) = ( 4.00000.*CONSTANTS(:,68).*ALGEBRAIC(:,17))./CONSTANTS(:,69);
    ALGEBRAIC(:,114) =  ALGEBRAIC(:,93).*STATES(:,45)+ CONSTANTS(:,136).*STATES(:,39)+ ALGEBRAIC(:,47).*STATES(:,43);
    ALGEBRAIC(:,107) =  (CONSTANTS(:,142)+ALGEBRAIC(:,93)).*STATES(:,45);
    ALGEBRAIC(:,115) =  CONSTANTS(:,137).*STATES(:,40)+ ALGEBRAIC(:,55).*STATES(:,44);
    ALGEBRAIC(:,5) =  CONSTANTS(:,50).*exp( CONSTANTS(:,51).*STATES(:,7));
    ALGEBRAIC(:,45) =  4.00000.*ALGEBRAIC(:,5);
    ALGEBRAIC(:,37) =  CONSTANTS(:,56).*exp( CONSTANTS(:,57).*STATES(:,7));
    ALGEBRAIC(:,139) = ALGEBRAIC(:,37);
    ALGEBRAIC(:,153) =  (ALGEBRAIC(:,45)+ALGEBRAIC(:,139)).*STATES(:,26);
    ALGEBRAIC(:,16) =  CONSTANTS(:,52).*exp(  - CONSTANTS(:,53).*STATES(:,7));
    ALGEBRAIC(:,119) = ALGEBRAIC(:,16);
    ALGEBRAIC(:,26) =  CONSTANTS(:,54).*exp(  - CONSTANTS(:,55).*STATES(:,7));
    ALGEBRAIC(:,146) = ALGEBRAIC(:,26);
    ALGEBRAIC(:,161) =  ALGEBRAIC(:,119).*STATES(:,27)+ ALGEBRAIC(:,146).*STATES(:,31);
    ALGEBRAIC(:,81) =  4.00000.*CONSTANTS(:,62).*ALGEBRAIC(:,5);
    ALGEBRAIC(:,154) =  (ALGEBRAIC(:,146)+ALGEBRAIC(:,81)).*STATES(:,31);
    ALGEBRAIC(:,135) = ALGEBRAIC(:,16)./CONSTANTS(:,58);
    ALGEBRAIC(:,163) =  ALGEBRAIC(:,139).*STATES(:,26)+ ALGEBRAIC(:,135).*STATES(:,32);
    ALGEBRAIC(:,53) =  3.00000.*ALGEBRAIC(:,5);
    ALGEBRAIC(:,144) =  CONSTANTS(:,58).*ALGEBRAIC(:,37);
    ALGEBRAIC(:,162) =  (ALGEBRAIC(:,53)+ALGEBRAIC(:,119)+ALGEBRAIC(:,144)).*STATES(:,27);
    ALGEBRAIC(:,123) =  2.00000.*ALGEBRAIC(:,16);
    ALGEBRAIC(:,152) = ALGEBRAIC(:,26)./CONSTANTS(:,62);
    ALGEBRAIC(:,170) =  ALGEBRAIC(:,123).*STATES(:,28)+ ALGEBRAIC(:,152).*STATES(:,32)+ ALGEBRAIC(:,45).*STATES(:,26);
    ALGEBRAIC(:,91) = ( 3.00000.*CONSTANTS(:,63).*ALGEBRAIC(:,5))./CONSTANTS(:,62);
    ALGEBRAIC(:,164) =  (ALGEBRAIC(:,91)+ALGEBRAIC(:,152)+ALGEBRAIC(:,135)).*STATES(:,32);
    ALGEBRAIC(:,140) = ( 2.00000.*CONSTANTS(:,58).*ALGEBRAIC(:,16))./CONSTANTS(:,59);
    ALGEBRAIC(:,172) =  ALGEBRAIC(:,140).*STATES(:,33)+ ALGEBRAIC(:,144).*STATES(:,27)+ ALGEBRAIC(:,81).*STATES(:,31);
    ALGEBRAIC(:,8) =  CONSTANTS(:,150).*CONSTANTS(:,126).*exp( - 114007../CONSTANTS(:,146)+224.114./CONSTANTS(:,3)+( 0.286374.*STATES(:,7))./CONSTANTS(:,127));
    ALGEBRAIC(:,108) =  4.00000.*ALGEBRAIC(:,8);
    ALGEBRAIC(:,19) =  CONSTANTS(:,150).*CONSTANTS(:,126).*exp( - 272470../CONSTANTS(:,146)+708.146./CONSTANTS(:,3)+(  - 2.28528.*STATES(:,7))./CONSTANTS(:,127));
    ALGEBRAIC(:,174) = ALGEBRAIC(:,19);
    ALGEBRAIC(:,62) =  2.00000.*ALGEBRAIC(:,5);
    ALGEBRAIC(:,150) =  CONSTANTS(:,59).*ALGEBRAIC(:,37);
    ALGEBRAIC(:,171) =  (ALGEBRAIC(:,62)+ALGEBRAIC(:,123)+ALGEBRAIC(:,150)).*STATES(:,28);
    ALGEBRAIC(:,127) =  3.00000.*ALGEBRAIC(:,16);
    ALGEBRAIC(:,160) = ALGEBRAIC(:,26)./CONSTANTS(:,63);
    ALGEBRAIC(:,179) =  ALGEBRAIC(:,127).*STATES(:,29)+ ALGEBRAIC(:,160).*STATES(:,33)+ ALGEBRAIC(:,53).*STATES(:,27);
    ALGEBRAIC(:,101) = ( 2.00000.*CONSTANTS(:,64).*ALGEBRAIC(:,5))./CONSTANTS(:,63);
    ALGEBRAIC(:,173) =  (ALGEBRAIC(:,101)+ALGEBRAIC(:,160)+ALGEBRAIC(:,140)).*STATES(:,33);
    ALGEBRAIC(:,145) = ( 3.00000.*CONSTANTS(:,59).*ALGEBRAIC(:,16))./CONSTANTS(:,60);
    ALGEBRAIC(:,182) =  ALGEBRAIC(:,145).*STATES(:,34)+ ALGEBRAIC(:,150).*STATES(:,28)+ ALGEBRAIC(:,91).*STATES(:,32);
    ALGEBRAIC(:,116) =  3.00000.*ALGEBRAIC(:,8);
    ALGEBRAIC(:,185) =  2.00000.*ALGEBRAIC(:,19);
    ALGEBRAIC(:,3) =  4.00000.*1.20000.*0.416000.*exp( 0.0120000.*(STATES(:,7) - 35.0000));
    ALGEBRAIC(:,52) =  4.00000.*ALGEBRAIC(:,3);
    ALGEBRAIC(:,44) =  0.600000.*0.0923300.*STATES(:,4);
    ALGEBRAIC(:,167) = ALGEBRAIC(:,44);
    ALGEBRAIC(:,178) =  (ALGEBRAIC(:,52)+ALGEBRAIC(:,167)).*STATES(:,14);
    ALGEBRAIC(:,14) =  4.00000.*0.450000.*0.0490000.*exp(  - 0.0650000.*(STATES(:,7) - 22.0000));
    ALGEBRAIC(:,122) = ALGEBRAIC(:,14);
    ALGEBRAIC(:,190) =  ALGEBRAIC(:,122).*STATES(:,15)+ CONSTANTS(:,132).*STATES(:,19);
    ALGEBRAIC(:,25) =  CONSTANTS(:,49).*ALGEBRAIC(:,3);
    ALGEBRAIC(:,90) =  4.00000.*ALGEBRAIC(:,25);
    ALGEBRAIC(:,177) =  (ALGEBRAIC(:,90)+CONSTANTS(:,132)).*STATES(:,19);
    ALGEBRAIC(:,36) = ALGEBRAIC(:,14)./CONSTANTS(:,48);
    ALGEBRAIC(:,138) = ALGEBRAIC(:,36);
    ALGEBRAIC(:,188) =  ALGEBRAIC(:,138).*STATES(:,20)+ ALGEBRAIC(:,167).*STATES(:,14);
    ALGEBRAIC(:,71) = ALGEBRAIC(:,5);
    ALGEBRAIC(:,158) =  CONSTANTS(:,60).*ALGEBRAIC(:,37);
    ALGEBRAIC(:,180) =  (ALGEBRAIC(:,71)+ALGEBRAIC(:,127)+ALGEBRAIC(:,158)).*STATES(:,29);
    ALGEBRAIC(:,131) =  4.00000.*ALGEBRAIC(:,16);
    ALGEBRAIC(:,168) = ALGEBRAIC(:,26)./CONSTANTS(:,64);
    ALGEBRAIC(:,192) =  ALGEBRAIC(:,131).*STATES(:,30)+ ALGEBRAIC(:,168).*STATES(:,34)+ ALGEBRAIC(:,62).*STATES(:,28);
    ALGEBRAIC(:,159) =  CONSTANTS(:,61).*ALGEBRAIC(:,37);
    ALGEBRAIC(:,181) =  (ALGEBRAIC(:,131)+ALGEBRAIC(:,159)).*STATES(:,30);
    ALGEBRAIC(:,169) = ALGEBRAIC(:,26)./CONSTANTS(:,65);
    ALGEBRAIC(:,193) =  ALGEBRAIC(:,71).*STATES(:,29)+ ALGEBRAIC(:,169).*STATES(:,35);
    ALGEBRAIC(:,111) = ( CONSTANTS(:,65).*ALGEBRAIC(:,5))./CONSTANTS(:,64);
    ALGEBRAIC(:,183) =  (ALGEBRAIC(:,111)+ALGEBRAIC(:,168)+ALGEBRAIC(:,145)).*STATES(:,34);
    ALGEBRAIC(:,151) = ( 4.00000.*CONSTANTS(:,60).*ALGEBRAIC(:,16))./CONSTANTS(:,61);
    ALGEBRAIC(:,194) =  ALGEBRAIC(:,151).*STATES(:,35)+ ALGEBRAIC(:,158).*STATES(:,29)+ ALGEBRAIC(:,101).*STATES(:,33);
    ALGEBRAIC(:,184) =  (ALGEBRAIC(:,169)+ALGEBRAIC(:,151)).*STATES(:,35);
    ALGEBRAIC(:,195) =  ALGEBRAIC(:,159).*STATES(:,30)+ ALGEBRAIC(:,111).*STATES(:,34);
    ALGEBRAIC(:,120) =  2.00000.*ALGEBRAIC(:,8);
    ALGEBRAIC(:,196) =  3.00000.*ALGEBRAIC(:,19);
    ALGEBRAIC(:,61) =  3.00000.*ALGEBRAIC(:,3);
    ALGEBRAIC(:,176) =  CONSTANTS(:,49).*ALGEBRAIC(:,167);
    ALGEBRAIC(:,191) =  (ALGEBRAIC(:,122)+ALGEBRAIC(:,61)+ALGEBRAIC(:,176)).*STATES(:,15);
    ALGEBRAIC(:,126) =  2.00000.*ALGEBRAIC(:,14);
    ALGEBRAIC(:,201) =  ALGEBRAIC(:,52).*STATES(:,14)+ ALGEBRAIC(:,126).*STATES(:,16)+ CONSTANTS(:,148).*STATES(:,20);
    ALGEBRAIC(:,100) =  3.00000.*ALGEBRAIC(:,25);
    ALGEBRAIC(:,189) =  (ALGEBRAIC(:,138)+ALGEBRAIC(:,100)+CONSTANTS(:,148)).*STATES(:,20);
    ALGEBRAIC(:,143) =  2.00000.*ALGEBRAIC(:,36);
    ALGEBRAIC(:,199) =  ALGEBRAIC(:,90).*STATES(:,19)+ ALGEBRAIC(:,143).*STATES(:,21)+ ALGEBRAIC(:,176).*STATES(:,15);
    ALGEBRAIC(:,124) = ALGEBRAIC(:,8);
    ALGEBRAIC(:,203) =  4.00000.*ALGEBRAIC(:,19);
    ALGEBRAIC(:,70) =  2.00000.*ALGEBRAIC(:,3);
    ALGEBRAIC(:,187) =  CONSTANTS(:,49).*ALGEBRAIC(:,176);
    ALGEBRAIC(:,202) =  (ALGEBRAIC(:,126)+ALGEBRAIC(:,70)+ALGEBRAIC(:,187)).*STATES(:,16);
    ALGEBRAIC(:,130) =  3.00000.*ALGEBRAIC(:,14);
    ALGEBRAIC(:,208) =  ALGEBRAIC(:,61).*STATES(:,15)+ ALGEBRAIC(:,130).*STATES(:,17)+ CONSTANTS(:,151).*STATES(:,21);
    ALGEBRAIC(:,110) =  2.00000.*ALGEBRAIC(:,25);
    ALGEBRAIC(:,200) =  (ALGEBRAIC(:,143)+ALGEBRAIC(:,110)+CONSTANTS(:,151)).*STATES(:,21);
    ALGEBRAIC(:,149) =  3.00000.*ALGEBRAIC(:,36);
    ALGEBRAIC(:,206) =  ALGEBRAIC(:,100).*STATES(:,20)+ ALGEBRAIC(:,149).*STATES(:,22)+ ALGEBRAIC(:,187).*STATES(:,16);
    ALGEBRAIC(:,80) = ALGEBRAIC(:,3);
    ALGEBRAIC(:,198) =  CONSTANTS(:,49).*ALGEBRAIC(:,187);
    ALGEBRAIC(:,209) =  (ALGEBRAIC(:,130)+ALGEBRAIC(:,80)+ALGEBRAIC(:,198)).*STATES(:,17);
    ALGEBRAIC(:,134) =  4.00000.*ALGEBRAIC(:,14);
    ALGEBRAIC(:,214) =  ALGEBRAIC(:,70).*STATES(:,16)+ ALGEBRAIC(:,134).*STATES(:,18)+ CONSTANTS(:,157).*STATES(:,22);
    ALGEBRAIC(:,118) = ALGEBRAIC(:,25);
    ALGEBRAIC(:,207) =  (ALGEBRAIC(:,149)+ALGEBRAIC(:,118)+CONSTANTS(:,157)).*STATES(:,22);
    ALGEBRAIC(:,157) =  4.00000.*ALGEBRAIC(:,36);
    ALGEBRAIC(:,212) =  ALGEBRAIC(:,110).*STATES(:,21)+ ALGEBRAIC(:,157).*STATES(:,23)+ ALGEBRAIC(:,198).*STATES(:,17);
    ALGEBRAIC(:,29) =  CONSTANTS(:,150).*CONSTANTS(:,126).*exp( - 196337../CONSTANTS(:,146)+529.952./CONSTANTS(:,3)+( 2.78085.*STATES(:,7))./CONSTANTS(:,127));
    ALGEBRAIC(:,128) = ALGEBRAIC(:,29);
    ALGEBRAIC(:,88) =  CONSTANTS(:,150).*CONSTANTS(:,126).*exp( - 147814../CONSTANTS(:,146)+338.915./CONSTANTS(:,3)+( 2.13600.*STATES(:,7))./CONSTANTS(:,127));
    ALGEBRAIC(:,165) = ALGEBRAIC(:,88);
    ALGEBRAIC(:,40) =  CONSTANTS(:,150).*CONSTANTS(:,126).*exp( - 133690../CONSTANTS(:,146)+229.205./CONSTANTS(:,3)+(  - 1.55804.*STATES(:,7))./CONSTANTS(:,127));
    ALGEBRAIC(:,210) = ALGEBRAIC(:,40);
    ALGEBRAIC(:,98) =  CONSTANTS(:,150).*CONSTANTS(:,126).*exp( - 121322../CONSTANTS(:,146)+193.265./CONSTANTS(:,3)+(  - 1.74290.*STATES(:,7))./CONSTANTS(:,127));
    ALGEBRAIC(:,217) = ALGEBRAIC(:,98);
    ALGEBRAIC(:,132) =  ALGEBRAIC(:,108).*CONSTANTS(:,163);
    ALGEBRAIC(:,216) = ALGEBRAIC(:,174)./CONSTANTS(:,163);
    ALGEBRAIC(:,205) =  CONSTANTS(:,49).*ALGEBRAIC(:,198);
    ALGEBRAIC(:,215) =  (ALGEBRAIC(:,134)+CONSTANTS(:,46)+ALGEBRAIC(:,205)).*STATES(:,18);
    ALGEBRAIC(:,220) =  ALGEBRAIC(:,80).*STATES(:,17)+ CONSTANTS(:,47).*STATES(:,24)+ CONSTANTS(:,162).*STATES(:,23);
    ALGEBRAIC(:,213) =  (ALGEBRAIC(:,157)+CONSTANTS(:,162)).*STATES(:,23);
    ALGEBRAIC(:,219) =  ALGEBRAIC(:,118).*STATES(:,22)+ ALGEBRAIC(:,205).*STATES(:,18);
    ALGEBRAIC(:,136) =  ALGEBRAIC(:,116).*CONSTANTS(:,163);
    ALGEBRAIC(:,221) = ALGEBRAIC(:,185)./CONSTANTS(:,163);
    ALGEBRAIC(:,141) =  ALGEBRAIC(:,120).*CONSTANTS(:,163);
    ALGEBRAIC(:,223) = ALGEBRAIC(:,196)./CONSTANTS(:,163);
    ALGEBRAIC(:,147) =  ALGEBRAIC(:,124).*CONSTANTS(:,163);
    ALGEBRAIC(:,225) = ALGEBRAIC(:,203)./CONSTANTS(:,163);
    ALGEBRAIC(:,65) =  CONSTANTS(:,150).*CONSTANTS(:,126).*exp(116431../CONSTANTS(:,146)+ - 578.317./CONSTANTS(:,3)+( 0.764126.*STATES(:,7))./CONSTANTS(:,127));
    ALGEBRAIC(:,155) = ALGEBRAIC(:,65);
    ALGEBRAIC(:,76) =  CONSTANTS(:,150).*CONSTANTS(:,126).*exp( - 55700.7./CONSTANTS(:,146)+ - 130.639./CONSTANTS(:,3)+(  - 3.64982.*STATES(:,7))./CONSTANTS(:,127));
    ALGEBRAIC(:,227) = ALGEBRAIC(:,76);
    ALGEBRAIC(:,56) =  CONSTANTS(:,150).*CONSTANTS(:,126).*exp( - 97657.8./CONSTANTS(:,146)+1.51000./CONSTANTS(:,3)+( 0.0684862.*STATES(:,7))./CONSTANTS(:,127));
    ALGEBRAIC(:,229) = ALGEBRAIC(:,56);
    ALGEBRAIC(:,48) =  CONSTANTS(:,150).*CONSTANTS(:,126).*exp( - 62123.1./CONSTANTS(:,146)+39.2950./CONSTANTS(:,3)+( 0.288816.*STATES(:,7))./CONSTANTS(:,127));
    ALGEBRAIC(:,231) = ALGEBRAIC(:,48);
    ALGEBRAIC(:,117) =  CONSTANTS(:,116).*log(CONSTANTS(:,10)./STATES(:,1));
    ALGEBRAIC(:,129) =  CONSTANTS(:,83).*(STATES(:,46)+STATES(:,47)).*(STATES(:,7) - ALGEBRAIC(:,117));
    ALGEBRAIC(:,226) =  CONSTANTS(:,84).*(STATES(:,7) - ALGEBRAIC(:,117));
    ALGEBRAIC(:,232) = STATES(:,7)./CONSTANTS(:,116);
    ALGEBRAIC(:,238) =  exp( CONSTANTS(:,91).*ALGEBRAIC(:,232)).*power(STATES(:,1), 3.00000).*CONSTANTS(:,11);
    ALGEBRAIC(:,239) =  exp( (CONSTANTS(:,91) - 1.00000).*ALGEBRAIC(:,232)).*power(CONSTANTS(:,10), 3.00000).*STATES(:,3);
    ALGEBRAIC(:,240) = 1.00000+ CONSTANTS(:,90).*exp( (CONSTANTS(:,91) - 1.00000).*ALGEBRAIC(:,232));
    ALGEBRAIC(:,241) = ( CONSTANTS(:,87).*(ALGEBRAIC(:,238) - ALGEBRAIC(:,239)))./( CONSTANTS(:,161).*ALGEBRAIC(:,240).*CONSTANTS(:,164));
    ALGEBRAIC(:,233) = 1.00000+ 0.124500.*exp(  - 0.100000.*ALGEBRAIC(:,232));
    ALGEBRAIC(:,234) =  0.0365000.*CONSTANTS(:,152).*exp(  - 1.33000.*ALGEBRAIC(:,232));
    ALGEBRAIC(:,235) = 1.00000./(ALGEBRAIC(:,233)+ALGEBRAIC(:,234));
    ALGEBRAIC(:,236) = 1.00000+power(CONSTANTS(:,93)./STATES(:,1), 1.50000);
    ALGEBRAIC(:,237) = ( CONSTANTS(:,92).*ALGEBRAIC(:,235).*CONSTANTS(:,156))./ALGEBRAIC(:,236);
    ALGEBRAIC(:,148) = STATES(:,7)./CONSTANTS(:,116);
    ALGEBRAIC(:,156) =  1000.00.*CONSTANTS(:,1).*ALGEBRAIC(:,148);
    ALGEBRAIC(:,175) = exp(ALGEBRAIC(:,148)) - 1.00000;
    ALGEBRAIC(:,197) =  STATES(:,1).*exp(ALGEBRAIC(:,148)) - CONSTANTS(:,10);
    ALGEBRAIC(:,204) = ( 0.0200000.*CONSTANTS(:,122).*STATES(:,40).*ALGEBRAIC(:,156).*ALGEBRAIC(:,197))./ALGEBRAIC(:,175);
    ALGEBRAIC(:,125) =  0.500000.*CONSTANTS(:,116).*log(CONSTANTS(:,11)./STATES(:,3));
    ALGEBRAIC(:,228) =  CONSTANTS(:,97).*(STATES(:,7) - ALGEBRAIC(:,125));
    ALGEBRAIC(:,230) = ( CONSTANTS(:,95).*STATES(:,3))./(CONSTANTS(:,96)+STATES(:,3));
    ALGEBRAIC(:,59) = (STATES(:,4) - STATES(:,3))./CONSTANTS(:,25);
    ALGEBRAIC(:,89) =  CONSTANTS(:,26).*ALGEBRAIC(:,68)+ CONSTANTS(:,27).*ALGEBRAIC(:,79);
    ALGEBRAIC(:,109) = 1.00000./(1.00000+( CONSTANTS(:,32).*CONSTANTS(:,35))./power(STATES(:,3)+CONSTANTS(:,35), 2.00000)+( CONSTANTS(:,34).*CONSTANTS(:,37))./power(STATES(:,3)+CONSTANTS(:,37), 2.00000));
    ALGEBRAIC(:,242) = STATES(:,7)./CONSTANTS(:,116);
    ALGEBRAIC(:,243) =  1000.00.*CONSTANTS(:,1).*ALGEBRAIC(:,242);
    ALGEBRAIC(:,244) =  0.00100000.*exp( 2.00000.*ALGEBRAIC(:,242)) -  CONSTANTS(:,11).*0.341000;
    ALGEBRAIC(:,245) = exp( 2.00000.*ALGEBRAIC(:,242)) - 1.00000;
    ALGEBRAIC(:,246) = ( CONSTANTS(:,145).*4.00000.*ALGEBRAIC(:,243).*ALGEBRAIC(:,244))./ALGEBRAIC(:,245);
    ALGEBRAIC(:,247) =  ALGEBRAIC(:,246).*STATES(:,25).*STATES(:,24);
    ALGEBRAIC(:,99) = 1.00000./(1.00000+( CONSTANTS(:,32).*CONSTANTS(:,35))./power(STATES(:,4)+CONSTANTS(:,35), 2.00000)+( CONSTANTS(:,34).*CONSTANTS(:,37))./power(STATES(:,4)+CONSTANTS(:,37), 2.00000));
    ALGEBRAIC(:,121) =  CONSTANTS(:,116).*log(CONSTANTS(:,9)./STATES(:,2));
    ALGEBRAIC(:,133) =  CONSTANTS(:,80).*CONSTANTS(:,123).*STATES(:,48).*(STATES(:,7) - ALGEBRAIC(:,121));
    ALGEBRAIC(:,137) =  CONSTANTS(:,81).*(STATES(:,49)+STATES(:,50)).*(STATES(:,7) - ALGEBRAIC(:,121));
    ALGEBRAIC(:,222) = 1.00000./(0.940000+exp( (1.26000./CONSTANTS(:,116)).*(STATES(:,7) - ALGEBRAIC(:,121))));
    ALGEBRAIC(:,224) =  CONSTANTS(:,82).*power((CONSTANTS(:,9)./1.00000), 1.0 ./ 2).*ALGEBRAIC(:,222).*(STATES(:,7) - ALGEBRAIC(:,121));
    ALGEBRAIC(:,248) = piecewise({ALGEBRAIC(:,246)>=0.00000, 0.00000 }, ALGEBRAIC(:,246));
    ALGEBRAIC(:,249) = CONSTANTS(:,125)./(1.00000+ALGEBRAIC(:,248)./CONSTANTS(:,98));
    ALGEBRAIC(:,250) =  STATES(:,2).*exp(ALGEBRAIC(:,242)) - CONSTANTS(:,9);
    ALGEBRAIC(:,251) = exp(ALGEBRAIC(:,242)) - 1.00000;
    ALGEBRAIC(:,252) = ( ALGEBRAIC(:,249).*STATES(:,24).*STATES(:,25).*ALGEBRAIC(:,243).*ALGEBRAIC(:,250))./ALGEBRAIC(:,251);
    ALGEBRAIC(:,1) =  floor(VOI./CONSTANTS(:,12)).*CONSTANTS(:,12);
    ALGEBRAIC(:,12) = piecewise({VOI - ALGEBRAIC(:,1)>=CONSTANTS(:,15)&VOI - ALGEBRAIC(:,1)<=CONSTANTS(:,15)+CONSTANTS(:,13), CONSTANTS(:,14) }, 0.00000);
    ALGEBRAIC(:,142) =  CONSTANTS(:,121).*STATES(:,30).*(STATES(:,7) - ALGEBRAIC(:,121));
    ALGEBRAIC(:,166) =  STATES(:,2).*exp(ALGEBRAIC(:,148)) - CONSTANTS(:,9);
    ALGEBRAIC(:,186) = ( CONSTANTS(:,122).*STATES(:,40).*ALGEBRAIC(:,156).*ALGEBRAIC(:,166))./ALGEBRAIC(:,175);
    ALGEBRAIC(:,211) = ALGEBRAIC(:,186)+ALGEBRAIC(:,204);
    ALGEBRAIC(:,218) = ALGEBRAIC(:,142)+ALGEBRAIC(:,211);
    ALGEBRAIC(:,253) = ALGEBRAIC(:,129)+ALGEBRAIC(:,247)+ALGEBRAIC(:,252)+ALGEBRAIC(:,133)+ALGEBRAIC(:,137)+ALGEBRAIC(:,224)+ALGEBRAIC(:,241)+ALGEBRAIC(:,237)+ALGEBRAIC(:,218)+ALGEBRAIC(:,230)+ALGEBRAIC(:,228)+ALGEBRAIC(:,226)+ALGEBRAIC(:,12);
    ALGEBRAIC(:,7) = STATES(:,2)+ 0.0183300.*STATES(:,1);
    ALGEBRAIC(:,18) =  CONSTANTS(:,116).*log(CONSTANTS(:,143)./ALGEBRAIC(:,7));
end

% Compute result of a piecewise function
function x = piecewise(cases, default)
    set = [0];
    for i = 1:2:length(cases)
        if (length(cases{i+1}) == 1)
            x(cases{i} & ~set,:) = cases{i+1};
        else
            x(cases{i} & ~set,:) = cases{i+1}(cases{i} & ~set);
        end
        set = set | cases{i};
        if(set), break, end
    end
    if (length(default) == 1)
        x(~set,:) = default;
    else
        x(~set,:) = default(~set);
    end
end

% Pad out or shorten strings to a set length
function strout = strpad(strin)
    req_length = 160;
    insize = size(strin,2);
    if insize > req_length
        strout = strin(1:req_length);
    else
        strout = [strin, blanks(req_length - insize)];
    end
end