Bug Summary

File:OMCompiler/Compiler/boot/build/Vectorization.c
Warning:line 1434, column 11
Value stored to '_constCrefs' is never read

Annotated Source Code

[?] Use j/k keys for keyboard navigation

1#ifdef OMC_BASE_FILE
2 #define OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/Vectorization.c" OMC_BASE_FILE
3#else
4 #define OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/Vectorization.c" "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/Vectorization.c"
5#endif
6#include "omc_simulation_settings.h"
7#include "Vectorization.h"
8static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT0,2,3)struct { mmc_uint_t header; const void *data[2]; } _OMC_LIT_STRUCT0
= { (((2) << 10) + (((3) & 255) << 2)),
{&DAE_Type_T__INTEGER__desc,MMC_REFSTRUCTLIT(mmc_nil)((void*)((char*)(&(mmc_nil).header) + 3))}};
9#define _OMC_LIT0((void*)((char*)(&(_OMC_LIT_STRUCT0).header) + 3)) MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT0)((void*)((char*)(&(_OMC_LIT_STRUCT0).header) + 3))
10static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1,2,3)struct { mmc_uint_t header; const void *data[2]; } _OMC_LIT_STRUCT1
= { (((2) << 10) + (((3) & 255) << 2)),
{&DAE_Operator_ADD__desc,_OMC_LIT0((void*)((char*)(&(_OMC_LIT_STRUCT0).header) + 3))}};
11#define _OMC_LIT1((void*)((char*)(&(_OMC_LIT_STRUCT1).header) + 3)) MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1)((void*)((char*)(&(_OMC_LIT_STRUCT1).header) + 3))
12#define _OMC_LIT2_data"i" "i"
13static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2,1,_OMC_LIT2_data)struct { mmc_uint_t header; const char data[(1)+1]; } _OMC_LIT_STRUCT2
= { ((((mmc_uint_t)1)<<(3))+((1<<(3+3))+5)), "i"
}
;
14#define _OMC_LIT2((void*)((char*)(&(_OMC_LIT_STRUCT2).header) + 3)) MMC_REFSTRINGLIT(_OMC_LIT_STRUCT2)((void*)((char*)(&(_OMC_LIT_STRUCT2).header) + 3))
15static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT3,4,4)struct { mmc_uint_t header; const void *data[4]; } _OMC_LIT_STRUCT3
= { (((4) << 10) + (((4) & 255) << 2)),
{&DAE_ComponentRef_CREF__IDENT__desc,_OMC_LIT2((void*)((char*)(&(_OMC_LIT_STRUCT2).header) + 3)),_OMC_LIT0((void*)((char*)(&(_OMC_LIT_STRUCT0).header) + 3)),MMC_REFSTRUCTLIT(mmc_nil)((void*)((char*)(&(mmc_nil).header) + 3))}};
16#define _OMC_LIT3((void*)((char*)(&(_OMC_LIT_STRUCT3).header) + 3)) MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT3)((void*)((char*)(&(_OMC_LIT_STRUCT3).header) + 3))
17static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT4,3,9)struct { mmc_uint_t header; const void *data[3]; } _OMC_LIT_STRUCT4
= { (((3) << 10) + (((9) & 255) << 2)),
{&DAE_Exp_CREF__desc,_OMC_LIT3((void*)((char*)(&(_OMC_LIT_STRUCT3).header) + 3)),_OMC_LIT0((void*)((char*)(&(_OMC_LIT_STRUCT0).header) + 3))}};
18#define _OMC_LIT4((void*)((char*)(&(_OMC_LIT_STRUCT4).header) + 3)) MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT4)((void*)((char*)(&(_OMC_LIT_STRUCT4).header) + 3))
19static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT5,2,3)struct { mmc_uint_t header; const void *data[2]; } _OMC_LIT_STRUCT5
= { (((2) << 10) + (((3) & 255) << 2)),
{&DAE_Exp_ICONST__desc,MMC_IMMEDIATE(MMC_TAGFIXNUM(1))((void*)(((((mmc_uint_t) (1)) << 1)+0)))}};
20#define _OMC_LIT5((void*)((char*)(&(_OMC_LIT_STRUCT5).header) + 3)) MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT5)((void*)((char*)(&(_OMC_LIT_STRUCT5).header) + 3))
21#define _OMC_LIT6_data"sum" "sum"
22static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT6,3,_OMC_LIT6_data)struct { mmc_uint_t header; const char data[(3)+1]; } _OMC_LIT_STRUCT6
= { ((((mmc_uint_t)3)<<(3))+((1<<(3+3))+5)), "sum"
}
;
23#define _OMC_LIT6((void*)((char*)(&(_OMC_LIT_STRUCT6).header) + 3)) MMC_REFSTRINGLIT(_OMC_LIT_STRUCT6)((void*)((char*)(&(_OMC_LIT_STRUCT6).header) + 3))
24static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT7,2,4)struct { mmc_uint_t header; const void *data[2]; } _OMC_LIT_STRUCT7
= { (((2) << 10) + (((4) & 255) << 2)),
{&Absyn_Path_IDENT__desc,_OMC_LIT6((void*)((char*)(&(_OMC_LIT_STRUCT6).header) + 3))}};
25#define _OMC_LIT7((void*)((char*)(&(_OMC_LIT_STRUCT7).header) + 3)) MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT7)((void*)((char*)(&(_OMC_LIT_STRUCT7).header) + 3))
26static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT8,1,3)struct { mmc_uint_t header; const void *data[1]; } _OMC_LIT_STRUCT8
= { (((1) << 10) + (((3) & 255) << 2)),
{&Absyn_ReductionIterType_COMBINE__desc,}};
27#define _OMC_LIT8((void*)((char*)(&(_OMC_LIT_STRUCT8).header) + 3)) MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT8)((void*)((char*)(&(_OMC_LIT_STRUCT8).header) + 3))
28static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT9,2,4)struct { mmc_uint_t header; const void *data[2]; } _OMC_LIT_STRUCT9
= { (((2) << 10) + (((4) & 255) << 2)),
{&DAE_Type_T__REAL__desc,MMC_REFSTRUCTLIT(mmc_nil)((void*)((char*)(&(mmc_nil).header) + 3))}};
29#define _OMC_LIT9((void*)((char*)(&(_OMC_LIT_STRUCT9).header) + 3)) MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT9)((void*)((char*)(&(_OMC_LIT_STRUCT9).header) + 3))
30static const MMC_DEFREALLIT(_OMC_LIT_STRUCT10,0.0)struct mmc_real_lit _OMC_LIT_STRUCT10 = {0,(((8/8) << 10
) + 9),0.0}
;
31#define _OMC_LIT10((void*)((char*)(&(_OMC_LIT_STRUCT10).header) + 3)) MMC_REFREALLIT(_OMC_LIT_STRUCT10)((void*)((char*)(&(_OMC_LIT_STRUCT10).header) + 3))
32static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT11,2,4)struct { mmc_uint_t header; const void *data[2]; } _OMC_LIT_STRUCT11
= { (((2) << 10) + (((4) & 255) << 2)),
{&Values_Value_REAL__desc,_OMC_LIT10((void*)((char*)(&(_OMC_LIT_STRUCT10).header) + 3))}};
33#define _OMC_LIT11((void*)((char*)(&(_OMC_LIT_STRUCT11).header) + 3)) MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT11)((void*)((char*)(&(_OMC_LIT_STRUCT11).header) + 3))
34static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT12,1,1)struct { mmc_uint_t header; const void *data[1]; } _OMC_LIT_STRUCT12
= { (((1) << 10) + (((1) & 255) << 2)),
{_OMC_LIT11((void*)((char*)(&(_OMC_LIT_STRUCT11).header) + 3))}};
35#define _OMC_LIT12((void*)((char*)(&(_OMC_LIT_STRUCT12).header) + 3)) MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT12)((void*)((char*)(&(_OMC_LIT_STRUCT12).header) + 3))
36#define _OMC_LIT13_data"$sumFold" "$sumFold"
37static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT13,8,_OMC_LIT13_data)struct { mmc_uint_t header; const char data[(8)+1]; } _OMC_LIT_STRUCT13
= { ((((mmc_uint_t)8)<<(3))+((1<<(3+3))+5)), "$sumFold"
}
;
38#define _OMC_LIT13((void*)((char*)(&(_OMC_LIT_STRUCT13).header) + 3)) MMC_REFSTRINGLIT(_OMC_LIT_STRUCT13)((void*)((char*)(&(_OMC_LIT_STRUCT13).header) + 3))
39#define _OMC_LIT14_data"$sumRes" "$sumRes"
40static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT14,7,_OMC_LIT14_data)struct { mmc_uint_t header; const char data[(7)+1]; } _OMC_LIT_STRUCT14
= { ((((mmc_uint_t)7)<<(3))+((1<<(3+3))+5)), "$sumRes"
}
;
41#define _OMC_LIT14((void*)((char*)(&(_OMC_LIT_STRUCT14).header) + 3)) MMC_REFSTRINGLIT(_OMC_LIT_STRUCT14)((void*)((char*)(&(_OMC_LIT_STRUCT14).header) + 3))
42static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT15,4,4)struct { mmc_uint_t header; const void *data[4]; } _OMC_LIT_STRUCT15
= { (((4) << 10) + (((4) & 255) << 2)),
{&DAE_ComponentRef_CREF__IDENT__desc,_OMC_LIT13((void*)((char*)(&(_OMC_LIT_STRUCT13).header) + 3)),_OMC_LIT9((void*)((char*)(&(_OMC_LIT_STRUCT9).header) + 3)),MMC_REFSTRUCTLIT(mmc_nil)((void*)((char*)(&(mmc_nil).header) + 3))}};
43#define _OMC_LIT15((void*)((char*)(&(_OMC_LIT_STRUCT15).header) + 3)) MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT15)((void*)((char*)(&(_OMC_LIT_STRUCT15).header) + 3))
44static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT16,3,9)struct { mmc_uint_t header; const void *data[3]; } _OMC_LIT_STRUCT16
= { (((3) << 10) + (((9) & 255) << 2)),
{&DAE_Exp_CREF__desc,_OMC_LIT15((void*)((char*)(&(_OMC_LIT_STRUCT15).header) + 3)),_OMC_LIT9((void*)((char*)(&(_OMC_LIT_STRUCT9).header) + 3))}};
45#define _OMC_LIT16((void*)((char*)(&(_OMC_LIT_STRUCT16).header) + 3)) MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT16)((void*)((char*)(&(_OMC_LIT_STRUCT16).header) + 3))
46static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT17,2,3)struct { mmc_uint_t header; const void *data[2]; } _OMC_LIT_STRUCT17
= { (((2) << 10) + (((3) & 255) << 2)),
{&DAE_Operator_ADD__desc,_OMC_LIT9((void*)((char*)(&(_OMC_LIT_STRUCT9).header) + 3))}};
47#define _OMC_LIT17((void*)((char*)(&(_OMC_LIT_STRUCT17).header) + 3)) MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT17)((void*)((char*)(&(_OMC_LIT_STRUCT17).header) + 3))
48static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT18,4,4)struct { mmc_uint_t header; const void *data[4]; } _OMC_LIT_STRUCT18
= { (((4) << 10) + (((4) & 255) << 2)),
{&DAE_ComponentRef_CREF__IDENT__desc,_OMC_LIT14((void*)((char*)(&(_OMC_LIT_STRUCT14).header) + 3)),_OMC_LIT9((void*)((char*)(&(_OMC_LIT_STRUCT9).header) + 3)),MMC_REFSTRUCTLIT(mmc_nil)((void*)((char*)(&(mmc_nil).header) + 3))}};
49#define _OMC_LIT18((void*)((char*)(&(_OMC_LIT_STRUCT18).header) + 3)) MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT18)((void*)((char*)(&(_OMC_LIT_STRUCT18).header) + 3))
50static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT19,3,9)struct { mmc_uint_t header; const void *data[3]; } _OMC_LIT_STRUCT19
= { (((3) << 10) + (((9) & 255) << 2)),
{&DAE_Exp_CREF__desc,_OMC_LIT18((void*)((char*)(&(_OMC_LIT_STRUCT18).header) + 3)),_OMC_LIT9((void*)((char*)(&(_OMC_LIT_STRUCT9).header) + 3))}};
51#define _OMC_LIT19((void*)((char*)(&(_OMC_LIT_STRUCT19).header) + 3)) MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT19)((void*)((char*)(&(_OMC_LIT_STRUCT19).header) + 3))
52static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT20,4,10)struct { mmc_uint_t header; const void *data[4]; } _OMC_LIT_STRUCT20
= { (((4) << 10) + (((10) & 255) << 2)),
{&DAE_Exp_BINARY__desc,_OMC_LIT16((void*)((char*)(&(_OMC_LIT_STRUCT16).header) + 3)),_OMC_LIT17((void*)((char*)(&(_OMC_LIT_STRUCT17).header) + 3)),_OMC_LIT19((void*)((char*)(&(_OMC_LIT_STRUCT19).header) + 3))}};
53#define _OMC_LIT20((void*)((char*)(&(_OMC_LIT_STRUCT20).header) + 3)) MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT20)((void*)((char*)(&(_OMC_LIT_STRUCT20).header) + 3))
54static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT21,1,1)struct { mmc_uint_t header; const void *data[1]; } _OMC_LIT_STRUCT21
= { (((1) << 10) + (((1) & 255) << 2)),
{_OMC_LIT20((void*)((char*)(&(_OMC_LIT_STRUCT20).header) + 3))}};
55#define _OMC_LIT21((void*)((char*)(&(_OMC_LIT_STRUCT21).header) + 3)) MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT21)((void*)((char*)(&(_OMC_LIT_STRUCT21).header) + 3))
56static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT22,8,3)struct { mmc_uint_t header; const void *data[8]; } _OMC_LIT_STRUCT22
= { (((8) << 10) + (((3) & 255) << 2)),
{&DAE_ReductionInfo_REDUCTIONINFO__desc,_OMC_LIT7((void*)((char*)(&(_OMC_LIT_STRUCT7).header) + 3)),_OMC_LIT8((void*)((char*)(&(_OMC_LIT_STRUCT8).header) + 3)),_OMC_LIT9((void*)((char*)(&(_OMC_LIT_STRUCT9).header) + 3)),_OMC_LIT12((void*)((char*)(&(_OMC_LIT_STRUCT12).header) + 3)),_OMC_LIT13((void*)((char*)(&(_OMC_LIT_STRUCT13).header) + 3)),_OMC_LIT14((void*)((char*)(&(_OMC_LIT_STRUCT14).header) + 3)),_OMC_LIT21((void*)((char*)(&(_OMC_LIT_STRUCT21).header) + 3))}};
57#define _OMC_LIT22((void*)((char*)(&(_OMC_LIT_STRUCT22).header) + 3)) MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT22)((void*)((char*)(&(_OMC_LIT_STRUCT22).header) + 3))
58#define _OMC_LIT23_data"$sumIter" "$sumIter"
59static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT23,8,_OMC_LIT23_data)struct { mmc_uint_t header; const char data[(8)+1]; } _OMC_LIT_STRUCT23
= { ((((mmc_uint_t)8)<<(3))+((1<<(3+3))+5)), "$sumIter"
}
;
60#define _OMC_LIT23((void*)((char*)(&(_OMC_LIT_STRUCT23).header) + 3)) MMC_REFSTRINGLIT(_OMC_LIT_STRUCT23)((void*)((char*)(&(_OMC_LIT_STRUCT23).header) + 3))
61static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT24,4,4)struct { mmc_uint_t header; const void *data[4]; } _OMC_LIT_STRUCT24
= { (((4) << 10) + (((4) & 255) << 2)),
{&DAE_ComponentRef_CREF__IDENT__desc,_OMC_LIT23((void*)((char*)(&(_OMC_LIT_STRUCT23).header) + 3)),_OMC_LIT9((void*)((char*)(&(_OMC_LIT_STRUCT9).header) + 3)),MMC_REFSTRUCTLIT(mmc_nil)((void*)((char*)(&(mmc_nil).header) + 3))}};
62#define _OMC_LIT24((void*)((char*)(&(_OMC_LIT_STRUCT24).header) + 3)) MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT24)((void*)((char*)(&(_OMC_LIT_STRUCT24).header) + 3))
63static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT25,3,9)struct { mmc_uint_t header; const void *data[3]; } _OMC_LIT_STRUCT25
= { (((3) << 10) + (((9) & 255) << 2)),
{&DAE_Exp_CREF__desc,_OMC_LIT24((void*)((char*)(&(_OMC_LIT_STRUCT24).header) + 3)),_OMC_LIT9((void*)((char*)(&(_OMC_LIT_STRUCT9).header) + 3))}};
64#define _OMC_LIT25((void*)((char*)(&(_OMC_LIT_STRUCT25).header) + 3)) MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT25)((void*)((char*)(&(_OMC_LIT_STRUCT25).header) + 3))
65static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT26,2,0)struct { mmc_uint_t header; const void *data[2]; } _OMC_LIT_STRUCT26
= { (((2) << 10) + (((0) & 255) << 2)),
{MMC_REFSTRUCTLIT(mmc_nil)((void*)((char*)(&(mmc_nil).header) + 3)),MMC_REFSTRUCTLIT(mmc_nil)((void*)((char*)(&(mmc_nil).header) + 3))}};
66#define _OMC_LIT26((void*)((char*)(&(_OMC_LIT_STRUCT26).header) + 3)) MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT26)((void*)((char*)(&(_OMC_LIT_STRUCT26).header) + 3))
67static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT27,3,0)struct { mmc_uint_t header; const void *data[3]; } _OMC_LIT_STRUCT27
= { (((3) << 10) + (((0) & 255) << 2)),
{MMC_REFSTRUCTLIT(mmc_nil)((void*)((char*)(&(mmc_nil).header) + 3)),MMC_REFSTRUCTLIT(mmc_nil)((void*)((char*)(&(mmc_nil).header) + 3)),MMC_REFSTRUCTLIT(mmc_nil)((void*)((char*)(&(mmc_nil).header) + 3))}};
68#define _OMC_LIT27((void*)((char*)(&(_OMC_LIT_STRUCT27).header) + 3)) MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT27)((void*)((char*)(&(_OMC_LIT_STRUCT27).header) + 3))
69#include "util/modelica.h"
70
71#include "Vectorization_includes.h"
72
73
74/* default, do not make protected functions static */
75#if !defined(PROTECTED_FUNCTION_STATIC)
76#define PROTECTED_FUNCTION_STATIC
77#endif
78PROTECTED_FUNCTION_STATIC modelica_integer omc_Vectorization_getIndexSubScript(threadData_t *threadData, modelica_metatype _sub);
79PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_Vectorization_getIndexSubScript(threadData_t *threadData, modelica_metatype _sub);
80static const MMC_DEFSTRUCTLIT(boxvar_lit_Vectorization_getIndexSubScript,2,0)struct { mmc_uint_t header; const void *data[2]; } boxvar_lit_Vectorization_getIndexSubScript
= { (((2) << 10) + (((0) & 255) << 2)),
{(void*) boxptr_Vectorization_getIndexSubScript,0}};
81#define boxvar_Vectorization_getIndexSubScript((void*)((char*)(&(boxvar_lit_Vectorization_getIndexSubScript
).header) + 3))
MMC_REFSTRUCTLIT(boxvar_lit_Vectorization_getIndexSubScript)((void*)((char*)(&(boxvar_lit_Vectorization_getIndexSubScript
).header) + 3))
82PROTECTED_FUNCTION_STATIC modelica_boolean omc_Vectorization_crefPartlyEqual(threadData_t *threadData, modelica_metatype _cref0, modelica_metatype _cref1);
83PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_Vectorization_crefPartlyEqual(threadData_t *threadData, modelica_metatype _cref0, modelica_metatype _cref1);
84static const MMC_DEFSTRUCTLIT(boxvar_lit_Vectorization_crefPartlyEqual,2,0)struct { mmc_uint_t header; const void *data[2]; } boxvar_lit_Vectorization_crefPartlyEqual
= { (((2) << 10) + (((0) & 255) << 2)),
{(void*) boxptr_Vectorization_crefPartlyEqual,0}};
85#define boxvar_Vectorization_crefPartlyEqual((void*)((char*)(&(boxvar_lit_Vectorization_crefPartlyEqual
).header) + 3))
MMC_REFSTRUCTLIT(boxvar_lit_Vectorization_crefPartlyEqual)((void*)((char*)(&(boxvar_lit_Vectorization_crefPartlyEqual
).header) + 3))
86PROTECTED_FUNCTION_STATIC modelica_boolean omc_Vectorization_crefPartlyEqualToCrefs(threadData_t *threadData, modelica_metatype _cref0, modelica_metatype _crefLst);
87PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_Vectorization_crefPartlyEqualToCrefs(threadData_t *threadData, modelica_metatype _cref0, modelica_metatype _crefLst);
88static const MMC_DEFSTRUCTLIT(boxvar_lit_Vectorization_crefPartlyEqualToCrefs,2,0)struct { mmc_uint_t header; const void *data[2]; } boxvar_lit_Vectorization_crefPartlyEqualToCrefs
= { (((2) << 10) + (((0) & 255) << 2)),
{(void*) boxptr_Vectorization_crefPartlyEqualToCrefs,0}};
89#define boxvar_Vectorization_crefPartlyEqualToCrefs((void*)((char*)(&(boxvar_lit_Vectorization_crefPartlyEqualToCrefs
).header) + 3))
MMC_REFSTRUCTLIT(boxvar_lit_Vectorization_crefPartlyEqualToCrefs)((void*)((char*)(&(boxvar_lit_Vectorization_crefPartlyEqualToCrefs
).header) + 3))
90PROTECTED_FUNCTION_STATIC modelica_metatype omc_Vectorization_dispatchLoopEquations(threadData_t *threadData, modelica_metatype _eqIn, modelica_metatype _arrayCrefs, modelica_metatype _tplIn);
91static const MMC_DEFSTRUCTLIT(boxvar_lit_Vectorization_dispatchLoopEquations,2,0)struct { mmc_uint_t header; const void *data[2]; } boxvar_lit_Vectorization_dispatchLoopEquations
= { (((2) << 10) + (((0) & 255) << 2)),
{(void*) boxptr_Vectorization_dispatchLoopEquationsomc_Vectorization_dispatchLoopEquations,0}};
92#define boxvar_Vectorization_dispatchLoopEquations((void*)((char*)(&(boxvar_lit_Vectorization_dispatchLoopEquations
).header) + 3))
MMC_REFSTRUCTLIT(boxvar_lit_Vectorization_dispatchLoopEquations)((void*)((char*)(&(boxvar_lit_Vectorization_dispatchLoopEquations
).header) + 3))
93PROTECTED_FUNCTION_STATIC modelica_metatype omc_Vectorization_getArrayVars(threadData_t *threadData, modelica_metatype _varIn, modelica_metatype _tplIn);
94static const MMC_DEFSTRUCTLIT(boxvar_lit_Vectorization_getArrayVars,2,0)struct { mmc_uint_t header; const void *data[2]; } boxvar_lit_Vectorization_getArrayVars
= { (((2) << 10) + (((0) & 255) << 2)),
{(void*) boxptr_Vectorization_getArrayVarsomc_Vectorization_getArrayVars,0}};
95#define boxvar_Vectorization_getArrayVars((void*)((char*)(&(boxvar_lit_Vectorization_getArrayVars)
.header) + 3))
MMC_REFSTRUCTLIT(boxvar_lit_Vectorization_getArrayVars)((void*)((char*)(&(boxvar_lit_Vectorization_getArrayVars)
.header) + 3))
96PROTECTED_FUNCTION_STATIC modelica_metatype omc_Vectorization_addToArrayCrefLst(threadData_t *threadData, modelica_metatype _tplLstIn, modelica_metatype _varIn, modelica_metatype _tplRef, modelica_metatype _tplLstFoldIn, modelica_metatype _varLstIn, modelica_metatype *out_varLstOut);
97static const MMC_DEFSTRUCTLIT(boxvar_lit_Vectorization_addToArrayCrefLst,2,0)struct { mmc_uint_t header; const void *data[2]; } boxvar_lit_Vectorization_addToArrayCrefLst
= { (((2) << 10) + (((0) & 255) << 2)),
{(void*) boxptr_Vectorization_addToArrayCrefLstomc_Vectorization_addToArrayCrefLst,0}};
98#define boxvar_Vectorization_addToArrayCrefLst((void*)((char*)(&(boxvar_lit_Vectorization_addToArrayCrefLst
).header) + 3))
MMC_REFSTRUCTLIT(boxvar_lit_Vectorization_addToArrayCrefLst)((void*)((char*)(&(boxvar_lit_Vectorization_addToArrayCrefLst
).header) + 3))
99PROTECTED_FUNCTION_STATIC modelica_metatype omc_Vectorization_getArrayVarCrefs(threadData_t *threadData, modelica_metatype _varIn, modelica_metatype _tplIn);
100static const MMC_DEFSTRUCTLIT(boxvar_lit_Vectorization_getArrayVarCrefs,2,0)struct { mmc_uint_t header; const void *data[2]; } boxvar_lit_Vectorization_getArrayVarCrefs
= { (((2) << 10) + (((0) & 255) << 2)),
{(void*) boxptr_Vectorization_getArrayVarCrefsomc_Vectorization_getArrayVarCrefs,0}};
101#define boxvar_Vectorization_getArrayVarCrefs((void*)((char*)(&(boxvar_lit_Vectorization_getArrayVarCrefs
).header) + 3))
MMC_REFSTRUCTLIT(boxvar_lit_Vectorization_getArrayVarCrefs)((void*)((char*)(&(boxvar_lit_Vectorization_getArrayVarCrefs
).header) + 3))
102PROTECTED_FUNCTION_STATIC modelica_metatype omc_Vectorization_setIteratorSubscriptCrefinEquation(threadData_t *threadData, modelica_metatype _inExp, modelica_metatype _tplIn, modelica_metatype *out_tplOut);
103static const MMC_DEFSTRUCTLIT(boxvar_lit_Vectorization_setIteratorSubscriptCrefinEquation,2,0)struct { mmc_uint_t header; const void *data[2]; } boxvar_lit_Vectorization_setIteratorSubscriptCrefinEquation
= { (((2) << 10) + (((0) & 255) << 2)),
{(void*) boxptr_Vectorization_setIteratorSubscriptCrefinEquationomc_Vectorization_setIteratorSubscriptCrefinEquation,0}};
104#define boxvar_Vectorization_setIteratorSubscriptCrefinEquation((void*)((char*)(&(boxvar_lit_Vectorization_setIteratorSubscriptCrefinEquation
).header) + 3))
MMC_REFSTRUCTLIT(boxvar_lit_Vectorization_setIteratorSubscriptCrefinEquation)((void*)((char*)(&(boxvar_lit_Vectorization_setIteratorSubscriptCrefinEquation
).header) + 3))
105PROTECTED_FUNCTION_STATIC modelica_metatype omc_Vectorization_getCrefIdcsForEquation(threadData_t *threadData, modelica_metatype _eq, modelica_metatype _constCrefs, modelica_metatype _crefMinMaxIn);
106static const MMC_DEFSTRUCTLIT(boxvar_lit_Vectorization_getCrefIdcsForEquation,2,0)struct { mmc_uint_t header; const void *data[2]; } boxvar_lit_Vectorization_getCrefIdcsForEquation
= { (((2) << 10) + (((0) & 255) << 2)),
{(void*) boxptr_Vectorization_getCrefIdcsForEquationomc_Vectorization_getCrefIdcsForEquation,0}};
107#define boxvar_Vectorization_getCrefIdcsForEquation((void*)((char*)(&(boxvar_lit_Vectorization_getCrefIdcsForEquation
).header) + 3))
MMC_REFSTRUCTLIT(boxvar_lit_Vectorization_getCrefIdcsForEquation)((void*)((char*)(&(boxvar_lit_Vectorization_getCrefIdcsForEquation
).header) + 3))
108PROTECTED_FUNCTION_STATIC modelica_metatype omc_Vectorization_buildBackendDAEForEquations(threadData_t *threadData, modelica_metatype _classEqs, modelica_metatype _foldIn);
109static const MMC_DEFSTRUCTLIT(boxvar_lit_Vectorization_buildBackendDAEForEquations,2,0)struct { mmc_uint_t header; const void *data[2]; } boxvar_lit_Vectorization_buildBackendDAEForEquations
= { (((2) << 10) + (((0) & 255) << 2)),
{(void*) boxptr_Vectorization_buildBackendDAEForEquationsomc_Vectorization_buildBackendDAEForEquations,0}};
110#define boxvar_Vectorization_buildBackendDAEForEquations((void*)((char*)(&(boxvar_lit_Vectorization_buildBackendDAEForEquations
).header) + 3))
MMC_REFSTRUCTLIT(boxvar_lit_Vectorization_buildBackendDAEForEquations)((void*)((char*)(&(boxvar_lit_Vectorization_buildBackendDAEForEquations
).header) + 3))
111PROTECTED_FUNCTION_STATIC modelica_boolean omc_Vectorization_expEqualNoCrefSubsListList(threadData_t *threadData, modelica_metatype _inExpl1, modelica_metatype _inExpl2);
112PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_Vectorization_expEqualNoCrefSubsListList(threadData_t *threadData, modelica_metatype _inExpl1, modelica_metatype _inExpl2);
113static const MMC_DEFSTRUCTLIT(boxvar_lit_Vectorization_expEqualNoCrefSubsListList,2,0)struct { mmc_uint_t header; const void *data[2]; } boxvar_lit_Vectorization_expEqualNoCrefSubsListList
= { (((2) << 10) + (((0) & 255) << 2)),
{(void*) boxptr_Vectorization_expEqualNoCrefSubsListList,0}};
114#define boxvar_Vectorization_expEqualNoCrefSubsListList((void*)((char*)(&(boxvar_lit_Vectorization_expEqualNoCrefSubsListList
).header) + 3))
MMC_REFSTRUCTLIT(boxvar_lit_Vectorization_expEqualNoCrefSubsListList)((void*)((char*)(&(boxvar_lit_Vectorization_expEqualNoCrefSubsListList
).header) + 3))
115PROTECTED_FUNCTION_STATIC modelica_boolean omc_Vectorization_expEqualNoCrefSubsList(threadData_t *threadData, modelica_metatype _inExpl1, modelica_metatype _inExpl2);
116PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_Vectorization_expEqualNoCrefSubsList(threadData_t *threadData, modelica_metatype _inExpl1, modelica_metatype _inExpl2);
117static const MMC_DEFSTRUCTLIT(boxvar_lit_Vectorization_expEqualNoCrefSubsList,2,0)struct { mmc_uint_t header; const void *data[2]; } boxvar_lit_Vectorization_expEqualNoCrefSubsList
= { (((2) << 10) + (((0) & 255) << 2)),
{(void*) boxptr_Vectorization_expEqualNoCrefSubsList,0}};
118#define boxvar_Vectorization_expEqualNoCrefSubsList((void*)((char*)(&(boxvar_lit_Vectorization_expEqualNoCrefSubsList
).header) + 3))
MMC_REFSTRUCTLIT(boxvar_lit_Vectorization_expEqualNoCrefSubsList)((void*)((char*)(&(boxvar_lit_Vectorization_expEqualNoCrefSubsList
).header) + 3))
119PROTECTED_FUNCTION_STATIC modelica_boolean omc_Vectorization_expEqualNoCrefSubsOpt(threadData_t *threadData, modelica_metatype _inExp1, modelica_metatype _inExp2);
120PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_Vectorization_expEqualNoCrefSubsOpt(threadData_t *threadData, modelica_metatype _inExp1, modelica_metatype _inExp2);
121static const MMC_DEFSTRUCTLIT(boxvar_lit_Vectorization_expEqualNoCrefSubsOpt,2,0)struct { mmc_uint_t header; const void *data[2]; } boxvar_lit_Vectorization_expEqualNoCrefSubsOpt
= { (((2) << 10) + (((0) & 255) << 2)),
{(void*) boxptr_Vectorization_expEqualNoCrefSubsOpt,0}};
122#define boxvar_Vectorization_expEqualNoCrefSubsOpt((void*)((char*)(&(boxvar_lit_Vectorization_expEqualNoCrefSubsOpt
).header) + 3))
MMC_REFSTRUCTLIT(boxvar_lit_Vectorization_expEqualNoCrefSubsOpt)((void*)((char*)(&(boxvar_lit_Vectorization_expEqualNoCrefSubsOpt
).header) + 3))
123PROTECTED_FUNCTION_STATIC modelica_boolean omc_Vectorization_minmaxTermEqual(threadData_t *threadData, modelica_metatype _minmaxTerm, modelica_metatype _term);
124PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_Vectorization_minmaxTermEqual(threadData_t *threadData, modelica_metatype _minmaxTerm, modelica_metatype _term);
125static const MMC_DEFSTRUCTLIT(boxvar_lit_Vectorization_minmaxTermEqual,2,0)struct { mmc_uint_t header; const void *data[2]; } boxvar_lit_Vectorization_minmaxTermEqual
= { (((2) << 10) + (((0) & 255) << 2)),
{(void*) boxptr_Vectorization_minmaxTermEqual,0}};
126#define boxvar_Vectorization_minmaxTermEqual((void*)((char*)(&(boxvar_lit_Vectorization_minmaxTermEqual
).header) + 3))
MMC_REFSTRUCTLIT(boxvar_lit_Vectorization_minmaxTermEqual)((void*)((char*)(&(boxvar_lit_Vectorization_minmaxTermEqual
).header) + 3))
127PROTECTED_FUNCTION_STATIC modelica_metatype omc_Vectorization_buildAccumExpInEquations2(threadData_t *threadData, modelica_metatype _minmaxTerm, modelica_metatype _foldIn);
128static const MMC_DEFSTRUCTLIT(boxvar_lit_Vectorization_buildAccumExpInEquations2,2,0)struct { mmc_uint_t header; const void *data[2]; } boxvar_lit_Vectorization_buildAccumExpInEquations2
= { (((2) << 10) + (((0) & 255) << 2)),
{(void*) boxptr_Vectorization_buildAccumExpInEquations2omc_Vectorization_buildAccumExpInEquations2,0}};
129#define boxvar_Vectorization_buildAccumExpInEquations2((void*)((char*)(&(boxvar_lit_Vectorization_buildAccumExpInEquations2
).header) + 3))
MMC_REFSTRUCTLIT(boxvar_lit_Vectorization_buildAccumExpInEquations2)((void*)((char*)(&(boxvar_lit_Vectorization_buildAccumExpInEquations2
).header) + 3))
130PROTECTED_FUNCTION_STATIC modelica_metatype omc_Vectorization_buildAccumExpInEquations1(threadData_t *threadData, modelica_metatype _termIn, modelica_metatype _minmaxTermsIn);
131static const MMC_DEFSTRUCTLIT(boxvar_lit_Vectorization_buildAccumExpInEquations1,2,0)struct { mmc_uint_t header; const void *data[2]; } boxvar_lit_Vectorization_buildAccumExpInEquations1
= { (((2) << 10) + (((0) & 255) << 2)),
{(void*) boxptr_Vectorization_buildAccumExpInEquations1omc_Vectorization_buildAccumExpInEquations1,0}};
132#define boxvar_Vectorization_buildAccumExpInEquations1((void*)((char*)(&(boxvar_lit_Vectorization_buildAccumExpInEquations1
).header) + 3))
MMC_REFSTRUCTLIT(boxvar_lit_Vectorization_buildAccumExpInEquations1)((void*)((char*)(&(boxvar_lit_Vectorization_buildAccumExpInEquations1
).header) + 3))
133PROTECTED_FUNCTION_STATIC modelica_metatype omc_Vectorization_buildAccumExpInEquations(threadData_t *threadData, modelica_metatype _mixEq, modelica_metatype _foldIn);
134static const MMC_DEFSTRUCTLIT(boxvar_lit_Vectorization_buildAccumExpInEquations,2,0)struct { mmc_uint_t header; const void *data[2]; } boxvar_lit_Vectorization_buildAccumExpInEquations
= { (((2) << 10) + (((0) & 255) << 2)),
{(void*) boxptr_Vectorization_buildAccumExpInEquationsomc_Vectorization_buildAccumExpInEquations,0}};
135#define boxvar_Vectorization_buildAccumExpInEquations((void*)((char*)(&(boxvar_lit_Vectorization_buildAccumExpInEquations
).header) + 3))
MMC_REFSTRUCTLIT(boxvar_lit_Vectorization_buildAccumExpInEquations)((void*)((char*)(&(boxvar_lit_Vectorization_buildAccumExpInEquations
).header) + 3))
136PROTECTED_FUNCTION_STATIC modelica_boolean omc_Vectorization_varIsEqualCrefWithoutSubs(threadData_t *threadData, modelica_metatype _varIn, modelica_metatype _crefIn);
137PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_Vectorization_varIsEqualCrefWithoutSubs(threadData_t *threadData, modelica_metatype _varIn, modelica_metatype _crefIn);
138static const MMC_DEFSTRUCTLIT(boxvar_lit_Vectorization_varIsEqualCrefWithoutSubs,2,0)struct { mmc_uint_t header; const void *data[2]; } boxvar_lit_Vectorization_varIsEqualCrefWithoutSubs
= { (((2) << 10) + (((0) & 255) << 2)),
{(void*) boxptr_Vectorization_varIsEqualCrefWithoutSubs,0}};
139#define boxvar_Vectorization_varIsEqualCrefWithoutSubs((void*)((char*)(&(boxvar_lit_Vectorization_varIsEqualCrefWithoutSubs
).header) + 3))
MMC_REFSTRUCTLIT(boxvar_lit_Vectorization_varIsEqualCrefWithoutSubs)((void*)((char*)(&(boxvar_lit_Vectorization_varIsEqualCrefWithoutSubs
).header) + 3))
140PROTECTED_FUNCTION_STATIC modelica_metatype omc_Vectorization_unexpandArrayVariables(threadData_t *threadData, modelica_metatype _varsIn, modelica_metatype _foldIn);
141static const MMC_DEFSTRUCTLIT(boxvar_lit_Vectorization_unexpandArrayVariables,2,0)struct { mmc_uint_t header; const void *data[2]; } boxvar_lit_Vectorization_unexpandArrayVariables
= { (((2) << 10) + (((0) & 255) << 2)),
{(void*) boxptr_Vectorization_unexpandArrayVariablesomc_Vectorization_unexpandArrayVariables,0}};
142#define boxvar_Vectorization_unexpandArrayVariables((void*)((char*)(&(boxvar_lit_Vectorization_unexpandArrayVariables
).header) + 3))
MMC_REFSTRUCTLIT(boxvar_lit_Vectorization_unexpandArrayVariables)((void*)((char*)(&(boxvar_lit_Vectorization_unexpandArrayVariables
).header) + 3))
143
144DLLExport
145modelica_metatype omc_Vectorization_replaceFirstSubsInCref(threadData_t *threadData, modelica_metatype _crefIn, modelica_metatype _subs)
146{
147 modelica_metatype _crefOut = NULL((void*)0);
148 modelica_metatype tmpMeta[5] __attribute__((unused)) = {0};
149 MMC_SO()mmc_check_stackoverflow(threadData);
150 _tailrecursive: OMC_LABEL_UNUSED__attribute__((unused))
151 // _crefOut has no default value.
152#line 152 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/Vectorization.c"
153 { /* matchcontinue expression */
154 volatile modelica_metatype tmp3_1;
155 tmp3_1 = _crefIn;
156 {
157 modelica_string _ident = NULL((void*)0);
158 modelica_metatype _identType = NULL((void*)0);
159 modelica_metatype _subscriptLst = NULL((void*)0);
160 modelica_metatype _cref = NULL((void*)0);
161 volatile mmc_switch_type tmp3;
162 int tmp4;
163 // _ident has no default value.
164 // _identType has no default value.
165 // _subscriptLst has no default value.
166 // _cref has no default value.
167 tmp3 = 0;
168 MMC_TRY_INTERNAL(mmc_jumper){ jmp_buf new_mmc_jumper, *old_jumper __attribute__((unused))
= threadData->mmc_jumper; threadData->mmc_jumper = &
new_mmc_jumper; if (_setjmp (new_mmc_jumper) == 0) {
169 tmp2_top:
170 threadData->mmc_jumper = &new_mmc_jumper;
171 for (; tmp3 < 3; tmp3++) {
172 switch (MMC_SWITCH_CAST(tmp3)(tmp3)) {
173 case 0: {
174 if (mmc__uniontype__metarecord__typedef__equal(tmp3_1,0,4)((*(mmc_uint_t*)((void*)((char*)(tmp3_1) - 3)))==(((4 +1) <<
10) + (((0 +3) & 255) << 2)))
== 0) goto tmp2_end;
175 tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_1), 2))(*(void**)(((void*)((void**)(((void*)((char*)(tmp3_1) - 3))) +
(2)))))
;
176 tmpMeta[2] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_1), 3))(*(void**)(((void*)((void**)(((void*)((char*)(tmp3_1) - 3))) +
(3)))))
;
177 tmpMeta[3] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_1), 4))(*(void**)(((void*)((void**)(((void*)((char*)(tmp3_1) - 3))) +
(4)))))
;
178 tmpMeta[4] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_1), 5))(*(void**)(((void*)((void**)(((void*)((char*)(tmp3_1) - 3))) +
(5)))))
;
179 _ident = tmpMeta[1];
180 _identType = tmpMeta[2];
181 _subscriptLst = tmpMeta[3];
182 _cref = tmpMeta[4];
183 tmp3 += 1; /* Pattern matching succeeded; we may skip some cases if we fail */
184#line 1133 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/Vectorization.mo"
185 if(omc_List_hasOneElement(threadData, _subscriptLst))
186#line 1133 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/Vectorization.mo"
187 {
188#line 1133 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/Vectorization.mo"
189 _subscriptLst = _subs;
190#line 190 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/Vectorization.c"
191 }
192
193#line 1134 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/Vectorization.mo"
194 _cref = omc_Vectorization_replaceFirstSubsInCref(threadData, _cref, _subs);
195#line 195 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/Vectorization.c"
196#line 1135 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/Vectorization.mo"
197 tmpMeta[1] = mmc_mk_box5(3, &DAE_ComponentRef_CREF__QUAL__desc, _ident, _identType, _subscriptLst, _cref);
198#line 1135 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/Vectorization.mo"
199 tmpMeta[0] = tmpMeta[1];
200#line 200 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/Vectorization.c"
201 goto tmp2_done;
202 }
203 case 1: {
204 if (mmc__uniontype__metarecord__typedef__equal(tmp3_1,1,3)((*(mmc_uint_t*)((void*)((char*)(tmp3_1) - 3)))==(((3 +1) <<
10) + (((1 +3) & 255) << 2)))
== 0) goto tmp2_end;
205 tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_1), 2))(*(void**)(((void*)((void**)(((void*)((char*)(tmp3_1) - 3))) +
(2)))))
;
206 tmpMeta[2] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_1), 3))(*(void**)(((void*)((void**)(((void*)((char*)(tmp3_1) - 3))) +
(3)))))
;
207 tmpMeta[3] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_1), 4))(*(void**)(((void*)((void**)(((void*)((char*)(tmp3_1) - 3))) +
(4)))))
;
208 _ident = tmpMeta[1];
209 _identType = tmpMeta[2];
210 _subscriptLst = tmpMeta[3];
211 /* Pattern matching succeeded */
212#line 1138 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/Vectorization.mo"
213 if(omc_List_hasOneElement(threadData, _subscriptLst))
214#line 1138 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/Vectorization.mo"
215 {
216#line 1138 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/Vectorization.mo"
217 _subscriptLst = _subs;
218#line 218 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/Vectorization.c"
219 }
220#line 1139 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/Vectorization.mo"
221 tmpMeta[1] = mmc_mk_box4(4, &DAE_ComponentRef_CREF__IDENT__desc, _ident, _identType, _subscriptLst);
222#line 1139 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/Vectorization.mo"
223 tmpMeta[0] = tmpMeta[1];
224#line 224 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/Vectorization.c"
225 goto tmp2_done;
226 }
227 case 2: {
228
229 /* Pattern matching succeeded */
230#line 1141 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/Vectorization.mo"
231 tmpMeta[0] = _crefIn;
232#line 232 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/Vectorization.c"
233 goto tmp2_done;
234 }
235 }
236 goto tmp2_end;
237 tmp2_end: ;
238 }
239 goto goto_1;
240 tmp2_done:
241 (void)tmp3;
242 MMC_RESTORE_INTERNAL(mmc_jumper)threadData->mmc_jumper = old_jumper;;
243 goto tmp2_done2;
244 goto_1:;
245 MMC_CATCH_INTERNAL(mmc_jumper)} threadData->mmc_jumper = old_jumper;mmc_catch_dummy_fn()
;}
;
246 if (++tmp3 < 3) {
247 goto tmp2_top;
248 }
249 MMC_THROW_INTERNAL(){longjmp(*threadData->mmc_jumper,1);};
250 tmp2_done2:;
251 }
252 }
253 _crefOut = tmpMeta[0];
254 _return: OMC_LABEL_UNUSED__attribute__((unused))
255 return _crefOut;
256}
257
258PROTECTED_FUNCTION_STATIC modelica_integer omc_Vectorization_getIndexSubScript(threadData_t *threadData, modelica_metatype _sub)
259{
260 modelica_integer _int;
261 modelica_integer tmp1;
262 modelica_metatype tmpMeta[3] __attribute__((unused)) = {0};
263 MMC_SO()mmc_check_stackoverflow(threadData);
264 _tailrecursive: OMC_LABEL_UNUSED__attribute__((unused))
265 // _int has no default value.
266#line 1117 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/Vectorization.mo"
267 /* Pattern-matching assignment */
268#line 1117 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/Vectorization.mo"
269 tmpMeta[0] = _sub;
270#line 1117 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/Vectorization.mo"
271 if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[0],2,1)((*(mmc_uint_t*)((void*)((char*)(tmpMeta[0]) - 3)))==(((1 +1)
<< 10) + (((2 +3) & 255) << 2)))
== 0) MMC_THROW_INTERNAL(){longjmp(*threadData->mmc_jumper,1);};
272#line 1117 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/Vectorization.mo"
273 tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[0]), 2))(*(void**)(((void*)((void**)(((void*)((char*)(tmpMeta[0]) - 3
))) + (2)))))
;
274#line 1117 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/Vectorization.mo"
275 if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[1],0,1)((*(mmc_uint_t*)((void*)((char*)(tmpMeta[1]) - 3)))==(((1 +1)
<< 10) + (((0 +3) & 255) << 2)))
== 0) MMC_THROW_INTERNAL(){longjmp(*threadData->mmc_jumper,1);};
276#line 1117 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/Vectorization.mo"
277 tmpMeta[2] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[1]), 2))(*(void**)(((void*)((void**)(((void*)((char*)(tmpMeta[1]) - 3
))) + (2)))))
;
278#line 1117 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/Vectorization.mo"
279 tmp1 = mmc_unbox_integer(tmpMeta[2])(((mmc_sint_t) (tmpMeta[2])) >> 1);
280#line 1117 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/Vectorization.mo"
281 _int = tmp1 /* pattern as ty=Integer */;
282#line 282 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/Vectorization.c"
283 _return: OMC_LABEL_UNUSED__attribute__((unused))
284 return _int;
285}
286PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_Vectorization_getIndexSubScript(threadData_t *threadData, modelica_metatype _sub)
287{
288 modelica_integer _int;
289 modelica_metatype out_int;
290 _int = omc_Vectorization_getIndexSubScript(threadData, _sub);
291 out_int = mmc_mk_icon(_int);
292 return out_int;
293}
294
295DLLExport
296modelica_metatype omc_Vectorization_insertSUMexp(threadData_t *threadData, modelica_metatype _expIn, modelica_metatype _tplIn, modelica_metatype *out_tplOut)
297{
298 modelica_metatype _expOut = NULL((void*)0);
299 modelica_metatype _tplOut = NULL((void*)0);
300 modelica_metatype tmpMeta[5] __attribute__((unused)) = {0};
301 MMC_SO()mmc_check_stackoverflow(threadData);
302 _tailrecursive: OMC_LABEL_UNUSED__attribute__((unused))
303 // _expOut has no default value.
304 // _tplOut has no default value.
305#line 1090 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/Vectorization.mo"
306
307#line 1090 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/Vectorization.mo"
308
309#line 309 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/Vectorization.c"
310 { /* matchcontinue expression */
311 volatile modelica_metatype tmp4_1;volatile modelica_metatype tmp4_2;
312 tmp4_1 = _expIn;
313 tmp4_2 = _tplIn;
314 {
315 modelica_metatype _cref0 = NULL((void*)0);
316 modelica_metatype _cref1 = NULL((void*)0);
317 modelica_metatype _repl = NULL((void*)0);
318 modelica_metatype _exp1 = NULL((void*)0);
319 modelica_metatype _exp2 = NULL((void*)0);
320 modelica_metatype _op = NULL((void*)0);
321 volatile mmc_switch_type tmp4;
322 int tmp5;
323 // _cref0 has no default value.
324 // _cref1 has no default value.
325 // _repl has no default value.
326 // _exp1 has no default value.
327 // _exp2 has no default value.
328 // _op has no default value.
329 tmp4 = 0;
330 MMC_TRY_INTERNAL(mmc_jumper){ jmp_buf new_mmc_jumper, *old_jumper __attribute__((unused))
= threadData->mmc_jumper; threadData->mmc_jumper = &
new_mmc_jumper; if (_setjmp (new_mmc_jumper) == 0) {
331 tmp3_top:
332 threadData->mmc_jumper = &new_mmc_jumper;
333 for (; tmp4 < 4; tmp4++) {
334 switch (MMC_SWITCH_CAST(tmp4)(tmp4)) {
335 case 0: {
336 if (mmc__uniontype__metarecord__typedef__equal(tmp4_1,7,3)((*(mmc_uint_t*)((void*)((char*)(tmp4_1) - 3)))==(((3 +1) <<
10) + (((7 +3) & 255) << 2)))
== 0) goto tmp3_end;
337 tmpMeta[2] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_1), 2))(*(void**)(((void*)((void**)(((void*)((char*)(tmp4_1) - 3))) +
(2)))))
;
338 tmpMeta[3] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_1), 3))(*(void**)(((void*)((void**)(((void*)((char*)(tmp4_1) - 3))) +
(3)))))
;
339 tmpMeta[4] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_1), 4))(*(void**)(((void*)((void**)(((void*)((char*)(tmp4_1) - 3))) +
(4)))))
;
340
341 _exp1 = tmpMeta[2];
342 _op = tmpMeta[3];
343 _exp2 = tmpMeta[4];
344 tmp4 += 2; /* Pattern matching succeeded; we may skip some cases if we fail */
345#line 1097 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/Vectorization.mo"
346 _exp1 = omc_Vectorization_insertSUMexp(threadData, _exp1, _tplIn, NULL((void*)0));
347#line 347 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/Vectorization.c"
348
349#line 1098 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/Vectorization.mo"
350 _exp2 = omc_Vectorization_insertSUMexp(threadData, _exp2, _tplIn, NULL((void*)0));
351#line 351 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/Vectorization.c"
352#line 1099 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/Vectorization.mo"
353 tmpMeta[2] = mmc_mk_box4(10, &DAE_Exp_BINARY__desc, _exp1, _op, _exp2);
354#line 1099 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/Vectorization.mo"
355 tmpMeta[0+0] = tmpMeta[2];
356#line 1099 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/Vectorization.mo"
357 tmpMeta[0+1] = _tplIn;
358#line 358 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/Vectorization.c"
359 goto tmp3_done;
360 }
361 case 1: {
362 if (mmc__uniontype__metarecord__typedef__equal(tmp4_1,8,2)((*(mmc_uint_t*)((void*)((char*)(tmp4_1) - 3)))==(((2 +1) <<
10) + (((8 +3) & 255) << 2)))
== 0) goto tmp3_end;
363 tmpMeta[2] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_1), 2))(*(void**)(((void*)((void**)(((void*)((char*)(tmp4_1) - 3))) +
(2)))))
;
364 tmpMeta[3] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_1), 3))(*(void**)(((void*)((void**)(((void*)((char*)(tmp4_1) - 3))) +
(3)))))
;
365
366 _op = tmpMeta[2];
367 _exp1 = tmpMeta[3];
368 tmp4 += 1; /* Pattern matching succeeded; we may skip some cases if we fail */
369#line 1102 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/Vectorization.mo"
370 _exp1 = omc_Vectorization_insertSUMexp(threadData, _exp1, _tplIn, NULL((void*)0));
371#line 371 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/Vectorization.c"
372#line 1103 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/Vectorization.mo"
373 tmpMeta[2] = mmc_mk_box3(11, &DAE_Exp_UNARY__desc, _op, _exp1);
374#line 1103 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/Vectorization.mo"
375 tmpMeta[0+0] = tmpMeta[2];
376#line 1103 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/Vectorization.mo"
377 tmpMeta[0+1] = _tplIn;
378#line 378 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/Vectorization.c"
379 goto tmp3_done;
380 }
381 case 2: {
382 modelica_boolean tmp6;
383 if (mmc__uniontype__metarecord__typedef__equal(tmp4_1,6,2)((*(mmc_uint_t*)((void*)((char*)(tmp4_1) - 3)))==(((2 +1) <<
10) + (((6 +3) & 255) << 2)))
== 0) goto tmp3_end;
384 tmpMeta[2] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_1), 2))(*(void**)(((void*)((void**)(((void*)((char*)(tmp4_1) - 3))) +
(2)))))
;
385 tmpMeta[3] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 1))(*(void**)(((void*)((void**)(((void*)((char*)(tmp4_2) - 3))) +
(1)))))
;
386 tmpMeta[4] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2))(*(void**)(((void*)((void**)(((void*)((char*)(tmp4_2) - 3))) +
(2)))))
;
387 _cref1 = tmpMeta[2];
388 _cref0 = tmpMeta[3];
389 _repl = tmpMeta[4];
390 /* Pattern matching succeeded */
391#line 1106 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/Vectorization.mo"
392 /* Pattern-matching assignment */
393#line 1106 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/Vectorization.mo"
394 tmp6 = omc_Vectorization_crefPartlyEqual(threadData, _cref0, _cref1);
395#line 1106 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/Vectorization.mo"
396 if (1 != tmp6) goto goto_2;
397#line 397 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/Vectorization.c"
398#line 1107 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/Vectorization.mo"
399 tmpMeta[0+0] = _repl;
400#line 1107 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/Vectorization.mo"
401 tmpMeta[0+1] = _tplIn;
402#line 402 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/Vectorization.c"
403 goto tmp3_done;
404 }
405 case 3: {
406
407 /* Pattern matching succeeded */
408#line 1109 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/Vectorization.mo"
409 tmpMeta[0+0] = _expIn;
410#line 1109 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/Vectorization.mo"
411 tmpMeta[0+1] = _tplIn;
412#line 412 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/Vectorization.c"
413 goto tmp3_done;
414 }
415 }
416 goto tmp3_end;
417 tmp3_end: ;
418 }
419 goto goto_2;
420 tmp3_done:
421 (void)tmp4;
422 MMC_RESTORE_INTERNAL(mmc_jumper)threadData->mmc_jumper = old_jumper;;
423 goto tmp3_done2;
424 goto_2:;
425 MMC_CATCH_INTERNAL(mmc_jumper)} threadData->mmc_jumper = old_jumper;mmc_catch_dummy_fn()
;}
;
426 if (++tmp4 < 4) {
427 goto tmp3_top;
428 }
429 MMC_THROW_INTERNAL(){longjmp(*threadData->mmc_jumper,1);};
430 tmp3_done2:;
431 }
432 }
433 _expOut = tmpMeta[0+0];
434 _tplOut = tmpMeta[0+1];
435 _return: OMC_LABEL_UNUSED__attribute__((unused))
436 if (out_tplOut) { *out_tplOut = _tplOut; }
437 return _expOut;
438}
439
440DLLExport
441modelica_metatype omc_Vectorization_reduceLoopExpressions(threadData_t *threadData, modelica_metatype _expIn, modelica_integer _maxSub, modelica_boolean *out_notRemoved)
442{
443 modelica_metatype _expOut = NULL((void*)0);
444 modelica_boolean _notRemoved;
445 modelica_boolean tmp1_c1 __attribute__((unused)) = 0;
446 modelica_metatype tmpMeta[5] __attribute__((unused)) = {0};
447 MMC_SO()mmc_check_stackoverflow(threadData);
448 _tailrecursive: OMC_LABEL_UNUSED__attribute__((unused))
449 // _expOut has no default value.
450 // _notRemoved has no default value.
451#line 1044 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/Vectorization.mo"
452
453#line 1044 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/Vectorization.mo"
454
455#line 455 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/Vectorization.c"
456 { /* matchcontinue expression */
457 volatile modelica_metatype tmp4_1;
458 tmp4_1 = _expIn;
459 {
460 modelica_boolean _b;
461 modelica_boolean _b1;
462 modelica_boolean _b2;
463 modelica_metatype _cref = NULL((void*)0);
464 modelica_metatype _exp = NULL((void*)0);
465 modelica_metatype _exp1 = NULL((void*)0);
466 modelica_metatype _exp2 = NULL((void*)0);
467 modelica_metatype _op = NULL((void*)0);
468 volatile mmc_switch_type tmp4;
469 int tmp5;
470 // _b has no default value.
471 // _b1 has no default value.
472 // _b2 has no default value.
473 // _cref has no default value.
474 // _exp has no default value.
475 // _exp1 has no default value.
476 // _exp2 has no default value.
477 // _op has no default value.
478 tmp4 = 0;
479 MMC_TRY_INTERNAL(mmc_jumper){ jmp_buf new_mmc_jumper, *old_jumper __attribute__((unused))
= threadData->mmc_jumper; threadData->mmc_jumper = &
new_mmc_jumper; if (_setjmp (new_mmc_jumper) == 0) {
480 tmp3_top:
481 threadData->mmc_jumper = &new_mmc_jumper;
482 for (; tmp4 < 4; tmp4++) {
483 switch (MMC_SWITCH_CAST(tmp4)(tmp4)) {
484 case 0: {
485 if (mmc__uniontype__metarecord__typedef__equal(tmp4_1,6,2)((*(mmc_uint_t*)((void*)((char*)(tmp4_1) - 3)))==(((2 +1) <<
10) + (((6 +3) & 255) << 2)))
== 0) goto tmp3_end;
486 tmpMeta[2] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_1), 2))(*(void**)(((void*)((void**)(((void*)((char*)(tmp4_1) - 3))) +
(2)))))
;
487
488 _cref = tmpMeta[2];
489 tmp4 += 2; /* Pattern matching succeeded; we may skip some cases if we fail */
490#line 1053 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/Vectorization.mo"
491 _b = (omc_Vectorization_getIndexSubScript(threadData, listHead(omc_ComponentReference_crefSubs(threadData, _cref))boxptr_listHead(threadData,omc_ComponentReference_crefSubs(threadData
, _cref))
) <= _maxSub);
492#line 492 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/Vectorization.c"
493#line 1056 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/Vectorization.mo"
494 tmpMeta[0+0] = _expIn;
495#line 1056 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/Vectorization.mo"
496 tmp1_c1 = _b;
497#line 497 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/Vectorization.c"
498 goto tmp3_done;
499 }
500 case 1: {
501 if (mmc__uniontype__metarecord__typedef__equal(tmp4_1,7,3)((*(mmc_uint_t*)((void*)((char*)(tmp4_1) - 3)))==(((3 +1) <<
10) + (((7 +3) & 255) << 2)))
== 0) goto tmp3_end;
502 tmpMeta[2] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_1), 2))(*(void**)(((void*)((void**)(((void*)((char*)(tmp4_1) - 3))) +
(2)))))
;
503 tmpMeta[3] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_1), 3))(*(void**)(((void*)((void**)(((void*)((char*)(tmp4_1) - 3))) +
(3)))))
;
504 tmpMeta[4] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_1), 4))(*(void**)(((void*)((void**)(((void*)((char*)(tmp4_1) - 3))) +
(4)))))
;
505 _exp1 = tmpMeta[2];
506 _op = tmpMeta[3];
507 _exp2 = tmpMeta[4];
508 tmp4 += 1; /* Pattern matching succeeded; we may skip some cases if we fail */
509#line 1060 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/Vectorization.mo"
510 _exp1 = omc_Vectorization_reduceLoopExpressions(threadData, _exp1, _maxSub ,&_b1);
511#line 511 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/Vectorization.c"
512
513#line 1061 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/Vectorization.mo"
514 _exp2 = omc_Vectorization_reduceLoopExpressions(threadData, _exp2, _maxSub ,&_b2);
515#line 515 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/Vectorization.c"
516
517#line 1063 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/Vectorization.mo"
518 if((_b1 && (!_b2)))
519#line 1063 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/Vectorization.mo"
520 {
521#line 1064 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/Vectorization.mo"
522 _exp = _exp1;
523#line 523 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/Vectorization.c"
524 }
525 else
526 {
527 if((_b2 && (!_b1)))
528 {
529#line 1066 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/Vectorization.mo"
530 _exp = _exp2;
531#line 531 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/Vectorization.c"
532 }
533 else
534 {
535#line 1068 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/Vectorization.mo"
536 tmpMeta[2] = mmc_mk_box4(10, &DAE_Exp_BINARY__desc, _exp1, _op, _exp2);
537#line 1068 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/Vectorization.mo"
538 _exp = tmpMeta[2];
539#line 539 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/Vectorization.c"
540 }
541 }
542#line 1071 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/Vectorization.mo"
543 tmpMeta[0+0] = _exp;
544#line 1071 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/Vectorization.mo"
545 tmp1_c1 = (_b1 || _b2);
546#line 546 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/Vectorization.c"
547 goto tmp3_done;
548 }
549 case 2: {
550 if (mmc__uniontype__metarecord__typedef__equal(tmp4_1,8,2)((*(mmc_uint_t*)((void*)((char*)(tmp4_1) - 3)))==(((2 +1) <<
10) + (((8 +3) & 255) << 2)))
== 0) goto tmp3_end;
551 tmpMeta[2] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_1), 3))(*(void**)(((void*)((void**)(((void*)((char*)(tmp4_1) - 3))) +
(3)))))
;
552 _exp = tmpMeta[2];
553 /* Pattern matching succeeded */
554#line 1075 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/Vectorization.mo"
555 tmpMeta[0+0] = omc_Vectorization_reduceLoopExpressions(threadData, _exp, _maxSub, &tmp1_c1);
556#line 556 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/Vectorization.c"
557 goto tmp3_done;
558 }
559 case 3: {
560
561 /* Pattern matching succeeded */
562#line 1080 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/Vectorization.mo"
563 tmpMeta[0+0] = _expIn;
564#line 1080 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/Vectorization.mo"
565 tmp1_c1 = 1;
566#line 566 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/Vectorization.c"
567 goto tmp3_done;
568 }
569 }
570 goto tmp3_end;
571 tmp3_end: ;
572 }
573 goto goto_2;
574 tmp3_done:
575 (void)tmp4;
576 MMC_RESTORE_INTERNAL(mmc_jumper)threadData->mmc_jumper = old_jumper;;
577 goto tmp3_done2;
578 goto_2:;
579 MMC_CATCH_INTERNAL(mmc_jumper)} threadData->mmc_jumper = old_jumper;mmc_catch_dummy_fn()
;}
;
580 if (++tmp4 < 4) {
581 goto tmp3_top;
582 }
583 MMC_THROW_INTERNAL(){longjmp(*threadData->mmc_jumper,1);};
584 tmp3_done2:;
585 }
586 }
587 _expOut = tmpMeta[0+0];
588 _notRemoved = tmp1_c1;
589 _return: OMC_LABEL_UNUSED__attribute__((unused))
590 if (out_notRemoved) { *out_notRemoved = _notRemoved; }
591 return _expOut;
592}
593modelica_metatype boxptr_Vectorization_reduceLoopExpressions(threadData_t *threadData, modelica_metatype _expIn, modelica_metatype _maxSub, modelica_metatype *out_notRemoved)
594{
595 modelica_integer tmp1;
596 modelica_boolean _notRemoved;
597 modelica_metatype _expOut = NULL((void*)0);
598 tmp1 = mmc_unbox_integer(_maxSub)(((mmc_sint_t) (_maxSub)) >> 1);
599 _expOut = omc_Vectorization_reduceLoopExpressions(threadData, _expIn, tmp1, &_notRemoved);
600 /* skip box _expOut; DAE.Exp */
601 if (out_notRemoved) { *out_notRemoved = mmc_mk_icon(_notRemoved); }
602 return _expOut;
603}
604
605PROTECTED_FUNCTION_STATIC modelica_boolean omc_Vectorization_crefPartlyEqual(threadData_t *threadData, modelica_metatype _cref0, modelica_metatype _cref1)
606{
607 modelica_boolean _partlyEq;
608 modelica_boolean tmp1 = 0;
609 modelica_metatype tmpMeta[2] __attribute__((unused)) = {0};
610 MMC_SO()mmc_check_stackoverflow(threadData);
611 _tailrecursive: OMC_LABEL_UNUSED__attribute__((unused))
612 // _partlyEq has no default value.
613#line 613 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/Vectorization.c"
614 { /* matchcontinue expression */
615 volatile modelica_metatype tmp4_1;volatile modelica_metatype tmp4_2;
616 tmp4_1 = _cref0;
617 tmp4_2 = _cref1;
618 {
619 modelica_boolean _b;
620 modelica_metatype _cref01 = NULL((void*)0);
621 modelica_metatype _cref11 = NULL((void*)0);
622 volatile mmc_switch_type tmp4;
623 int tmp5;
624 // _b has no default value.
625 // _cref01 has no default value.
626 // _cref11 has no default value.
627 tmp4 = 0;
628 MMC_TRY_INTERNAL(mmc_jumper){ jmp_buf new_mmc_jumper, *old_jumper __attribute__((unused))
= threadData->mmc_jumper; threadData->mmc_jumper = &
new_mmc_jumper; if (_setjmp (new_mmc_jumper) == 0) {
629 tmp3_top:
630 threadData->mmc_jumper = &new_mmc_jumper;
631 for (; tmp4 < 5; tmp4++) {
632 switch (MMC_SWITCH_CAST(tmp4)(tmp4)) {
633 case 0: {
634 if (mmc__uniontype__metarecord__typedef__equal(tmp4_1,1,3)((*(mmc_uint_t*)((void*)((char*)(tmp4_1) - 3)))==(((3 +1) <<
10) + (((1 +3) & 255) << 2)))
== 0) goto tmp3_end;
635 if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,1,3)((*(mmc_uint_t*)((void*)((char*)(tmp4_2) - 3)))==(((3 +1) <<
10) + (((1 +3) & 255) << 2)))
== 0) goto tmp3_end;
636
637 tmp4 += 3; /* Pattern matching succeeded; we may skip some cases if we fail */
638#line 1022 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/Vectorization.mo"
639 tmp1 = (stringEqual((MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_cref0), 2))), (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_cref1), 2))))((((((*(mmc_uint_t*)((void*)((char*)(((*(void**)(((void*)((void
**)(((void*)((char*)(_cref0) - 3))) + (2))))))) - 3)))) >>
(3)) - 8)) == (((((*(mmc_uint_t*)((void*)((char*)(((*(void**
)(((void*)((void**)(((void*)((char*)(_cref1) - 3))) + (2)))))
)) - 3)))) >> (3)) - 8)) && !mmc_stringCompare(
((*(void**)(((void*)((void**)(((void*)((char*)(_cref0) - 3)))
+ (2)))))),((*(void**)(((void*)((void**)(((void*)((char*)(_cref1
) - 3))) + (2))))))))
);
640#line 640 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/Vectorization.c"
641 goto tmp3_done;
642 }
643 case 1: {
644 if (mmc__uniontype__metarecord__typedef__equal(tmp4_1,0,4)((*(mmc_uint_t*)((void*)((char*)(tmp4_1) - 3)))==(((4 +1) <<
10) + (((0 +3) & 255) << 2)))
== 0) goto tmp3_end;
645 tmpMeta[0] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_1), 5))(*(void**)(((void*)((void**)(((void*)((char*)(tmp4_1) - 3))) +
(5)))))
;
646 if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,0,4)((*(mmc_uint_t*)((void*)((char*)(tmp4_2) - 3)))==(((4 +1) <<
10) + (((0 +3) & 255) << 2)))
== 0) goto tmp3_end;
647 tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 5))(*(void**)(((void*)((void**)(((void*)((char*)(tmp4_2) - 3))) +
(5)))))
;
648 _cref01 = tmpMeta[0];
649 _cref11 = tmpMeta[1];
650 tmp4 += 2; /* Pattern matching succeeded; we may skip some cases if we fail */
651#line 1025 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/Vectorization.mo"
652 if((stringEqual((MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_cref0), 2))), (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_cref1), 2))))((((((*(mmc_uint_t*)((void*)((char*)(((*(void**)(((void*)((void
**)(((void*)((char*)(_cref0) - 3))) + (2))))))) - 3)))) >>
(3)) - 8)) == (((((*(mmc_uint_t*)((void*)((char*)(((*(void**
)(((void*)((void**)(((void*)((char*)(_cref1) - 3))) + (2)))))
)) - 3)))) >> (3)) - 8)) && !mmc_stringCompare(
((*(void**)(((void*)((void**)(((void*)((char*)(_cref0) - 3)))
+ (2)))))),((*(void**)(((void*)((void**)(((void*)((char*)(_cref1
) - 3))) + (2))))))))
))
653#line 1025 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/Vectorization.mo"
654 {
655#line 1025 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/Vectorization.mo"
656 _b = omc_Vectorization_crefPartlyEqual(threadData, _cref01, _cref11);
657#line 657 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/Vectorization.c"
658 }
659 else
660 {
661#line 1026 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/Vectorization.mo"
662 _b = 0;
663#line 663 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/Vectorization.c"
664 }
665#line 1028 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/Vectorization.mo"
666 tmp1 = _b;
667#line 667 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/Vectorization.c"
668 goto tmp3_done;
669 }
670 case 2: {
671 if (mmc__uniontype__metarecord__typedef__equal(tmp4_1,0,4)((*(mmc_uint_t*)((void*)((char*)(tmp4_1) - 3)))==(((4 +1) <<
10) + (((0 +3) & 255) << 2)))
== 0) goto tmp3_end;
672 if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,1,3)((*(mmc_uint_t*)((void*)((char*)(tmp4_2) - 3)))==(((3 +1) <<
10) + (((1 +3) & 255) << 2)))
== 0) goto tmp3_end;
673
674 tmp4 += 1; /* Pattern matching succeeded; we may skip some cases if we fail */
675#line 1030 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/Vectorization.mo"
676 tmp1 = (stringEqual((MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_cref0), 2))), (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_cref1), 2))))((((((*(mmc_uint_t*)((void*)((char*)(((*(void**)(((void*)((void
**)(((void*)((char*)(_cref0) - 3))) + (2))))))) - 3)))) >>
(3)) - 8)) == (((((*(mmc_uint_t*)((void*)((char*)(((*(void**
)(((void*)((void**)(((void*)((char*)(_cref1) - 3))) + (2)))))
)) - 3)))) >> (3)) - 8)) && !mmc_stringCompare(
((*(void**)(((void*)((void**)(((void*)((char*)(_cref0) - 3)))
+ (2)))))),((*(void**)(((void*)((void**)(((void*)((char*)(_cref1
) - 3))) + (2))))))))
);
677#line 677 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/Vectorization.c"
678 goto tmp3_done;
679 }
680 case 3: {
681 if (mmc__uniontype__metarecord__typedef__equal(tmp4_1,1,3)((*(mmc_uint_t*)((void*)((char*)(tmp4_1) - 3)))==(((3 +1) <<
10) + (((1 +3) & 255) << 2)))
== 0) goto tmp3_end;
682 if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,0,4)((*(mmc_uint_t*)((void*)((char*)(tmp4_2) - 3)))==(((4 +1) <<
10) + (((0 +3) & 255) << 2)))
== 0) goto tmp3_end;
683
684 /* Pattern matching succeeded */
685#line 1032 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/Vectorization.mo"
686 tmp1 = (stringEqual((MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_cref0), 2))), (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_cref1), 2))))((((((*(mmc_uint_t*)((void*)((char*)(((*(void**)(((void*)((void
**)(((void*)((char*)(_cref0) - 3))) + (2))))))) - 3)))) >>
(3)) - 8)) == (((((*(mmc_uint_t*)((void*)((char*)(((*(void**
)(((void*)((void**)(((void*)((char*)(_cref1) - 3))) + (2)))))
)) - 3)))) >> (3)) - 8)) && !mmc_stringCompare(
((*(void**)(((void*)((void**)(((void*)((char*)(_cref0) - 3)))
+ (2)))))),((*(void**)(((void*)((void**)(((void*)((char*)(_cref1
) - 3))) + (2))))))))
);
687#line 687 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/Vectorization.c"
688 goto tmp3_done;
689 }
690 case 4: {
691
692 /* Pattern matching succeeded */
693#line 1034 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/Vectorization.mo"
694 tmp1 = 0;
695#line 695 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/Vectorization.c"
696 goto tmp3_done;
697 }
698 }
699 goto tmp3_end;
700 tmp3_end: ;
701 }
702 goto goto_2;
703 tmp3_done:
704 (void)tmp4;
705 MMC_RESTORE_INTERNAL(mmc_jumper)threadData->mmc_jumper = old_jumper;;
706 goto tmp3_done2;
707 goto_2:;
708 MMC_CATCH_INTERNAL(mmc_jumper)} threadData->mmc_jumper = old_jumper;mmc_catch_dummy_fn()
;}
;
709 if (++tmp4 < 5) {
710 goto tmp3_top;
711 }
712 MMC_THROW_INTERNAL(){longjmp(*threadData->mmc_jumper,1);};
713 tmp3_done2:;
714 }
715 }
716 _partlyEq = tmp1;
717 _return: OMC_LABEL_UNUSED__attribute__((unused))
718 return _partlyEq;
719}
720PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_Vectorization_crefPartlyEqual(threadData_t *threadData, modelica_metatype _cref0, modelica_metatype _cref1)
721{
722 modelica_boolean _partlyEq;
723 modelica_metatype out_partlyEq;
724 _partlyEq = omc_Vectorization_crefPartlyEqual(threadData, _cref0, _cref1);
725 out_partlyEq = mmc_mk_icon(_partlyEq);
726 return out_partlyEq;
727}
728
729PROTECTED_FUNCTION_STATIC modelica_boolean omc_Vectorization_crefPartlyEqualToCrefs(threadData_t *threadData, modelica_metatype _cref0, modelica_metatype _crefLst)
730{
731 modelica_boolean _b;
732 MMC_SO()mmc_check_stackoverflow(threadData);
733 _tailrecursive: OMC_LABEL_UNUSED__attribute__((unused))
734 // _b has no default value.
735#line 1009 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/Vectorization.mo"
736 _b = omc_List_exist1(threadData, _crefLst, boxvar_Vectorization_crefPartlyEqual((void*)((char*)(&(boxvar_lit_Vectorization_crefPartlyEqual
).header) + 3))
, _cref0);
737#line 737 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/Vectorization.c"
738 _return: OMC_LABEL_UNUSED__attribute__((unused))
739 return _b;
740}
741PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_Vectorization_crefPartlyEqualToCrefs(threadData_t *threadData, modelica_metatype _cref0, modelica_metatype _crefLst)
742{
743 modelica_boolean _b;
744 modelica_metatype out_b;
745 _b = omc_Vectorization_crefPartlyEqualToCrefs(threadData, _cref0, _crefLst);
746 out_b = mmc_mk_icon(_b);
747 return out_b;
748}
749
750PROTECTED_FUNCTION_STATIC modelica_metatype omc_Vectorization_dispatchLoopEquations(threadData_t *threadData, modelica_metatype _eqIn, modelica_metatype _arrayCrefs, modelica_metatype _tplIn)
751{
752 modelica_metatype _tplOut = NULL((void*)0);
753 modelica_metatype tmpMeta[4] __attribute__((unused)) = {0};
754 MMC_SO()mmc_check_stackoverflow(threadData);
755 _tailrecursive: OMC_LABEL_UNUSED__attribute__((unused))
756 // _tplOut has no default value.
757#line 757 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/Vectorization.c"
758 { /* match expression */
759 modelica_metatype tmp3_1;
760 tmp3_1 = _tplIn;
761 {
762 modelica_metatype _classEqs = NULL((void*)0);
763 modelica_metatype _mixEqs = NULL((void*)0);
764 modelica_metatype _nonArrEqs = NULL((void*)0);
765 modelica_metatype _crefs = NULL((void*)0);
766 modelica_metatype _arrCrefs = NULL((void*)0);
767 modelica_metatype _nonArrCrefs = NULL((void*)0);
768 volatile mmc_switch_type tmp3;
769 int tmp4;
770 // _classEqs has no default value.
771 // _mixEqs has no default value.
772 // _nonArrEqs has no default value.
773 // _crefs has no default value.
774 // _arrCrefs has no default value.
775 // _nonArrCrefs has no default value.
776 tmp3 = 0;
777 for (; tmp3 < 1; tmp3++) {
778 switch (MMC_SWITCH_CAST(tmp3)(tmp3)) {
779 case 0: {
780 tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_1), 1))(*(void**)(((void*)((void**)(((void*)((char*)(tmp3_1) - 3))) +
(1)))))
;
781 tmpMeta[2] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_1), 2))(*(void**)(((void*)((void**)(((void*)((char*)(tmp3_1) - 3))) +
(2)))))
;
782 tmpMeta[3] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_1), 3))(*(void**)(((void*)((void**)(((void*)((char*)(tmp3_1) - 3))) +
(3)))))
;
783 _classEqs = tmpMeta[1];
784 _mixEqs = tmpMeta[2];
785 _nonArrEqs = tmpMeta[3];
786 /* Pattern matching succeeded */
787#line 990 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/Vectorization.mo"
788 _crefs = omc_BackendEquation_equationCrefs(threadData, _eqIn);
789#line 789 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/Vectorization.c"
790
791#line 991 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/Vectorization.mo"
792 _arrCrefs = omc_List_separate1OnTrue(threadData, _crefs, boxvar_Vectorization_crefPartlyEqualToCrefs((void*)((char*)(&(boxvar_lit_Vectorization_crefPartlyEqualToCrefs
).header) + 3))
, _arrayCrefs ,&_nonArrCrefs);
793#line 793 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/Vectorization.c"
794
795#line 992 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/Vectorization.mo"
796 if(listEmpty(_nonArrCrefs)((*(mmc_uint_t*)((void*)((char*)(_nonArrCrefs) - 3))) == (((0
) << 10) + (((0) & 255) << 2)))
)
797#line 992 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/Vectorization.mo"
798 {
799#line 993 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/Vectorization.mo"
800 tmpMeta[1] = mmc_mk_cons(_eqIn, _classEqs);
801#line 993 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/Vectorization.mo"
802 _classEqs = tmpMeta[1];
803#line 803 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/Vectorization.c"
804 }
805 else
806 {
807 if(listEmpty(_arrCrefs)((*(mmc_uint_t*)((void*)((char*)(_arrCrefs) - 3))) == (((0) <<
10) + (((0) & 255) << 2)))
)
808 {
809#line 995 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/Vectorization.mo"
810 tmpMeta[1] = mmc_mk_cons(_eqIn, _nonArrEqs);
811#line 995 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/Vectorization.mo"
812 _nonArrEqs = tmpMeta[1];
813#line 813 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/Vectorization.c"
814 }
815 else
816 {
817#line 997 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/Vectorization.mo"
818 tmpMeta[1] = mmc_mk_cons(_eqIn, _mixEqs);
819#line 997 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/Vectorization.mo"
820 _mixEqs = tmpMeta[1];
821#line 821 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/Vectorization.c"
822 }
823 }
824#line 999 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/Vectorization.mo"
825 tmpMeta[1] = mmc_mk_box3(0, _classEqs, _mixEqs, _nonArrEqs);
826#line 999 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/Vectorization.mo"
827 tmpMeta[0] = tmpMeta[1];
828#line 828 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/Vectorization.c"
829 goto tmp2_done;
830 }
831 }
832 goto tmp2_end;
833 tmp2_end: ;
834 }
835 goto goto_1;
836 goto_1:;
837 MMC_THROW_INTERNAL(){longjmp(*threadData->mmc_jumper,1);};
838 goto tmp2_done;
839 tmp2_done:;
840 }
841 }
842 _tplOut = tmpMeta[0];
843 _return: OMC_LABEL_UNUSED__attribute__((unused))
844 return _tplOut;
845}
846
847PROTECTED_FUNCTION_STATIC modelica_metatype omc_Vectorization_getArrayVars(threadData_t *threadData, modelica_metatype _varIn, modelica_metatype _tplIn)
848{
849 modelica_metatype _tplOut = NULL((void*)0);
850 modelica_metatype tmpMeta[4] __attribute__((unused)) = {0};
851 MMC_SO()mmc_check_stackoverflow(threadData);
852 _tailrecursive: OMC_LABEL_UNUSED__attribute__((unused))
853 // _tplOut has no default value.
854#line 854 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/Vectorization.c"
855 { /* matchcontinue expression */
856 volatile modelica_metatype tmp3_1;volatile modelica_metatype tmp3_2;
857 tmp3_1 = _varIn;
858 tmp3_2 = _tplIn;
859 {
860 modelica_metatype _cref = NULL((void*)0);
861 modelica_metatype _varLstIn = NULL((void*)0);
862 modelica_metatype _arrVarLstIn = NULL((void*)0);
863 volatile mmc_switch_type tmp3;
864 int tmp4;
865 // _cref has no default value.
866 // _varLstIn has no default value.
867 // _arrVarLstIn has no default value.
868 tmp3 = 0;
869 MMC_TRY_INTERNAL(mmc_jumper){ jmp_buf new_mmc_jumper, *old_jumper __attribute__((unused))
= threadData->mmc_jumper; threadData->mmc_jumper = &
new_mmc_jumper; if (_setjmp (new_mmc_jumper) == 0) {
870 tmp2_top:
871 threadData->mmc_jumper = &new_mmc_jumper;
872 for (; tmp3 < 2; tmp3++) {
873 switch (MMC_SWITCH_CAST(tmp3)(tmp3)) {
874 case 0: {
875 modelica_boolean tmp5;
876 tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_1), 2))(*(void**)(((void*)((void**)(((void*)((char*)(tmp3_1) - 3))) +
(2)))))
;
877 tmpMeta[2] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_2), 1))(*(void**)(((void*)((void**)(((void*)((char*)(tmp3_2) - 3))) +
(1)))))
;
878 tmpMeta[3] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_2), 2))(*(void**)(((void*)((void**)(((void*)((char*)(tmp3_2) - 3))) +
(2)))))
;
879 _cref = tmpMeta[1];
880 _varLstIn = tmpMeta[2];
881 _arrVarLstIn = tmpMeta[3];
882 /* Pattern matching succeeded */
883#line 969 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/Vectorization.mo"
884 /* Pattern-matching assignment */
885#line 969 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/Vectorization.mo"
886 tmp5 = omc_ComponentReference_isArrayElement(threadData, _cref);
887#line 969 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/Vectorization.mo"
888 if (1 != tmp5) goto goto_1;
889#line 889 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/Vectorization.c"
890#line 970 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/Vectorization.mo"
891 tmpMeta[1] = mmc_mk_cons(_varIn, _arrVarLstIn);
892#line 970 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/Vectorization.mo"
893 tmpMeta[2] = mmc_mk_box2(0, _varLstIn, tmpMeta[1]);
894#line 970 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/Vectorization.mo"
895 tmpMeta[0] = tmpMeta[2];
896#line 896 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/Vectorization.c"
897 goto tmp2_done;
898 }
899 case 1: {
900 tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_2), 1))(*(void**)(((void*)((void**)(((void*)((char*)(tmp3_2) - 3))) +
(1)))))
;
901 tmpMeta[2] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_2), 2))(*(void**)(((void*)((void**)(((void*)((char*)(tmp3_2) - 3))) +
(2)))))
;
902 _varLstIn = tmpMeta[1];
903 _arrVarLstIn = tmpMeta[2];
904 /* Pattern matching succeeded */
905#line 973 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/Vectorization.mo"
906 tmpMeta[1] = mmc_mk_cons(_varIn, _varLstIn);
907#line 973 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/Vectorization.mo"
908 tmpMeta[2] = mmc_mk_box2(0, tmpMeta[1], _arrVarLstIn);
909#line 973 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/Vectorization.mo"
910 tmpMeta[0] = tmpMeta[2];
911#line 911 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/Vectorization.c"
912 goto tmp2_done;
913 }
914 }
915 goto tmp2_end;
916 tmp2_end: ;
917 }
918 goto goto_1;
919 tmp2_done:
920 (void)tmp3;
921 MMC_RESTORE_INTERNAL(mmc_jumper)threadData->mmc_jumper = old_jumper;;
922 goto tmp2_done2;
923 goto_1:;
924 MMC_CATCH_INTERNAL(mmc_jumper)} threadData->mmc_jumper = old_jumper;mmc_catch_dummy_fn()
;}
;
925 if (++tmp3 < 2) {
926 goto tmp2_top;
927 }
928 MMC_THROW_INTERNAL(){longjmp(*threadData->mmc_jumper,1);};
929 tmp2_done2:;
930 }
931 }
932 _tplOut = tmpMeta[0];
933 _return: OMC_LABEL_UNUSED__attribute__((unused))
934 return _tplOut;
935}
936
937PROTECTED_FUNCTION_STATIC modelica_metatype omc_Vectorization_addToArrayCrefLst(threadData_t *threadData, modelica_metatype _tplLstIn, modelica_metatype _varIn, modelica_metatype _tplRef, modelica_metatype _tplLstFoldIn, modelica_metatype _varLstIn, modelica_metatype *out_varLstOut)
938{
939 modelica_metatype _tplLstFoldOut = NULL((void*)0);
940 modelica_metatype _varLstOut = NULL((void*)0);
941 modelica_metatype tmpMeta[12] __attribute__((unused)) = {0};
942 MMC_SO()mmc_check_stackoverflow(threadData);
943 _tailrecursive: OMC_LABEL_UNUSED__attribute__((unused))
944 // _tplLstFoldOut has no default value.
945 // _varLstOut has no default value.
946#line 919 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/Vectorization.mo"
947
948#line 919 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/Vectorization.mo"
949
950#line 950 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/Vectorization.c"
951 { /* matchcontinue expression */
952 volatile modelica_metatype tmp4_1;volatile modelica_metatype tmp4_2;
953 tmp4_1 = _tplLstIn;
954 tmp4_2 = _tplRef;
955 {
956 modelica_integer _idx0;
957 modelica_integer _idx1;
958 modelica_metatype _varLst = NULL((void*)0);
959 modelica_metatype _cref0 = NULL((void*)0);
960 modelica_metatype _cref1 = NULL((void*)0);
961 modelica_metatype _crefTailRef = NULL((void*)0);
962 modelica_metatype _rest = NULL((void*)0);
963 modelica_metatype _tplLst = NULL((void*)0);
964 modelica_metatype _tailCrefs0 = NULL((void*)0);
965 modelica_metatype _tailCrefs1 = NULL((void*)0);
966 volatile mmc_switch_type tmp4;
967 int tmp5;
968 // _idx0 has no default value.
969 // _idx1 has no default value.
970 // _varLst has no default value.
971 // _cref0 has no default value.
972 // _cref1 has no default value.
973 // _crefTailRef has no default value.
974 // _rest has no default value.
975 // _tplLst has no default value.
976 // _tailCrefs0 has no default value.
977 // _tailCrefs1 has no default value.
978 tmp4 = 0;
979 MMC_TRY_INTERNAL(mmc_jumper){ jmp_buf new_mmc_jumper, *old_jumper __attribute__((unused))
= threadData->mmc_jumper; threadData->mmc_jumper = &
new_mmc_jumper; if (_setjmp (new_mmc_jumper) == 0) {
980 tmp3_top:
981 threadData->mmc_jumper = &new_mmc_jumper;
982 for (; tmp4 < 3; tmp4++) {
983 switch (MMC_SWITCH_CAST(tmp4)(tmp4)) {
984 case 0: {
985 modelica_integer tmp6;
986 modelica_integer tmp7;
987 modelica_boolean tmp8;
988 if (listEmpty(tmp4_1)((*(mmc_uint_t*)((void*)((char*)(tmp4_1) - 3))) == (((0) <<
10) + (((0) & 255) << 2)))
) goto tmp3_end;
989 tmpMeta[2] = MMC_CAR(tmp4_1)(*(void**)(((void*)((void**)(((void*)((char*)(tmp4_1) - 3))) +
(1)))))
;
990 tmpMeta[3] = MMC_CDR(tmp4_1)(*(void**)(((void*)((void**)(((void*)((char*)(tmp4_1) - 3))) +
(2)))))
;
991 tmpMeta[4] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[2]), 1))(*(void**)(((void*)((void**)(((void*)((char*)(tmpMeta[2]) - 3
))) + (1)))))
;
992 tmpMeta[5] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[2]), 2))(*(void**)(((void*)((void**)(((void*)((char*)(tmpMeta[2]) - 3
))) + (2)))))
;
993 tmp6 = mmc_unbox_integer(tmpMeta[5])(((mmc_sint_t) (tmpMeta[5])) >> 1);
994 tmpMeta[6] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[2]), 3))(*(void**)(((void*)((void**)(((void*)((char*)(tmpMeta[2]) - 3
))) + (3)))))
;
995 tmpMeta[7] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 1))(*(void**)(((void*)((void**)(((void*)((char*)(tmp4_2) - 3))) +
(1)))))
;
996 tmpMeta[8] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2))(*(void**)(((void*)((void**)(((void*)((char*)(tmp4_2) - 3))) +
(2)))))
;
997 tmp7 = mmc_unbox_integer(tmpMeta[8])(((mmc_sint_t) (tmpMeta[8])) >> 1);
998 tmpMeta[9] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 3))(*(void**)(((void*)((void**)(((void*)((char*)(tmp4_2) - 3))) +
(3)))))
;
999 if (listEmpty(tmpMeta[9])((*(mmc_uint_t*)((void*)((char*)(tmpMeta[9]) - 3))) == (((0) <<
10) + (((0) & 255) << 2)))
) goto tmp3_end;
1000 tmpMeta[10] = MMC_CAR(tmpMeta[9])(*(void**)(((void*)((void**)(((void*)((char*)(tmpMeta[9]) - 3
))) + (1)))))
;
1001 tmpMeta[11] = MMC_CDR(tmpMeta[9])(*(void**)(((void*)((void**)(((void*)((char*)(tmpMeta[9]) - 3
))) + (2)))))
;
1002 if (!listEmpty(tmpMeta[11])((*(mmc_uint_t*)((void*)((char*)(tmpMeta[11]) - 3))) == (((0)
<< 10) + (((0) & 255) << 2)))
) goto tmp3_end;
1003 _cref0 = tmpMeta[4];
1004 _idx0 = tmp6 /* pattern as ty=Integer */;
1005 _tailCrefs0 = tmpMeta[6];
1006 _rest = tmpMeta[3];
1007 _cref1 = tmpMeta[7];
1008 _idx1 = tmp7 /* pattern as ty=Integer */;
1009 _crefTailRef = tmpMeta[10];
1010 /* Pattern matching succeeded */
1011#line 929 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/Vectorization.mo"
1012 /* Pattern-matching assignment */
1013#line 929 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/Vectorization.mo"
1014 tmp8 = omc_ComponentReference_crefEqual(threadData, _cref0, _cref1);
1015#line 929 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/Vectorization.mo"
1016 if (1 != tmp8) goto goto_2;
1017#line 1017 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/Vectorization.c"
1018
1019#line 930 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/Vectorization.mo"
1020 if(omc_List_notMember(threadData, _crefTailRef, _tailCrefs0))
1021#line 930 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/Vectorization.mo"
1022 {
1023#line 931 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/Vectorization.mo"
1024 tmpMeta[2] = mmc_mk_cons(_crefTailRef, _tailCrefs0);
1025#line 931 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/Vectorization.mo"
1026 _tailCrefs0 = tmpMeta[2];
1027#line 1027 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/Vectorization.c"
1028
1029#line 933 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/Vectorization.mo"
1030 tmpMeta[2] = mmc_mk_cons(_varIn, _varLstIn);
1031#line 933 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/Vectorization.mo"
1032 _varLst = tmpMeta[2];
1033#line 1033 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/Vectorization.c"
1034 }
1035 else
1036 {
1037#line 935 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/Vectorization.mo"
1038 _varLst = _varLstIn;
1039#line 1039 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/Vectorization.c"
1040 }
1041
1042#line 937 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/Vectorization.mo"
1043 tmpMeta[3] = mmc_mk_box3(0, _cref0, mmc_mk_integermmc_mk_icon(modelica_integer_max((modelica_integer)(_idx0),(modelica_integer)(_idx1))), _tailCrefs0);
1044#line 937 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/Vectorization.mo"
1045 tmpMeta[2] = mmc_mk_cons(tmpMeta[3], _rest);
1046#line 937 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/Vectorization.mo"
1047 _tplLst = tmpMeta[2];
1048#line 1048 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/Vectorization.c"
1049
1050#line 938 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/Vectorization.mo"
1051 _tplLst = omc_List_append__reverse(threadData, _tplLst, _tplLstFoldIn);
1052#line 1052 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/Vectorization.c"
1053#line 939 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/Vectorization.mo"
1054 tmpMeta[0+0] = _tplLst;
1055#line 939 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/Vectorization.mo"
1056 tmpMeta[0+1] = _varLst;
1057#line 1057 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/Vectorization.c"
1058 goto tmp3_done;
1059 }
1060 case 1: {
1061 modelica_integer tmp9;
1062 modelica_boolean tmp10;
1063 if (listEmpty(tmp4_1)((*(mmc_uint_t*)((void*)((char*)(tmp4_1) - 3))) == (((0) <<
10) + (((0) & 255) << 2)))
) goto tmp3_end;
1064 tmpMeta[2] = MMC_CAR(tmp4_1)(*(void**)(((void*)((void**)(((void*)((char*)(tmp4_1) - 3))) +
(1)))))
;
1065 tmpMeta[3] = MMC_CDR(tmp4_1)(*(void**)(((void*)((void**)(((void*)((char*)(tmp4_1) - 3))) +
(2)))))
;
1066 tmpMeta[4] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[2]), 1))(*(void**)(((void*)((void**)(((void*)((char*)(tmpMeta[2]) - 3
))) + (1)))))
;
1067 tmpMeta[5] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[2]), 2))(*(void**)(((void*)((void**)(((void*)((char*)(tmpMeta[2]) - 3
))) + (2)))))
;
1068 tmp9 = mmc_unbox_integer(tmpMeta[5])(((mmc_sint_t) (tmpMeta[5])) >> 1);
1069 tmpMeta[6] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[2]), 3))(*(void**)(((void*)((void**)(((void*)((char*)(tmpMeta[2]) - 3
))) + (3)))))
;
1070 tmpMeta[7] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 1))(*(void**)(((void*)((void**)(((void*)((char*)(tmp4_2) - 3))) +
(1)))))
;
1071
1072 _cref0 = tmpMeta[4];
1073 _idx0 = tmp9 /* pattern as ty=Integer */;
1074 _tailCrefs0 = tmpMeta[6];
1075 _rest = tmpMeta[3];
1076 _cref1 = tmpMeta[7];
1077 tmp4 += 1; /* Pattern matching succeeded; we may skip some cases if we fail */
1078#line 944 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/Vectorization.mo"
1079 /* Pattern-matching assignment */
1080#line 944 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/Vectorization.mo"
1081 tmp10 = omc_ComponentReference_crefEqual(threadData, _cref0, _cref1);
1082#line 944 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/Vectorization.mo"
1083 if (0 != tmp10) goto goto_2;
1084#line 1084 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/Vectorization.c"
1085#line 945 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/Vectorization.mo"
1086 tmpMeta[3] = mmc_mk_box3(0, _cref0, mmc_mk_integermmc_mk_icon(_idx0), _tailCrefs0);
1087#line 945 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/Vectorization.mo"
1088 tmpMeta[2] = mmc_mk_cons(tmpMeta[3], _tplLstFoldIn);
1089#line 945 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/Vectorization.mo"
1090 tmpMeta[0+0] = omc_Vectorization_addToArrayCrefLst(threadData, _rest, _varIn, _tplRef, tmpMeta[2], _varLstIn, &tmpMeta[0+1]);
1091#line 1091 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/Vectorization.c"
1092 goto tmp3_done;
1093 }
1094 case 2: {
1095 modelica_integer tmp11;
1096 if (!listEmpty(tmp4_1)((*(mmc_uint_t*)((void*)((char*)(tmp4_1) - 3))) == (((0) <<
10) + (((0) & 255) << 2)))
) goto tmp3_end;
1097 tmpMeta[2] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 1))(*(void**)(((void*)((void**)(((void*)((char*)(tmp4_2) - 3))) +
(1)))))
;
1098 tmpMeta[3] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2))(*(void**)(((void*)((void**)(((void*)((char*)(tmp4_2) - 3))) +
(2)))))
;
1099 tmp11 = mmc_unbox_integer(tmpMeta[3])(((mmc_sint_t) (tmpMeta[3])) >> 1);
1100 tmpMeta[4] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 3))(*(void**)(((void*)((void**)(((void*)((char*)(tmp4_2) - 3))) +
(3)))))
;
1101 _cref1 = tmpMeta[2];
1102 _idx1 = tmp11 /* pattern as ty=Integer */;
1103 _tailCrefs1 = tmpMeta[4];
1104 /* Pattern matching succeeded */
1105#line 951 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/Vectorization.mo"
1106 tmpMeta[3] = mmc_mk_box3(0, _cref1, mmc_mk_integermmc_mk_icon(_idx1), _tailCrefs1);
1107#line 951 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/Vectorization.mo"
1108 tmpMeta[2] = mmc_mk_cons(tmpMeta[3], _tplLstFoldIn);
1109#line 951 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/Vectorization.mo"
1110 _tplLst = tmpMeta[2];
1111#line 1111 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/Vectorization.c"
1112#line 952 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/Vectorization.mo"
1113 tmpMeta[2] = mmc_mk_cons(_varIn, _varLstIn);
1114#line 952 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/Vectorization.mo"
1115 tmpMeta[0+0] = _tplLst;
1116#line 952 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/Vectorization.mo"
1117 tmpMeta[0+1] = tmpMeta[2];
1118#line 1118 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/Vectorization.c"
1119 goto tmp3_done;
1120 }
1121 }
1122 goto tmp3_end;
1123 tmp3_end: ;
1124 }
1125 goto goto_2;
1126 tmp3_done:
1127 (void)tmp4;
1128 MMC_RESTORE_INTERNAL(mmc_jumper)threadData->mmc_jumper = old_jumper;;
1129 goto tmp3_done2;
1130 goto_2:;
1131 MMC_CATCH_INTERNAL(mmc_jumper)} threadData->mmc_jumper = old_jumper;mmc_catch_dummy_fn()
;}
;
1132 if (++tmp4 < 3) {
1133 goto tmp3_top;
1134 }
1135 MMC_THROW_INTERNAL(){longjmp(*threadData->mmc_jumper,1);};
1136 tmp3_done2:;
1137 }
1138 }
1139 _tplLstFoldOut = tmpMeta[0+0];
1140 _varLstOut = tmpMeta[0+1];
1141 _return: OMC_LABEL_UNUSED__attribute__((unused))
1142 if (out_varLstOut) { *out_varLstOut = _varLstOut; }
1143 return _tplLstFoldOut;
1144}
1145
1146PROTECTED_FUNCTION_STATIC modelica_metatype omc_Vectorization_getArrayVarCrefs(threadData_t *threadData, modelica_metatype _varIn, modelica_metatype _tplIn)
1147{
1148 modelica_metatype _tplOut = NULL((void*)0);
1149 modelica_metatype tmpMeta[4] __attribute__((unused)) = {0};
1150 MMC_SO()mmc_check_stackoverflow(threadData);
1151 _tailrecursive: OMC_LABEL_UNUSED__attribute__((unused))
1152 // _tplOut has no default value.
1153#line 1153 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/Vectorization.c"
1154 { /* matchcontinue expression */
1155 volatile modelica_metatype tmp3_1;volatile modelica_metatype tmp3_2;
1156 tmp3_1 = _varIn;
1157 tmp3_2 = _tplIn;
1158 {
1159 modelica_integer _idx;
1160 modelica_metatype _arrVars = NULL((void*)0);
1161 modelica_metatype _cref = NULL((void*)0);
1162 modelica_metatype _crefHead = NULL((void*)0);
1163 modelica_metatype _crefTailOpt = NULL((void*)0);
1164 modelica_metatype _crefLst = NULL((void*)0);
1165 modelica_metatype _tplLst = NULL((void*)0);
1166 volatile mmc_switch_type tmp3;
1167 int tmp4;
1168 // _idx has no default value.
1169 // _arrVars has no default value.
1170 // _cref has no default value.
1171 // _crefHead has no default value.
1172 // _crefTailOpt has no default value.
1173 // _crefLst has no default value.
1174 // _tplLst has no default value.
1175 tmp3 = 0;
1176 MMC_TRY_INTERNAL(mmc_jumper){ jmp_buf new_mmc_jumper, *old_jumper __attribute__((unused))
= threadData->mmc_jumper; threadData->mmc_jumper = &
new_mmc_jumper; if (_setjmp (new_mmc_jumper) == 0) {
1177 tmp2_top:
1178 threadData->mmc_jumper = &new_mmc_jumper;
1179 for (; tmp3 < 2; tmp3++) {
1180 switch (MMC_SWITCH_CAST(tmp3)(tmp3)) {
1181 case 0: {
1182 modelica_boolean tmp5;
1183 tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_1), 2))(*(void**)(((void*)((void**)(((void*)((char*)(tmp3_1) - 3))) +
(2)))))
;
1184 tmpMeta[2] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_2), 1))(*(void**)(((void*)((void**)(((void*)((char*)(tmp3_2) - 3))) +
(1)))))
;
1185 tmpMeta[3] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_2), 2))(*(void**)(((void*)((void**)(((void*)((char*)(tmp3_2) - 3))) +
(2)))))
;
1186 _cref = tmpMeta[1];
1187 _tplLst = tmpMeta[2];
1188 _arrVars = tmpMeta[3];
1189 /* Pattern matching succeeded */
1190#line 894 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/Vectorization.mo"
1191 /* Pattern-matching assignment */
1192#line 894 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/Vectorization.mo"
1193 tmp5 = omc_ComponentReference_isArrayElement(threadData, _cref);
1194#line 894 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/Vectorization.mo"
1195 if (1 != tmp5) goto goto_1;
1196#line 1196 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/Vectorization.c"
1197
1198#line 895 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/Vectorization.mo"
1199 _crefHead = omc_ComponentReference_stripArrayCref(threadData, _cref ,&_idx ,&_crefTailOpt);
1200#line 1200 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/Vectorization.c"
1201
1202#line 896 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/Vectorization.mo"
1203 if(isSome(_crefTailOpt)(0==((((((*(mmc_uint_t*)((void*)((char*)(_crefTailOpt) - 3)))
) & (7)) == 5)) ? ((((*(mmc_uint_t*)((void*)((char*)(_crefTailOpt
) - 3)))) >> (3+3))) : (((*(mmc_uint_t*)((void*)((char*
)(_crefTailOpt) - 3)))) >> 10)) ? 0 : 1)
)
1204#line 896 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/Vectorization.mo"
1205 {
1206#line 897 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/Vectorization.mo"
1207 tmpMeta[1] = mmc_mk_cons(omc_Util_getOption(threadData, _crefTailOpt), MMC_REFSTRUCTLIT(mmc_nil)((void*)((char*)(&(mmc_nil).header) + 3)));
1208#line 897 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/Vectorization.mo"
1209 _crefLst = tmpMeta[1];
1210#line 1210 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/Vectorization.c"
1211 }
1212 else
1213 {
1214#line 899 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/Vectorization.mo"
1215 tmpMeta[1] = MMC_REFSTRUCTLIT(mmc_nil)((void*)((char*)(&(mmc_nil).header) + 3));
1216#line 899 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/Vectorization.mo"
1217 _crefLst = tmpMeta[1];
1218#line 1218 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/Vectorization.c"
1219 }
1220
1221#line 901 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/Vectorization.mo"
1222 tmpMeta[1] = mmc_mk_box3(0, _crefHead, mmc_mk_integermmc_mk_icon(_idx), _crefLst);
1223#line 901 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/Vectorization.mo"
1224 tmpMeta[2] = MMC_REFSTRUCTLIT(mmc_nil)((void*)((char*)(&(mmc_nil).header) + 3));
1225#line 901 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/Vectorization.mo"
1226 _tplLst = omc_Vectorization_addToArrayCrefLst(threadData, _tplLst, _varIn, tmpMeta[1], tmpMeta[2], _arrVars ,&_arrVars);
1227#line 1227 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/Vectorization.c"
1228#line 902 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/Vectorization.mo"
1229 tmpMeta[1] = mmc_mk_box2(0, _tplLst, _arrVars);
1230#line 902 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/Vectorization.mo"
1231 tmpMeta[0] = tmpMeta[1];
1232#line 1232 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/Vectorization.c"
1233 goto tmp2_done;
1234 }
1235 case 1: {
1236
1237 /* Pattern matching succeeded */
1238#line 905 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/Vectorization.mo"
1239 tmpMeta[0] = _tplIn;
1240#line 1240 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/Vectorization.c"
1241 goto tmp2_done;
1242 }
1243 }
1244 goto tmp2_end;
1245 tmp2_end: ;
1246 }
1247 goto goto_1;
1248 tmp2_done:
1249 (void)tmp3;
1250 MMC_RESTORE_INTERNAL(mmc_jumper)threadData->mmc_jumper = old_jumper;;
1251 goto tmp2_done2;
1252 goto_1:;
1253 MMC_CATCH_INTERNAL(mmc_jumper)} threadData->mmc_jumper = old_jumper;mmc_catch_dummy_fn()
;}
;
1254 if (++tmp3 < 2) {
1255 goto tmp2_top;
1256 }
1257 MMC_THROW_INTERNAL(){longjmp(*threadData->mmc_jumper,1);};
1258 tmp2_done2:;
1259 }
1260 }
1261 _tplOut = tmpMeta[0];
1262 _return: OMC_LABEL_UNUSED__attribute__((unused))
1263 return _tplOut;
1264}
1265
1266PROTECTED_FUNCTION_STATIC modelica_metatype omc_Vectorization_setIteratorSubscriptCrefinEquation(threadData_t *threadData, modelica_metatype _inExp, modelica_metatype _tplIn, modelica_metatype *out_tplOut)
1267{
1268 modelica_metatype _outExp = NULL((void*)0);
1269 modelica_metatype _tplOut = NULL((void*)0);
1270 modelica_metatype tmpMeta[8] __attribute__((unused)) = {0};
1271 MMC_SO()mmc_check_stackoverflow(threadData);
1272 _tailrecursive: OMC_LABEL_UNUSED__attribute__((unused))
1273 // _outExp has no default value.
1274 // _tplOut has no default value.
1275#line 821 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/Vectorization.mo"
1276
1277#line 821 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/Vectorization.mo"
1278
1279#line 1279 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/Vectorization.c"
1280 { /* matchcontinue expression */
1281 volatile modelica_metatype tmp4_1;volatile modelica_metatype tmp4_2;
1282 tmp4_1 = _inExp;
1283 tmp4_2 = _tplIn;
1284 {
1285 modelica_integer _min;
1286 modelica_metatype _path = NULL((void*)0);
1287 modelica_metatype _attr = NULL((void*)0);
1288 modelica_metatype _cref = NULL((void*)0);
1289 modelica_metatype _refCref = NULL((void*)0);
1290 modelica_metatype _exp1 = NULL((void*)0);
1291 modelica_metatype _exp2 = NULL((void*)0);
1292 modelica_metatype _iterator = NULL((void*)0);
1293 modelica_metatype _iterator1 = NULL((void*)0);
1294 modelica_metatype _op = NULL((void*)0);
1295 modelica_metatype _ty = NULL((void*)0);
1296 modelica_metatype _eLst = NULL((void*)0);
1297 modelica_metatype _constCrefs = NULL((void*)0);
1298 modelica_metatype _refCrefMinMax = NULL((void*)0);
1299 modelica_metatype _crefMinMax0 = NULL((void*)0);
1300 modelica_metatype _crefMinMax1 = NULL((void*)0);
1301 volatile mmc_switch_type tmp4;
1302 int tmp5;
1303 // _min has no default value.
1304 // _path has no default value.
1305 // _attr has no default value.
1306 // _cref has no default value.
1307 // _refCref has no default value.
1308 // _exp1 has no default value.
1309 // _exp2 has no default value.
1310 // _iterator has no default value.
1311 // _iterator1 has no default value.
1312 // _op has no default value.
1313 // _ty has no default value.
1314 // _eLst has no default value.
1315 // _constCrefs has no default value.
1316 // _refCrefMinMax has no default value.
1317 // _crefMinMax0 has no default value.
1318 // _crefMinMax1 has no default value.
1319 tmp4 = 0;
1320 MMC_TRY_INTERNAL(mmc_jumper){ jmp_buf new_mmc_jumper, *old_jumper __attribute__((unused))
= threadData->mmc_jumper; threadData->mmc_jumper = &
new_mmc_jumper; if (_setjmp (new_mmc_jumper) == 0) {
1321 tmp3_top:
1322 threadData->mmc_jumper = &new_mmc_jumper;
1323 for (; tmp4 < 5; tmp4++) {
1324 switch (MMC_SWITCH_CAST(tmp4)(tmp4)) {
1325 case 0: {
1326 modelica_boolean tmp6;
1327 modelica_integer tmp7;
1328 if (mmc__uniontype__metarecord__typedef__equal(tmp4_1,6,2)((*(mmc_uint_t*)((void*)((char*)(tmp4_1) - 3)))==(((2 +1) <<
10) + (((6 +3) & 255) << 2)))
== 0) goto tmp3_end;
1329 tmpMeta[2] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_1), 2))(*(void**)(((void*)((void**)(((void*)((char*)(tmp4_1) - 3))) +
(2)))))
;
1330 tmpMeta[3] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_1), 3))(*(void**)(((void*)((void**)(((void*)((char*)(tmp4_1) - 3))) +
(3)))))
;
1331 tmpMeta[4] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 1))(*(void**)(((void*)((void**)(((void*)((char*)(tmp4_2) - 3))) +
(1)))))
;
1332 tmpMeta[5] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2))(*(void**)(((void*)((void**)(((void*)((char*)(tmp4_2) - 3))) +
(2)))))
;
1333 tmpMeta[6] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 3))(*(void**)(((void*)((void**)(((void*)((char*)(tmp4_2) - 3))) +
(3)))))
;
1334 _cref = tmpMeta[2];
1335 _ty = tmpMeta[3];
1336 _crefMinMax0 = tmpMeta[4];
1337 _iterator = tmpMeta[5];
1338 _constCrefs = tmpMeta[6];
1339 tmp4 += 3; /* Pattern matching succeeded; we may skip some cases if we fail */
1340#line 837 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/Vectorization.mo"
1341 /* Pattern-matching assignment */
1342#line 837 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/Vectorization.mo"
1343 tmp6 = (!omc_List_exist1(threadData, _constCrefs, boxvar_ComponentReference_crefEqual((void*)((char*)(&(boxvar_lit_ComponentReference_crefEqual
).header) + 3))
, _cref));
1344#line 837 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/Vectorization.mo"
1345 if (1 != tmp6) goto goto_2;
1346#line 1346 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/Vectorization.c"
1347
1348#line 838 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/Vectorization.mo"
1349 tmpMeta[2] = MMC_REFSTRUCTLIT(mmc_nil)((void*)((char*)(&(mmc_nil).header) + 3));
1350#line 838 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/Vectorization.mo"
1351 _crefMinMax1 = tmpMeta[2];
1352#line 1352 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/Vectorization.c"
1353
1354#line 839 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/Vectorization.mo"
1355 {
1356#line 839 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/Vectorization.mo"
1357 modelica_metatype _refCrefMinMax;
1358#line 839 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/Vectorization.mo"
1359 for (tmpMeta[2] = _crefMinMax0; !listEmpty(tmpMeta[2])((*(mmc_uint_t*)((void*)((char*)(tmpMeta[2]) - 3))) == (((0) <<
10) + (((0) & 255) << 2)))
; tmpMeta[2]=MMC_CDR(tmpMeta[2])(*(void**)(((void*)((void**)(((void*)((char*)(tmpMeta[2]) - 3
))) + (2)))))
)
1360#line 839 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/Vectorization.mo"
1361 {
1362#line 839 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/Vectorization.mo"
1363 _refCrefMinMax = MMC_CAR(tmpMeta[2])(*(void**)(((void*)((void**)(((void*)((char*)(tmpMeta[2]) - 3
))) + (1)))))
;
1364#line 840 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/Vectorization.mo"
1365 /* Pattern-matching assignment */
1366#line 840 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/Vectorization.mo"
1367 tmpMeta[3] = _refCrefMinMax;
1368#line 840 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/Vectorization.mo"
1369 tmpMeta[4] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[3]), 1))(*(void**)(((void*)((void**)(((void*)((char*)(tmpMeta[3]) - 3
))) + (1)))))
;
1370#line 840 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/Vectorization.mo"
1371 tmpMeta[5] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[3]), 2))(*(void**)(((void*)((void**)(((void*)((char*)(tmpMeta[3]) - 3
))) + (2)))))
;
1372#line 840 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/Vectorization.mo"
1373 tmp7 = mmc_unbox_integer(tmpMeta[5])(((mmc_sint_t) (tmpMeta[5])) >> 1);
1374#line 840 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/Vectorization.mo"
1375 _refCref = tmpMeta[4];
1376#line 840 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/Vectorization.mo"
1377 _min = tmp7 /* pattern as ty=Integer */;
1378#line 1378 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/Vectorization.c"
1379
1380#line 842 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/Vectorization.mo"
1381 if(omc_ComponentReference_crefEqualWithoutSubs(threadData, _refCref, _cref))
1382#line 842 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/Vectorization.mo"
1383 {
1384#line 843 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/Vectorization.mo"
1385 tmpMeta[3] = mmc_mk_box2(3, &DAE_Exp_ICONST__desc, mmc_mk_integermmc_mk_icon(((modelica_integer) -1) + _min));
1386#line 843 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/Vectorization.mo"
1387 tmpMeta[4] = mmc_mk_box4(10, &DAE_Exp_BINARY__desc, _iterator, _OMC_LIT1((void*)((char*)(&(_OMC_LIT_STRUCT1).header) + 3)), tmpMeta[3]);
1388#line 843 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/Vectorization.mo"
1389 _iterator1 = omc_ExpressionSimplify_simplify(threadData, tmpMeta[4], NULL((void*)0));
1390#line 1390 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/Vectorization.c"
1391
1392#line 844 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/Vectorization.mo"
1393 tmpMeta[4] = mmc_mk_box2(5, &DAE_Subscript_INDEX__desc, _iterator1);
1394#line 844 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/Vectorization.mo"
1395 tmpMeta[3] = mmc_mk_cons(tmpMeta[4], MMC_REFSTRUCTLIT(mmc_nil)((void*)((char*)(&(mmc_nil).header) + 3)));
1396#line 844 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/Vectorization.mo"
1397 _cref = omc_Vectorization_replaceFirstSubsInCref(threadData, _cref, tmpMeta[3]);
1398#line 1398 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/Vectorization.c"
1399 }
1400 else
1401 {
1402#line 847 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/Vectorization.mo"
1403 tmpMeta[3] = mmc_mk_cons(_refCrefMinMax, _crefMinMax1);
1404#line 847 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/Vectorization.mo"
1405 _crefMinMax1 = tmpMeta[3];
1406#line 1406 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/Vectorization.c"
1407 }
1408 }
1409 }
1410#line 850 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/Vectorization.mo"
1411 tmpMeta[2] = mmc_mk_box3(9, &DAE_Exp_CREF__desc, _cref, _ty);
1412#line 850 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/Vectorization.mo"
1413 tmpMeta[3] = mmc_mk_box3(0, _crefMinMax1, _iterator, _constCrefs);
1414#line 850 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/Vectorization.mo"
1415 tmpMeta[0+0] = tmpMeta[2];
1416#line 850 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/Vectorization.mo"
1417 tmpMeta[0+1] = tmpMeta[3];
1418#line 1418 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/Vectorization.c"
1419 goto tmp3_done;
1420 }
1421 case 1: {
1422 if (mmc__uniontype__metarecord__typedef__equal(tmp4_1,7,3)((*(mmc_uint_t*)((void*)((char*)(tmp4_1) - 3)))==(((3 +1) <<
10) + (((7 +3) & 255) << 2)))
== 0) goto tmp3_end;
1423 tmpMeta[2] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_1), 2))(*(void**)(((void*)((void**)(((void*)((char*)(tmp4_1) - 3))) +
(2)))))
;
1424 tmpMeta[3] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_1), 3))(*(void**)(((void*)((void**)(((void*)((char*)(tmp4_1) - 3))) +
(3)))))
;
1425 tmpMeta[4] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_1), 4))(*(void**)(((void*)((void**)(((void*)((char*)(tmp4_1) - 3))) +
(4)))))
;
1426 tmpMeta[5] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 1))(*(void**)(((void*)((void**)(((void*)((char*)(tmp4_2) - 3))) +
(1)))))
;
1427 tmpMeta[6] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2))(*(void**)(((void*)((void**)(((void*)((char*)(tmp4_2) - 3))) +
(2)))))
;
1428 tmpMeta[7] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 3))(*(void**)(((void*)((void**)(((void*)((char*)(tmp4_2) - 3))) +
(3)))))
;
1429 _exp1 = tmpMeta[2];
1430 _op = tmpMeta[3];
1431 _exp2 = tmpMeta[4];
1432 _crefMinMax0 = tmpMeta[5];
1433 _iterator = tmpMeta[6];
1434 _constCrefs = tmpMeta[7];
Value stored to '_constCrefs' is never read
1435 tmp4 += 2; /* Pattern matching succeeded; we may skip some cases if we fail */
1436#line 855 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/Vectorization.mo"
1437 /* Pattern-matching tuple assignment */
1438#line 855 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/Vectorization.mo"
1439 tmpMeta[6] = omc_Vectorization_setIteratorSubscriptCrefinEquation(threadData, _exp1, _tplIn, &tmpMeta[2]);
1440#line 855 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/Vectorization.mo"
1441 _exp1 = tmpMeta[6];
1442#line 855 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/Vectorization.mo"
1443 tmpMeta[3] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[2]), 1))(*(void**)(((void*)((void**)(((void*)((char*)(tmpMeta[2]) - 3
))) + (1)))))
;
1444#line 855 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/Vectorization.mo"
1445 tmpMeta[4] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[2]), 2))(*(void**)(((void*)((void**)(((void*)((char*)(tmpMeta[2]) - 3
))) + (2)))))
;
1446#line 855 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/Vectorization.mo"
1447 tmpMeta[5] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[2]), 3))(*(void**)(((void*)((void**)(((void*)((char*)(tmpMeta[2]) - 3
))) + (3)))))
;
1448#line 855 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/Vectorization.mo"
1449 _crefMinMax0 = tmpMeta[3];
1450#line 855 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/Vectorization.mo"
1451 _iterator = tmpMeta[4];
1452#line 855 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/Vectorization.mo"
1453 _constCrefs = tmpMeta[5];
1454#line 1454 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/Vectorization.c"
1455
1456#line 856 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/Vectorization.mo"
1457 /* Pattern-matching tuple assignment */
1458#line 856 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/Vectorization.mo"
1459 tmpMeta[6] = mmc_mk_box3(0, _crefMinMax0, _iterator, _constCrefs);
1460#line 856 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/Vectorization.mo"
1461 tmpMeta[7] = omc_Vectorization_setIteratorSubscriptCrefinEquation(threadData, _exp2, tmpMeta[6], &tmpMeta[2]);
1462#line 856 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/Vectorization.mo"
1463 _exp2 = tmpMeta[7];
1464#line 856 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/Vectorization.mo"
1465 tmpMeta[3] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[2]), 1))(*(void**)(((void*)((void**)(((void*)((char*)(tmpMeta[2]) - 3
))) + (1)))))
;
1466#line 856 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/Vectorization.mo"
1467 tmpMeta[4] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[2]), 2))(*(void**)(((void*)((void**)(((void*)((char*)(tmpMeta[2]) - 3
))) + (2)))))
;
1468#line 856 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/Vectorization.mo"
1469 tmpMeta[5] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[2]), 3))(*(void**)(((void*)((void**)(((void*)((char*)(tmpMeta[2]) - 3
))) + (3)))))
;
1470#line 856 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/Vectorization.mo"
1471 _crefMinMax0 = tmpMeta[3];
1472#line 856 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/Vectorization.mo"
1473 _iterator = tmpMeta[4];
1474#line 856 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/Vectorization.mo"
1475 _constCrefs = tmpMeta[5];
1476#line 1476 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/Vectorization.c"
1477#line 857 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/Vectorization.mo"
1478 tmpMeta[2] = mmc_mk_box4(10, &DAE_Exp_BINARY__desc, _exp1, _op, _exp2);
1479#line 857 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/Vectorization.mo"
1480 tmpMeta[3] = mmc_mk_box3(0, _crefMinMax0, _iterator, _constCrefs);
1481#line 857 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/Vectorization.mo"
1482 tmpMeta[0+0] = tmpMeta[2];
1483#line 857 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/Vectorization.mo"
1484 tmpMeta[0+1] = tmpMeta[3];
1485#line 1485 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/Vectorization.c"
1486 goto tmp3_done;
1487 }
1488 case 2: {
1489 if (mmc__uniontype__metarecord__typedef__equal(tmp4_1,8,2)((*(mmc_uint_t*)((void*)((char*)(tmp4_1) - 3)))==(((2 +1) <<
10) + (((8 +3) & 255) << 2)))
== 0) goto tmp3_end;
1490 tmpMeta[2] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_1), 2))(*(void**)(((void*)((void**)(((void*)((char*)(tmp4_1) - 3))) +
(2)))))
;
1491 tmpMeta[3] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_1), 3))(*(void**)(((void*)((void**)(((void*)((char*)(tmp4_1) - 3))) +
(3)))))
;
1492 tmpMeta[4] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 1))(*(void**)(((void*)((void**)(((void*)((char*)(tmp4_2) - 3))) +
(1)))))
;
1493 tmpMeta[5] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2))(*(void**)(((void*)((void**)(((void*)((char*)(tmp4_2) - 3))) +
(2)))))
;
1494 tmpMeta[6] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 3))(*(void**)(((void*)((void**)(((void*)((char*)(tmp4_2) - 3))) +
(3)))))
;
1495 _op = tmpMeta[2];
1496 _exp1 = tmpMeta[3];
1497 _crefMinMax0 = tmpMeta[4];
1498 _iterator = tmpMeta[5];
1499 _constCrefs = tmpMeta[6];
1500 tmp4 += 1; /* Pattern matching succeeded; we may skip some cases if we fail */
1501#line 862 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/Vectorization.mo"
1502 /* Pattern-matching tuple assignment */
1503#line 862 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/Vectorization.mo"
1504 tmpMeta[6] = omc_Vectorization_setIteratorSubscriptCrefinEquation(threadData, _exp1, _tplIn, &tmpMeta[2]);
1505#line 862 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/Vectorization.mo"
1506 _exp1 = tmpMeta[6];
1507#line 862 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/Vectorization.mo"
1508 tmpMeta[3] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[2]), 1))(*(void**)(((void*)((void**)(((void*)((char*)(tmpMeta[2]) - 3
))) + (1)))))
;
1509#line 862 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/Vectorization.mo"
1510 tmpMeta[4] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[2]), 2))(*(void**)(((void*)((void**)(((void*)((char*)(tmpMeta[2]) - 3
))) + (2)))))
;
1511#line 862 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/Vectorization.mo"
1512 tmpMeta[5] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[2]), 3))(*(void**)(((void*)((void**)(((void*)((char*)(tmpMeta[2]) - 3
))) + (3)))))
;
1513#line 862 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/Vectorization.mo"
1514 _crefMinMax0 = tmpMeta[3];
1515#line 862 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/Vectorization.mo"
1516 _iterator = tmpMeta[4];
1517#line 862 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/Vectorization.mo"
1518 _constCrefs = tmpMeta[5];
1519#line 1519 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/Vectorization.c"
1520#line 863 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/Vectorization.mo"
1521 tmpMeta[2] = mmc_mk_box3(11, &DAE_Exp_UNARY__desc, _op, _exp1);
1522#line 863 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/Vectorization.mo"
1523 tmpMeta[3] = mmc_mk_box3(0, _crefMinMax0, _iterator, _constCrefs);
1524#line 863 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/Vectorization.mo"
1525 tmpMeta[0+0] = tmpMeta[2];
1526#line 863 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/Vectorization.mo"
1527 tmpMeta[0+1] = tmpMeta[3];
1528#line 1528 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/Vectorization.c"
1529 goto tmp3_done;
1530 }
1531 case 3: {
1532 if (mmc__uniontype__metarecord__typedef__equal(tmp4_1,13,3)((*(mmc_uint_t*)((void*)((char*)(tmp4_1) - 3)))==(((3 +1) <<
10) + (((13 +3) & 255) << 2)))
== 0) goto tmp3_end;
1533 tmpMeta[2] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_1), 2))(*(void**)(((void*)((void**)(((void*)((char*)(tmp4_1) - 3))) +
(2)))))
;
1534 tmpMeta[3] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_1), 3))(*(void**)(((void*)((void**)(((void*)((char*)(tmp4_1) - 3))) +
(3)))))
;
1535 tmpMeta[4] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_1), 4))(*(void**)(((void*)((void**)(((void*)((char*)(tmp4_1) - 3))) +
(4)))))
;
1536 tmpMeta[5] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 1))(*(void**)(((void*)((void**)(((void*)((char*)(tmp4_2) - 3))) +
(1)))))
;
1537 tmpMeta[6] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2))(*(void**)(((void*)((void**)(((void*)((char*)(tmp4_2) - 3))) +
(2)))))
;
1538 tmpMeta[7] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 3))(*(void**)(((void*)((void**)(((void*)((char*)(tmp4_2) - 3))) +
(3)))))
;
1539 _path = tmpMeta[2];
1540 _eLst = tmpMeta[3];
1541 _attr = tmpMeta[4];
1542 _crefMinMax0 = tmpMeta[5];
1543 _iterator = tmpMeta[6];
1544 _constCrefs = tmpMeta[7];
1545 /* Pattern matching succeeded */
1546#line 868 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/Vectorization.mo"
1547 /* Pattern-matching tuple assignment */
1548#line 868 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/Vectorization.mo"
1549 tmpMeta[6] = omc_List_mapFold(threadData, _eLst, boxvar_Vectorization_setIteratorSubscriptCrefinEquation((void*)((char*)(&(boxvar_lit_Vectorization_setIteratorSubscriptCrefinEquation
).header) + 3))
, _tplIn, &tmpMeta[2]);
1550#line 868 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/Vectorization.mo"
1551 _eLst = tmpMeta[6];
1552#line 868 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/Vectorization.mo"
1553 tmpMeta[3] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[2]), 1))(*(void**)(((void*)((void**)(((void*)((char*)(tmpMeta[2]) - 3
))) + (1)))))
;
1554#line 868 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/Vectorization.mo"
1555 tmpMeta[4] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[2]), 2))(*(void**)(((void*)((void**)(((void*)((char*)(tmpMeta[2]) - 3
))) + (2)))))
;
1556#line 868 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/Vectorization.mo"
1557 tmpMeta[5] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[2]), 3))(*(void**)(((void*)((void**)(((void*)((char*)(tmpMeta[2]) - 3
))) + (3)))))
;
1558#line 868 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/Vectorization.mo"
1559 _crefMinMax0 = tmpMeta[3];
1560#line 868 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/Vectorization.mo"
1561 _iterator = tmpMeta[4];
1562#line 868 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/Vectorization.mo"
1563 _constCrefs = tmpMeta[5];
1564#line 1564 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/Vectorization.c"
1565#line 869 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/Vectorization.mo"
1566 tmpMeta[2] = mmc_mk_box4(16, &DAE_Exp_CALL__desc, _path, _eLst, _attr);
1567#line 869 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/Vectorization.mo"
1568 tmpMeta[3] = mmc_mk_box3(0, _crefMinMax0, _iterator, _constCrefs);
1569#line 869 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/Vectorization.mo"
1570 tmpMeta[0+0] = tmpMeta[2];
1571#line 869 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/Vectorization.mo"
1572 tmpMeta[0+1] = tmpMeta[3];
1573#line 1573 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/Vectorization.c"
1574 goto tmp3_done;
1575 }
1576 case 4: {
1577
1578 /* Pattern matching succeeded */
1579#line 872 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/Vectorization.mo"
1580 tmpMeta[0+0] = _inExp;
1581#line 872 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/Vectorization.mo"
1582 tmpMeta[0+1] = _tplIn;
1583#line 1583 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/Vectorization.c"
1584 goto tmp3_done;
1585 }
1586 }
1587 goto tmp3_end;
1588 tmp3_end: ;
1589 }
1590 goto goto_2;
1591 tmp3_done:
1592 (void)tmp4;
1593 MMC_RESTORE_INTERNAL(mmc_jumper)threadData->mmc_jumper = old_jumper;;
1594 goto tmp3_done2;
1595 goto_2:;
1596 MMC_CATCH_INTERNAL(mmc_jumper)} threadData->mmc_jumper = old_jumper;mmc_catch_dummy_fn()
;}
;
1597 if (++tmp4 < 5) {
1598 goto tmp3_top;
1599 }
1600 MMC_THROW_INTERNAL(){longjmp(*threadData->mmc_jumper,1);};
1601 tmp3_done2:;
1602 }
1603 }
1604 _outExp = tmpMeta[0+0];
1605 _tplOut = tmpMeta[0+1];
1606 _return: OMC_LABEL_UNUSED__attribute__((unused))
1607 if (out_tplOut) { *out_tplOut = _tplOut; }
1608 return _outExp;
1609}
1610
1611PROTECTED_FUNCTION_STATIC modelica_metatype omc_Vectorization_getCrefIdcsForEquation(threadData_t *threadData, modelica_metatype _eq, modelica_metatype _constCrefs, modelica_metatype _crefMinMaxIn)
1612{
1613 modelica_metatype _crefMinMaxOut = NULL((void*)0);
1614 modelica_metatype tmpMeta[7] __attribute__((unused)) = {0};
1615 MMC_SO()mmc_check_stackoverflow(threadData);
1616 _tailrecursive: OMC_LABEL_UNUSED__attribute__((unused))
1617 // _crefMinMaxOut has no default value.
1618#line 1618 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/Vectorization.c"
1619 { /* matchcontinue expression */
1620 volatile modelica_metatype tmp3_1;volatile modelica_metatype tmp3_2;
1621 tmp3_1 = _eq;
1622 tmp3_2 = _crefMinMaxIn;
1623 {
1624 modelica_integer _pos;
1625 modelica_integer _max;
1626 modelica_integer _min;
1627 modelica_integer _sub;
1628 modelica_metatype _cref = NULL((void*)0);
1629 modelica_metatype _refCref = NULL((void*)0);
1630 modelica_metatype _refCrefMinMax = NULL((void*)0);
1631 modelica_metatype _crefMinMax = NULL((void*)0);
1632 modelica_metatype _eqCrefs = NULL((void*)0);
1633 volatile mmc_switch_type tmp3;
1634 int tmp4;
1635 // _pos has no default value.
1636 // _max has no default value.
1637 // _min has no default value.
1638 // _sub has no default value.
1639 // _cref has no default value.
1640 // _refCref has no default value.
1641 // _refCrefMinMax has no default value.
1642 // _crefMinMax has no default value.
1643 // _eqCrefs has no default value.
1644 tmp3 = 0;
1645 MMC_TRY_INTERNAL(mmc_jumper){ jmp_buf new_mmc_jumper, *old_jumper __attribute__((unused))
= threadData->mmc_jumper; threadData->mmc_jumper = &
new_mmc_jumper; if (_setjmp (new_mmc_jumper) == 0) {
1646 tmp2_top:
1647 threadData->mmc_jumper = &new_mmc_jumper;
1648 for (; tmp3 < 2; tmp3++) {
1649 switch (MMC_SWITCH_CAST(tmp3)(tmp3)) {
1650 case 0: {
1651 modelica_integer tmp5;
1652 modelica_integer tmp6;
1653 modelica_integer tmp7;
1654 if (mmc__uniontype__metarecord__typedef__equal(tmp3_1,0,4)((*(mmc_uint_t*)((void*)((char*)(tmp3_1) - 3)))==(((4 +1) <<
10) + (((0 +3) & 255) << 2)))
== 0) goto tmp2_end;
1655
1656 _crefMinMax = tmp3_2;
1657 /* Pattern matching succeeded */
1658#line 791 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/Vectorization.mo"
1659 _eqCrefs = omc_BackendEquation_equationCrefs(threadData, _eq);
1660#line 1660 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/Vectorization.c"
1661
1662#line 793 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/Vectorization.mo"
1663 _eqCrefs = omc_List_filter1OnTrue(threadData, _eqCrefs, boxvar_ComponentReference_crefNotInLst((void*)((char*)(&(boxvar_lit_ComponentReference_crefNotInLst
).header) + 3))
, _constCrefs);
1664#line 1664 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/Vectorization.c"
1665
1666#line 794 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/Vectorization.mo"
1667 {
1668#line 794 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/Vectorization.mo"
1669 modelica_metatype _cref;
1670#line 794 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/Vectorization.mo"
1671 for (tmpMeta[1] = _eqCrefs; !listEmpty(tmpMeta[1])((*(mmc_uint_t*)((void*)((char*)(tmpMeta[1]) - 3))) == (((0) <<
10) + (((0) & 255) << 2)))
; tmpMeta[1]=MMC_CDR(tmpMeta[1])(*(void**)(((void*)((void**)(((void*)((char*)(tmpMeta[1]) - 3
))) + (2)))))
)
1672#line 794 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/Vectorization.mo"
1673 {
1674#line 794 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/Vectorization.mo"
1675 _cref = MMC_CAR(tmpMeta[1])(*(void**)(((void*)((void**)(((void*)((char*)(tmpMeta[1]) - 3
))) + (1)))))
;
1676#line 795 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/Vectorization.mo"
1677 /* Pattern-matching assignment */
1678#line 795 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/Vectorization.mo"
1679 tmpMeta[2] = omc_ComponentReference_crefSubs(threadData, _cref);
1680#line 795 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/Vectorization.mo"
1681 if (listEmpty(tmpMeta[2])((*(mmc_uint_t*)((void*)((char*)(tmpMeta[2]) - 3))) == (((0) <<
10) + (((0) & 255) << 2)))
) goto goto_1;
1682#line 795 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/Vectorization.mo"
1683 tmpMeta[3] = MMC_CAR(tmpMeta[2])(*(void**)(((void*)((void**)(((void*)((char*)(tmpMeta[2]) - 3
))) + (1)))))
;
1684#line 795 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/Vectorization.mo"
1685 tmpMeta[4] = MMC_CDR(tmpMeta[2])(*(void**)(((void*)((void**)(((void*)((char*)(tmpMeta[2]) - 3
))) + (2)))))
;
1686#line 795 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/Vectorization.mo"
1687 if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[3],2,1)((*(mmc_uint_t*)((void*)((char*)(tmpMeta[3]) - 3)))==(((1 +1)
<< 10) + (((2 +3) & 255) << 2)))
== 0) goto goto_1;
1688#line 795 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/Vectorization.mo"
1689 tmpMeta[5] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[3]), 2))(*(void**)(((void*)((void**)(((void*)((char*)(tmpMeta[3]) - 3
))) + (2)))))
;
1690#line 795 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/Vectorization.mo"
1691 if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[5],0,1)((*(mmc_uint_t*)((void*)((char*)(tmpMeta[5]) - 3)))==(((1 +1)
<< 10) + (((0 +3) & 255) << 2)))
== 0) goto goto_1;
1692#line 795 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/Vectorization.mo"
1693 tmpMeta[6] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[5]), 2))(*(void**)(((void*)((void**)(((void*)((char*)(tmpMeta[5]) - 3
))) + (2)))))
;
1694#line 795 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/Vectorization.mo"
1695 tmp5 = mmc_unbox_integer(tmpMeta[6])(((mmc_sint_t) (tmpMeta[6])) >> 1);
1696#line 795 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/Vectorization.mo"
1697 if (!listEmpty(tmpMeta[4])((*(mmc_uint_t*)((void*)((char*)(tmpMeta[4]) - 3))) == (((0) <<
10) + (((0) & 255) << 2)))
) goto goto_1;
1698#line 795 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/Vectorization.mo"
1699 _sub = tmp5 /* pattern as ty=Integer */;
1700#line 1700 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/Vectorization.c"
1701
1702#line 796 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/Vectorization.mo"
1703 _pos = ((modelica_integer) 1);
1704#line 1704 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/Vectorization.c"
1705
1706#line 797 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/Vectorization.mo"
1707 {
1708#line 797 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/Vectorization.mo"
1709 modelica_metatype _refCrefMinMax;
1710#line 797 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/Vectorization.mo"
1711 for (tmpMeta[2] = _crefMinMax; !listEmpty(tmpMeta[2])((*(mmc_uint_t*)((void*)((char*)(tmpMeta[2]) - 3))) == (((0) <<
10) + (((0) & 255) << 2)))
; tmpMeta[2]=MMC_CDR(tmpMeta[2])(*(void**)(((void*)((void**)(((void*)((char*)(tmpMeta[2]) - 3
))) + (2)))))
)
1712#line 797 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/Vectorization.mo"
1713 {
1714#line 797 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/Vectorization.mo"
1715 _refCrefMinMax = MMC_CAR(tmpMeta[2])(*(void**)(((void*)((void**)(((void*)((char*)(tmpMeta[2]) - 3
))) + (1)))))
;
1716#line 798 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/Vectorization.mo"
1717 /* Pattern-matching assignment */
1718#line 798 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/Vectorization.mo"
1719 tmpMeta[3] = _refCrefMinMax;
1720#line 798 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/Vectorization.mo"
1721 tmpMeta[4] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[3]), 1))(*(void**)(((void*)((void**)(((void*)((char*)(tmpMeta[3]) - 3
))) + (1)))))
;
1722#line 798 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/Vectorization.mo"
1723 tmpMeta[5] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[3]), 2))(*(void**)(((void*)((void**)(((void*)((char*)(tmpMeta[3]) - 3
))) + (2)))))
;
1724#line 798 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/Vectorization.mo"
1725 tmp6 = mmc_unbox_integer(tmpMeta[5])(((mmc_sint_t) (tmpMeta[5])) >> 1);
1726#line 798 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/Vectorization.mo"
1727 tmpMeta[6] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[3]), 3))(*(void**)(((void*)((void**)(((void*)((char*)(tmpMeta[3]) - 3
))) + (3)))))
;
1728#line 798 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/Vectorization.mo"
1729 tmp7 = mmc_unbox_integer(tmpMeta[6])(((mmc_sint_t) (tmpMeta[6])) >> 1);
1730#line 798 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/Vectorization.mo"
1731 _refCref = tmpMeta[4];
1732#line 798 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/Vectorization.mo"
1733 _min = tmp6 /* pattern as ty=Integer */;
1734#line 798 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/Vectorization.mo"
1735 _max = tmp7 /* pattern as ty=Integer */;
1736#line 1736 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/Vectorization.c"
1737
1738#line 800 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/Vectorization.mo"
1739 if(omc_ComponentReference_crefEqualWithoutSubs(threadData, _refCref, _cref))
1740#line 800 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/Vectorization.mo"
1741 {
1742#line 801 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/Vectorization.mo"
1743 _max = modelica_integer_max((modelica_integer)(_max),(modelica_integer)(_sub));
1744#line 1744 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/Vectorization.c"
1745
1746#line 802 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/Vectorization.mo"
1747 _min = modelica_integer_min((modelica_integer)(_min),(modelica_integer)(_sub));
1748#line 1748 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/Vectorization.c"
1749
1750#line 803 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/Vectorization.mo"
1751 tmpMeta[3] = mmc_mk_box3(0, _refCref, mmc_mk_integermmc_mk_icon(_min), mmc_mk_integermmc_mk_icon(_max));
1752#line 803 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/Vectorization.mo"
1753 _crefMinMax = omc_List_replaceAt(threadData, tmpMeta[3], _pos, _crefMinMax);
1754#line 1754 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/Vectorization.c"
1755 }
1756
1757#line 805 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/Vectorization.mo"
1758 _pos = ((modelica_integer) 1) + _pos;
1759#line 1759 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/Vectorization.c"
1760 }
1761 }
1762 }
1763 }
1764#line 808 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/Vectorization.mo"
1765 tmpMeta[0] = _crefMinMax;
1766#line 1766 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/Vectorization.c"
1767 goto tmp2_done;
1768 }
1769 case 1: {
1770
1771 /* Pattern matching succeeded */
1772#line 810 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/Vectorization.mo"
1773 tmpMeta[0] = _crefMinMaxIn;
1774#line 1774 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/Vectorization.c"
1775 goto tmp2_done;
1776 }
1777 }
1778 goto tmp2_end;
1779 tmp2_end: ;
1780 }
1781 goto goto_1;
1782 tmp2_done:
1783 (void)tmp3;
1784 MMC_RESTORE_INTERNAL(mmc_jumper)threadData->mmc_jumper = old_jumper;;
1785 goto tmp2_done2;
1786 goto_1:;
1787 MMC_CATCH_INTERNAL(mmc_jumper)} threadData->mmc_jumper = old_jumper;mmc_catch_dummy_fn()
;}
;
1788 if (++tmp3 < 2) {
1789 goto tmp2_top;
1790 }
1791 MMC_THROW_INTERNAL(){longjmp(*threadData->mmc_jumper,1);};
1792 tmp2_done2:;
1793 }
1794 }
1795 _crefMinMaxOut = tmpMeta[0];
1796 _return: OMC_LABEL_UNUSED__attribute__((unused))
1797 return _crefMinMaxOut;
1798}
1799
1800PROTECTED_FUNCTION_STATIC modelica_metatype omc_Vectorization_buildBackendDAEForEquations(threadData_t *threadData, modelica_metatype _classEqs, modelica_metatype _foldIn)
1801{
1802 modelica_metatype _foldOut = NULL((void*)0);
1803 modelica_metatype tmpMeta[6] __attribute__((unused)) = {0};
1804 MMC_SO()mmc_check_stackoverflow(threadData);
1805 _tailrecursive: OMC_LABEL_UNUSED__attribute__((unused))
1806 // _foldOut has no default value.
1807#line 1807 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/Vectorization.c"
1808 { /* matchcontinue expression */
1809 volatile modelica_metatype tmp3_1;
1810 tmp3_1 = _classEqs;
1811 {
1812 modelica_integer _min;
1813 modelica_integer _max;
1814 modelica_integer _numCrefs;
1815 modelica_metatype _eq = NULL((void*)0);
1816 modelica_metatype _lhs = NULL((void*)0);
1817 modelica_metatype _rhs = NULL((void*)0);
1818 modelica_metatype _iterator = NULL((void*)0);
1819 modelica_metatype _source = NULL((void*)0);
1820 modelica_metatype _attr = NULL((void*)0);
1821 modelica_metatype _similarEqs = NULL((void*)0);
1822 modelica_metatype _rest = NULL((void*)0);
1823 modelica_metatype _crefs = NULL((void*)0);
1824 modelica_metatype _crefs2 = NULL((void*)0);
1825 modelica_metatype _crefMinMax = NULL((void*)0);
1826 volatile mmc_switch_type tmp3;
1827 int tmp4;
1828 // _min has no default value.
1829 // _max has no default value.
1830 // _numCrefs has no default value.
1831 // _eq has no default value.
1832 // _lhs has no default value.
1833 // _rhs has no default value.
1834 // _iterator has no default value.
1835 // _source has no default value.
1836 // _attr has no default value.
1837 // _similarEqs has no default value.
1838 // _rest has no default value.
1839 // _crefs has no default value.
1840 // _crefs2 has no default value.
1841 // _crefMinMax has no default value.
1842 tmp3 = 0;
1843 MMC_TRY_INTERNAL(mmc_jumper){ jmp_buf new_mmc_jumper, *old_jumper __attribute__((unused))
= threadData->mmc_jumper; threadData->mmc_jumper = &
new_mmc_jumper; if (_setjmp (new_mmc_jumper) == 0) {
1844 tmp2_top:
1845 threadData->mmc_jumper = &new_mmc_jumper;
1846 for (; tmp3 < 4; tmp3++) {
1847 switch (MMC_SWITCH_CAST(tmp3)(tmp3)) {
1848 case 0: {
1849 if (!listEmpty(tmp3_1)((*(mmc_uint_t*)((void*)((char*)(tmp3_1) - 3))) == (((0) <<
10) + (((0) & 255) << 2)))
) goto tmp2_end;
1850 tmp3 += 2; /* Pattern matching succeeded; we may skip some cases if we fail */
1851#line 719 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/Vectorization.mo"
1852 tmpMeta[0] = _foldIn;
1853#line 1853 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/Vectorization.c"
1854 goto tmp2_done;
1855 }
1856 case 1: {
1857 modelica_boolean tmp5;
1858 if (listEmpty(tmp3_1)((*(mmc_uint_t*)((void*)((char*)(tmp3_1) - 3))) == (((0) <<
10) + (((0) & 255) << 2)))
) goto tmp2_end;
1859 tmpMeta[1] = MMC_CAR(tmp3_1)(*(void**)(((void*)((void**)(((void*)((char*)(tmp3_1) - 3))) +
(1)))))
;
1860 tmpMeta[2] = MMC_CDR(tmp3_1)(*(void**)(((void*)((void**)(((void*)((char*)(tmp3_1) - 3))) +
(2)))))
;
1861 _eq = tmpMeta[1];
1862 _rest = tmpMeta[2];
1863 /* Pattern matching succeeded */
1864#line 724 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/Vectorization.mo"
1865 /* Pattern-matching assignment */
1866#line 724 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/Vectorization.mo"
1867 tmpMeta[1] = _eq;
1868#line 724 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/Vectorization.mo"
1869 if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[1],0,4)((*(mmc_uint_t*)((void*)((char*)(tmpMeta[1]) - 3)))==(((4 +1)
<< 10) + (((0 +3) & 255) << 2)))
== 0) goto goto_1;
1870#line 724 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/Vectorization.mo"
1871 tmpMeta[2] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[1]), 2))(*(void**)(((void*)((void**)(((void*)((char*)(tmpMeta[1]) - 3
))) + (2)))))
;
1872#line 724 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/Vectorization.mo"
1873 tmpMeta[3] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[1]), 3))(*(void**)(((void*)((void**)(((void*)((char*)(tmpMeta[1]) - 3
))) + (3)))))
;
1874#line 724 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/Vectorization.mo"
1875 tmpMeta[4] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[1]), 4))(*(void**)(((void*)((void**)(((void*)((char*)(tmpMeta[1]) - 3
))) + (4)))))
;
1876#line 724 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/Vectorization.mo"
1877 tmpMeta[5] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[1]), 5))(*(void**)(((void*)((void**)(((void*)((char*)(tmpMeta[1]) - 3
))) + (5)))))
;
1878#line 724 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/Vectorization.mo"
1879 _lhs = tmpMeta[2];
1880#line 724 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/Vectorization.mo"
1881 _rhs = tmpMeta[3];
1882#line 724 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/Vectorization.mo"
1883 _source = tmpMeta[4];
1884#line 724 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/Vectorization.mo"
1885 _attr = tmpMeta[5];
1886#line 1886 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/Vectorization.c"
1887
1888#line 725 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/Vectorization.mo"
1889 /* Pattern-matching assignment */
1890#line 725 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/Vectorization.mo"
1891 tmp5 = omc_ComponentReference_crefEqualWithoutSubs(threadData, omc_Expression_expCref(threadData, _lhs), omc_Expression_expCref(threadData, _rhs));
1892#line 725 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/Vectorization.mo"
1893 if (1 != tmp5) goto goto_1;
1894#line 1894 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/Vectorization.c"
1895
1896#line 728 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/Vectorization.mo"
1897 _similarEqs = omc_List_separate1OnTrue(threadData, _classEqs, boxvar_Vectorization_equationEqualNoCrefSubs((void*)((char*)(&(boxvar_lit_Vectorization_equationEqualNoCrefSubs
).header) + 3))
, _eq ,&_rest);
1898#line 1898 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/Vectorization.c"
1899
1900#line 730 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/Vectorization.mo"
1901 omc_Expression_expCref(threadData, _lhs);
1902#line 1902 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/Vectorization.c"
1903
1904#line 731 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/Vectorization.mo"
1905 omc_Expression_expCref(threadData, _rhs);
1906#line 1906 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/Vectorization.c"
1907
1908#line 733 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/Vectorization.mo"
1909 _iterator = _OMC_LIT4((void*)((char*)(&(_OMC_LIT_STRUCT4).header) + 3));
1910#line 1910 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/Vectorization.c"
1911
1912#line 736 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/Vectorization.mo"
1913 tmpMeta[1] = mmc_mk_box2(3, &DAE_Exp_ICONST__desc, mmc_mk_integermmc_mk_icon(listLength(_similarEqs)));
1914#line 736 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/Vectorization.mo"
1915 tmpMeta[2] = mmc_mk_box5(3, &BackendDAE_Equation_EQUATION__desc, _lhs, _rhs, _source, _attr);
1916#line 736 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/Vectorization.mo"
1917 tmpMeta[3] = mmc_mk_box7(11, &BackendDAE_Equation_FOR__EQUATION__desc, _iterator, _OMC_LIT5((void*)((char*)(&(_OMC_LIT_STRUCT5).header) + 3)), tmpMeta[1], tmpMeta[2], _source, _attr);
1918#line 736 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/Vectorization.mo"
1919 _eq = tmpMeta[3];
1920#line 1920 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/Vectorization.c"
1921#line 738 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/Vectorization.mo"
1922 tmpMeta[1] = mmc_mk_cons(_eq, _foldIn);
1923#line 738 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/Vectorization.mo"
1924 tmpMeta[0] = omc_Vectorization_buildBackendDAEForEquations(threadData, _rest, tmpMeta[1]);
1925#line 1925 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/Vectorization.c"
1926 goto tmp2_done;
1927 }
1928 case 2: {
1929 if (listEmpty(tmp3_1)((*(mmc_uint_t*)((void*)((char*)(tmp3_1) - 3))) == (((0) <<
10) + (((0) & 255) << 2)))
) goto tmp2_end;
1930 tmpMeta[1] = MMC_CAR(tmp3_1)(*(void**)(((void*)((void**)(((void*)((char*)(tmp3_1) - 3))) +
(1)))))
;
1931 tmpMeta[2] = MMC_CDR(tmp3_1)(*(void**)(((void*)((void**)(((void*)((char*)(tmp3_1) - 3))) +
(2)))))
;
1932 _eq = tmpMeta[1];
1933 _rest = tmpMeta[2];
1934 /* Pattern matching succeeded */
1935#line 744 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/Vectorization.mo"
1936 /* Pattern-matching assignment */
1937#line 744 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/Vectorization.mo"
1938 tmpMeta[1] = _eq;
1939#line 744 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/Vectorization.mo"
1940 if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[1],0,4)((*(mmc_uint_t*)((void*)((char*)(tmpMeta[1]) - 3)))==(((4 +1)
<< 10) + (((0 +3) & 255) << 2)))
== 0) goto goto_1;
1941#line 744 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/Vectorization.mo"
1942 tmpMeta[2] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[1]), 2))(*(void**)(((void*)((void**)(((void*)((char*)(tmpMeta[1]) - 3
))) + (2)))))
;
1943#line 744 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/Vectorization.mo"
1944 tmpMeta[3] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[1]), 3))(*(void**)(((void*)((void**)(((void*)((char*)(tmpMeta[1]) - 3
))) + (3)))))
;
1945#line 744 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/Vectorization.mo"
1946 tmpMeta[4] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[1]), 4))(*(void**)(((void*)((void**)(((void*)((char*)(tmpMeta[1]) - 3
))) + (4)))))
;
1947#line 744 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/Vectorization.mo"
1948 tmpMeta[5] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[1]), 5))(*(void**)(((void*)((void**)(((void*)((char*)(tmpMeta[1]) - 3
))) + (5)))))
;
1949#line 744 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/Vectorization.mo"
1950 _lhs = tmpMeta[2];
1951#line 744 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/Vectorization.mo"
1952 _rhs = tmpMeta[3];
1953#line 744 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/Vectorization.mo"
1954 _source = tmpMeta[4];
1955#line 744 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/Vectorization.mo"
1956 _attr = tmpMeta[5];
1957#line 1957 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/Vectorization.c"
1958
1959#line 746 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/Vectorization.mo"
1960 _similarEqs = omc_List_separate1OnTrue(threadData, _classEqs, boxvar_Vectorization_equationEqualNoCrefSubs((void*)((char*)(&(boxvar_lit_Vectorization_equationEqualNoCrefSubs
).header) + 3))
, _eq ,&_rest);
1961#line 1961 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/Vectorization.c"
1962
1963#line 748 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/Vectorization.mo"
1964 _crefs = omc_BackendEquation_equationCrefs(threadData, _eq);
1965#line 1965 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/Vectorization.c"
1966
1967#line 750 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/Vectorization.mo"
1968 _crefs2 = omc_BackendEquation_equationCrefs(threadData, listGet(_similarEqs, ((modelica_integer) 1))boxptr_listGet(threadData,_similarEqs,mmc_mk_icon(((modelica_integer
) 1)))
);
1969#line 1969 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/Vectorization.c"
1970
1971#line 751 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/Vectorization.mo"
1972 _crefs2 = omc_List_intersection1OnTrue(threadData, _crefs, _crefs2, boxvar_ComponentReference_crefEqual((void*)((char*)(&(boxvar_lit_ComponentReference_crefEqual
).header) + 3))
,&_crefs ,NULL((void*)0));
1973#line 1973 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/Vectorization.c"
1974
1975#line 754 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/Vectorization.mo"
1976 _numCrefs = listLength(_crefs);
1977#line 1977 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/Vectorization.c"
1978
1979#line 756 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/Vectorization.mo"
1980 _crefMinMax = omc_List_thread3Map(threadData, listReverse(_crefs), omc_List_fill(threadData, mmc_mk_integermmc_mk_icon(((modelica_integer) 999999999)), _numCrefs), omc_List_fill(threadData, mmc_mk_integermmc_mk_icon(((modelica_integer) 0)), _numCrefs), boxvar_Util_make3Tuple((void*)((char*)(&(boxvar_lit_Util_make3Tuple).header) + 3
))
);
1981#line 1981 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/Vectorization.c"
1982
1983#line 757 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/Vectorization.mo"
1984 _crefMinMax = omc_List_fold1(threadData, _similarEqs, boxvar_Vectorization_getCrefIdcsForEquation((void*)((char*)(&(boxvar_lit_Vectorization_getCrefIdcsForEquation
).header) + 3))
, _crefs2, _crefMinMax);
1985#line 1985 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/Vectorization.c"
1986
1987#line 759 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/Vectorization.mo"
1988 _min = ((modelica_integer) 1);
1989#line 1989 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/Vectorization.c"
1990
1991#line 760 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/Vectorization.mo"
1992 _max = listLength(_similarEqs);
1993#line 1993 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/Vectorization.c"
1994
1995#line 763 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/Vectorization.mo"
1996 _iterator = _OMC_LIT4((void*)((char*)(&(_OMC_LIT_STRUCT4).header) + 3));
1997#line 1997 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/Vectorization.c"
1998
1999#line 764 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/Vectorization.mo"
2000 /* Pattern-matching tuple assignment */
2001#line 764 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/Vectorization.mo"
2002 tmpMeta[1] = mmc_mk_box3(0, _crefMinMax, _iterator, _crefs2);
2003#line 764 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/Vectorization.mo"
2004 tmpMeta[2] = omc_BackendEquation_traverseExpsOfEquation(threadData, _eq, boxvar_Vectorization_setIteratorSubscriptCrefinEquation((void*)((char*)(&(boxvar_lit_Vectorization_setIteratorSubscriptCrefinEquation
).header) + 3))
, tmpMeta[1], NULL((void*)0));
2005#line 764 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/Vectorization.mo"
2006 if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[2],0,4)((*(mmc_uint_t*)((void*)((char*)(tmpMeta[2]) - 3)))==(((4 +1)
<< 10) + (((0 +3) & 255) << 2)))
== 0) goto goto_1;
2007#line 764 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/Vectorization.mo"
2008 tmpMeta[3] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[2]), 2))(*(void**)(((void*)((void**)(((void*)((char*)(tmpMeta[2]) - 3
))) + (2)))))
;
2009#line 764 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/Vectorization.mo"
2010 tmpMeta[4] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[2]), 3))(*(void**)(((void*)((void**)(((void*)((char*)(tmpMeta[2]) - 3
))) + (3)))))
;
2011#line 764 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/Vectorization.mo"
2012 _lhs = tmpMeta[3];
2013#line 764 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/Vectorization.mo"
2014 _rhs = tmpMeta[4];
2015#line 2015 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/Vectorization.c"
2016
2017#line 765 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/Vectorization.mo"
2018 tmpMeta[1] = mmc_mk_box2(3, &DAE_Exp_ICONST__desc, mmc_mk_integermmc_mk_icon(_min));
2019#line 765 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/Vectorization.mo"
2020 tmpMeta[2] = mmc_mk_box2(3, &DAE_Exp_ICONST__desc, mmc_mk_integermmc_mk_icon(_max));
2021#line 765 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/Vectorization.mo"
2022 tmpMeta[3] = mmc_mk_box5(3, &BackendDAE_Equation_EQUATION__desc, _lhs, _rhs, _source, _attr);
2023#line 765 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/Vectorization.mo"
2024 tmpMeta[4] = mmc_mk_box7(11, &BackendDAE_Equation_FOR__EQUATION__desc, _iterator, tmpMeta[1], tmpMeta[2], tmpMeta[3], _source, _attr);
2025#line 765 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/Vectorization.mo"
2026 _eq = tmpMeta[4];
2027#line 2027 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/Vectorization.c"
2028#line 767 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/Vectorization.mo"
2029 tmpMeta[1] = mmc_mk_cons(_eq, _foldIn);
2030#line 767 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/Vectorization.mo"
2031 tmpMeta[0] = omc_Vectorization_buildBackendDAEForEquations(threadData, _rest, tmpMeta[1]);
2032#line 2032 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/Vectorization.c"
2033 goto tmp2_done;
2034 }
2035 case 3: {
2036
2037 /* Pattern matching succeeded */
2038#line 771 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/Vectorization.mo"
2039 tmpMeta[0] = _foldIn;
2040#line 2040 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/Vectorization.c"
2041 goto tmp2_done;
2042 }
2043 }
2044 goto tmp2_end;
2045 tmp2_end: ;
2046 }
2047 goto goto_1;
2048 tmp2_done:
2049 (void)tmp3;
2050 MMC_RESTORE_INTERNAL(mmc_jumper)threadData->mmc_jumper = old_jumper;;
2051 goto tmp2_done2;
2052 goto_1:;
2053 MMC_CATCH_INTERNAL(mmc_jumper)} threadData->mmc_jumper = old_jumper;mmc_catch_dummy_fn()
;}
;
2054 if (++tmp3 < 4) {
2055 goto tmp2_top;
2056 }
2057 MMC_THROW_INTERNAL(){longjmp(*threadData->mmc_jumper,1);};
2058 tmp2_done2:;
2059 }
2060 }
2061 _foldOut = tmpMeta[0];
2062 _return: OMC_LABEL_UNUSED__attribute__((unused))
2063 return _foldOut;
2064}
2065
2066PROTECTED_FUNCTION_STATIC modelica_boolean omc_Vectorization_expEqualNoCrefSubsListList(threadData_t *threadData, modelica_metatype _inExpl1, modelica_metatype _inExpl2)
2067{
2068 modelica_boolean _outEqual;
2069 modelica_metatype _expl2 = NULL((void*)0);
2070 modelica_metatype _rest_expl2 = NULL((void*)0);
2071 modelica_metatype tmpMeta[4] __attribute__((unused)) = {0};
2072 MMC_SO()mmc_check_stackoverflow(threadData);
2073 _tailrecursive: OMC_LABEL_UNUSED__attribute__((unused))
2074 // _outEqual has no default value.
2075 // _expl2 has no default value.
2076 _rest_expl2 = _inExpl2;
2077#line 682 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/Vectorization.mo"
2078 if((listLength(_inExpl1) != listLength(_inExpl2)))
2079#line 682 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/Vectorization.mo"
2080 {
2081#line 683 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/Vectorization.mo"
2082 _outEqual = 0;
2083#line 2083 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/Vectorization.c"
2084
2085#line 684 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/Vectorization.mo"
2086 goto _return;
2087#line 2087 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/Vectorization.c"
2088 }
2089
2090#line 687 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/Vectorization.mo"
2091 {
2092#line 687 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/Vectorization.mo"
2093 modelica_metatype _expl1;
2094#line 687 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/Vectorization.mo"
2095 for (tmpMeta[0] = _inExpl1; !listEmpty(tmpMeta[0])((*(mmc_uint_t*)((void*)((char*)(tmpMeta[0]) - 3))) == (((0) <<
10) + (((0) & 255) << 2)))
; tmpMeta[0]=MMC_CDR(tmpMeta[0])(*(void**)(((void*)((void**)(((void*)((char*)(tmpMeta[0]) - 3
))) + (2)))))
)
2096#line 687 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/Vectorization.mo"
2097 {
2098#line 687 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/Vectorization.mo"
2099 _expl1 = MMC_CAR(tmpMeta[0])(*(void**)(((void*)((void**)(((void*)((char*)(tmpMeta[0]) - 3
))) + (1)))))
;
2100#line 688 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/Vectorization.mo"
2101 /* Pattern-matching assignment */
2102#line 688 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/Vectorization.mo"
2103 tmpMeta[1] = _rest_expl2;
2104#line 688 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/Vectorization.mo"
2105 if (listEmpty(tmpMeta[1])((*(mmc_uint_t*)((void*)((char*)(tmpMeta[1]) - 3))) == (((0) <<
10) + (((0) & 255) << 2)))
) MMC_THROW_INTERNAL(){longjmp(*threadData->mmc_jumper,1);};
2106#line 688 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/Vectorization.mo"
2107 tmpMeta[2] = MMC_CAR(tmpMeta[1])(*(void**)(((void*)((void**)(((void*)((char*)(tmpMeta[1]) - 3
))) + (1)))))
;
2108#line 688 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/Vectorization.mo"
2109 tmpMeta[3] = MMC_CDR(tmpMeta[1])(*(void**)(((void*)((void**)(((void*)((char*)(tmpMeta[1]) - 3
))) + (2)))))
;
2110#line 688 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/Vectorization.mo"
2111 _expl2 = tmpMeta[2];
2112#line 688 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/Vectorization.mo"
2113 _rest_expl2 = tmpMeta[3];
2114#line 2114 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/Vectorization.c"
2115
2116#line 691 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/Vectorization.mo"
2117 if((!omc_Vectorization_expEqualNoCrefSubsList(threadData, _expl1, _expl2)))
2118#line 691 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/Vectorization.mo"
2119 {
2120#line 692 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/Vectorization.mo"
2121 _outEqual = 0;
2122#line 2122 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/Vectorization.c"
2123
2124#line 693 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/Vectorization.mo"
2125 goto _return;
2126#line 2126 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/Vectorization.c"
2127 }
2128 }
2129 }
2130
2131#line 697 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/Vectorization.mo"
2132 _outEqual = 1;
2133#line 2133 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/Vectorization.c"
2134 _return: OMC_LABEL_UNUSED__attribute__((unused))
2135 return _outEqual;
2136}
2137PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_Vectorization_expEqualNoCrefSubsListList(threadData_t *threadData, modelica_metatype _inExpl1, modelica_metatype _inExpl2)
2138{
2139 modelica_boolean _outEqual;
2140 modelica_metatype out_outEqual;
2141 _outEqual = omc_Vectorization_expEqualNoCrefSubsListList(threadData, _inExpl1, _inExpl2);
2142 out_outEqual = mmc_mk_icon(_outEqual);
2143 return out_outEqual;
2144}
2145
2146PROTECTED_FUNCTION_STATIC modelica_boolean omc_Vectorization_expEqualNoCrefSubsList(threadData_t *threadData, modelica_metatype _inExpl1, modelica_metatype _inExpl2)
2147{
2148 modelica_boolean _outEqual;
2149 modelica_metatype _e2 = NULL((void*)0);
2150 modelica_metatype _rest_expl2 = NULL((void*)0);
2151 modelica_metatype tmpMeta[4] __attribute__((unused)) = {0};
2152 MMC_SO()mmc_check_stackoverflow(threadData);
2153 _tailrecursive: OMC_LABEL_UNUSED__attribute__((unused))
2154 // _outEqual has no default value.
2155 // _e2 has no default value.
2156 _rest_expl2 = _inExpl2;
2157#line 655 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/Vectorization.mo"
2158 if((listLength(_inExpl1) != listLength(_inExpl2)))
2159#line 655 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/Vectorization.mo"
2160 {
2161#line 656 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/Vectorization.mo"
2162 _outEqual = 0;
2163#line 2163 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/Vectorization.c"
2164
2165#line 657 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/Vectorization.mo"
2166 goto _return;
2167#line 2167 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/Vectorization.c"
2168 }
2169
2170#line 660 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/Vectorization.mo"
2171 {
2172#line 660 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/Vectorization.mo"
2173 modelica_metatype _e1;
2174#line 660 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/Vectorization.mo"
2175 for (tmpMeta[0] = _inExpl1; !listEmpty(tmpMeta[0])((*(mmc_uint_t*)((void*)((char*)(tmpMeta[0]) - 3))) == (((0) <<
10) + (((0) & 255) << 2)))
; tmpMeta[0]=MMC_CDR(tmpMeta[0])(*(void**)(((void*)((void**)(((void*)((char*)(tmpMeta[0]) - 3
))) + (2)))))
)
2176#line 660 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/Vectorization.mo"
2177 {
2178#line 660 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/Vectorization.mo"
2179 _e1 = MMC_CAR(tmpMeta[0])(*(void**)(((void*)((void**)(((void*)((char*)(tmpMeta[0]) - 3
))) + (1)))))
;
2180#line 661 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/Vectorization.mo"
2181 /* Pattern-matching assignment */
2182#line 661 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/Vectorization.mo"
2183 tmpMeta[1] = _rest_expl2;
2184#line 661 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/Vectorization.mo"
2185 if (listEmpty(tmpMeta[1])((*(mmc_uint_t*)((void*)((char*)(tmpMeta[1]) - 3))) == (((0) <<
10) + (((0) & 255) << 2)))
) MMC_THROW_INTERNAL(){longjmp(*threadData->mmc_jumper,1);};
2186#line 661 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/Vectorization.mo"
2187 tmpMeta[2] = MMC_CAR(tmpMeta[1])(*(void**)(((void*)((void**)(((void*)((char*)(tmpMeta[1]) - 3
))) + (1)))))
;
2188#line 661 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/Vectorization.mo"
2189 tmpMeta[3] = MMC_CDR(tmpMeta[1])(*(void**)(((void*)((void**)(((void*)((char*)(tmpMeta[1]) - 3
))) + (2)))))
;
2190#line 661 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/Vectorization.mo"
2191 _e2 = tmpMeta[2];
2192#line 661 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/Vectorization.mo"
2193 _rest_expl2 = tmpMeta[3];
2194#line 2194 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/Vectorization.c"
2195
2196#line 664 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/Vectorization.mo"
2197 if((!omc_Vectorization_expEqualNoCrefSubs(threadData, _e1, _e2)))
2198#line 664 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/Vectorization.mo"
2199 {
2200#line 665 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/Vectorization.mo"
2201 _outEqual = 0;
2202#line 2202 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/Vectorization.c"
2203
2204#line 666 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/Vectorization.mo"
2205 goto _return;
2206#line 2206 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/Vectorization.c"
2207 }
2208 }
2209 }
2210
2211#line 670 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/Vectorization.mo"
2212 _outEqual = 1;
2213#line 2213 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/Vectorization.c"
2214 _return: OMC_LABEL_UNUSED__attribute__((unused))
2215 return _outEqual;
2216}
2217PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_Vectorization_expEqualNoCrefSubsList(threadData_t *threadData, modelica_metatype _inExpl1, modelica_metatype _inExpl2)
2218{
2219 modelica_boolean _outEqual;
2220 modelica_metatype out_outEqual;
2221 _outEqual = omc_Vectorization_expEqualNoCrefSubsList(threadData, _inExpl1, _inExpl2);
2222 out_outEqual = mmc_mk_icon(_outEqual);
2223 return out_outEqual;
2224}
2225
2226PROTECTED_FUNCTION_STATIC modelica_boolean omc_Vectorization_expEqualNoCrefSubsOpt(threadData_t *threadData, modelica_metatype _inExp1, modelica_metatype _inExp2)
2227{
2228 modelica_boolean _outEqual;
2229 modelica_metatype _e1 = NULL((void*)0);
2230 modelica_metatype _e2 = NULL((void*)0);
2231 modelica_boolean tmp1 = 0;
2232 modelica_metatype tmpMeta[2] __attribute__((unused)) = {0};
2233 MMC_SO()mmc_check_stackoverflow(threadData);
2234 _tailrecursive: OMC_LABEL_UNUSED__attribute__((unused))
2235 // _outEqual has no default value.
2236 // _e1 has no default value.
2237 // _e2 has no default value.
2238#line 2238 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/Vectorization.c"
2239 { /* match expression */
2240 modelica_metatype tmp4_1;modelica_metatype tmp4_2;
2241 tmp4_1 = _inExp1;
2242 tmp4_2 = _inExp2;
2243 {
2244 volatile mmc_switch_type tmp4;
2245 int tmp5;
2246 tmp4 = 0;
2247 for (; tmp4 < 3; tmp4++) {
2248 switch (MMC_SWITCH_CAST(tmp4)(tmp4)) {
2249 case 0: {
2250 if (!optionNone(tmp4_1)(0==((((((*(mmc_uint_t*)((void*)((char*)(tmp4_1) - 3)))) &
(7)) == 5)) ? ((((*(mmc_uint_t*)((void*)((char*)(tmp4_1) - 3
)))) >> (3+3))) : (((*(mmc_uint_t*)((void*)((char*)(tmp4_1
) - 3)))) >> 10)) ? 1 : 0)
) goto tmp3_end;
2251 if (!optionNone(tmp4_2)(0==((((((*(mmc_uint_t*)((void*)((char*)(tmp4_2) - 3)))) &
(7)) == 5)) ? ((((*(mmc_uint_t*)((void*)((char*)(tmp4_2) - 3
)))) >> (3+3))) : (((*(mmc_uint_t*)((void*)((char*)(tmp4_2
) - 3)))) >> 10)) ? 1 : 0)
) goto tmp3_end;
2252 /* Pattern matching succeeded */
2253#line 639 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/Vectorization.mo"
2254 tmp1 = 1;
2255#line 2255 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/Vectorization.c"
2256 goto tmp3_done;
2257 }
2258 case 1: {
2259 if (optionNone(tmp4_1)(0==((((((*(mmc_uint_t*)((void*)((char*)(tmp4_1) - 3)))) &
(7)) == 5)) ? ((((*(mmc_uint_t*)((void*)((char*)(tmp4_1) - 3
)))) >> (3+3))) : (((*(mmc_uint_t*)((void*)((char*)(tmp4_1
) - 3)))) >> 10)) ? 1 : 0)
) goto tmp3_end;
2260 tmpMeta[0] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_1), 1))(*(void**)(((void*)((void**)(((void*)((char*)(tmp4_1) - 3))) +
(1)))))
;
2261 if (optionNone(tmp4_2)(0==((((((*(mmc_uint_t*)((void*)((char*)(tmp4_2) - 3)))) &
(7)) == 5)) ? ((((*(mmc_uint_t*)((void*)((char*)(tmp4_2) - 3
)))) >> (3+3))) : (((*(mmc_uint_t*)((void*)((char*)(tmp4_2
) - 3)))) >> 10)) ? 1 : 0)
) goto tmp3_end;
2262 tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 1))(*(void**)(((void*)((void**)(((void*)((char*)(tmp4_2) - 3))) +
(1)))))
;
2263 _e1 = tmpMeta[0];
2264 _e2 = tmpMeta[1];
2265 /* Pattern matching succeeded */
2266#line 640 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/Vectorization.mo"
2267 tmp1 = omc_Vectorization_expEqualNoCrefSubs(threadData, _e1, _e2);
2268#line 2268 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/Vectorization.c"
2269 goto tmp3_done;
2270 }
2271 case 2: {
2272
2273 /* Pattern matching succeeded */
2274#line 641 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/Vectorization.mo"
2275 tmp1 = 0;
2276#line 2276 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/Vectorization.c"
2277 goto tmp3_done;
2278 }
2279 }
2280 goto tmp3_end;
2281 tmp3_end: ;
2282 }
2283 goto goto_2;
2284 goto_2:;
2285 MMC_THROW_INTERNAL(){longjmp(*threadData->mmc_jumper,1);};
2286 goto tmp3_done;
2287 tmp3_done:;
2288 }
2289 }
2290 _outEqual = tmp1;
2291 _return: OMC_LABEL_UNUSED__attribute__((unused))
2292 return _outEqual;
2293}
2294PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_Vectorization_expEqualNoCrefSubsOpt(threadData_t *threadData, modelica_metatype _inExp1, modelica_metatype _inExp2)
2295{
2296 modelica_boolean _outEqual;
2297 modelica_metatype out_outEqual;
2298 _outEqual = omc_Vectorization_expEqualNoCrefSubsOpt(threadData, _inExp1, _inExp2);
2299 out_outEqual = mmc_mk_icon(_outEqual);
2300 return out_outEqual;
2301}
2302
2303DLLExport
2304modelica_boolean omc_Vectorization_expEqualNoCrefSubs(threadData_t *threadData, modelica_metatype _inExp1, modelica_metatype _inExp2)
2305{
2306 modelica_boolean _outEqual;
2307 modelica_boolean tmp1 = 0;
2308 modelica_metatype tmpMeta[4] __attribute__((unused)) = {0};
2309 MMC_SO()mmc_check_stackoverflow(threadData);
2310 _tailrecursive: OMC_LABEL_UNUSED__attribute__((unused))
2311 // _outEqual has no default value.
2312#line 394 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/Vectorization.mo"
2313 if(referenceEq(_inExp1, _inExp2)((_inExp1) == (_inExp2)))
2314#line 394 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/Vectorization.mo"
2315 {
2316#line 395 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/Vectorization.mo"
2317 _outEqual = 1;
2318#line 2318 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/Vectorization.c"
2319
2320#line 396 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/Vectorization.mo"
2321 goto _return;
2322#line 2322 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/Vectorization.c"
2323 }
2324
2325#line 400 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/Vectorization.mo"
2326 if((valueConstructor(_inExp1)((((*(mmc_uint_t*)((void*)((char*)(_inExp1) - 3)))) >> 2
) & 255)
!= valueConstructor(_inExp2)((((*(mmc_uint_t*)((void*)((char*)(_inExp2) - 3)))) >> 2
) & 255)
))
2327#line 400 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/Vectorization.mo"
2328 {
2329#line 401 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/Vectorization.mo"
2330 _outEqual = 0;
2331#line 2331 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/Vectorization.c"
2332
2333#line 402 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/Vectorization.mo"
2334 goto _return;
2335#line 2335 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/Vectorization.c"
2336 }
2337
2338#line 2338 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/Vectorization.c"
2339 { /* match expression */
2340 modelica_metatype tmp4_1;
2341 tmp4_1 = _inExp1;
2342 {
2343 modelica_integer _i;
2344 modelica_real _r;
2345 modelica_string _s = NULL((void*)0);
2346 modelica_boolean _b;
2347 modelica_metatype _p = NULL((void*)0);
2348 modelica_metatype _e = NULL((void*)0);
2349 modelica_metatype _e1 = NULL((void*)0);
2350 modelica_metatype _e2 = NULL((void*)0);
2351 modelica_metatype _oe = NULL((void*)0);
2352 modelica_metatype _expl = NULL((void*)0);
2353 modelica_metatype _mexpl = NULL((void*)0);
2354 modelica_metatype _op = NULL((void*)0);
2355 modelica_metatype _cr = NULL((void*)0);
2356 modelica_metatype _ty = NULL((void*)0);
2357 int tmp4;
2358 // _i has no default value.
2359 // _r has no default value.
2360 // _s has no default value.
2361 // _b has no default value.
2362 // _p has no default value.
2363 // _e has no default value.
2364 // _e1 has no default value.
2365 // _e2 has no default value.
2366 // _oe has no default value.
2367 // _expl has no default value.
2368 // _mexpl has no default value.
2369 // _op has no default value.
2370 // _cr has no default value.
2371 // _ty has no default value.
2372 {
2373 switch (MMC_SWITCH_CAST(valueConstructor(tmp4_1))(((((*(mmc_uint_t*)((void*)((char*)(tmp4_1) - 3)))) >> 2
) & 255))
) {
2374 case 3: {
2375 modelica_integer tmp5;
2376
2377 /* Pattern matching succeeded */
2378#line 426 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/Vectorization.mo"
2379 /* Pattern-matching assignment */
2380#line 426 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/Vectorization.mo"
2381 tmpMeta[0] = _inExp2;
2382#line 426 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/Vectorization.mo"
2383 if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[0],0,1)((*(mmc_uint_t*)((void*)((char*)(tmpMeta[0]) - 3)))==(((1 +1)
<< 10) + (((0 +3) & 255) << 2)))
== 0) goto goto_2;
2384#line 426 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/Vectorization.mo"
2385 tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[0]), 2))(*(void**)(((void*)((void**)(((void*)((char*)(tmpMeta[0]) - 3
))) + (2)))))
;
2386#line 426 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/Vectorization.mo"
2387 tmp5 = mmc_unbox_integer(tmpMeta[1])(((mmc_sint_t) (tmpMeta[1])) >> 1);
2388#line 426 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/Vectorization.mo"
2389 _i = tmp5 /* pattern as ty=Integer */;
2390#line 2390 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/Vectorization.c"
2391#line 427 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/Vectorization.mo"
2392 tmp1 = (mmc_unbox_integer((MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_inExp1), 2))))(((mmc_sint_t) (((*(void**)(((void*)((void**)(((void*)((char*
)(_inExp1) - 3))) + (2)))))))) >> 1)
== _i);
2393#line 2393 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/Vectorization.c"
2394 goto tmp3_done;
2395 }
2396 case 4: {
2397 modelica_real tmp6;
2398
2399 /* Pattern matching succeeded */
2400#line 432 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/Vectorization.mo"
2401 /* Pattern-matching assignment */
2402#line 432 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/Vectorization.mo"
2403 tmpMeta[0] = _inExp2;
2404#line 432 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/Vectorization.mo"
2405 if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[0],1,1)((*(mmc_uint_t*)((void*)((char*)(tmpMeta[0]) - 3)))==(((1 +1)
<< 10) + (((1 +3) & 255) << 2)))
== 0) goto goto_2;
2406#line 432 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/Vectorization.mo"
2407 tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[0]), 2))(*(void**)(((void*)((void**)(((void*)((char*)(tmpMeta[0]) - 3
))) + (2)))))
;
2408#line 432 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/Vectorization.mo"
2409 tmp6 = mmc_unbox_real(tmpMeta[1])mmc_prim_get_real(tmpMeta[1]);
2410#line 432 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/Vectorization.mo"
2411 _r = tmp6 /* pattern as ty=Real */;
2412#line 2412 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/Vectorization.c"
2413#line 433 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/Vectorization.mo"
2414 tmp1 = (mmc_unbox_real((MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_inExp1), 2))))mmc_prim_get_real(((*(void**)(((void*)((void**)(((void*)((char
*)(_inExp1) - 3))) + (2)))))))
== _r);
2415#line 2415 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/Vectorization.c"
2416 goto tmp3_done;
2417 }
2418 case 5: {
2419
2420 /* Pattern matching succeeded */
2421#line 438 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/Vectorization.mo"
2422 /* Pattern-matching assignment */
2423#line 438 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/Vectorization.mo"
2424 tmpMeta[0] = _inExp2;
2425#line 438 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/Vectorization.mo"
2426 if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[0],2,1)((*(mmc_uint_t*)((void*)((char*)(tmpMeta[0]) - 3)))==(((1 +1)
<< 10) + (((2 +3) & 255) << 2)))
== 0) goto goto_2;
2427#line 438 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/Vectorization.mo"
2428 tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[0]), 2))(*(void**)(((void*)((void**)(((void*)((char*)(tmpMeta[0]) - 3
))) + (2)))))
;
2429#line 438 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/Vectorization.mo"
2430 _s = tmpMeta[1];
2431#line 2431 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/Vectorization.c"
2432#line 439 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/Vectorization.mo"
2433 tmp1 = (stringEqual((MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_inExp1), 2))), _s)((((((*(mmc_uint_t*)((void*)((char*)(((*(void**)(((void*)((void
**)(((void*)((char*)(_inExp1) - 3))) + (2))))))) - 3)))) >>
(3)) - 8)) == (((((*(mmc_uint_t*)((void*)((char*)(_s) - 3)))
) >> (3)) - 8)) && !mmc_stringCompare(((*(void*
*)(((void*)((void**)(((void*)((char*)(_inExp1) - 3))) + (2)))
))),_s))
);
2434#line 2434 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/Vectorization.c"
2435 goto tmp3_done;
2436 }
2437 case 6: {
2438 modelica_integer tmp7;
2439
2440 /* Pattern matching succeeded */
2441#line 444 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/Vectorization.mo"
2442 /* Pattern-matching assignment */
2443#line 444 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/Vectorization.mo"
2444 tmpMeta[0] = _inExp2;
2445#line 444 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/Vectorization.mo"
2446 if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[0],3,1)((*(mmc_uint_t*)((void*)((char*)(tmpMeta[0]) - 3)))==(((1 +1)
<< 10) + (((3 +3) & 255) << 2)))
== 0) goto goto_2;
2447#line 444 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/Vectorization.mo"
2448 tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[0]), 2))(*(void**)(((void*)((void**)(((void*)((char*)(tmpMeta[0]) - 3
))) + (2)))))
;
2449#line 444 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/Vectorization.mo"
2450 tmp7 = mmc_unbox_integer(tmpMeta[1])(((mmc_sint_t) (tmpMeta[1])) >> 1);
2451#line 444 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/Vectorization.mo"
2452 _b = tmp7 /* pattern as ty=Boolean */;
2453#line 2453 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/Vectorization.c"
2454#line 445 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/Vectorization.mo"
2455 tmp1 = ((!mmc_unbox_boolean((MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_inExp1), 2))))(((mmc_sint_t) (((*(void**)(((void*)((void**)(((void*)((char*
)(_inExp1) - 3))) + (2)))))))) >> 1)
&& !_b) || (mmc_unbox_boolean((MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_inExp1), 2))))(((mmc_sint_t) (((*(void**)(((void*)((void**)(((void*)((char*
)(_inExp1) - 3))) + (2)))))))) >> 1)
&& _b));
2456#line 2456 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/Vectorization.c"
2457 goto tmp3_done;
2458 }
2459 case 8: {
2460
2461 /* Pattern matching succeeded */
2462#line 450 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/Vectorization.mo"
2463 /* Pattern-matching assignment */
2464#line 450 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/Vectorization.mo"
2465 tmpMeta[0] = _inExp2;
2466#line 450 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/Vectorization.mo"
2467 if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[0],5,2)((*(mmc_uint_t*)((void*)((char*)(tmpMeta[0]) - 3)))==(((2 +1)
<< 10) + (((5 +3) & 255) << 2)))
== 0) goto goto_2;
2468#line 450 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/Vectorization.mo"
2469 tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[0]), 2))(*(void**)(((void*)((void**)(((void*)((char*)(tmpMeta[0]) - 3
))) + (2)))))
;
2470#line 450 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/Vectorization.mo"
2471 _p = tmpMeta[1];
2472#line 2472 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/Vectorization.c"
2473#line 451 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/Vectorization.mo"
2474 tmp1 = omc_AbsynUtil_pathEqual(threadData, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_inExp1), 2))(*(void**)(((void*)((void**)(((void*)((char*)(_inExp1) - 3)))
+ (2)))))
), _p);
2475#line 2475 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/Vectorization.c"
2476 goto tmp3_done;
2477 }
2478 case 9: {
2479
2480 /* Pattern matching succeeded */
2481#line 456 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/Vectorization.mo"
2482 /* Pattern-matching assignment */
2483#line 456 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/Vectorization.mo"
2484 tmpMeta[0] = _inExp2;
2485#line 456 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/Vectorization.mo"
2486 if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[0],6,2)((*(mmc_uint_t*)((void*)((char*)(tmpMeta[0]) - 3)))==(((2 +1)
<< 10) + (((6 +3) & 255) << 2)))
== 0) goto goto_2;
2487#line 456 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/Vectorization.mo"
2488 tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[0]), 2))(*(void**)(((void*)((void**)(((void*)((char*)(tmpMeta[0]) - 3
))) + (2)))))
;
2489#line 456 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/Vectorization.mo"
2490 _cr = tmpMeta[1];
2491#line 2491 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/Vectorization.c"
2492#line 457 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/Vectorization.mo"
2493 tmp1 = omc_ComponentReference_crefEqualWithoutSubs(threadData, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_inExp1), 2))(*(void**)(((void*)((void**)(((void*)((char*)(_inExp1) - 3)))
+ (2)))))
), _cr);
2494#line 2494 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/Vectorization.c"
2495 goto tmp3_done;
2496 }
2497 case 19: {
2498
2499 /* Pattern matching succeeded */
2500#line 462 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/Vectorization.mo"
2501 /* Pattern-matching assignment */
2502#line 462 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/Vectorization.mo"
2503 tmpMeta[0] = _inExp2;
2504#line 462 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/Vectorization.mo"
2505 if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[0],16,3)((*(mmc_uint_t*)((void*)((char*)(tmpMeta[0]) - 3)))==(((3 +1)
<< 10) + (((16 +3) & 255) << 2)))
== 0) goto goto_2;
2506#line 462 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/Vectorization.mo"
2507 tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[0]), 2))(*(void**)(((void*)((void**)(((void*)((char*)(tmpMeta[0]) - 3
))) + (2)))))
;
2508#line 462 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/Vectorization.mo"
2509 tmpMeta[2] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[0]), 4))(*(void**)(((void*)((void**)(((void*)((char*)(tmpMeta[0]) - 3
))) + (4)))))
;
2510#line 462 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/Vectorization.mo"
2511 _ty = tmpMeta[1];
2512#line 462 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/Vectorization.mo"
2513 _expl = tmpMeta[2];
2514#line 2514 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/Vectorization.c"
2515#line 463 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/Vectorization.mo"
2516 tmp1 = (valueEq((MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_inExp1), 2))(*(void**)(((void*)((void**)(((void*)((char*)(_inExp1) - 3)))
+ (2)))))
), _ty) && omc_Vectorization_expEqualNoCrefSubsList(threadData, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_inExp1), 4))(*(void**)(((void*)((void**)(((void*)((char*)(_inExp1) - 3)))
+ (4)))))
), _expl));
2517#line 2517 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/Vectorization.c"
2518 goto tmp3_done;
2519 }
2520 case 20: {
2521
2522 /* Pattern matching succeeded */
2523#line 468 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/Vectorization.mo"
2524 /* Pattern-matching assignment */
2525#line 468 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/Vectorization.mo"
2526 tmpMeta[0] = _inExp2;
2527#line 468 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/Vectorization.mo"
2528 if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[0],17,3)((*(mmc_uint_t*)((void*)((char*)(tmpMeta[0]) - 3)))==(((3 +1)
<< 10) + (((17 +3) & 255) << 2)))
== 0) goto goto_2;
2529#line 468 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/Vectorization.mo"
2530 tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[0]), 2))(*(void**)(((void*)((void**)(((void*)((char*)(tmpMeta[0]) - 3
))) + (2)))))
;
2531#line 468 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/Vectorization.mo"
2532 tmpMeta[2] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[0]), 4))(*(void**)(((void*)((void**)(((void*)((char*)(tmpMeta[0]) - 3
))) + (4)))))
;
2533#line 468 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/Vectorization.mo"
2534 _ty = tmpMeta[1];
2535#line 468 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/Vectorization.mo"
2536 _mexpl = tmpMeta[2];
2537#line 2537 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/Vectorization.c"
2538#line 469 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/Vectorization.mo"
2539 tmp1 = (valueEq((MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_inExp1), 2))(*(void**)(((void*)((void**)(((void*)((char*)(_inExp1) - 3)))
+ (2)))))
), _ty) && omc_Vectorization_expEqualNoCrefSubsListList(threadData, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_inExp1), 4))(*(void**)(((void*)((void**)(((void*)((char*)(_inExp1) - 3)))
+ (4)))))
), _mexpl));
2540#line 2540 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/Vectorization.c"
2541 goto tmp3_done;
2542 }
2543 case 10: {
2544
2545 /* Pattern matching succeeded */
2546#line 474 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/Vectorization.mo"
2547 /* Pattern-matching assignment */
2548#line 474 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/Vectorization.mo"
2549 tmpMeta[0] = _inExp2;
2550#line 474 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/Vectorization.mo"
2551 if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[0],7,3)((*(mmc_uint_t*)((void*)((char*)(tmpMeta[0]) - 3)))==(((3 +1)
<< 10) + (((7 +3) & 255) << 2)))
== 0) goto goto_2;
2552#line 474 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/Vectorization.mo"
2553 tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[0]), 2))(*(void**)(((void*)((void**)(((void*)((char*)(tmpMeta[0]) - 3
))) + (2)))))
;
2554#line 474 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/Vectorization.mo"
2555 tmpMeta[2] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[0]), 3))(*(void**)(((void*)((void**)(((void*)((char*)(tmpMeta[0]) - 3
))) + (3)))))
;
2556#line 474 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/Vectorization.mo"
2557 tmpMeta[3] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[0]), 4))(*(void**)(((void*)((void**)(((void*)((char*)(tmpMeta[0]) - 3
))) + (4)))))
;
2558#line 474 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/Vectorization.mo"
2559 _e1 = tmpMeta[1];
2560#line 474 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/Vectorization.mo"
2561 _op = tmpMeta[2];
2562#line 474 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/Vectorization.mo"
2563 _e2 = tmpMeta[3];
2564#line 2564 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/Vectorization.c"
2565#line 475 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/Vectorization.mo"
2566 tmp1 = ((omc_Expression_operatorEqual(threadData, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_inExp1), 3))(*(void**)(((void*)((void**)(((void*)((char*)(_inExp1) - 3)))
+ (3)))))
), _op) && omc_Vectorization_expEqualNoCrefSubs(threadData, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_inExp1), 2))(*(void**)(((void*)((void**)(((void*)((char*)(_inExp1) - 3)))
+ (2)))))
), _e1)) && omc_Vectorization_expEqualNoCrefSubs(threadData, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_inExp1), 4))(*(void**)(((void*)((void**)(((void*)((char*)(_inExp1) - 3)))
+ (4)))))
), _e2));
2567#line 2567 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/Vectorization.c"
2568 goto tmp3_done;
2569 }
2570 case 12: {
2571
2572 /* Pattern matching succeeded */
2573#line 482 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/Vectorization.mo"
2574 /* Pattern-matching assignment */
2575#line 482 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/Vectorization.mo"
2576 tmpMeta[0] = _inExp2;
2577#line 482 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/Vectorization.mo"
2578 if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[0],9,3)((*(mmc_uint_t*)((void*)((char*)(tmpMeta[0]) - 3)))==(((3 +1)
<< 10) + (((9 +3) & 255) << 2)))
== 0) goto goto_2;
2579#line 482 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/Vectorization.mo"
2580 tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[0]), 2))(*(void**)(((void*)((void**)(((void*)((char*)(tmpMeta[0]) - 3
))) + (2)))))
;
2581#line 482 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/Vectorization.mo"
2582 tmpMeta[2] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[0]), 3))(*(void**)(((void*)((void**)(((void*)((char*)(tmpMeta[0]) - 3
))) + (3)))))
;
2583#line 482 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/Vectorization.mo"
2584 tmpMeta[3] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[0]), 4))(*(void**)(((void*)((void**)(((void*)((char*)(tmpMeta[0]) - 3
))) + (4)))))
;
2585#line 482 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/Vectorization.mo"
2586 _e1 = tmpMeta[1];
2587#line 482 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/Vectorization.mo"
2588 _op = tmpMeta[2];
2589#line 482 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/Vectorization.mo"
2590 _e2 = tmpMeta[3];
2591#line 2591 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/Vectorization.c"
2592#line 483 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/Vectorization.mo"
2593 tmp1 = ((omc_Expression_operatorEqual(threadData, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_inExp1), 3))(*(void**)(((void*)((void**)(((void*)((char*)(_inExp1) - 3)))
+ (3)))))
), _op) && omc_Vectorization_expEqualNoCrefSubs(threadData, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_inExp1), 2))(*(void**)(((void*)((void**)(((void*)((char*)(_inExp1) - 3)))
+ (2)))))
), _e1)) && omc_Vectorization_expEqualNoCrefSubs(threadData, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_inExp1), 4))(*(void**)(((void*)((void**)(((void*)((char*)(_inExp1) - 3)))
+ (4)))))
), _e2));
2594#line 2594 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/Vectorization.c"
2595 goto tmp3_done;
2596 }
2597 case 11: {
2598
2599 /* Pattern matching succeeded */
2600#line 490 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/Vectorization.mo"
2601 /* Pattern-matching assignment */
2602#line 490 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/Vectorization.mo"
2603 tmpMeta[0] = _inExp2;
2604#line 490 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/Vectorization.mo"
2605 if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[0],8,2)((*(mmc_uint_t*)((void*)((char*)(tmpMeta[0]) - 3)))==(((2 +1)
<< 10) + (((8 +3) & 255) << 2)))
== 0) goto goto_2;
2606#line 490 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/Vectorization.mo"
2607 tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[0]), 2))(*(void**)(((void*)((void**)(((void*)((char*)(tmpMeta[0]) - 3
))) + (2)))))
;
2608#line 490 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/Vectorization.mo"
2609 tmpMeta[2] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[0]), 3))(*(void**)(((void*)((void**)(((void*)((char*)(tmpMeta[0]) - 3
))) + (3)))))
;
2610#line 490 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/Vectorization.mo"
2611 _op = tmpMeta[1];
2612#line 490 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/Vectorization.mo"
2613 _e = tmpMeta[2];
2614#line 2614 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/Vectorization.c"
2615#line 491 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/Vectorization.mo"
2616 tmp1 = (omc_Expression_operatorEqual(threadData, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_inExp1), 2))(*(void**)(((void*)((void**)(((void*)((char*)(_inExp1) - 3)))
+ (2)))))
), _op) && omc_Vectorization_expEqualNoCrefSubs(threadData, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_inExp1), 3))(*(void**)(((void*)((void**)(((void*)((char*)(_inExp1) - 3)))
+ (3)))))
), _e));
2617#line 2617 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/Vectorization.c"
2618 goto tmp3_done;
2619 }
2620 case 13: {
2621
2622 /* Pattern matching succeeded */
2623#line 497 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/Vectorization.mo"
2624 /* Pattern-matching assignment */
2625#line 497 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/Vectorization.mo"
2626 tmpMeta[0] = _inExp2;
2627#line 497 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/Vectorization.mo"
2628 if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[0],10,2)((*(mmc_uint_t*)((void*)((char*)(tmpMeta[0]) - 3)))==(((2 +1)
<< 10) + (((10 +3) & 255) << 2)))
== 0) goto goto_2;
2629#line 497 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/Vectorization.mo"
2630 tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[0]), 2))(*(void**)(((void*)((void**)(((void*)((char*)(tmpMeta[0]) - 3
))) + (2)))))
;
2631#line 497 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/Vectorization.mo"
2632 tmpMeta[2] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[0]), 3))(*(void**)(((void*)((void**)(((void*)((char*)(tmpMeta[0]) - 3
))) + (3)))))
;
2633#line 497 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/Vectorization.mo"
2634 _op = tmpMeta[1];
2635#line 497 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/Vectorization.mo"
2636 _e = tmpMeta[2];
2637#line 2637 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/Vectorization.c"
2638#line 498 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/Vectorization.mo"
2639 tmp1 = (omc_Expression_operatorEqual(threadData, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_inExp1), 2))(*(void**)(((void*)((void**)(((void*)((char*)(_inExp1) - 3)))
+ (2)))))
), _op) && omc_Vectorization_expEqualNoCrefSubs(threadData, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_inExp1), 3))(*(void**)(((void*)((void**)(((void*)((char*)(_inExp1) - 3)))
+ (3)))))
), _e));
2640#line 2640 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/Vectorization.c"
2641 goto tmp3_done;
2642 }
2643 case 14: {
2644
2645 /* Pattern matching succeeded */
2646#line 504 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/Vectorization.mo"
2647 /* Pattern-matching assignment */
2648#line 504 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/Vectorization.mo"
2649 tmpMeta[0] = _inExp2;
2650#line 504 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/Vectorization.mo"
2651 if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[0],11,5)((*(mmc_uint_t*)((void*)((char*)(tmpMeta[0]) - 3)))==(((5 +1)
<< 10) + (((11 +3) & 255) << 2)))
== 0) goto goto_2;
2652#line 504 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/Vectorization.mo"
2653 tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[0]), 2))(*(void**)(((void*)((void**)(((void*)((char*)(tmpMeta[0]) - 3
))) + (2)))))
;
2654#line 504 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/Vectorization.mo"
2655 tmpMeta[2] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[0]), 3))(*(void**)(((void*)((void**)(((void*)((char*)(tmpMeta[0]) - 3
))) + (3)))))
;
2656#line 504 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/Vectorization.mo"
2657 tmpMeta[3] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[0]), 4))(*(void**)(((void*)((void**)(((void*)((char*)(tmpMeta[0]) - 3
))) + (4)))))
;
2658#line 504 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/Vectorization.mo"
2659 _e1 = tmpMeta[1];
2660#line 504 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/Vectorization.mo"
2661 _op = tmpMeta[2];
2662#line 504 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/Vectorization.mo"
2663 _e2 = tmpMeta[3];
2664#line 2664 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/Vectorization.c"
2665#line 505 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/Vectorization.mo"
2666 tmp1 = ((omc_Expression_operatorEqual(threadData, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_inExp1), 3))(*(void**)(((void*)((void**)(((void*)((char*)(_inExp1) - 3)))
+ (3)))))
), _op) && omc_Vectorization_expEqualNoCrefSubs(threadData, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_inExp1), 2))(*(void**)(((void*)((void**)(((void*)((char*)(_inExp1) - 3)))
+ (2)))))
), _e1)) && omc_Vectorization_expEqualNoCrefSubs(threadData, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_inExp1), 4))(*(void**)(((void*)((void**)(((void*)((char*)(_inExp1) - 3)))
+ (4)))))
), _e2));
2667#line 2667 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/Vectorization.c"
2668 goto tmp3_done;
2669 }
2670 case 15: {
2671
2672 /* Pattern matching succeeded */
2673#line 512 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/Vectorization.mo"
2674 /* Pattern-matching assignment */
2675#line 512 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/Vectorization.mo"
2676 tmpMeta[0] = _inExp2;
2677#line 512 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/Vectorization.mo"
2678 if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[0],12,3)((*(mmc_uint_t*)((void*)((char*)(tmpMeta[0]) - 3)))==(((3 +1)
<< 10) + (((12 +3) & 255) << 2)))
== 0) goto goto_2;
2679#line 512 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/Vectorization.mo"
2680 tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[0]), 2))(*(void**)(((void*)((void**)(((void*)((char*)(tmpMeta[0]) - 3
))) + (2)))))
;
2681#line 512 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/Vectorization.mo"
2682 tmpMeta[2] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[0]), 3))(*(void**)(((void*)((void**)(((void*)((char*)(tmpMeta[0]) - 3
))) + (3)))))
;
2683#line 512 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/Vectorization.mo"
2684 tmpMeta[3] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[0]), 4))(*(void**)(((void*)((void**)(((void*)((char*)(tmpMeta[0]) - 3
))) + (4)))))
;
2685#line 512 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/Vectorization.mo"
2686 _e = tmpMeta[1];
2687#line 512 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/Vectorization.mo"
2688 _e1 = tmpMeta[2];
2689#line 512 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/Vectorization.mo"
2690 _e2 = tmpMeta[3];
2691#line 2691 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/Vectorization.c"
2692#line 513 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/Vectorization.mo"
2693 tmp1 = ((omc_Vectorization_expEqualNoCrefSubs(threadData, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_inExp1), 2))(*(void**)(((void*)((void**)(((void*)((char*)(_inExp1) - 3)))
+ (2)))))
), _e) && omc_Vectorization_expEqualNoCrefSubs(threadData, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_inExp1), 3))(*(void**)(((void*)((void**)(((void*)((char*)(_inExp1) - 3)))
+ (3)))))
), _e1)) && omc_Vectorization_expEqualNoCrefSubs(threadData, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_inExp1), 4))(*(void**)(((void*)((void**)(((void*)((char*)(_inExp1) - 3)))
+ (4)))))
), _e2));
2694#line 2694 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/Vectorization.c"
2695 goto tmp3_done;
2696 }
2697 case 16: {
2698
2699 /* Pattern matching succeeded */
2700#line 520 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/Vectorization.mo"
2701 /* Pattern-matching assignment */
2702#line 520 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/Vectorization.mo"
2703 tmpMeta[0] = _inExp2;
2704#line 520 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/Vectorization.mo"
2705 if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[0],13,3)((*(mmc_uint_t*)((void*)((char*)(tmpMeta[0]) - 3)))==(((3 +1)
<< 10) + (((13 +3) & 255) << 2)))
== 0) goto goto_2;
2706#line 520 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/Vectorization.mo"
2707 tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[0]), 2))(*(void**)(((void*)((void**)(((void*)((char*)(tmpMeta[0]) - 3
))) + (2)))))
;
2708#line 520 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/Vectorization.mo"
2709 tmpMeta[2] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[0]), 3))(*(void**)(((void*)((void**)(((void*)((char*)(tmpMeta[0]) - 3
))) + (3)))))
;
2710#line 520 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/Vectorization.mo"
2711 _p = tmpMeta[1];
2712#line 520 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/Vectorization.mo"
2713 _expl = tmpMeta[2];
2714#line 2714 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/Vectorization.c"
2715#line 521 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/Vectorization.mo"
2716 tmp1 = (omc_AbsynUtil_pathEqual(threadData, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_inExp1), 2))(*(void**)(((void*)((void**)(((void*)((char*)(_inExp1) - 3)))
+ (2)))))
), _p) && omc_Vectorization_expEqualNoCrefSubsList(threadData, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_inExp1), 3))(*(void**)(((void*)((void**)(((void*)((char*)(_inExp1) - 3)))
+ (3)))))
), _expl));
2717#line 2717 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/Vectorization.c"
2718 goto tmp3_done;
2719 }
2720 case 17: {
2721
2722 /* Pattern matching succeeded */
2723#line 527 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/Vectorization.mo"
2724 /* Pattern-matching assignment */
2725#line 527 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/Vectorization.mo"
2726 tmpMeta[0] = _inExp2;
2727#line 527 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/Vectorization.mo"
2728 if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[0],14,4)((*(mmc_uint_t*)((void*)((char*)(tmpMeta[0]) - 3)))==(((4 +1)
<< 10) + (((14 +3) & 255) << 2)))
== 0) goto goto_2;
2729#line 527 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/Vectorization.mo"
2730 tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[0]), 2))(*(void**)(((void*)((void**)(((void*)((char*)(tmpMeta[0]) - 3
))) + (2)))))
;
2731#line 527 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/Vectorization.mo"
2732 tmpMeta[2] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[0]), 3))(*(void**)(((void*)((void**)(((void*)((char*)(tmpMeta[0]) - 3
))) + (3)))))
;
2733#line 527 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/Vectorization.mo"
2734 _p = tmpMeta[1];
2735#line 527 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/Vectorization.mo"
2736 _expl = tmpMeta[2];
2737#line 2737 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/Vectorization.c"
2738#line 528 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/Vectorization.mo"
2739 tmp1 = (omc_AbsynUtil_pathEqual(threadData, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_inExp1), 2))(*(void**)(((void*)((void**)(((void*)((char*)(_inExp1) - 3)))
+ (2)))))
), _p) && omc_Vectorization_expEqualNoCrefSubsList(threadData, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_inExp1), 3))(*(void**)(((void*)((void**)(((void*)((char*)(_inExp1) - 3)))
+ (3)))))
), _expl));
2740#line 2740 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/Vectorization.c"
2741 goto tmp3_done;
2742 }
2743 case 18: {
2744
2745 /* Pattern matching succeeded */
2746#line 534 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/Vectorization.mo"
2747 /* Pattern-matching assignment */
2748#line 534 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/Vectorization.mo"
2749 tmpMeta[0] = _inExp2;
2750#line 534 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/Vectorization.mo"
2751 if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[0],15,4)((*(mmc_uint_t*)((void*)((char*)(tmpMeta[0]) - 3)))==(((4 +1)
<< 10) + (((15 +3) & 255) << 2)))
== 0) goto goto_2;
2752#line 534 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/Vectorization.mo"
2753 tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[0]), 2))(*(void**)(((void*)((void**)(((void*)((char*)(tmpMeta[0]) - 3
))) + (2)))))
;
2754#line 534 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/Vectorization.mo"
2755 tmpMeta[2] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[0]), 3))(*(void**)(((void*)((void**)(((void*)((char*)(tmpMeta[0]) - 3
))) + (3)))))
;
2756#line 534 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/Vectorization.mo"
2757 _p = tmpMeta[1];
2758#line 534 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/Vectorization.mo"
2759 _expl = tmpMeta[2];
2760#line 2760 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/Vectorization.c"
2761#line 535 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/Vectorization.mo"
2762 tmp1 = (omc_AbsynUtil_pathEqual(threadData, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_inExp1), 2))(*(void**)(((void*)((void**)(((void*)((char*)(_inExp1) - 3)))
+ (2)))))
), _p) && omc_Vectorization_expEqualNoCrefSubsList(threadData, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_inExp1), 3))(*(void**)(((void*)((void**)(((void*)((char*)(_inExp1) - 3)))
+ (3)))))
), _expl));
2763#line 2763 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/Vectorization.c"
2764 goto tmp3_done;
2765 }
2766 case 21: {
2767
2768 /* Pattern matching succeeded */
2769#line 541 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/Vectorization.mo"
2770 /* Pattern-matching assignment */
2771#line 541 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/Vectorization.mo"
2772 tmpMeta[0] = _inExp2;
2773#line 541 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/Vectorization.mo"
2774 if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[0],18,4)((*(mmc_uint_t*)((void*)((char*)(tmpMeta[0]) - 3)))==(((4 +1)
<< 10) + (((18 +3) & 255) << 2)))
== 0) goto goto_2;
2775#line 541 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/Vectorization.mo"
2776 tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[0]), 3))(*(void**)(((void*)((void**)(((void*)((char*)(tmpMeta[0]) - 3
))) + (3)))))
;
2777#line 541 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/Vectorization.mo"
2778 tmpMeta[2] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[0]), 4))(*(void**)(((void*)((void**)(((void*)((char*)(tmpMeta[0]) - 3
))) + (4)))))
;
2779#line 541 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/Vectorization.mo"
2780 tmpMeta[3] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[0]), 5))(*(void**)(((void*)((void**)(((void*)((char*)(tmpMeta[0]) - 3
))) + (5)))))
;
2781#line 541 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/Vectorization.mo"
2782 _e1 = tmpMeta[1];
2783#line 541 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/Vectorization.mo"
2784 _oe = tmpMeta[2];
2785#line 541 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/Vectorization.mo"
2786 _e2 = tmpMeta[3];
2787#line 2787 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/Vectorization.c"
2788#line 542 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/Vectorization.mo"
2789 tmp1 = ((omc_Vectorization_expEqualNoCrefSubs(threadData, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_inExp1), 3))(*(void**)(((void*)((void**)(((void*)((char*)(_inExp1) - 3)))
+ (3)))))
), _e1) && omc_Vectorization_expEqualNoCrefSubs(threadData, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_inExp1), 5))(*(void**)(((void*)((void**)(((void*)((char*)(_inExp1) - 3)))
+ (5)))))
), _e2)) && omc_Vectorization_expEqualNoCrefSubsOpt(threadData, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_inExp1), 4))(*(void**)(((void*)((void**)(((void*)((char*)(_inExp1) - 3)))
+ (4)))))
), _oe));
2790#line 2790 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/Vectorization.c"
2791 goto tmp3_done;
2792 }
2793 case 22: {
2794
2795 /* Pattern matching succeeded */
2796#line 549 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/Vectorization.mo"
2797 /* Pattern-matching assignment */
2798#line 549 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/Vectorization.mo"
2799 tmpMeta[0] = _inExp2;
2800#line 549 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/Vectorization.mo"
2801 if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[0],19,1)((*(mmc_uint_t*)((void*)((char*)(tmpMeta[0]) - 3)))==(((1 +1)
<< 10) + (((19 +3) & 255) << 2)))
== 0) goto goto_2;
2802#line 549 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/Vectorization.mo"
2803 tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[0]), 2))(*(void**)(((void*)((void**)(((void*)((char*)(tmpMeta[0]) - 3
))) + (2)))))
;
2804#line 549 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/Vectorization.mo"
2805 _expl = tmpMeta[1];
2806#line 2806 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/Vectorization.c"
2807#line 550 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/Vectorization.mo"
2808 tmp1 = omc_Vectorization_expEqualNoCrefSubsList(threadData, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_inExp1), 2))(*(void**)(((void*)((void**)(((void*)((char*)(_inExp1) - 3)))
+ (2)))))
), _expl);
2809#line 2809 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/Vectorization.c"
2810 goto tmp3_done;
2811 }
2812 case 23: {
2813
2814 /* Pattern matching succeeded */
2815#line 555 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/Vectorization.mo"
2816 /* Pattern-matching assignment */
2817#line 555 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/Vectorization.mo"
2818 tmpMeta[0] = _inExp2;
2819#line 555 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/Vectorization.mo"
2820 if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[0],20,2)((*(mmc_uint_t*)((void*)((char*)(tmpMeta[0]) - 3)))==(((2 +1)
<< 10) + (((20 +3) & 255) << 2)))
== 0) goto goto_2;
2821#line 555 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/Vectorization.mo"
2822 tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[0]), 2))(*(void**)(((void*)((void**)(((void*)((char*)(tmpMeta[0]) - 3
))) + (2)))))
;
2823#line 555 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/Vectorization.mo"
2824 tmpMeta[2] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[0]), 3))(*(void**)(((void*)((void**)(((void*)((char*)(tmpMeta[0]) - 3
))) + (3)))))
;
2825#line 555 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/Vectorization.mo"
2826 _ty = tmpMeta[1];
2827#line 555 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/Vectorization.mo"
2828 _e = tmpMeta[2];
2829#line 2829 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/Vectorization.c"
2830#line 556 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/Vectorization.mo"
2831 tmp1 = (valueEq((MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_inExp1), 2))(*(void**)(((void*)((void**)(((void*)((char*)(_inExp1) - 3)))
+ (2)))))
), _ty) && omc_Vectorization_expEqualNoCrefSubs(threadData, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_inExp1), 3))(*(void**)(((void*)((void**)(((void*)((char*)(_inExp1) - 3)))
+ (3)))))
), _e));
2832#line 2832 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/Vectorization.c"
2833 goto tmp3_done;
2834 }
2835 case 24: {
2836
2837 /* Pattern matching succeeded */
2838#line 561 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/Vectorization.mo"
2839 /* Pattern-matching assignment */
2840#line 561 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/Vectorization.mo"
2841 tmpMeta[0] = _inExp2;
2842#line 561 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/Vectorization.mo"
2843 if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[0],21,2)((*(mmc_uint_t*)((void*)((char*)(tmpMeta[0]) - 3)))==(((2 +1)
<< 10) + (((21 +3) & 255) << 2)))
== 0) goto goto_2;
2844#line 561 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/Vectorization.mo"
2845 tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[0]), 2))(*(void**)(((void*)((void**)(((void*)((char*)(tmpMeta[0]) - 3
))) + (2)))))
;
2846#line 561 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/Vectorization.mo"
2847 tmpMeta[2] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[0]), 3))(*(void**)(((void*)((void**)(((void*)((char*)(tmpMeta[0]) - 3
))) + (3)))))
;
2848#line 561 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/Vectorization.mo"
2849 _e = tmpMeta[1];
2850#line 561 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/Vectorization.mo"
2851 _expl = tmpMeta[2];
2852#line 2852 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/Vectorization.c"
2853#line 562 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/Vectorization.mo"
2854 tmp1 = (omc_Vectorization_expEqualNoCrefSubs(threadData, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_inExp1), 2))(*(void**)(((void*)((void**)(((void*)((char*)(_inExp1) - 3)))
+ (2)))))
), _e) && omc_Vectorization_expEqualNoCrefSubsList(threadData, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_inExp1), 3))(*(void**)(((void*)((void**)(((void*)((char*)(_inExp1) - 3)))
+ (3)))))
), _expl));
2855#line 2855 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/Vectorization.c"
2856 goto tmp3_done;
2857 }
2858 case 27: {
2859
2860 /* Pattern matching succeeded */
2861#line 567 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/Vectorization.mo"
2862 /* Pattern-matching assignment */
2863#line 567 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/Vectorization.mo"
2864 tmpMeta[0] = _inExp2;
2865#line 567 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/Vectorization.mo"
2866 if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[0],24,2)((*(mmc_uint_t*)((void*)((char*)(tmpMeta[0]) - 3)))==(((2 +1)
<< 10) + (((24 +3) & 255) << 2)))
== 0) goto goto_2;
2867#line 567 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/Vectorization.mo"
2868 tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[0]), 2))(*(void**)(((void*)((void**)(((void*)((char*)(tmpMeta[0]) - 3
))) + (2)))))
;
2869#line 567 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/Vectorization.mo"
2870 tmpMeta[2] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[0]), 3))(*(void**)(((void*)((void**)(((void*)((char*)(tmpMeta[0]) - 3
))) + (3)))))
;
2871#line 567 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/Vectorization.mo"
2872 _e = tmpMeta[1];
2873#line 567 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/Vectorization.mo"
2874 _oe = tmpMeta[2];
2875#line 2875 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/Vectorization.c"
2876#line 568 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/Vectorization.mo"
2877 tmp1 = (omc_Vectorization_expEqualNoCrefSubs(threadData, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_inExp1), 2))(*(void**)(((void*)((void**)(((void*)((char*)(_inExp1) - 3)))
+ (2)))))
), _e) && omc_Vectorization_expEqualNoCrefSubsOpt(threadData, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_inExp1), 3))(*(void**)(((void*)((void**)(((void*)((char*)(_inExp1) - 3)))
+ (3)))))
), _oe));
2878#line 2878 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/Vectorization.c"
2879 goto tmp3_done;
2880 }
2881 case 30: {
2882
2883 /* Pattern matching succeeded */
2884#line 573 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/Vectorization.mo"
2885 tmp1 = valueEq(_inExp1, _inExp2);
2886#line 2886 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/Vectorization.c"
2887 goto tmp3_done;
2888 }
2889 case 31: {
2890
2891 /* Pattern matching succeeded */
2892#line 577 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/Vectorization.mo"
2893 /* Pattern-matching assignment */
2894#line 577 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/Vectorization.mo"
2895 tmpMeta[0] = _inExp2;
2896#line 577 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/Vectorization.mo"
2897 if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[0],28,1)((*(mmc_uint_t*)((void*)((char*)(tmpMeta[0]) - 3)))==(((1 +1)
<< 10) + (((28 +3) & 255) << 2)))
== 0) goto goto_2;
2898#line 577 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/Vectorization.mo"
2899 tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[0]), 2))(*(void**)(((void*)((void**)(((void*)((char*)(tmpMeta[0]) - 3
))) + (2)))))
;
2900#line 577 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/Vectorization.mo"
2901 _expl = tmpMeta[1];
2902#line 2902 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/Vectorization.c"
2903#line 578 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/Vectorization.mo"
2904 tmp1 = omc_Vectorization_expEqualNoCrefSubsList(threadData, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_inExp1), 2))(*(void**)(((void*)((void**)(((void*)((char*)(_inExp1) - 3)))
+ (2)))))
), _expl);
2905#line 2905 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/Vectorization.c"
2906 goto tmp3_done;
2907 }
2908 case 32: {
2909
2910 /* Pattern matching succeeded */
2911#line 583 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/Vectorization.mo"
2912 /* Pattern-matching assignment */
2913#line 583 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/Vectorization.mo"
2914 tmpMeta[0] = _inExp2;
2915#line 583 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/Vectorization.mo"
2916 if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[0],29,2)((*(mmc_uint_t*)((void*)((char*)(tmpMeta[0]) - 3)))==(((2 +1)
<< 10) + (((29 +3) & 255) << 2)))
== 0) goto goto_2;
2917#line 583 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/Vectorization.mo"
2918 tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[0]), 2))(*(void**)(((void*)((void**)(((void*)((char*)(tmpMeta[0]) - 3
))) + (2)))))
;
2919#line 583 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/Vectorization.mo"
2920 tmpMeta[2] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[0]), 3))(*(void**)(((void*)((void**)(((void*)((char*)(tmpMeta[0]) - 3
))) + (3)))))
;
2921#line 583 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/Vectorization.mo"
2922 _e1 = tmpMeta[1];
2923#line 583 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/Vectorization.mo"
2924 _e2 = tmpMeta[2];
2925#line 2925 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/Vectorization.c"
2926#line 584 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/Vectorization.mo"
2927 tmp1 = (omc_Vectorization_expEqualNoCrefSubs(threadData, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_inExp1), 2))(*(void**)(((void*)((void**)(((void*)((char*)(_inExp1) - 3)))
+ (2)))))
), _e1) && omc_Vectorization_expEqualNoCrefSubs(threadData, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_inExp1), 3))(*(void**)(((void*)((void**)(((void*)((char*)(_inExp1) - 3)))
+ (3)))))
), _e2));
2928#line 2928 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/Vectorization.c"
2929 goto tmp3_done;
2930 }
2931 case 33: {
2932
2933 /* Pattern matching succeeded */
2934#line 589 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/Vectorization.mo"
2935 /* Pattern-matching assignment */
2936#line 589 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/Vectorization.mo"
2937 tmpMeta[0] = _inExp2;
2938#line 589 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/Vectorization.mo"
2939 if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[0],30,1)((*(mmc_uint_t*)((void*)((char*)(tmpMeta[0]) - 3)))==(((1 +1)
<< 10) + (((30 +3) & 255) << 2)))
== 0) goto goto_2;
2940#line 589 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/Vectorization.mo"
2941 tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[0]), 2))(*(void**)(((void*)((void**)(((void*)((char*)(tmpMeta[0]) - 3
))) + (2)))))
;
2942#line 589 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/Vectorization.mo"
2943 _expl = tmpMeta[1];
2944#line 2944 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/Vectorization.c"
2945#line 590 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/Vectorization.mo"
2946 tmp1 = omc_Vectorization_expEqualNoCrefSubsList(threadData, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_inExp1), 2))(*(void**)(((void*)((void**)(((void*)((char*)(_inExp1) - 3)))
+ (2)))))
), _expl);
2947#line 2947 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/Vectorization.c"
2948 goto tmp3_done;
2949 }
2950 case 34: {
2951
2952 /* Pattern matching succeeded */
2953#line 595 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/Vectorization.mo"
2954 /* Pattern-matching assignment */
2955#line 595 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/Vectorization.mo"
2956 tmpMeta[0] = _inExp2;
2957#line 595 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/Vectorization.mo"
2958 if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[0],31,1)((*(mmc_uint_t*)((void*)((char*)(tmpMeta[0]) - 3)))==(((1 +1)
<< 10) + (((31 +3) & 255) << 2)))
== 0) goto goto_2;
2959#line 595 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/Vectorization.mo"
2960 tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[0]), 2))(*(void**)(((void*)((void**)(((void*)((char*)(tmpMeta[0]) - 3
))) + (2)))))
;
2961#line 595 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/Vectorization.mo"
2962 _oe = tmpMeta[1];
2963#line 2963 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/Vectorization.c"
2964#line 596 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/Vectorization.mo"
2965 tmp1 = omc_Vectorization_expEqualNoCrefSubsOpt(threadData, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_inExp1), 2))(*(void**)(((void*)((void**)(((void*)((char*)(_inExp1) - 3)))
+ (2)))))
), _oe);
2966#line 2966 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/Vectorization.c"
2967 goto tmp3_done;
2968 }
2969 case 35: {
2970
2971 /* Pattern matching succeeded */
2972#line 601 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/Vectorization.mo"
2973 /* Pattern-matching assignment */
2974#line 601 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/Vectorization.mo"
2975 tmpMeta[0] = _inExp2;
2976#line 601 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/Vectorization.mo"
2977 if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[0],32,5)((*(mmc_uint_t*)((void*)((char*)(tmpMeta[0]) - 3)))==(((5 +1)
<< 10) + (((32 +3) & 255) << 2)))
== 0) goto goto_2;
2978#line 601 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/Vectorization.mo"
2979 tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[0]), 2))(*(void**)(((void*)((void**)(((void*)((char*)(tmpMeta[0]) - 3
))) + (2)))))
;
2980#line 601 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/Vectorization.mo"
2981 tmpMeta[2] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[0]), 3))(*(void**)(((void*)((void**)(((void*)((char*)(tmpMeta[0]) - 3
))) + (3)))))
;
2982#line 601 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/Vectorization.mo"
2983 _p = tmpMeta[1];
2984#line 601 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/Vectorization.mo"
2985 _expl = tmpMeta[2];
2986#line 2986 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/Vectorization.c"
2987#line 602 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/Vectorization.mo"
2988 tmp1 = (omc_AbsynUtil_pathEqual(threadData, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_inExp1), 2))(*(void**)(((void*)((void**)(((void*)((char*)(_inExp1) - 3)))
+ (2)))))
), _p) && omc_Vectorization_expEqualNoCrefSubsList(threadData, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_inExp1), 3))(*(void**)(((void*)((void**)(((void*)((char*)(_inExp1) - 3)))
+ (3)))))
), _expl));
2989#line 2989 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/Vectorization.c"
2990 goto tmp3_done;
2991 }
2992 case 36: {
2993
2994 /* Pattern matching succeeded */
2995#line 606 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/Vectorization.mo"
2996 tmp1 = valueEq(_inExp1, _inExp2);
2997#line 2997 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/Vectorization.c"
2998 goto tmp3_done;
2999 }
3000 case 37: {
3001
3002 /* Pattern matching succeeded */
3003#line 610 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/Vectorization.mo"
3004 /* Pattern-matching assignment */
3005#line 610 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/Vectorization.mo"
3006 tmpMeta[0] = _inExp2;
3007#line 610 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/Vectorization.mo"
3008 if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[0],34,1)((*(mmc_uint_t*)((void*)((char*)(tmpMeta[0]) - 3)))==(((1 +1)
<< 10) + (((34 +3) & 255) << 2)))
== 0) goto goto_2;
3009#line 610 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/Vectorization.mo"
3010 tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[0]), 2))(*(void**)(((void*)((void**)(((void*)((char*)(tmpMeta[0]) - 3
))) + (2)))))
;
3011#line 610 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/Vectorization.mo"
3012 _e = tmpMeta[1];
3013#line 3013 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/Vectorization.c"
3014#line 611 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/Vectorization.mo"
3015 /* Tail recursive call */
3016#line 611 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/Vectorization.mo"
3017 _inExp1 = (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_inExp1), 2))(*(void**)(((void*)((void**)(((void*)((char*)(_inExp1) - 3)))
+ (2)))))
);
3018#line 611 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/Vectorization.mo"
3019 _inExp2 = _e;
3020#line 611 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/Vectorization.mo"
3021 goto _tailrecursive;
3022#line 611 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/Vectorization.mo"
3023 /* TODO: Make sure any eventual dead code below is never generated */
3024#line 3024 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/Vectorization.c"
3025 goto tmp3_done;
3026 }
3027 case 38: {
3028
3029 /* Pattern matching succeeded */
3030#line 616 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/Vectorization.mo"
3031 /* Pattern-matching assignment */
3032#line 616 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/Vectorization.mo"
3033 tmpMeta[0] = _inExp2;
3034#line 616 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/Vectorization.mo"
3035 if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[0],35,2)((*(mmc_uint_t*)((void*)((char*)(tmpMeta[0]) - 3)))==(((2 +1)
<< 10) + (((35 +3) & 255) << 2)))
== 0) goto goto_2;
3036#line 616 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/Vectorization.mo"
3037 tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[0]), 2))(*(void**)(((void*)((void**)(((void*)((char*)(tmpMeta[0]) - 3
))) + (2)))))
;
3038#line 616 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/Vectorization.mo"
3039 _e = tmpMeta[1];
3040#line 3040 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/Vectorization.c"
3041#line 617 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/Vectorization.mo"
3042 /* Tail recursive call */
3043#line 617 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/Vectorization.mo"
3044 _inExp1 = (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_inExp1), 2))(*(void**)(((void*)((void**)(((void*)((char*)(_inExp1) - 3)))
+ (2)))))
);
3045#line 617 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/Vectorization.mo"
3046 _inExp2 = _e;
3047#line 617 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/Vectorization.mo"
3048 goto _tailrecursive;
3049#line 617 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/Vectorization.mo"
3050 /* TODO: Make sure any eventual dead code below is never generated */
3051#line 3051 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/Vectorization.c"
3052 goto tmp3_done;
3053 }
3054 case 39: {
3055 modelica_integer tmp8;
3056
3057 /* Pattern matching succeeded */
3058#line 622 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/Vectorization.mo"
3059 /* Pattern-matching assignment */
3060#line 622 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/Vectorization.mo"
3061 tmpMeta[0] = _inExp2;
3062#line 622 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/Vectorization.mo"
3063 if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[0],36,2)((*(mmc_uint_t*)((void*)((char*)(tmpMeta[0]) - 3)))==(((2 +1)
<< 10) + (((36 +3) & 255) << 2)))
== 0) goto goto_2;
3064#line 622 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/Vectorization.mo"
3065 tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[0]), 2))(*(void**)(((void*)((void**)(((void*)((char*)(tmpMeta[0]) - 3
))) + (2)))))
;
3066#line 622 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/Vectorization.mo"
3067 tmp8 = mmc_unbox_integer(tmpMeta[1])(((mmc_sint_t) (tmpMeta[1])) >> 1);
3068#line 622 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/Vectorization.mo"
3069 _i = tmp8 /* pattern as ty=Integer */;
3070#line 3070 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/Vectorization.c"
3071#line 623 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/Vectorization.mo"
3072 tmp1 = (mmc_unbox_integer((MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_inExp1), 2))))(((mmc_sint_t) (((*(void**)(((void*)((void**)(((void*)((char*
)(_inExp1) - 3))) + (2)))))))) >> 1)
== _i);
3073#line 3073 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/Vectorization.c"
3074 goto tmp3_done;
3075 }
3076 default:
3077 tmp3_default: OMC_LABEL_UNUSED__attribute__((unused)); {
3078
3079 /* Pattern matching succeeded */
3080#line 626 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/Vectorization.mo"
3081 tmp1 = 0;
3082#line 3082 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/Vectorization.c"
3083 goto tmp3_done;
3084 }
3085 }
3086 goto tmp3_end;
3087 tmp3_end: ;
3088 }
3089 goto goto_2;
3090 goto_2:;
3091 MMC_THROW_INTERNAL(){longjmp(*threadData->mmc_jumper,1);};
3092 goto tmp3_done;
3093 tmp3_done:;
3094 }
3095 }
3096 _outEqual = tmp1;
3097 _return: OMC_LABEL_UNUSED__attribute__((unused))
3098 return _outEqual;
3099}
3100modelica_metatype boxptr_Vectorization_expEqualNoCrefSubs(threadData_t *threadData, modelica_metatype _inExp1, modelica_metatype _inExp2)
3101{
3102 modelica_boolean _outEqual;
3103 modelica_metatype out_outEqual;
3104 _outEqual = omc_Vectorization_expEqualNoCrefSubs(threadData, _inExp1, _inExp2);
3105 out_outEqual = mmc_mk_icon(_outEqual);
3106 return out_outEqual;
3107}
3108
3109DLLExport
3110modelica_boolean omc_Vectorization_equationEqualNoCrefSubs(threadData_t *threadData, modelica_metatype _e1, modelica_metatype _e2)
3111{
3112 modelica_boolean _res;
3113 modelica_boolean tmp1 = 0;
3114 modelica_metatype tmpMeta[4] __attribute__((unused)) = {0};
3115 MMC_SO()mmc_check_stackoverflow(threadData);
3116 _tailrecursive: OMC_LABEL_UNUSED__attribute__((unused))
3117 // _res has no default value.
3118#line 3118 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/Vectorization.c"
3119 { /* matchcontinue expression */
3120 volatile modelica_metatype tmp4_1;volatile modelica_metatype tmp4_2;
3121 tmp4_1 = _e1;
3122 tmp4_2 = _e2;
3123 {
3124 modelica_metatype _e11 = NULL((void*)0);
3125 modelica_metatype _e12 = NULL((void*)0);
3126 modelica_metatype _e21 = NULL((void*)0);
3127 modelica_metatype _e22 = NULL((void*)0);
3128 modelica_metatype _exp1 = NULL((void*)0);
3129 modelica_metatype _exp2 = NULL((void*)0);
3130 modelica_metatype _cr1 = NULL((void*)0);
3131 modelica_metatype _cr2 = NULL((void*)0);
3132 modelica_metatype _alg1 = NULL((void*)0);
3133 modelica_metatype _alg2 = NULL((void*)0);
3134 modelica_metatype _explst1 = NULL((void*)0);
3135 modelica_metatype _explst2 = NULL((void*)0);
3136 modelica_metatype _terms1 = NULL((void*)0);
3137 modelica_metatype _terms2 = NULL((void*)0);
3138 modelica_metatype _crefs1 = NULL((void*)0);
3139 modelica_metatype _crefs2 = NULL((void*)0);
3140 modelica_metatype _commCrefs = NULL((void*)0);
3141 volatile mmc_switch_type tmp4;
3142 int tmp5;
3143 // _e11 has no default value.
3144 // _e12 has no default value.
3145 // _e21 has no default value.
3146 // _e22 has no default value.
3147 // _exp1 has no default value.
3148 // _exp2 has no default value.
3149 // _cr1 has no default value.
3150 // _cr2 has no default value.
3151 // _alg1 has no default value.
3152 // _alg2 has no default value.
3153 // _explst1 has no default value.
3154 // _explst2 has no default value.
3155 // _terms1 has no default value.
3156 // _terms2 has no default value.
3157 // _crefs1 has no default value.
3158 // _crefs2 has no default value.
3159 // _commCrefs has no default value.
3160 tmp4 = 0;
3161 MMC_TRY_INTERNAL(mmc_jumper){ jmp_buf new_mmc_jumper, *old_jumper __attribute__((unused))
= threadData->mmc_jumper; threadData->mmc_jumper = &
new_mmc_jumper; if (_setjmp (new_mmc_jumper) == 0) {
3162 tmp3_top:
3163 threadData->mmc_jumper = &new_mmc_jumper;
3164 for (; tmp4 < 8; tmp4++) {
3165 switch (MMC_SWITCH_CAST(tmp4)(tmp4)) {
3166 case 0: {
3167 modelica_boolean tmp6;
3168
3169 /* Pattern matching succeeded */
3170#line 339 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/Vectorization.mo"
3171 /* Pattern-matching assignment */
3172#line 339 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/Vectorization.mo"
3173 tmp6 = referenceEq(_e1, _e2)((_e1) == (_e2));
3174#line 339 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/Vectorization.mo"
3175 if (1 != tmp6) goto goto_2;
3176#line 3176 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/Vectorization.c"
3177#line 340 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/Vectorization.mo"
3178 tmp1 = 1;
3179#line 3179 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/Vectorization.c"
3180 goto tmp3_done;
3181 }
3182 case 1: {
3183 if (mmc__uniontype__metarecord__typedef__equal(tmp4_1,0,4)((*(mmc_uint_t*)((void*)((char*)(tmp4_1) - 3)))==(((4 +1) <<
10) + (((0 +3) & 255) << 2)))
== 0) goto tmp3_end;
3184 tmpMeta[0] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_1), 2))(*(void**)(((void*)((void**)(((void*)((char*)(tmp4_1) - 3))) +
(2)))))
;
3185 tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_1), 3))(*(void**)(((void*)((void**)(((void*)((char*)(tmp4_1) - 3))) +
(3)))))
;
3186 if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,0,4)((*(mmc_uint_t*)((void*)((char*)(tmp4_2) - 3)))==(((4 +1) <<
10) + (((0 +3) & 255) << 2)))
== 0) goto tmp3_end;
3187 tmpMeta[2] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2))(*(void**)(((void*)((void**)(((void*)((char*)(tmp4_2) - 3))) +
(2)))))
;
3188 tmpMeta[3] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 3))(*(void**)(((void*)((void**)(((void*)((char*)(tmp4_2) - 3))) +
(3)))))
;
3189
3190 _e11 = tmpMeta[0];
3191 _e12 = tmpMeta[1];
3192 _e21 = tmpMeta[2];
3193 _e22 = tmpMeta[3];
3194 tmp4 += 5; /* Pattern matching succeeded; we may skip some cases if we fail */
3195#line 342 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/Vectorization.mo"
3196 if((omc_Vectorization_expEqualNoCrefSubs(threadData, _e11, _e21) && omc_Vectorization_expEqualNoCrefSubs(threadData, _e12, _e22)))
3197#line 342 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/Vectorization.mo"
3198 {
3199#line 344 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/Vectorization.mo"
3200 _res = 1;
3201#line 3201 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/Vectorization.c"
3202 }
3203 else
3204 {
3205#line 347 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/Vectorization.mo"
3206 _crefs1 = omc_BackendEquation_equationCrefs(threadData, _e1);
3207#line 3207 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/Vectorization.c"
3208
3209#line 348 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/Vectorization.mo"
3210 _crefs2 = omc_BackendEquation_equationCrefs(threadData, _e2);
3211#line 3211 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/Vectorization.c"
3212
3213#line 349 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/Vectorization.mo"
3214 _commCrefs = omc_List_intersectionOnTrue(threadData, _crefs1, _crefs2, boxvar_ComponentReference_crefEqualWithoutSubs((void*)((char*)(&(boxvar_lit_ComponentReference_crefEqualWithoutSubs
).header) + 3))
);
3215#line 3215 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/Vectorization.c"
3216
3217#line 350 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/Vectorization.mo"
3218 if(((listLength(_crefs1) == listLength(_commCrefs)) && (listLength(_crefs2) == listLength(_commCrefs))))
3219#line 350 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/Vectorization.mo"
3220 {
3221#line 352 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/Vectorization.mo"
3222 _terms1 = listAppend(omc_Expression_allTerms(threadData, _e11), omc_Expression_allTerms(threadData, _e12));
3223#line 3223 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/Vectorization.c"
3224
3225#line 353 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/Vectorization.mo"
3226 _terms2 = listAppend(omc_Expression_allTerms(threadData, _e21), omc_Expression_allTerms(threadData, _e22));
3227#line 3227 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/Vectorization.c"
3228
3229#line 357 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/Vectorization.mo"
3230 omc_List_intersection1OnTrue(threadData, _terms1, _terms2, boxvar_Vectorization_expEqualNoCrefSubs((void*)((char*)(&(boxvar_lit_Vectorization_expEqualNoCrefSubs
).header) + 3))
,&_terms1 ,&_terms2);
3231#line 3231 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/Vectorization.c"
3232
3233#line 358 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/Vectorization.mo"
3234 _res = (listEmpty(_terms1)((*(mmc_uint_t*)((void*)((char*)(_terms1) - 3))) == (((0) <<
10) + (((0) & 255) << 2)))
&& listEmpty(_terms2)((*(mmc_uint_t*)((void*)((char*)(_terms2) - 3))) == (((0) <<
10) + (((0) & 255) << 2)))
);
3235#line 3235 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/Vectorization.c"
3236 }
3237 else
3238 {
3239#line 361 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/Vectorization.mo"
3240 _res = 0;
3241#line 3241 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/Vectorization.c"
3242 }
3243 }
3244#line 364 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/Vectorization.mo"
3245 tmp1 = _res;
3246#line 3246 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/Vectorization.c"
3247 goto tmp3_done;
3248 }
3249 case 2: {
3250 if (mmc__uniontype__metarecord__typedef__equal(tmp4_1,1,6)((*(mmc_uint_t*)((void*)((char*)(tmp4_1) - 3)))==(((6 +1) <<
10) + (((1 +3) & 255) << 2)))
== 0) goto tmp3_end;
3251 tmpMeta[0] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_1), 3))(*(void**)(((void*)((void**)(((void*)((char*)(tmp4_1) - 3))) +
(3)))))
;
3252 tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_1), 4))(*(void**)(((void*)((void**)(((void*)((char*)(tmp4_1) - 3))) +
(4)))))
;
3253 if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,1,6)((*(mmc_uint_t*)((void*)((char*)(tmp4_2) - 3)))==(((6 +1) <<
10) + (((1 +3) & 255) << 2)))
== 0) goto tmp3_end;
3254 tmpMeta[2] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 3))(*(void**)(((void*)((void**)(((void*)((char*)(tmp4_2) - 3))) +
(3)))))
;
3255 tmpMeta[3] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 4))(*(void**)(((void*)((void**)(((void*)((char*)(tmp4_2) - 3))) +
(4)))))
;
3256
3257 _e11 = tmpMeta[0];
3258 _e12 = tmpMeta[1];
3259 _e21 = tmpMeta[2];
3260 _e22 = tmpMeta[3];
3261 tmp4 += 4; /* Pattern matching succeeded; we may skip some cases if we fail */
3262#line 366 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/Vectorization.mo"
3263 tmp1 = (omc_Vectorization_expEqualNoCrefSubs(threadData, _e11, _e21) && omc_Vectorization_expEqualNoCrefSubs(threadData, _e12, _e22));
3264#line 3264 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/Vectorization.c"
3265 goto tmp3_done;
3266 }
3267 case 3: {
3268 if (mmc__uniontype__metarecord__typedef__equal(tmp4_1,6,5)((*(mmc_uint_t*)((void*)((char*)(tmp4_1) - 3)))==(((5 +1) <<
10) + (((6 +3) & 255) << 2)))
== 0) goto tmp3_end;
3269 tmpMeta[0] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_1), 3))(*(void**)(((void*)((void**)(((void*)((char*)(tmp4_1) - 3))) +
(3)))))
;
3270 tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_1), 4))(*(void**)(((void*)((void**)(((void*)((char*)(tmp4_1) - 3))) +
(4)))))
;
3271 if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,6,5)((*(mmc_uint_t*)((void*)((char*)(tmp4_2) - 3)))==(((5 +1) <<
10) + (((6 +3) & 255) << 2)))
== 0) goto tmp3_end;
3272 tmpMeta[2] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 3))(*(void**)(((void*)((void**)(((void*)((char*)(tmp4_2) - 3))) +
(3)))))
;
3273 tmpMeta[3] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 4))(*(void**)(((void*)((void**)(((void*)((char*)(tmp4_2) - 3))) +
(4)))))
;
3274
3275 _e11 = tmpMeta[0];
3276 _e12 = tmpMeta[1];
3277 _e21 = tmpMeta[2];
3278 _e22 = tmpMeta[3];
3279 tmp4 += 3; /* Pattern matching succeeded; we may skip some cases if we fail */
3280#line 369 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/Vectorization.mo"
3281 tmp1 = (omc_Vectorization_expEqualNoCrefSubs(threadData, _e11, _e21) && omc_Vectorization_expEqualNoCrefSubs(threadData, _e12, _e22));
3282#line 3282 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/Vectorization.c"
3283 goto tmp3_done;
3284 }
3285 case 4: {
3286 if (mmc__uniontype__metarecord__typedef__equal(tmp4_1,2,4)((*(mmc_uint_t*)((void*)((char*)(tmp4_1) - 3)))==(((4 +1) <<
10) + (((2 +3) & 255) << 2)))
== 0) goto tmp3_end;
3287 tmpMeta[0] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_1), 2))(*(void**)(((void*)((void**)(((void*)((char*)(tmp4_1) - 3))) +
(2)))))
;
3288 tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_1), 3))(*(void**)(((void*)((void**)(((void*)((char*)(tmp4_1) - 3))) +
(3)))))
;
3289 if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,2,4)((*(mmc_uint_t*)((void*)((char*)(tmp4_2) - 3)))==(((4 +1) <<
10) + (((2 +3) & 255) << 2)))
== 0) goto tmp3_end;
3290 tmpMeta[2] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2))(*(void**)(((void*)((void**)(((void*)((char*)(tmp4_2) - 3))) +
(2)))))
;
3291 tmpMeta[3] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 3))(*(void**)(((void*)((void**)(((void*)((char*)(tmp4_2) - 3))) +
(3)))))
;
3292
3293 _cr1 = tmpMeta[0];
3294 _exp1 = tmpMeta[1];
3295 _cr2 = tmpMeta[2];
3296 _exp2 = tmpMeta[3];
3297 tmp4 += 2; /* Pattern matching succeeded; we may skip some cases if we fail */
3298#line 372 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/Vectorization.mo"
3299 tmp1 = (omc_ComponentReference_crefEqualWithoutSubs(threadData, _cr1, _cr2) && omc_Vectorization_expEqualNoCrefSubs(threadData, _exp1, _exp2));
3300#line 3300 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/Vectorization.c"
3301 goto tmp3_done;
3302 }
3303 case 5: {
3304 if (mmc__uniontype__metarecord__typedef__equal(tmp4_1,3,3)((*(mmc_uint_t*)((void*)((char*)(tmp4_1) - 3)))==(((3 +1) <<
10) + (((3 +3) & 255) << 2)))
== 0) goto tmp3_end;
3305 tmpMeta[0] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_1), 2))(*(void**)(((void*)((void**)(((void*)((char*)(tmp4_1) - 3))) +
(2)))))
;
3306 if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,3,3)((*(mmc_uint_t*)((void*)((char*)(tmp4_2) - 3)))==(((3 +1) <<
10) + (((3 +3) & 255) << 2)))
== 0) goto tmp3_end;
3307 tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2))(*(void**)(((void*)((void**)(((void*)((char*)(tmp4_2) - 3))) +
(2)))))
;
3308
3309 _exp1 = tmpMeta[0];
3310 _exp2 = tmpMeta[1];
3311 tmp4 += 1; /* Pattern matching succeeded; we may skip some cases if we fail */
3312#line 375 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/Vectorization.mo"
3313 tmp1 = omc_Vectorization_expEqualNoCrefSubs(threadData, _exp1, _exp2);
3314#line 3314 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/Vectorization.c"
3315 goto tmp3_done;
3316 }
3317 case 6: {
3318 if (mmc__uniontype__metarecord__typedef__equal(tmp4_1,4,5)((*(mmc_uint_t*)((void*)((char*)(tmp4_1) - 3)))==(((5 +1) <<
10) + (((4 +3) & 255) << 2)))
== 0) goto tmp3_end;
3319 tmpMeta[0] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_1), 3))(*(void**)(((void*)((void**)(((void*)((char*)(tmp4_1) - 3))) +
(3)))))
;
3320 if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,4,5)((*(mmc_uint_t*)((void*)((char*)(tmp4_2) - 3)))==(((5 +1) <<
10) + (((4 +3) & 255) << 2)))
== 0) goto tmp3_end;
3321 tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 3))(*(void**)(((void*)((void**)(((void*)((char*)(tmp4_2) - 3))) +
(3)))))
;
3322
3323 _alg1 = tmpMeta[0];
3324 _alg2 = tmpMeta[1];
3325 /* Pattern matching succeeded */
3326#line 378 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/Vectorization.mo"
3327 _explst1 = omc_Algorithm_getAllExps(threadData, _alg1);
3328#line 3328 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/Vectorization.c"
3329
3330#line 379 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/Vectorization.mo"
3331 _explst2 = omc_Algorithm_getAllExps(threadData, _alg2);
3332#line 3332 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/Vectorization.c"
3333#line 380 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/Vectorization.mo"
3334 tmp1 = omc_List_isEqualOnTrue(threadData, _explst1, _explst2, boxvar_Vectorization_expEqualNoCrefSubs((void*)((char*)(&(boxvar_lit_Vectorization_expEqualNoCrefSubs
).header) + 3))
);
3335#line 3335 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/Vectorization.c"
3336 goto tmp3_done;
3337 }
3338 case 7: {
3339
3340 /* Pattern matching succeeded */
3341#line 382 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/Vectorization.mo"
3342 tmp1 = 0;
3343#line 3343 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/Vectorization.c"
3344 goto tmp3_done;
3345 }
3346 }
3347 goto tmp3_end;
3348 tmp3_end: ;
3349 }
3350 goto goto_2;
3351 tmp3_done:
3352 (void)tmp4;
3353 MMC_RESTORE_INTERNAL(mmc_jumper)threadData->mmc_jumper = old_jumper;;
3354 goto tmp3_done2;
3355 goto_2:;
3356 MMC_CATCH_INTERNAL(mmc_jumper)} threadData->mmc_jumper = old_jumper;mmc_catch_dummy_fn()
;}
;
3357 if (++tmp4 < 8) {
3358 goto tmp3_top;
3359 }
3360 MMC_THROW_INTERNAL(){longjmp(*threadData->mmc_jumper,1);};
3361 tmp3_done2:;
3362 }
3363 }
3364 _res = tmp1;
3365 _return: OMC_LABEL_UNUSED__attribute__((unused))
3366 return _res;
3367}
3368modelica_metatype boxptr_Vectorization_equationEqualNoCrefSubs(threadData_t *threadData, modelica_metatype _e1, modelica_metatype _e2)
3369{
3370 modelica_boolean _res;
3371 modelica_metatype out_res;
3372 _res = omc_Vectorization_equationEqualNoCrefSubs(threadData, _e1, _e2);
3373 out_res = mmc_mk_icon(_res);
3374 return out_res;
3375}
3376
3377PROTECTED_FUNCTION_STATIC modelica_boolean omc_Vectorization_minmaxTermEqual(threadData_t *threadData, modelica_metatype _minmaxTerm, modelica_metatype _term)
3378{
3379 modelica_boolean _b;
3380 modelica_metatype _term0 = NULL((void*)0);
3381 modelica_metatype tmpMeta[2] __attribute__((unused)) = {0};
3382 MMC_SO()mmc_check_stackoverflow(threadData);
3383 _tailrecursive: OMC_LABEL_UNUSED__attribute__((unused))
3384 // _b has no default value.
3385 // _term0 has no default value.
3386#line 321 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/Vectorization.mo"
3387 /* Pattern-matching assignment */
3388#line 321 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/Vectorization.mo"
3389 tmpMeta[0] = _minmaxTerm;
3390#line 321 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/Vectorization.mo"
3391 tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[0]), 1))(*(void**)(((void*)((void**)(((void*)((char*)(tmpMeta[0]) - 3
))) + (1)))))
;
3392#line 321 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/Vectorization.mo"
3393 _term0 = tmpMeta[1];
3394#line 3394 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/Vectorization.c"
3395
3396#line 322 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/Vectorization.mo"
3397 _b = omc_Vectorization_expEqualNoCrefSubs(threadData, _term0, _term);
3398#line 3398 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/Vectorization.c"
3399 _return: OMC_LABEL_UNUSED__attribute__((unused))
3400 return _b;
3401}
3402PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_Vectorization_minmaxTermEqual(threadData_t *threadData, modelica_metatype _minmaxTerm, modelica_metatype _term)
3403{
3404 modelica_boolean _b;
3405 modelica_metatype out_b;
3406 _b = omc_Vectorization_minmaxTermEqual(threadData, _minmaxTerm, _term);
3407 out_b = mmc_mk_icon(_b);
3408 return out_b;
3409}
3410
3411DLLExport
3412modelica_metatype omc_Vectorization_replaceSubscriptInCrefExp(threadData_t *threadData, modelica_metatype _expIn, modelica_metatype _subsIn, modelica_metatype *out_subsOut)
3413{
3414 modelica_metatype _expOut = NULL((void*)0);
3415 modelica_metatype _subsOut = NULL((void*)0);
3416 modelica_metatype tmpMeta[4] __attribute__((unused)) = {0};
3417 MMC_SO()mmc_check_stackoverflow(threadData);
3418 _tailrecursive: OMC_LABEL_UNUSED__attribute__((unused))
3419 // _expOut has no default value.
3420 // _subsOut has no default value.
3421#line 299 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/Vectorization.mo"
3422
3423#line 299 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/Vectorization.mo"
3424
3425#line 3425 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/Vectorization.c"
3426 { /* matchcontinue expression */
3427 volatile modelica_metatype tmp4_1;
3428 tmp4_1 = _expIn;
3429 {
3430 modelica_metatype _cref = NULL((void*)0);
3431 modelica_metatype _ty = NULL((void*)0);
3432 volatile mmc_switch_type tmp4;
3433 int tmp5;
3434 // _cref has no default value.
3435 // _ty has no default value.
3436 tmp4 = 0;
3437 MMC_TRY_INTERNAL(mmc_jumper){ jmp_buf new_mmc_jumper, *old_jumper __attribute__((unused))
= threadData->mmc_jumper; threadData->mmc_jumper = &
new_mmc_jumper; if (_setjmp (new_mmc_jumper) == 0) {
3438 tmp3_top:
3439 threadData->mmc_jumper = &new_mmc_jumper;
3440 for (; tmp4 < 2; tmp4++) {
3441 switch (MMC_SWITCH_CAST(tmp4)(tmp4)) {
3442 case 0: {
3443 if (mmc__uniontype__metarecord__typedef__equal(tmp4_1,6,2)((*(mmc_uint_t*)((void*)((char*)(tmp4_1) - 3)))==(((2 +1) <<
10) + (((6 +3) & 255) << 2)))
== 0) goto tmp3_end;
3444 tmpMeta[2] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_1), 2))(*(void**)(((void*)((void**)(((void*)((char*)(tmp4_1) - 3))) +
(2)))))
;
3445 tmpMeta[3] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_1), 3))(*(void**)(((void*)((void**)(((void*)((char*)(tmp4_1) - 3))) +
(3)))))
;
3446 _cref = tmpMeta[2];
3447 _ty = tmpMeta[3];
3448 /* Pattern matching succeeded */
3449#line 305 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/Vectorization.mo"
3450 _cref = omc_Vectorization_replaceFirstSubsInCref(threadData, _cref, _subsIn);
3451#line 3451 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/Vectorization.c"
3452#line 306 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/Vectorization.mo"
3453 tmpMeta[2] = mmc_mk_box3(9, &DAE_Exp_CREF__desc, _cref, _ty);
3454#line 306 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/Vectorization.mo"
3455 tmpMeta[0+0] = tmpMeta[2];
3456#line 306 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/Vectorization.mo"
3457 tmpMeta[0+1] = _subsIn;
3458#line 3458 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/Vectorization.c"
3459 goto tmp3_done;
3460 }
3461 case 1: {
3462
3463 /* Pattern matching succeeded */
3464#line 308 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/Vectorization.mo"
3465 tmpMeta[0+0] = _expIn;
3466#line 308 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/Vectorization.mo"
3467 tmpMeta[0+1] = _subsIn;
3468#line 3468 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/Vectorization.c"
3469 goto tmp3_done;
3470 }
3471 }
3472 goto tmp3_end;
3473 tmp3_end: ;
3474 }
3475 goto goto_2;
3476 tmp3_done:
3477 (void)tmp4;
3478 MMC_RESTORE_INTERNAL(mmc_jumper)threadData->mmc_jumper = old_jumper;;
3479 goto tmp3_done2;
3480 goto_2:;
3481 MMC_CATCH_INTERNAL(mmc_jumper)} threadData->mmc_jumper = old_jumper;mmc_catch_dummy_fn()
;}
;
3482 if (++tmp4 < 2) {
3483 goto tmp3_top;
3484 }
3485 MMC_THROW_INTERNAL(){longjmp(*threadData->mmc_jumper,1);};
3486 tmp3_done2:;
3487 }
3488 }
3489 _expOut = tmpMeta[0+0];
3490 _subsOut = tmpMeta[0+1];
3491 _return: OMC_LABEL_UNUSED__attribute__((unused))
3492 if (out_subsOut) { *out_subsOut = _subsOut; }
3493 return _expOut;
3494}
3495
3496PROTECTED_FUNCTION_STATIC modelica_metatype omc_Vectorization_buildAccumExpInEquations2(threadData_t *threadData, modelica_metatype _minmaxTerm, modelica_metatype _foldIn)
3497{
3498 modelica_metatype _foldOut = NULL((void*)0);
3499 modelica_metatype _sumReductionInfo = NULL((void*)0);
3500 modelica_metatype _sumExp = NULL((void*)0);
3501 modelica_metatype tmpMeta[10] __attribute__((unused)) = {0};
3502 MMC_SO()mmc_check_stackoverflow(threadData);
3503 _tailrecursive: OMC_LABEL_UNUSED__attribute__((unused))
3504 // _foldOut has no default value.
3505 _sumReductionInfo = _OMC_LIT22((void*)((char*)(&(_OMC_LIT_STRUCT22).header) + 3));
3506 _sumExp = _OMC_LIT25((void*)((char*)(&(_OMC_LIT_STRUCT25).header) + 3));
3507#line 3507 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/Vectorization.c"
3508 { /* matchcontinue expression */
3509 volatile modelica_metatype tmp3_1;volatile modelica_metatype tmp3_2;
3510 tmp3_1 = _minmaxTerm;
3511 tmp3_2 = _foldIn;
3512 {
3513 modelica_integer _min;
3514 modelica_integer _max;
3515 modelica_metatype _exp0 = NULL((void*)0);
3516 modelica_metatype _exp1 = NULL((void*)0);
3517 modelica_metatype _iter = NULL((void*)0);
3518 modelica_metatype _rest = NULL((void*)0);
3519 volatile mmc_switch_type tmp3;
3520 int tmp4;
3521 // _min has no default value.
3522 // _max has no default value.
3523 // _exp0 has no default value.
3524 // _exp1 has no default value.
3525 // _iter has no default value.
3526 // _rest has no default value.
3527 tmp3 = 0;
3528 MMC_TRY_INTERNAL(mmc_jumper){ jmp_buf new_mmc_jumper, *old_jumper __attribute__((unused))
= threadData->mmc_jumper; threadData->mmc_jumper = &
new_mmc_jumper; if (_setjmp (new_mmc_jumper) == 0) {
3529 tmp2_top:
3530 threadData->mmc_jumper = &new_mmc_jumper;
3531 for (; tmp3 < 5; tmp3++) {
3532 switch (MMC_SWITCH_CAST(tmp3)(tmp3)) {
3533 case 0: {
3534 if (!listEmpty(tmp3_1)((*(mmc_uint_t*)((void*)((char*)(tmp3_1) - 3))) == (((0) <<
10) + (((0) & 255) << 2)))
) goto tmp2_end;
3535 if (listEmpty(tmp3_2)((*(mmc_uint_t*)((void*)((char*)(tmp3_2) - 3))) == (((0) <<
10) + (((0) & 255) << 2)))
) goto tmp2_end;
3536 tmpMeta[1] = MMC_CAR(tmp3_2)(*(void**)(((void*)((void**)(((void*)((char*)(tmp3_2) - 3))) +
(1)))))
;
3537 tmpMeta[2] = MMC_CDR(tmp3_2)(*(void**)(((void*)((void**)(((void*)((char*)(tmp3_2) - 3))) +
(2)))))
;
3538 if (!listEmpty(tmpMeta[2])((*(mmc_uint_t*)((void*)((char*)(tmpMeta[2]) - 3))) == (((0) <<
10) + (((0) & 255) << 2)))
) goto tmp2_end;
3539 _exp1 = tmpMeta[1];
3540 tmp3 += 4; /* Pattern matching succeeded; we may skip some cases if we fail */
3541#line 234 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/Vectorization.mo"
3542 tmpMeta[1] = mmc_mk_cons(_exp1, MMC_REFSTRUCTLIT(mmc_nil)((void*)((char*)(&(mmc_nil).header) + 3)));
3543#line 234 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/Vectorization.mo"
3544 tmpMeta[0] = tmpMeta[1];
3545#line 3545 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/Vectorization.c"
3546 goto tmp2_done;
3547 }
3548 case 1: {
3549 modelica_integer tmp5;
3550 modelica_integer tmp6;
3551 modelica_boolean tmp7;
3552 if (listEmpty(tmp3_1)((*(mmc_uint_t*)((void*)((char*)(tmp3_1) - 3))) == (((0) <<
10) + (((0) & 255) << 2)))
) goto tmp2_end;
3553 tmpMeta[1] = MMC_CAR(tmp3_1)(*(void**)(((void*)((void**)(((void*)((char*)(tmp3_1) - 3))) +
(1)))))
;
3554 tmpMeta[2] = MMC_CDR(tmp3_1)(*(void**)(((void*)((void**)(((void*)((char*)(tmp3_1) - 3))) +
(2)))))
;
3555 tmpMeta[3] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[1]), 1))(*(void**)(((void*)((void**)(((void*)((char*)(tmpMeta[1]) - 3
))) + (1)))))
;
3556 tmpMeta[4] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[1]), 2))(*(void**)(((void*)((void**)(((void*)((char*)(tmpMeta[1]) - 3
))) + (2)))))
;
3557 tmp5 = mmc_unbox_integer(tmpMeta[4])(((mmc_sint_t) (tmpMeta[4])) >> 1);
3558 tmpMeta[5] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[1]), 3))(*(void**)(((void*)((void**)(((void*)((char*)(tmpMeta[1]) - 3
))) + (3)))))
;
3559 tmp6 = mmc_unbox_integer(tmpMeta[5])(((mmc_sint_t) (tmpMeta[5])) >> 1);
3560 if (!listEmpty(tmp3_2)((*(mmc_uint_t*)((void*)((char*)(tmp3_2) - 3))) == (((0) <<
10) + (((0) & 255) << 2)))
) goto tmp2_end;
3561 _exp1 = tmpMeta[3];
3562 _min = tmp5 /* pattern as ty=Integer */;
3563 _max = tmp6 /* pattern as ty=Integer */;
3564 _rest = tmpMeta[2];
3565 tmp3 += 1; /* Pattern matching succeeded; we may skip some cases if we fail */
3566#line 238 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/Vectorization.mo"
3567 /* Pattern-matching assignment */
3568#line 238 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/Vectorization.mo"
3569 tmp7 = (_min != _max);
3570#line 238 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/Vectorization.mo"
3571 if (1 != tmp7) goto goto_1;
3572#line 3572 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/Vectorization.c"
3573
3574#line 239 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/Vectorization.mo"
3575 /* Pattern-matching assignment */
3576#line 239 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/Vectorization.mo"
3577 tmpMeta[1] = omc_Expression_typeof(threadData, _exp1);
3578#line 239 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/Vectorization.mo"
3579 if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[1],1,1)((*(mmc_uint_t*)((void*)((char*)(tmpMeta[1]) - 3)))==(((1 +1)
<< 10) + (((1 +3) & 255) << 2)))
== 0) goto goto_1;
3580#line 239 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/Vectorization.mo"
3581
3582#line 3582 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/Vectorization.c"
3583
3584#line 240 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/Vectorization.mo"
3585 omc_List_split1OnTrue(threadData, _rest, boxvar_Vectorization_minmaxTermEqual((void*)((char*)(&(boxvar_lit_Vectorization_minmaxTermEqual
).header) + 3))
, _exp1 ,&_rest);
3586#line 3586 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/Vectorization.c"
3587
3588#line 241 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/Vectorization.mo"
3589 _iter = _OMC_LIT4((void*)((char*)(&(_OMC_LIT_STRUCT4).header) + 3));
3590#line 3590 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/Vectorization.c"
3591
3592#line 242 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/Vectorization.mo"
3593 tmpMeta[2] = mmc_mk_box2(5, &DAE_Subscript_INDEX__desc, _iter);
3594#line 242 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/Vectorization.mo"
3595 tmpMeta[1] = mmc_mk_cons(tmpMeta[2], MMC_REFSTRUCTLIT(mmc_nil)((void*)((char*)(&(mmc_nil).header) + 3)));
3596#line 242 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/Vectorization.mo"
3597 _exp1 = omc_Expression_traverseExpBottomUp(threadData, _exp1, boxvar_Vectorization_replaceSubscriptInCrefExp((void*)((char*)(&(boxvar_lit_Vectorization_replaceSubscriptInCrefExp
).header) + 3))
, tmpMeta[1], NULL((void*)0));
3598#line 3598 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/Vectorization.c"
3599
3600#line 243 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/Vectorization.mo"
3601 tmpMeta[3] = mmc_mk_box2(3, &DAE_Dimension_DIM__INTEGER__desc, mmc_mk_integermmc_mk_icon(_max - _min));
3602#line 243 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/Vectorization.mo"
3603 tmpMeta[2] = mmc_mk_cons(tmpMeta[3], MMC_REFSTRUCTLIT(mmc_nil)((void*)((char*)(&(mmc_nil).header) + 3)));
3604#line 243 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/Vectorization.mo"
3605 tmpMeta[4] = mmc_mk_box3(9, &DAE_Type_T__ARRAY__desc, _OMC_LIT0((void*)((char*)(&(_OMC_LIT_STRUCT0).header) + 3)), tmpMeta[2]);
3606#line 243 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/Vectorization.mo"
3607 tmpMeta[5] = mmc_mk_box2(3, &DAE_Exp_ICONST__desc, mmc_mk_integermmc_mk_icon(_min));
3608#line 243 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/Vectorization.mo"
3609 tmpMeta[6] = mmc_mk_box2(3, &DAE_Exp_ICONST__desc, mmc_mk_integermmc_mk_icon(_max));
3610#line 243 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/Vectorization.mo"
3611 tmpMeta[7] = mmc_mk_box5(21, &DAE_Exp_RANGE__desc, tmpMeta[4], tmpMeta[5], mmc_mk_none()((void*)((char*)(&(mmc_none).header) + 3)), tmpMeta[6]);
3612#line 243 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/Vectorization.mo"
3613 tmpMeta[8] = mmc_mk_box5(3, &DAE_ReductionIterator_REDUCTIONITER__desc, _OMC_LIT23((void*)((char*)(&(_OMC_LIT_STRUCT23).header) + 3)), tmpMeta[7], mmc_mk_none()((void*)((char*)(&(mmc_none).header) + 3)), _OMC_LIT0((void*)((char*)(&(_OMC_LIT_STRUCT0).header) + 3)));
3614#line 243 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/Vectorization.mo"
3615 tmpMeta[1] = mmc_mk_cons(tmpMeta[8], MMC_REFSTRUCTLIT(mmc_nil)((void*)((char*)(&(mmc_nil).header) + 3)));
3616#line 243 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/Vectorization.mo"
3617 tmpMeta[9] = mmc_mk_box4(30, &DAE_Exp_REDUCTION__desc, _OMC_LIT22((void*)((char*)(&(_OMC_LIT_STRUCT22).header) + 3)), _OMC_LIT25((void*)((char*)(&(_OMC_LIT_STRUCT25).header) + 3)), tmpMeta[1]);
3618#line 243 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/Vectorization.mo"
3619 _exp1 = tmpMeta[9];
3620#line 3620 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/Vectorization.c"
3621#line 255 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/Vectorization.mo"
3622 tmpMeta[1] = mmc_mk_cons(_exp1, MMC_REFSTRUCTLIT(mmc_nil)((void*)((char*)(&(mmc_nil).header) + 3)));
3623#line 255 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/Vectorization.mo"
3624 tmpMeta[0] = omc_Vectorization_buildAccumExpInEquations2(threadData, _rest, tmpMeta[1]);
3625#line 3625 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/Vectorization.c"
3626 goto tmp2_done;
3627 }
3628 case 2: {
3629 modelica_integer tmp8;
3630 modelica_integer tmp9;
3631 modelica_boolean tmp10;
3632 if (listEmpty(tmp3_1)((*(mmc_uint_t*)((void*)((char*)(tmp3_1) - 3))) == (((0) <<
10) + (((0) & 255) << 2)))
) goto tmp2_end;
3633 tmpMeta[1] = MMC_CAR(tmp3_1)(*(void**)(((void*)((void**)(((void*)((char*)(tmp3_1) - 3))) +
(1)))))
;
3634 tmpMeta[2] = MMC_CDR(tmp3_1)(*(void**)(((void*)((void**)(((void*)((char*)(tmp3_1) - 3))) +
(2)))))
;
3635 tmpMeta[3] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[1]), 1))(*(void**)(((void*)((void**)(((void*)((char*)(tmpMeta[1]) - 3
))) + (1)))))
;
3636 tmpMeta[4] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[1]), 2))(*(void**)(((void*)((void**)(((void*)((char*)(tmpMeta[1]) - 3
))) + (2)))))
;
3637 tmp8 = mmc_unbox_integer(tmpMeta[4])(((mmc_sint_t) (tmpMeta[4])) >> 1);
3638 tmpMeta[5] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[1]), 3))(*(void**)(((void*)((void**)(((void*)((char*)(tmpMeta[1]) - 3
))) + (3)))))
;
3639 tmp9 = mmc_unbox_integer(tmpMeta[5])(((mmc_sint_t) (tmpMeta[5])) >> 1);
3640 if (listEmpty(tmp3_2)((*(mmc_uint_t*)((void*)((char*)(tmp3_2) - 3))) == (((0) <<
10) + (((0) & 255) << 2)))
) goto tmp2_end;
3641 tmpMeta[6] = MMC_CAR(tmp3_2)(*(void**)(((void*)((void**)(((void*)((char*)(tmp3_2) - 3))) +
(1)))))
;
3642 tmpMeta[7] = MMC_CDR(tmp3_2)(*(void**)(((void*)((void**)(((void*)((char*)(tmp3_2) - 3))) +
(2)))))
;
3643 if (!listEmpty(tmpMeta[7])((*(mmc_uint_t*)((void*)((char*)(tmpMeta[7]) - 3))) == (((0) <<
10) + (((0) & 255) << 2)))
) goto tmp2_end;
3644 _exp1 = tmpMeta[3];
3645 _min = tmp8 /* pattern as ty=Integer */;
3646 _max = tmp9 /* pattern as ty=Integer */;
3647 _rest = tmpMeta[2];
3648 _exp0 = tmpMeta[6];
3649 tmp3 += 1; /* Pattern matching succeeded; we may skip some cases if we fail */
3650#line 260 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/Vectorization.mo"
3651 /* Pattern-matching assignment */
3652#line 260 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/Vectorization.mo"
3653 tmp10 = (_min != _max);
3654#line 260 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/Vectorization.mo"
3655 if (1 != tmp10) goto goto_1;
3656#line 3656 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/Vectorization.c"
3657
3658#line 261 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/Vectorization.mo"
3659 /* Pattern-matching assignment */
3660#line 261 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/Vectorization.mo"
3661 tmpMeta[1] = omc_Expression_typeof(threadData, _exp1);
3662#line 261 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/Vectorization.mo"
3663 if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[1],1,1)((*(mmc_uint_t*)((void*)((char*)(tmpMeta[1]) - 3)))==(((1 +1)
<< 10) + (((1 +3) & 255) << 2)))
== 0) goto goto_1;
3664#line 261 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/Vectorization.mo"
3665
3666#line 3666 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/Vectorization.c"
3667
3668#line 262 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/Vectorization.mo"
3669 omc_List_split1OnTrue(threadData, _rest, boxvar_Vectorization_minmaxTermEqual((void*)((char*)(&(boxvar_lit_Vectorization_minmaxTermEqual
).header) + 3))
, _exp1 ,&_rest);
3670#line 3670 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/Vectorization.c"
3671
3672#line 263 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/Vectorization.mo"
3673 _iter = _OMC_LIT4((void*)((char*)(&(_OMC_LIT_STRUCT4).header) + 3));
3674#line 3674 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/Vectorization.c"
3675
3676#line 264 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/Vectorization.mo"
3677 tmpMeta[2] = mmc_mk_box2(5, &DAE_Subscript_INDEX__desc, _iter);
3678#line 264 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/Vectorization.mo"
3679 tmpMeta[1] = mmc_mk_cons(tmpMeta[2], MMC_REFSTRUCTLIT(mmc_nil)((void*)((char*)(&(mmc_nil).header) + 3)));
3680#line 264 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/Vectorization.mo"
3681 _exp1 = omc_Expression_traverseExpBottomUp(threadData, _exp1, boxvar_Vectorization_replaceSubscriptInCrefExp((void*)((char*)(&(boxvar_lit_Vectorization_replaceSubscriptInCrefExp
).header) + 3))
, tmpMeta[1], NULL((void*)0));
3682#line 3682 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/Vectorization.c"
3683
3684#line 265 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/Vectorization.mo"
3685 tmpMeta[3] = mmc_mk_box2(3, &DAE_Dimension_DIM__INTEGER__desc, mmc_mk_integermmc_mk_icon(_max - _min));
3686#line 265 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/Vectorization.mo"
3687 tmpMeta[2] = mmc_mk_cons(tmpMeta[3], MMC_REFSTRUCTLIT(mmc_nil)((void*)((char*)(&(mmc_nil).header) + 3)));
3688#line 265 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/Vectorization.mo"
3689 tmpMeta[4] = mmc_mk_box3(9, &DAE_Type_T__ARRAY__desc, _OMC_LIT0((void*)((char*)(&(_OMC_LIT_STRUCT0).header) + 3)), tmpMeta[2]);
3690#line 265 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/Vectorization.mo"
3691 tmpMeta[5] = mmc_mk_box2(3, &DAE_Exp_ICONST__desc, mmc_mk_integermmc_mk_icon(_min));
3692#line 265 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/Vectorization.mo"
3693 tmpMeta[6] = mmc_mk_box2(3, &DAE_Exp_ICONST__desc, mmc_mk_integermmc_mk_icon(_max));
3694#line 265 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/Vectorization.mo"
3695 tmpMeta[7] = mmc_mk_box5(21, &DAE_Exp_RANGE__desc, tmpMeta[4], tmpMeta[5], mmc_mk_none()((void*)((char*)(&(mmc_none).header) + 3)), tmpMeta[6]);
3696#line 265 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/Vectorization.mo"
3697 tmpMeta[8] = mmc_mk_box5(3, &DAE_ReductionIterator_REDUCTIONITER__desc, _OMC_LIT23((void*)((char*)(&(_OMC_LIT_STRUCT23).header) + 3)), tmpMeta[7], mmc_mk_none()((void*)((char*)(&(mmc_none).header) + 3)), _OMC_LIT0((void*)((char*)(&(_OMC_LIT_STRUCT0).header) + 3)));
3698#line 265 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/Vectorization.mo"
3699 tmpMeta[1] = mmc_mk_cons(tmpMeta[8], MMC_REFSTRUCTLIT(mmc_nil)((void*)((char*)(&(mmc_nil).header) + 3)));
3700#line 265 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/Vectorization.mo"
3701 tmpMeta[9] = mmc_mk_box4(30, &DAE_Exp_REDUCTION__desc, _OMC_LIT22((void*)((char*)(&(_OMC_LIT_STRUCT22).header) + 3)), _OMC_LIT25((void*)((char*)(&(_OMC_LIT_STRUCT25).header) + 3)), tmpMeta[1]);
3702#line 265 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/Vectorization.mo"
3703 _exp1 = tmpMeta[9];
3704#line 3704 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/Vectorization.c"
3705#line 277 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/Vectorization.mo"
3706 tmpMeta[2] = mmc_mk_box2(3, &DAE_Operator_ADD__desc, omc_Expression_typeof(threadData, _exp0));
3707#line 277 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/Vectorization.mo"
3708 tmpMeta[3] = mmc_mk_box4(10, &DAE_Exp_BINARY__desc, _exp0, tmpMeta[2], _exp1);
3709#line 277 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/Vectorization.mo"
3710 tmpMeta[1] = mmc_mk_cons(tmpMeta[3], MMC_REFSTRUCTLIT(mmc_nil)((void*)((char*)(&(mmc_nil).header) + 3)));
3711#line 277 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/Vectorization.mo"
3712 tmpMeta[0] = omc_Vectorization_buildAccumExpInEquations2(threadData, _rest, tmpMeta[1]);
3713#line 3713 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/Vectorization.c"
3714 goto tmp2_done;
3715 }
3716 case 3: {
3717 if (listEmpty(tmp3_1)((*(mmc_uint_t*)((void*)((char*)(tmp3_1) - 3))) == (((0) <<
10) + (((0) & 255) << 2)))
) goto tmp2_end;
3718 tmpMeta[1] = MMC_CAR(tmp3_1)(*(void**)(((void*)((void**)(((void*)((char*)(tmp3_1) - 3))) +
(1)))))
;
3719 tmpMeta[2] = MMC_CDR(tmp3_1)(*(void**)(((void*)((void**)(((void*)((char*)(tmp3_1) - 3))) +
(2)))))
;
3720 tmpMeta[3] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[1]), 1))(*(void**)(((void*)((void**)(((void*)((char*)(tmpMeta[1]) - 3
))) + (1)))))
;
3721 if (!listEmpty(tmp3_2)((*(mmc_uint_t*)((void*)((char*)(tmp3_2) - 3))) == (((0) <<
10) + (((0) & 255) << 2)))
) goto tmp2_end;
3722 _exp1 = tmpMeta[3];
3723 _rest = tmpMeta[2];
3724 tmp3 += 1; /* Pattern matching succeeded; we may skip some cases if we fail */
3725#line 282 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/Vectorization.mo"
3726 tmpMeta[1] = mmc_mk_cons(_exp1, MMC_REFSTRUCTLIT(mmc_nil)((void*)((char*)(&(mmc_nil).header) + 3)));
3727#line 282 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/Vectorization.mo"
3728 tmpMeta[0] = omc_Vectorization_buildAccumExpInEquations2(threadData, _rest, tmpMeta[1]);
3729#line 3729 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/Vectorization.c"
3730 goto tmp2_done;
3731 }
3732 case 4: {
3733 if (listEmpty(tmp3_1)((*(mmc_uint_t*)((void*)((char*)(tmp3_1) - 3))) == (((0) <<
10) + (((0) & 255) << 2)))
) goto tmp2_end;
3734 tmpMeta[1] = MMC_CAR(tmp3_1)(*(void**)(((void*)((void**)(((void*)((char*)(tmp3_1) - 3))) +
(1)))))
;
3735 tmpMeta[2] = MMC_CDR(tmp3_1)(*(void**)(((void*)((void**)(((void*)((char*)(tmp3_1) - 3))) +
(2)))))
;
3736 tmpMeta[3] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[1]), 1))(*(void**)(((void*)((void**)(((void*)((char*)(tmpMeta[1]) - 3
))) + (1)))))
;
3737 if (listEmpty(tmp3_2)((*(mmc_uint_t*)((void*)((char*)(tmp3_2) - 3))) == (((0) <<
10) + (((0) & 255) << 2)))
) goto tmp2_end;
3738 tmpMeta[4] = MMC_CAR(tmp3_2)(*(void**)(((void*)((void**)(((void*)((char*)(tmp3_2) - 3))) +
(1)))))
;
3739 tmpMeta[5] = MMC_CDR(tmp3_2)(*(void**)(((void*)((void**)(((void*)((char*)(tmp3_2) - 3))) +
(2)))))
;
3740 if (!listEmpty(tmpMeta[5])((*(mmc_uint_t*)((void*)((char*)(tmpMeta[5]) - 3))) == (((0) <<
10) + (((0) & 255) << 2)))
) goto tmp2_end;
3741 _exp1 = tmpMeta[3];
3742 _rest = tmpMeta[2];
3743 _exp0 = tmpMeta[4];
3744 /* Pattern matching succeeded */
3745#line 287 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/Vectorization.mo"
3746 tmpMeta[2] = mmc_mk_box2(3, &DAE_Operator_ADD__desc, omc_Expression_typeof(threadData, _exp0));
3747#line 287 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/Vectorization.mo"
3748 tmpMeta[3] = mmc_mk_box4(10, &DAE_Exp_BINARY__desc, _exp0, tmpMeta[2], _exp1);
3749#line 287 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/Vectorization.mo"
3750 tmpMeta[1] = mmc_mk_cons(tmpMeta[3], MMC_REFSTRUCTLIT(mmc_nil)((void*)((char*)(&(mmc_nil).header) + 3)));
3751#line 287 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/Vectorization.mo"
3752 tmpMeta[0] = omc_Vectorization_buildAccumExpInEquations2(threadData, _rest, tmpMeta[1]);
3753#line 3753 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/Vectorization.c"
3754 goto tmp2_done;
3755 }
3756 }
3757 goto tmp2_end;
3758 tmp2_end: ;
3759 }
3760 goto goto_1;
3761 tmp2_done:
3762 (void)tmp3;
3763 MMC_RESTORE_INTERNAL(mmc_jumper)threadData->mmc_jumper = old_jumper;;
3764 goto tmp2_done2;
3765 goto_1:;
3766 MMC_CATCH_INTERNAL(mmc_jumper)} threadData->mmc_jumper = old_jumper;mmc_catch_dummy_fn()
;}
;
3767 if (++tmp3 < 5) {
3768 goto tmp2_top;
3769 }
3770 MMC_THROW_INTERNAL(){longjmp(*threadData->mmc_jumper,1);};
3771 tmp2_done2:;
3772 }
3773 }
3774 _foldOut = tmpMeta[0];
3775 _return: OMC_LABEL_UNUSED__attribute__((unused))
3776 return _foldOut;
3777}
3778
3779PROTECTED_FUNCTION_STATIC modelica_metatype omc_Vectorization_buildAccumExpInEquations1(threadData_t *threadData, modelica_metatype _termIn, modelica_metatype _minmaxTermsIn)
3780{
3781 modelica_metatype _minmaxTermsOut = NULL((void*)0);
3782 modelica_integer _pos;
3783 modelica_integer _idx;
3784 modelica_integer _min;
3785 modelica_integer _max;
3786 modelica_metatype _cref = NULL((void*)0);
3787 modelica_metatype _term = NULL((void*)0);
3788 modelica_metatype _terms = NULL((void*)0);
3789 modelica_metatype tmpMeta[5] __attribute__((unused)) = {0};
3790 MMC_SO()mmc_check_stackoverflow(threadData);
3791 _tailrecursive: OMC_LABEL_UNUSED__attribute__((unused))
3792 // _minmaxTermsOut has no default value.
3793 // _pos has no default value.
3794 // _idx has no default value.
3795 // _min has no default value.
3796 // _max has no default value.
3797 // _cref has no default value.
3798 // _term has no default value.
3799 // _terms has no default value.
3800#line 3800 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/Vectorization.c"
3801 { /* matchcontinue expression */
3802 {
3803 volatile mmc_switch_type tmp3;
3804 int tmp4;
3805 tmp3 = 0;
3806 MMC_TRY_INTERNAL(mmc_jumper){ jmp_buf new_mmc_jumper, *old_jumper __attribute__((unused))
= threadData->mmc_jumper; threadData->mmc_jumper = &
new_mmc_jumper; if (_setjmp (new_mmc_jumper) == 0) {
3807 tmp2_top:
3808 threadData->mmc_jumper = &new_mmc_jumper;
3809 for (; tmp3 < 2; tmp3++) {
3810 switch (MMC_SWITCH_CAST(tmp3)(tmp3)) {
3811 case 0: {
3812 modelica_boolean tmp5;
3813 modelica_integer tmp6;
3814 modelica_integer tmp7;
3815 modelica_integer tmp8;
3816 modelica_integer tmp9;
3817 /* Pattern matching succeeded */
3818#line 193 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/Vectorization.mo"
3819 /* Pattern-matching assignment */
3820#line 193 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/Vectorization.mo"
3821 tmpMeta[0] = omc_Expression_extractCrefsFromExp(threadData, _termIn);
3822#line 193 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/Vectorization.mo"
3823 if (listEmpty(tmpMeta[0])((*(mmc_uint_t*)((void*)((char*)(tmpMeta[0]) - 3))) == (((0) <<
10) + (((0) & 255) << 2)))
) goto goto_1;
3824#line 193 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/Vectorization.mo"
3825 tmpMeta[1] = MMC_CAR(tmpMeta[0])(*(void**)(((void*)((void**)(((void*)((char*)(tmpMeta[0]) - 3
))) + (1)))))
;
3826#line 193 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/Vectorization.mo"
3827 tmpMeta[2] = MMC_CDR(tmpMeta[0])(*(void**)(((void*)((void**)(((void*)((char*)(tmpMeta[0]) - 3
))) + (2)))))
;
3828#line 193 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/Vectorization.mo"
3829 if (!listEmpty(tmpMeta[2])((*(mmc_uint_t*)((void*)((char*)(tmpMeta[2]) - 3))) == (((0) <<
10) + (((0) & 255) << 2)))
) goto goto_1;
3830#line 193 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/Vectorization.mo"
3831 _cref = tmpMeta[1];
3832#line 3832 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/Vectorization.c"
3833
3834#line 194 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/Vectorization.mo"
3835 /* Pattern-matching assignment */
3836#line 194 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/Vectorization.mo"
3837 tmp5 = omc_ComponentReference_crefHaveSubs(threadData, _cref);
3838#line 194 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/Vectorization.mo"
3839 if (1 != tmp5) goto goto_1;
3840#line 3840 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/Vectorization.c"
3841
3842#line 195 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/Vectorization.mo"
3843 _pos = omc_List_position1OnTrue(threadData, _minmaxTermsIn, boxvar_Vectorization_minmaxTermEqual((void*)((char*)(&(boxvar_lit_Vectorization_minmaxTermEqual
).header) + 3))
, _termIn);
3844#line 3844 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/Vectorization.c"
3845
3846#line 196 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/Vectorization.mo"
3847 if((_pos == ((modelica_integer) -1)))
3848#line 196 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/Vectorization.mo"
3849 {
3850#line 198 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/Vectorization.mo"
3851 /* Pattern-matching assignment */
3852#line 198 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/Vectorization.mo"
3853 tmpMeta[0] = omc_ComponentReference_crefSubs(threadData, _cref);
3854#line 198 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/Vectorization.mo"
3855 if (listEmpty(tmpMeta[0])((*(mmc_uint_t*)((void*)((char*)(tmpMeta[0]) - 3))) == (((0) <<
10) + (((0) & 255) << 2)))
) goto goto_1;
3856#line 198 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/Vectorization.mo"
3857 tmpMeta[1] = MMC_CAR(tmpMeta[0])(*(void**)(((void*)((void**)(((void*)((char*)(tmpMeta[0]) - 3
))) + (1)))))
;
3858#line 198 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/Vectorization.mo"
3859 tmpMeta[2] = MMC_CDR(tmpMeta[0])(*(void**)(((void*)((void**)(((void*)((char*)(tmpMeta[0]) - 3
))) + (2)))))
;
3860#line 198 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/Vectorization.mo"
3861 if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[1],2,1)((*(mmc_uint_t*)((void*)((char*)(tmpMeta[1]) - 3)))==(((1 +1)
<< 10) + (((2 +3) & 255) << 2)))
== 0) goto goto_1;
3862#line 198 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/Vectorization.mo"
3863 tmpMeta[3] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[1]), 2))(*(void**)(((void*)((void**)(((void*)((char*)(tmpMeta[1]) - 3
))) + (2)))))
;
3864#line 198 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/Vectorization.mo"
3865 if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[3],0,1)((*(mmc_uint_t*)((void*)((char*)(tmpMeta[3]) - 3)))==(((1 +1)
<< 10) + (((0 +3) & 255) << 2)))
== 0) goto goto_1;
3866#line 198 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/Vectorization.mo"
3867 tmpMeta[4] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[3]), 2))(*(void**)(((void*)((void**)(((void*)((char*)(tmpMeta[3]) - 3
))) + (2)))))
;
3868#line 198 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/Vectorization.mo"
3869 tmp6 = mmc_unbox_integer(tmpMeta[4])(((mmc_sint_t) (tmpMeta[4])) >> 1);
3870#line 198 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/Vectorization.mo"
3871 if (!listEmpty(tmpMeta[2])((*(mmc_uint_t*)((void*)((char*)(tmpMeta[2]) - 3))) == (((0) <<
10) + (((0) & 255) << 2)))
) goto goto_1;
3872#line 198 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/Vectorization.mo"
3873 _idx = tmp6 /* pattern as ty=Integer */;
3874#line 3874 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/Vectorization.c"
3875
3876#line 199 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/Vectorization.mo"
3877 tmpMeta[1] = mmc_mk_box3(0, _termIn, mmc_mk_integermmc_mk_icon(_idx), mmc_mk_integermmc_mk_icon(_idx));
3878#line 199 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/Vectorization.mo"
3879 tmpMeta[0] = mmc_mk_cons(tmpMeta[1], _minmaxTermsIn);
3880#line 199 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/Vectorization.mo"
3881 _minmaxTermsOut = tmpMeta[0];
3882#line 3882 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/Vectorization.c"
3883 }
3884 else
3885 {
3886#line 202 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/Vectorization.mo"
3887 /* Pattern-matching assignment */
3888#line 202 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/Vectorization.mo"
3889 tmpMeta[0] = listGet(_minmaxTermsIn, _pos)boxptr_listGet(threadData,_minmaxTermsIn,mmc_mk_icon(_pos));
3890#line 202 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/Vectorization.mo"
3891 tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[0]), 1))(*(void**)(((void*)((void**)(((void*)((char*)(tmpMeta[0]) - 3
))) + (1)))))
;
3892#line 202 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/Vectorization.mo"
3893 tmpMeta[2] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[0]), 2))(*(void**)(((void*)((void**)(((void*)((char*)(tmpMeta[0]) - 3
))) + (2)))))
;
3894#line 202 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/Vectorization.mo"
3895 tmp7 = mmc_unbox_integer(tmpMeta[2])(((mmc_sint_t) (tmpMeta[2])) >> 1);
3896#line 202 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/Vectorization.mo"
3897 tmpMeta[3] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[0]), 3))(*(void**)(((void*)((void**)(((void*)((char*)(tmpMeta[0]) - 3
))) + (3)))))
;
3898#line 202 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/Vectorization.mo"
3899 tmp8 = mmc_unbox_integer(tmpMeta[3])(((mmc_sint_t) (tmpMeta[3])) >> 1);
3900#line 202 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/Vectorization.mo"
3901 _term = tmpMeta[1];
3902#line 202 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/Vectorization.mo"
3903 _min = tmp7 /* pattern as ty=Integer */;
3904#line 202 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/Vectorization.mo"
3905 _max = tmp8 /* pattern as ty=Integer */;
3906#line 3906 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/Vectorization.c"
3907
3908#line 203 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/Vectorization.mo"
3909 /* Pattern-matching assignment */
3910#line 203 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/Vectorization.mo"
3911 tmpMeta[0] = omc_ComponentReference_crefSubs(threadData, _cref);
3912#line 203 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/Vectorization.mo"
3913 if (listEmpty(tmpMeta[0])((*(mmc_uint_t*)((void*)((char*)(tmpMeta[0]) - 3))) == (((0) <<
10) + (((0) & 255) << 2)))
) goto goto_1;
3914#line 203 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/Vectorization.mo"
3915 tmpMeta[1] = MMC_CAR(tmpMeta[0])(*(void**)(((void*)((void**)(((void*)((char*)(tmpMeta[0]) - 3
))) + (1)))))
;
3916#line 203 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/Vectorization.mo"
3917 tmpMeta[2] = MMC_CDR(tmpMeta[0])(*(void**)(((void*)((void**)(((void*)((char*)(tmpMeta[0]) - 3
))) + (2)))))
;
3918#line 203 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/Vectorization.mo"
3919 if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[1],2,1)((*(mmc_uint_t*)((void*)((char*)(tmpMeta[1]) - 3)))==(((1 +1)
<< 10) + (((2 +3) & 255) << 2)))
== 0) goto goto_1;
3920#line 203 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/Vectorization.mo"
3921 tmpMeta[3] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[1]), 2))(*(void**)(((void*)((void**)(((void*)((char*)(tmpMeta[1]) - 3
))) + (2)))))
;
3922#line 203 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/Vectorization.mo"
3923 if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[3],0,1)((*(mmc_uint_t*)((void*)((char*)(tmpMeta[3]) - 3)))==(((1 +1)
<< 10) + (((0 +3) & 255) << 2)))
== 0) goto goto_1;
3924#line 203 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/Vectorization.mo"
3925 tmpMeta[4] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[3]), 2))(*(void**)(((void*)((void**)(((void*)((char*)(tmpMeta[3]) - 3
))) + (2)))))
;
3926#line 203 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/Vectorization.mo"
3927 tmp9 = mmc_unbox_integer(tmpMeta[4])(((mmc_sint_t) (tmpMeta[4])) >> 1);
3928#line 203 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/Vectorization.mo"
3929 if (!listEmpty(tmpMeta[2])((*(mmc_uint_t*)((void*)((char*)(tmpMeta[2]) - 3))) == (((0) <<
10) + (((0) & 255) << 2)))
) goto goto_1;
3930#line 203 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/Vectorization.mo"
3931 _idx = tmp9 /* pattern as ty=Integer */;
3932#line 3932 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/Vectorization.c"
3933
3934#line 204 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/Vectorization.mo"
3935 tmpMeta[0] = mmc_mk_box3(0, _term, mmc_mk_integermmc_mk_icon(modelica_integer_min((modelica_integer)(_idx),(modelica_integer)(_min))), mmc_mk_integermmc_mk_icon(modelica_integer_max((modelica_integer)(_idx),(modelica_integer)(_max))));
3936#line 204 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/Vectorization.mo"
3937 _minmaxTermsOut = omc_List_replaceAt(threadData, tmpMeta[0], _pos, _minmaxTermsIn);
3938#line 3938 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/Vectorization.c"
3939 }
3940#line 3940 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/Vectorization.c"
3941 goto tmp2_done;
3942 }
3943 case 1: {
3944 /* Pattern matching succeeded */
3945#line 207 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/Vectorization.mo"
3946 tmpMeta[1] = mmc_mk_box3(0, _termIn, mmc_mk_integermmc_mk_icon(((modelica_integer) -1)), mmc_mk_integermmc_mk_icon(((modelica_integer) -1)));
3947#line 207 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/Vectorization.mo"
3948 tmpMeta[0] = mmc_mk_cons(tmpMeta[1], _minmaxTermsIn);
3949#line 207 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/Vectorization.mo"
3950 _minmaxTermsOut = tmpMeta[0];
3951#line 3951 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/Vectorization.c"
3952#line 3952 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/Vectorization.c"
3953 goto tmp2_done;
3954 }
3955 }
3956 goto tmp2_end;
3957 tmp2_end: ;
3958 }
3959 goto goto_1;
3960 tmp2_done:
3961 (void)tmp3;
3962 MMC_RESTORE_INTERNAL(mmc_jumper)threadData->mmc_jumper = old_jumper;;
3963 goto tmp2_done2;
3964 goto_1:;
3965 MMC_CATCH_INTERNAL(mmc_jumper)} threadData->mmc_jumper = old_jumper;mmc_catch_dummy_fn()
;}
;
3966 if (++tmp3 < 2) {
3967 goto tmp2_top;
3968 }
3969 MMC_THROW_INTERNAL(){longjmp(*threadData->mmc_jumper,1);};
3970 tmp2_done2:;
3971 }
3972 }
3973 ;
3974 _return: OMC_LABEL_UNUSED__attribute__((unused))
3975 return _minmaxTermsOut;
3976}
3977
3978PROTECTED_FUNCTION_STATIC modelica_metatype omc_Vectorization_buildAccumExpInEquations(threadData_t *threadData, modelica_metatype _mixEq, modelica_metatype _foldIn)
3979{
3980 modelica_metatype _foldOut = NULL((void*)0);
3981 modelica_metatype tmpMeta[5] __attribute__((unused)) = {0};
3982 MMC_SO()mmc_check_stackoverflow(threadData);
3983 _tailrecursive: OMC_LABEL_UNUSED__attribute__((unused))
3984 // _foldOut has no default value.
3985#line 3985 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/Vectorization.c"
3986 { /* matchcontinue expression */
3987 volatile modelica_metatype tmp3_1;
3988 tmp3_1 = _mixEq;
3989 {
3990 modelica_metatype _rhs = NULL((void*)0);
3991 modelica_metatype _lhs = NULL((void*)0);
3992 modelica_metatype _source = NULL((void*)0);
3993 modelica_metatype _attr = NULL((void*)0);
3994 modelica_metatype _allTerms = NULL((void*)0);
3995 modelica_metatype _minmaxTerms = NULL((void*)0);
3996 volatile mmc_switch_type tmp3;
3997 int tmp4;
3998 // _rhs has no default value.
3999 // _lhs has no default value.
4000 // _source has no default value.
4001 // _attr has no default value.
4002 // _allTerms has no default value.
4003 // _minmaxTerms has no default value.
4004 tmp3 = 0;
4005 MMC_TRY_INTERNAL(mmc_jumper){ jmp_buf new_mmc_jumper, *old_jumper __attribute__((unused))
= threadData->mmc_jumper; threadData->mmc_jumper = &
new_mmc_jumper; if (_setjmp (new_mmc_jumper) == 0) {
4006 tmp2_top:
4007 threadData->mmc_jumper = &new_mmc_jumper;
4008 for (; tmp3 < 2; tmp3++) {
4009 switch (MMC_SWITCH_CAST(tmp3)(tmp3)) {
4010 case 0: {
4011 if (mmc__uniontype__metarecord__typedef__equal(tmp3_1,0,4)((*(mmc_uint_t*)((void*)((char*)(tmp3_1) - 3)))==(((4 +1) <<
10) + (((0 +3) & 255) << 2)))
== 0) goto tmp2_end;
4012 tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_1), 2))(*(void**)(((void*)((void**)(((void*)((char*)(tmp3_1) - 3))) +
(2)))))
;
4013 tmpMeta[2] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_1), 3))(*(void**)(((void*)((void**)(((void*)((char*)(tmp3_1) - 3))) +
(3)))))
;
4014 tmpMeta[3] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_1), 4))(*(void**)(((void*)((void**)(((void*)((char*)(tmp3_1) - 3))) +
(4)))))
;
4015 tmpMeta[4] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_1), 5))(*(void**)(((void*)((void**)(((void*)((char*)(tmp3_1) - 3))) +
(5)))))
;
4016 _rhs = tmpMeta[1];
4017 _lhs = tmpMeta[2];
4018 _source = tmpMeta[3];
4019 _attr = tmpMeta[4];
4020 /* Pattern matching succeeded */
4021#line 168 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/Vectorization.mo"
4022 _allTerms = omc_Expression_allTerms(threadData, _lhs);
4023#line 4023 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/Vectorization.c"
4024
4025#line 169 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/Vectorization.mo"
4026 tmpMeta[1] = MMC_REFSTRUCTLIT(mmc_nil)((void*)((char*)(&(mmc_nil).header) + 3));
4027#line 169 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/Vectorization.mo"
4028 _minmaxTerms = omc_List_fold(threadData, _allTerms, boxvar_Vectorization_buildAccumExpInEquations1((void*)((char*)(&(boxvar_lit_Vectorization_buildAccumExpInEquations1
).header) + 3))
, tmpMeta[1]);
4029#line 4029 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/Vectorization.c"
4030
4031#line 170 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/Vectorization.mo"
4032 /* Pattern-matching assignment */
4033#line 170 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/Vectorization.mo"
4034 tmpMeta[1] = MMC_REFSTRUCTLIT(mmc_nil)((void*)((char*)(&(mmc_nil).header) + 3));
4035#line 170 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/Vectorization.mo"
4036 tmpMeta[2] = omc_Vectorization_buildAccumExpInEquations2(threadData, listReverse(_minmaxTerms), tmpMeta[1]);
4037#line 170 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/Vectorization.mo"
4038 if (listEmpty(tmpMeta[2])((*(mmc_uint_t*)((void*)((char*)(tmpMeta[2]) - 3))) == (((0) <<
10) + (((0) & 255) << 2)))
) goto goto_1;
4039#line 170 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/Vectorization.mo"
4040 tmpMeta[3] = MMC_CAR(tmpMeta[2])(*(void**)(((void*)((void**)(((void*)((char*)(tmpMeta[2]) - 3
))) + (1)))))
;
4041#line 170 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/Vectorization.mo"
4042 tmpMeta[4] = MMC_CDR(tmpMeta[2])(*(void**)(((void*)((void**)(((void*)((char*)(tmpMeta[2]) - 3
))) + (2)))))
;
4043#line 170 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/Vectorization.mo"
4044 if (!listEmpty(tmpMeta[4])((*(mmc_uint_t*)((void*)((char*)(tmpMeta[4]) - 3))) == (((0) <<
10) + (((0) & 255) << 2)))
) goto goto_1;
4045#line 170 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/Vectorization.mo"
4046 _lhs = tmpMeta[3];
4047#line 4047 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/Vectorization.c"
4048
4049#line 173 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/Vectorization.mo"
4050 _allTerms = omc_Expression_allTerms(threadData, _rhs);
4051#line 4051 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/Vectorization.c"
4052
4053#line 174 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/Vectorization.mo"
4054 tmpMeta[1] = MMC_REFSTRUCTLIT(mmc_nil)((void*)((char*)(&(mmc_nil).header) + 3));
4055#line 174 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/Vectorization.mo"
4056 _minmaxTerms = omc_List_fold(threadData, _allTerms, boxvar_Vectorization_buildAccumExpInEquations1((void*)((char*)(&(boxvar_lit_Vectorization_buildAccumExpInEquations1
).header) + 3))
, tmpMeta[1]);
4057#line 4057 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/Vectorization.c"
4058
4059#line 175 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/Vectorization.mo"
4060 /* Pattern-matching assignment */
4061#line 175 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/Vectorization.mo"
4062 tmpMeta[1] = MMC_REFSTRUCTLIT(mmc_nil)((void*)((char*)(&(mmc_nil).header) + 3));
4063#line 175 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/Vectorization.mo"
4064 tmpMeta[2] = omc_Vectorization_buildAccumExpInEquations2(threadData, listReverse(_minmaxTerms), tmpMeta[1]);
4065#line 175 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/Vectorization.mo"
4066 if (listEmpty(tmpMeta[2])((*(mmc_uint_t*)((void*)((char*)(tmpMeta[2]) - 3))) == (((0) <<
10) + (((0) & 255) << 2)))
) goto goto_1;
4067#line 175 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/Vectorization.mo"
4068 tmpMeta[3] = MMC_CAR(tmpMeta[2])(*(void**)(((void*)((void**)(((void*)((char*)(tmpMeta[2]) - 3
))) + (1)))))
;
4069#line 175 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/Vectorization.mo"
4070 tmpMeta[4] = MMC_CDR(tmpMeta[2])(*(void**)(((void*)((void**)(((void*)((char*)(tmpMeta[2]) - 3
))) + (2)))))
;
4071#line 175 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/Vectorization.mo"
4072 if (!listEmpty(tmpMeta[4])((*(mmc_uint_t*)((void*)((char*)(tmpMeta[4]) - 3))) == (((0) <<
10) + (((0) & 255) << 2)))
) goto goto_1;
4073#line 175 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/Vectorization.mo"
4074 _rhs = tmpMeta[3];
4075#line 4075 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/Vectorization.c"
4076#line 176 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/Vectorization.mo"
4077 tmpMeta[2] = mmc_mk_box5(3, &BackendDAE_Equation_EQUATION__desc, _rhs, _lhs, _source, _attr);
4078#line 176 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/Vectorization.mo"
4079 tmpMeta[1] = mmc_mk_cons(tmpMeta[2], _foldIn);
4080#line 176 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/Vectorization.mo"
4081 tmpMeta[0] = tmpMeta[1];
4082#line 4082 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/Vectorization.c"
4083 goto tmp2_done;
4084 }
4085 case 1: {
4086
4087 /* Pattern matching succeeded */
4088#line 178 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/Vectorization.mo"
4089 tmpMeta[1] = mmc_mk_cons(_mixEq, _foldIn);
4090#line 178 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/Vectorization.mo"
4091 tmpMeta[0] = tmpMeta[1];
4092#line 4092 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/Vectorization.c"
4093 goto tmp2_done;
4094 }
4095 }
4096 goto tmp2_end;
4097 tmp2_end: ;
4098 }
4099 goto goto_1;
4100 tmp2_done:
4101 (void)tmp3;
4102 MMC_RESTORE_INTERNAL(mmc_jumper)threadData->mmc_jumper = old_jumper;;
4103 goto tmp2_done2;
4104 goto_1:;
4105 MMC_CATCH_INTERNAL(mmc_jumper)} threadData->mmc_jumper = old_jumper;mmc_catch_dummy_fn()
;}
;
4106 if (++tmp3 < 2) {
4107 goto tmp2_top;
4108 }
4109 MMC_THROW_INTERNAL(){longjmp(*threadData->mmc_jumper,1);};
4110 tmp2_done2:;
4111 }
4112 }
4113 _foldOut = tmpMeta[0];
4114 _return: OMC_LABEL_UNUSED__attribute__((unused))
4115 return _foldOut;
4116}
4117
4118PROTECTED_FUNCTION_STATIC modelica_boolean omc_Vectorization_varIsEqualCrefWithoutSubs(threadData_t *threadData, modelica_metatype _varIn, modelica_metatype _crefIn)
4119{
4120 modelica_boolean _b;
4121 modelica_metatype _cref = NULL((void*)0);
4122 MMC_SO()mmc_check_stackoverflow(threadData);
4123 _tailrecursive: OMC_LABEL_UNUSED__attribute__((unused))
4124 // _b has no default value.
4125 // _cref has no default value.
4126#line 149 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/Vectorization.mo"
4127 _cref = omc_BackendVariable_varCref(threadData, _varIn);
4128#line 4128 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/Vectorization.c"
4129
4130#line 150 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/Vectorization.mo"
4131 _b = omc_ComponentReference_crefEqualWithoutSubs(threadData, _cref, _crefIn);
4132#line 4132 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/Vectorization.c"
4133 _return: OMC_LABEL_UNUSED__attribute__((unused))
4134 return _b;
4135}
4136PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_Vectorization_varIsEqualCrefWithoutSubs(threadData_t *threadData, modelica_metatype _varIn, modelica_metatype _crefIn)
4137{
4138 modelica_boolean _b;
4139 modelica_metatype out_b;
4140 _b = omc_Vectorization_varIsEqualCrefWithoutSubs(threadData, _varIn, _crefIn);
4141 out_b = mmc_mk_icon(_b);
4142 return out_b;
4143}
4144
4145PROTECTED_FUNCTION_STATIC modelica_metatype omc_Vectorization_unexpandArrayVariables(threadData_t *threadData, modelica_metatype _varsIn, modelica_metatype _foldIn)
4146{
4147 modelica_metatype _foldOut = NULL((void*)0);
4148 modelica_metatype tmpMeta[5] __attribute__((unused)) = {0};
4149 MMC_SO()mmc_check_stackoverflow(threadData);
4150 _tailrecursive: OMC_LABEL_UNUSED__attribute__((unused))
4151 // _foldOut has no default value.
4152#line 4152 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/Vectorization.c"
4153 { /* matchcontinue expression */
4154 volatile modelica_metatype tmp3_1;
4155 tmp3_1 = _varsIn;
4156 {
4157 modelica_metatype _var = NULL((void*)0);
4158 modelica_metatype _cref = NULL((void*)0);
4159 modelica_metatype _rest = NULL((void*)0);
4160 modelica_metatype _scalars = NULL((void*)0);
4161 volatile mmc_switch_type tmp3;
4162 int tmp4;
4163 // _var has no default value.
4164 // _cref has no default value.
4165 // _rest has no default value.
4166 // _scalars has no default value.
4167 tmp3 = 0;
4168 MMC_TRY_INTERNAL(mmc_jumper){ jmp_buf new_mmc_jumper, *old_jumper __attribute__((unused))
= threadData->mmc_jumper; threadData->mmc_jumper = &
new_mmc_jumper; if (_setjmp (new_mmc_jumper) == 0) {
4169 tmp2_top:
4170 threadData->mmc_jumper = &new_mmc_jumper;
4171 for (; tmp3 < 3; tmp3++) {
4172 switch (MMC_SWITCH_CAST(tmp3)(tmp3)) {
4173 case 0: {
4174 if (!listEmpty(tmp3_1)((*(mmc_uint_t*)((void*)((char*)(tmp3_1) - 3))) == (((0) <<
10) + (((0) & 255) << 2)))
) goto tmp2_end;
4175 tmp3 += 2; /* Pattern matching succeeded; we may skip some cases if we fail */
4176#line 128 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/Vectorization.mo"
4177 tmpMeta[0] = _foldIn;
4178#line 4178 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/Vectorization.c"
4179 goto tmp2_done;
4180 }
4181 case 1: {
4182 modelica_boolean tmp5;
4183 if (listEmpty(tmp3_1)((*(mmc_uint_t*)((void*)((char*)(tmp3_1) - 3))) == (((0) <<
10) + (((0) & 255) << 2)))
) goto tmp2_end;
4184 tmpMeta[1] = MMC_CAR(tmp3_1)(*(void**)(((void*)((void**)(((void*)((char*)(tmp3_1) - 3))) +
(1)))))
;
4185 tmpMeta[2] = MMC_CDR(tmp3_1)(*(void**)(((void*)((void**)(((void*)((char*)(tmp3_1) - 3))) +
(2)))))
;
4186 _var = tmpMeta[1];
4187 _rest = tmpMeta[2];
4188 /* Pattern matching succeeded */
4189#line 131 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/Vectorization.mo"
4190 _cref = omc_BackendVariable_varCref(threadData, _var);
4191#line 4191 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/Vectorization.c"
4192
4193#line 132 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/Vectorization.mo"
4194 /* Pattern-matching assignment */
4195#line 132 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/Vectorization.mo"
4196 tmp5 = omc_ComponentReference_crefHaveSubs(threadData, _cref);
4197#line 132 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/Vectorization.mo"
4198 if (1 != tmp5) goto goto_1;
4199#line 4199 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/Vectorization.c"
4200
4201#line 133 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/Vectorization.mo"
4202 _scalars = omc_List_split1OnTrue(threadData, _rest, boxvar_Vectorization_varIsEqualCrefWithoutSubs((void*)((char*)(&(boxvar_lit_Vectorization_varIsEqualCrefWithoutSubs
).header) + 3))
, _cref ,&_rest);
4203#line 4203 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/Vectorization.c"
4204
4205#line 134 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/Vectorization.mo"
4206 tmpMeta[2] = mmc_mk_box2(3, &DAE_Exp_ICONST__desc, mmc_mk_integermmc_mk_icon(((modelica_integer) 1) + listLength(_scalars)));
4207#line 134 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/Vectorization.mo"
4208 tmpMeta[3] = mmc_mk_box5(21, &DAE_Exp_RANGE__desc, omc_BackendVariable_varType(threadData, _var), _OMC_LIT5((void*)((char*)(&(_OMC_LIT_STRUCT5).header) + 3)), mmc_mk_none()((void*)((char*)(&(mmc_none).header) + 3)), tmpMeta[2]);
4209#line 134 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/Vectorization.mo"
4210 tmpMeta[4] = mmc_mk_box2(5, &DAE_Subscript_INDEX__desc, tmpMeta[3]);
4211#line 134 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/Vectorization.mo"
4212 tmpMeta[1] = mmc_mk_cons(tmpMeta[4], MMC_REFSTRUCTLIT(mmc_nil)((void*)((char*)(&(mmc_nil).header) + 3)));
4213#line 134 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/Vectorization.mo"
4214 _cref = omc_Vectorization_replaceFirstSubsInCref(threadData, _cref, tmpMeta[1]);
4215#line 4215 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/Vectorization.c"
4216
4217#line 135 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/Vectorization.mo"
4218 _var = omc_BackendVariable_copyVarNewName(threadData, _cref, _var);
4219#line 4219 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/Vectorization.c"
4220#line 136 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/Vectorization.mo"
4221 tmpMeta[1] = mmc_mk_cons(_var, _foldIn);
4222#line 136 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/Vectorization.mo"
4223 tmpMeta[0] = omc_Vectorization_unexpandArrayVariables(threadData, _rest, tmpMeta[1]);
4224#line 4224 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/Vectorization.c"
4225 goto tmp2_done;
4226 }
4227 case 2: {
4228 if (listEmpty(tmp3_1)((*(mmc_uint_t*)((void*)((char*)(tmp3_1) - 3))) == (((0) <<
10) + (((0) & 255) << 2)))
) goto tmp2_end;
4229 tmpMeta[1] = MMC_CAR(tmp3_1)(*(void**)(((void*)((void**)(((void*)((char*)(tmp3_1) - 3))) +
(1)))))
;
4230 tmpMeta[2] = MMC_CDR(tmp3_1)(*(void**)(((void*)((void**)(((void*)((char*)(tmp3_1) - 3))) +
(2)))))
;
4231 _var = tmpMeta[1];
4232 _rest = tmpMeta[2];
4233 /* Pattern matching succeeded */
4234#line 138 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/Vectorization.mo"
4235 tmpMeta[1] = mmc_mk_cons(_var, _foldIn);
4236#line 138 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/Vectorization.mo"
4237 tmpMeta[0] = omc_Vectorization_unexpandArrayVariables(threadData, _rest, tmpMeta[1]);
4238#line 4238 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/Vectorization.c"
4239 goto tmp2_done;
4240 }
4241 }
4242 goto tmp2_end;
4243 tmp2_end: ;
4244 }
4245 goto goto_1;
4246 tmp2_done:
4247 (void)tmp3;
4248 MMC_RESTORE_INTERNAL(mmc_jumper)threadData->mmc_jumper = old_jumper;;
4249 goto tmp2_done2;
4250 goto_1:;
4251 MMC_CATCH_INTERNAL(mmc_jumper)} threadData->mmc_jumper = old_jumper;mmc_catch_dummy_fn()
;}
;
4252 if (++tmp3 < 3) {
4253 goto tmp2_top;
4254 }
4255 MMC_THROW_INTERNAL(){longjmp(*threadData->mmc_jumper,1);};
4256 tmp2_done2:;
4257 }
4258 }
4259 _foldOut = tmpMeta[0];
4260 _return: OMC_LABEL_UNUSED__attribute__((unused))
4261 return _foldOut;
4262}
4263
4264DLLExport
4265modelica_metatype omc_Vectorization_collectForLoops(threadData_t *threadData, modelica_metatype _varsIn, modelica_metatype _eqsIn, modelica_metatype *out_eqsOut)
4266{
4267 modelica_metatype _varsOut = NULL((void*)0);
4268 modelica_metatype _eqsOut = NULL((void*)0);
4269 modelica_boolean _cont;
4270 modelica_boolean _perfectMatching;
4271 modelica_integer _idx;
4272 modelica_integer _numEqs;
4273 modelica_integer _numVars;
4274 modelica_metatype _ass1 = NULL((void*)0);
4275 modelica_metatype _ass2 = NULL((void*)0);
4276 modelica_metatype _idxs = NULL((void*)0);
4277 modelica_metatype _eqSys = NULL((void*)0);
4278 modelica_metatype _shared = NULL((void*)0);
4279 modelica_metatype _repl1 = NULL((void*)0);
4280 modelica_metatype _cref = NULL((void*)0);
4281 modelica_metatype _exp = NULL((void*)0);
4282 modelica_metatype _scalarCrefs = NULL((void*)0);
4283 modelica_metatype _scalarCrefs1 = NULL((void*)0);
4284 modelica_metatype _scalarCrefs2 = NULL((void*)0);
4285 modelica_metatype _allScalarCrefs = NULL((void*)0);
4286 modelica_metatype _stateCrefs = NULL((void*)0);
4287 modelica_metatype _scalarCrefExps = NULL((void*)0);
4288 modelica_metatype _loopEqs = NULL((void*)0);
4289 modelica_metatype _arrVars = NULL((void*)0);
4290 modelica_metatype _loopIds = NULL((void*)0);
4291 modelica_metatype _arrayCrefs = NULL((void*)0);
4292 modelica_metatype _varLst = NULL((void*)0);
4293 modelica_metatype _arrayVars = NULL((void*)0);
4294 modelica_metatype _forEqs = NULL((void*)0);
4295 modelica_metatype _mixEqs = NULL((void*)0);
4296 modelica_metatype _nonArrEqs = NULL((void*)0);
4297 modelica_metatype tmpMeta[4] __attribute__((unused)) = {0};
4298 MMC_SO()mmc_check_stackoverflow(threadData);
4299 _tailrecursive: OMC_LABEL_UNUSED__attribute__((unused))
4300 // _varsOut has no default value.
4301 // _eqsOut has no default value.
4302 // _cont has no default value.
4303 // _perfectMatching has no default value.
4304 // _idx has no default value.
4305 // _numEqs has no default value.
4306 // _numVars has no default value.
4307 // _ass1 has no default value.
4308 // _ass2 has no default value.
4309 // _idxs has no default value.
4310 // _eqSys has no default value.
4311 // _shared has no default value.
4312 // _repl1 has no default value.
4313 // _cref has no default value.
4314 // _exp has no default value.
4315 // _scalarCrefs has no default value.
4316 // _scalarCrefs1 has no default value.
4317 // _scalarCrefs2 has no default value.
4318 // _allScalarCrefs has no default value.
4319 // _stateCrefs has no default value.
4320 // _scalarCrefExps has no default value.
4321 // _loopEqs has no default value.
4322 // _arrVars has no default value.
4323 // _loopIds has no default value.
4324 // _arrayCrefs has no default value.
4325 // _varLst has no default value.
4326 // _arrayVars has no default value.
4327 // _forEqs has no default value.
4328 // _mixEqs has no default value.
4329 // _nonArrEqs has no default value.
4330#line 89 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/Vectorization.mo"
4331 /* Pattern-matching assignment */
4332#line 89 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/Vectorization.mo"
4333 tmpMeta[0] = omc_List_fold(threadData, _varsIn, boxvar_Vectorization_getArrayVars((void*)((char*)(&(boxvar_lit_Vectorization_getArrayVars)
.header) + 3))
, _OMC_LIT26((void*)((char*)(&(_OMC_LIT_STRUCT26).header) + 3)));
4334#line 89 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/Vectorization.mo"
4335 tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[0]), 1))(*(void**)(((void*)((void**)(((void*)((char*)(tmpMeta[0]) - 3
))) + (1)))))
;
4336#line 89 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/Vectorization.mo"
4337 tmpMeta[2] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[0]), 2))(*(void**)(((void*)((void**)(((void*)((char*)(tmpMeta[0]) - 3
))) + (2)))))
;
4338#line 89 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/Vectorization.mo"
4339 _varLst = tmpMeta[1];
4340#line 89 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/Vectorization.mo"
4341 _arrayVars = tmpMeta[2];
4342#line 4342 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/Vectorization.c"
4343
4344#line 92 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/Vectorization.mo"
4345 /* Pattern-matching assignment */
4346#line 92 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/Vectorization.mo"
4347 tmpMeta[0] = omc_List_fold(threadData, _arrayVars, boxvar_Vectorization_getArrayVarCrefs((void*)((char*)(&(boxvar_lit_Vectorization_getArrayVarCrefs
).header) + 3))
, _OMC_LIT26((void*)((char*)(&(_OMC_LIT_STRUCT26).header) + 3)));
4348#line 92 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/Vectorization.mo"
4349 tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[0]), 1))(*(void**)(((void*)((void**)(((void*)((char*)(tmpMeta[0]) - 3
))) + (1)))))
;
4350#line 92 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/Vectorization.mo"
4351 _arrayCrefs = tmpMeta[1];
4352#line 4352 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/Vectorization.c"
4353
4354#line 95 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/Vectorization.mo"
4355 /* Pattern-matching assignment */
4356#line 95 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/Vectorization.mo"
4357 tmpMeta[0] = omc_List_fold1(threadData, _eqsIn, boxvar_Vectorization_dispatchLoopEquations((void*)((char*)(&(boxvar_lit_Vectorization_dispatchLoopEquations
).header) + 3))
, omc_List_map(threadData, _arrayCrefs, boxvar_Util_tuple31((void*)((char*)(&(boxvar_lit_Util_tuple31).header) + 3))), _OMC_LIT27((void*)((char*)(&(_OMC_LIT_STRUCT27).header) + 3)));
4358#line 95 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/Vectorization.mo"
4359 tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[0]), 1))(*(void**)(((void*)((void**)(((void*)((char*)(tmpMeta[0]) - 3
))) + (1)))))
;
4360#line 95 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/Vectorization.mo"
4361 tmpMeta[2] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[0]), 2))(*(void**)(((void*)((void**)(((void*)((char*)(tmpMeta[0]) - 3
))) + (2)))))
;
4362#line 95 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/Vectorization.mo"
4363 tmpMeta[3] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[0]), 3))(*(void**)(((void*)((void**)(((void*)((char*)(tmpMeta[0]) - 3
))) + (3)))))
;
4364#line 95 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/Vectorization.mo"
4365 _forEqs = tmpMeta[1];
4366#line 95 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/Vectorization.mo"
4367 _mixEqs = tmpMeta[2];
4368#line 95 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/Vectorization.mo"
4369 _nonArrEqs = tmpMeta[3];
4370#line 4370 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/Vectorization.c"
4371
4372#line 101 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/Vectorization.mo"
4373 tmpMeta[0] = MMC_REFSTRUCTLIT(mmc_nil)((void*)((char*)(&(mmc_nil).header) + 3));
4374#line 101 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/Vectorization.mo"
4375 _forEqs = omc_Vectorization_buildBackendDAEForEquations(threadData, _forEqs, tmpMeta[0]);
4376#line 4376 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/Vectorization.c"
4377
4378#line 104 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/Vectorization.mo"
4379 tmpMeta[0] = MMC_REFSTRUCTLIT(mmc_nil)((void*)((char*)(&(mmc_nil).header) + 3));
4380#line 104 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/Vectorization.mo"
4381 _mixEqs = listReverse(omc_List_fold(threadData, _mixEqs, boxvar_Vectorization_buildAccumExpInEquations((void*)((char*)(&(boxvar_lit_Vectorization_buildAccumExpInEquations
).header) + 3))
, tmpMeta[0]));
4382#line 4382 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/Vectorization.c"
4383
4384#line 110 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/Vectorization.mo"
4385 tmpMeta[0] = MMC_REFSTRUCTLIT(mmc_nil)((void*)((char*)(&(mmc_nil).header) + 3));
4386#line 110 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/Vectorization.mo"
4387 _arrayVars = omc_Vectorization_unexpandArrayVariables(threadData, _arrayVars, tmpMeta[0]);
4388#line 4388 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/Vectorization.c"
4389
4390#line 112 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/Vectorization.mo"
4391 _eqsOut = listAppend(_forEqs, listAppend(_mixEqs, _nonArrEqs));
4392#line 4392 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/Vectorization.c"
4393
4394#line 113 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/Vectorization.mo"
4395 _varsOut = listAppend(_arrayVars, _varLst);
4396#line 4396 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/Vectorization.c"
4397 _return: OMC_LABEL_UNUSED__attribute__((unused))
4398 if (out_eqsOut) { *out_eqsOut = _eqsOut; }
4399 return _varsOut;
4400}
4401