Bug Summary

File:OMCompiler/Compiler/boot/build/ResolveLoops.c
Warning:line 5932, column 3
Value stored to '_eqCrossLst' 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/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/boot/build/tmp/ResolveLoops.c" OMC_BASE_FILE
3#else
4 #define OMC_FILE"/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/boot/build/tmp/ResolveLoops.c" "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/boot/build/tmp/ResolveLoops.c"
5#endif
6#include "omc_simulation_settings.h"
7#include "ResolveLoops.h"
8#define _OMC_LIT0_data"_h" "_h"
9static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT0,2,_OMC_LIT0_data)struct { mmc_uint_t header; const char data[(2)+1]; } _OMC_LIT_STRUCT0
= { ((((mmc_uint_t)2)<<(3))+((1<<(3+3))+5)), "_h"
}
;
10#define _OMC_LIT0((void*)((char*)(&(_OMC_LIT_STRUCT0).header) + 3)) MMC_REFSTRINGLIT(_OMC_LIT_STRUCT0)((void*)((char*)(&(_OMC_LIT_STRUCT0).header) + 3))
11#define _OMC_LIT1_data"_" "_"
12static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1,1,_OMC_LIT1_data)struct { mmc_uint_t header; const char data[(1)+1]; } _OMC_LIT_STRUCT1
= { ((((mmc_uint_t)1)<<(3))+((1<<(3+3))+5)), "_"
}
;
13#define _OMC_LIT1((void*)((char*)(&(_OMC_LIT_STRUCT1).header) + 3)) MMC_REFSTRINGLIT(_OMC_LIT_STRUCT1)((void*)((char*)(&(_OMC_LIT_STRUCT1).header) + 3))
14#define _OMC_LIT2_data"\n" "\n"
15static 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)), "\n"
}
;
16#define _OMC_LIT2((void*)((char*)(&(_OMC_LIT_STRUCT2).header) + 3)) MMC_REFSTRINGLIT(_OMC_LIT_STRUCT2)((void*)((char*)(&(_OMC_LIT_STRUCT2).header) + 3))
17#define _OMC_LIT3_data"(" "("
18static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT3,1,_OMC_LIT3_data)struct { mmc_uint_t header; const char data[(1)+1]; } _OMC_LIT_STRUCT3
= { ((((mmc_uint_t)1)<<(3))+((1<<(3+3))+5)), "("
}
;
19#define _OMC_LIT3((void*)((char*)(&(_OMC_LIT_STRUCT3).header) + 3)) MMC_REFSTRINGLIT(_OMC_LIT_STRUCT3)((void*)((char*)(&(_OMC_LIT_STRUCT3).header) + 3))
20#define _OMC_LIT4_data"," ","
21static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT4,1,_OMC_LIT4_data)struct { mmc_uint_t header; const char data[(1)+1]; } _OMC_LIT_STRUCT4
= { ((((mmc_uint_t)1)<<(3))+((1<<(3+3))+5)), ","
}
;
22#define _OMC_LIT4((void*)((char*)(&(_OMC_LIT_STRUCT4).header) + 3)) MMC_REFSTRINGLIT(_OMC_LIT_STRUCT4)((void*)((char*)(&(_OMC_LIT_STRUCT4).header) + 3))
23#define _OMC_LIT5_data") = " ") = "
24static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT5,4,_OMC_LIT5_data)struct { mmc_uint_t header; const char data[(4)+1]; } _OMC_LIT_STRUCT5
= { ((((mmc_uint_t)4)<<(3))+((1<<(3+3))+5)), ") = "
}
;
25#define _OMC_LIT5((void*)((char*)(&(_OMC_LIT_STRUCT5).header) + 3)) MMC_REFSTRINGLIT(_OMC_LIT_STRUCT5)((void*)((char*)(&(_OMC_LIT_STRUCT5).header) + 3))
26#define _OMC_LIT6_data" " " "
27static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT6,1,_OMC_LIT6_data)struct { mmc_uint_t header; const char data[(1)+1]; } _OMC_LIT_STRUCT6
= { ((((mmc_uint_t)1)<<(3))+((1<<(3+3))+5)), " "
}
;
28#define _OMC_LIT6((void*)((char*)(&(_OMC_LIT_STRUCT6).header) + 3)) MMC_REFSTRINGLIT(_OMC_LIT_STRUCT6)((void*)((char*)(&(_OMC_LIT_STRUCT6).header) + 3))
29static const MMC_DEFREALLIT(_OMC_LIT_STRUCT7,0.0)struct mmc_real_lit _OMC_LIT_STRUCT7 = {0,(((8/8) << 10
) + 9),0.0}
;
30#define _OMC_LIT7((void*)((char*)(&(_OMC_LIT_STRUCT7).header) + 3)) MMC_REFREALLIT(_OMC_LIT_STRUCT7)((void*)((char*)(&(_OMC_LIT_STRUCT7).header) + 3))
31static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT8,2,4)struct { mmc_uint_t header; const void *data[2]; } _OMC_LIT_STRUCT8
= { (((2) << 10) + (((4) & 255) << 2)),
{&DAE_Exp_RCONST__desc,_OMC_LIT7((void*)((char*)(&(_OMC_LIT_STRUCT7).header) + 3))}};
32#define _OMC_LIT8((void*)((char*)(&(_OMC_LIT_STRUCT8).header) + 3)) MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT8)((void*)((char*)(&(_OMC_LIT_STRUCT8).header) + 3))
33#define _OMC_LIT9_data"QR$NOM$" "QR$NOM$"
34static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT9,7,_OMC_LIT9_data)struct { mmc_uint_t header; const char data[(7)+1]; } _OMC_LIT_STRUCT9
= { ((((mmc_uint_t)7)<<(3))+((1<<(3+3))+5)), "QR$NOM$"
}
;
35#define _OMC_LIT9((void*)((char*)(&(_OMC_LIT_STRUCT9).header) + 3)) MMC_REFSTRINGLIT(_OMC_LIT_STRUCT9)((void*)((char*)(&(_OMC_LIT_STRUCT9).header) + 3))
36#define _OMC_LIT10_data"QR$Q$" "QR$Q$"
37static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT10,5,_OMC_LIT10_data)struct { mmc_uint_t header; const char data[(5)+1]; } _OMC_LIT_STRUCT10
= { ((((mmc_uint_t)5)<<(3))+((1<<(3+3))+5)), "QR$Q$"
}
;
38#define _OMC_LIT10((void*)((char*)(&(_OMC_LIT_STRUCT10).header) + 3)) MMC_REFSTRINGLIT(_OMC_LIT_STRUCT10)((void*)((char*)(&(_OMC_LIT_STRUCT10).header) + 3))
39#define _OMC_LIT11_data"QR$W$" "QR$W$"
40static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT11,5,_OMC_LIT11_data)struct { mmc_uint_t header; const char data[(5)+1]; } _OMC_LIT_STRUCT11
= { ((((mmc_uint_t)5)<<(3))+((1<<(3+3))+5)), "QR$W$"
}
;
41#define _OMC_LIT11((void*)((char*)(&(_OMC_LIT_STRUCT11).header) + 3)) MMC_REFSTRINGLIT(_OMC_LIT_STRUCT11)((void*)((char*)(&(_OMC_LIT_STRUCT11).header) + 3))
42#define _OMC_LIT12_data"$" "$"
43static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT12,1,_OMC_LIT12_data)struct { mmc_uint_t header; const char data[(1)+1]; } _OMC_LIT_STRUCT12
= { ((((mmc_uint_t)1)<<(3))+((1<<(3+3))+5)), "$"
}
;
44#define _OMC_LIT12((void*)((char*)(&(_OMC_LIT_STRUCT12).header) + 3)) MMC_REFSTRINGLIT(_OMC_LIT_STRUCT12)((void*)((char*)(&(_OMC_LIT_STRUCT12).header) + 3))
45#define _OMC_LIT13_data"QR$R$" "QR$R$"
46static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT13,5,_OMC_LIT13_data)struct { mmc_uint_t header; const char data[(5)+1]; } _OMC_LIT_STRUCT13
= { ((((mmc_uint_t)5)<<(3))+((1<<(3+3))+5)), "QR$R$"
}
;
47#define _OMC_LIT13((void*)((char*)(&(_OMC_LIT_STRUCT13).header) + 3)) MMC_REFSTRINGLIT(_OMC_LIT_STRUCT13)((void*)((char*)(&(_OMC_LIT_STRUCT13).header) + 3))
48#define _OMC_LIT14_data"QR$Qb$" "QR$Qb$"
49static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT14,6,_OMC_LIT14_data)struct { mmc_uint_t header; const char data[(6)+1]; } _OMC_LIT_STRUCT14
= { ((((mmc_uint_t)6)<<(3))+((1<<(3+3))+5)), "QR$Qb$"
}
;
50#define _OMC_LIT14((void*)((char*)(&(_OMC_LIT_STRUCT14).header) + 3)) MMC_REFSTRINGLIT(_OMC_LIT_STRUCT14)((void*)((char*)(&(_OMC_LIT_STRUCT14).header) + 3))
51static const MMC_DEFREALLIT(_OMC_LIT_STRUCT15,2.0)struct mmc_real_lit _OMC_LIT_STRUCT15 = {0,(((8/8) << 10
) + 9),2.0}
;
52#define _OMC_LIT15((void*)((char*)(&(_OMC_LIT_STRUCT15).header) + 3)) MMC_REFREALLIT(_OMC_LIT_STRUCT15)((void*)((char*)(&(_OMC_LIT_STRUCT15).header) + 3))
53static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT16,2,4)struct { mmc_uint_t header; const void *data[2]; } _OMC_LIT_STRUCT16
= { (((2) << 10) + (((4) & 255) << 2)),
{&DAE_Exp_RCONST__desc,_OMC_LIT15((void*)((char*)(&(_OMC_LIT_STRUCT15).header) + 3))}};
54#define _OMC_LIT16((void*)((char*)(&(_OMC_LIT_STRUCT16).header) + 3)) MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT16)((void*)((char*)(&(_OMC_LIT_STRUCT16).header) + 3))
55#define _OMC_LIT17_data"sqrt" "sqrt"
56static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT17,4,_OMC_LIT17_data)struct { mmc_uint_t header; const char data[(4)+1]; } _OMC_LIT_STRUCT17
= { ((((mmc_uint_t)4)<<(3))+((1<<(3+3))+5)), "sqrt"
}
;
57#define _OMC_LIT17((void*)((char*)(&(_OMC_LIT_STRUCT17).header) + 3)) MMC_REFSTRINGLIT(_OMC_LIT_STRUCT17)((void*)((char*)(&(_OMC_LIT_STRUCT17).header) + 3))
58static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT18,2,4)struct { mmc_uint_t header; const void *data[2]; } _OMC_LIT_STRUCT18
= { (((2) << 10) + (((4) & 255) << 2)),
{&DAE_Type_T__REAL__desc,MMC_REFSTRUCTLIT(mmc_nil)((void*)((char*)(&(mmc_nil).header) + 3))}};
59#define _OMC_LIT18((void*)((char*)(&(_OMC_LIT_STRUCT18).header) + 3)) MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT18)((void*)((char*)(&(_OMC_LIT_STRUCT18).header) + 3))
60#define _OMC_LIT19_data"QR$a$" "QR$a$"
61static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT19,5,_OMC_LIT19_data)struct { mmc_uint_t header; const char data[(5)+1]; } _OMC_LIT_STRUCT19
= { ((((mmc_uint_t)5)<<(3))+((1<<(3+3))+5)), "QR$a$"
}
;
62#define _OMC_LIT19((void*)((char*)(&(_OMC_LIT_STRUCT19).header) + 3)) MMC_REFSTRINGLIT(_OMC_LIT_STRUCT19)((void*)((char*)(&(_OMC_LIT_STRUCT19).header) + 3))
63#define _OMC_LIT20_data"QR$y1$" "QR$y1$"
64static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT20,6,_OMC_LIT20_data)struct { mmc_uint_t header; const char data[(6)+1]; } _OMC_LIT_STRUCT20
= { ((((mmc_uint_t)6)<<(3))+((1<<(3+3))+5)), "QR$y1$"
}
;
65#define _OMC_LIT20((void*)((char*)(&(_OMC_LIT_STRUCT20).header) + 3)) MMC_REFSTRINGLIT(_OMC_LIT_STRUCT20)((void*)((char*)(&(_OMC_LIT_STRUCT20).header) + 3))
66#define _OMC_LIT21_data"QR$h$" "QR$h$"
67static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT21,5,_OMC_LIT21_data)struct { mmc_uint_t header; const char data[(5)+1]; } _OMC_LIT_STRUCT21
= { ((((mmc_uint_t)5)<<(3))+((1<<(3+3))+5)), "QR$h$"
}
;
68#define _OMC_LIT21((void*)((char*)(&(_OMC_LIT_STRUCT21).header) + 3)) MMC_REFSTRINGLIT(_OMC_LIT_STRUCT21)((void*)((char*)(&(_OMC_LIT_STRUCT21).header) + 3))
69#define _OMC_LIT22_data"QR$h2$" "QR$h2$"
70static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT22,6,_OMC_LIT22_data)struct { mmc_uint_t header; const char data[(6)+1]; } _OMC_LIT_STRUCT22
= { ((((mmc_uint_t)6)<<(3))+((1<<(3+3))+5)), "QR$h2$"
}
;
71#define _OMC_LIT22((void*)((char*)(&(_OMC_LIT_STRUCT22).header) + 3)) MMC_REFSTRINGLIT(_OMC_LIT_STRUCT22)((void*)((char*)(&(_OMC_LIT_STRUCT22).header) + 3))
72#define _OMC_LIT23_data"QR$b_$" "QR$b_$"
73static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT23,6,_OMC_LIT23_data)struct { mmc_uint_t header; const char data[(6)+1]; } _OMC_LIT_STRUCT23
= { ((((mmc_uint_t)6)<<(3))+((1<<(3+3))+5)), "QR$b_$"
}
;
74#define _OMC_LIT23((void*)((char*)(&(_OMC_LIT_STRUCT23).header) + 3)) MMC_REFSTRINGLIT(_OMC_LIT_STRUCT23)((void*)((char*)(&(_OMC_LIT_STRUCT23).header) + 3))
75#define _OMC_LIT24_data"QR$b$" "QR$b$"
76static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT24,5,_OMC_LIT24_data)struct { mmc_uint_t header; const char data[(5)+1]; } _OMC_LIT_STRUCT24
= { ((((mmc_uint_t)5)<<(3))+((1<<(3+3))+5)), "QR$b$"
}
;
77#define _OMC_LIT24((void*)((char*)(&(_OMC_LIT_STRUCT24).header) + 3)) MMC_REFSTRINGLIT(_OMC_LIT_STRUCT24)((void*)((char*)(&(_OMC_LIT_STRUCT24).header) + 3))
78#define _OMC_LIT25_data"QR$A$" "QR$A$"
79static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT25,5,_OMC_LIT25_data)struct { mmc_uint_t header; const char data[(5)+1]; } _OMC_LIT_STRUCT25
= { ((((mmc_uint_t)5)<<(3))+((1<<(3+3))+5)), "QR$A$"
}
;
80#define _OMC_LIT25((void*)((char*)(&(_OMC_LIT_STRUCT25).header) + 3)) MMC_REFSTRINGLIT(_OMC_LIT_STRUCT25)((void*)((char*)(&(_OMC_LIT_STRUCT25).header) + 3))
81#define _OMC_LIT26_data"QR$sA$" "QR$sA$"
82static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT26,6,_OMC_LIT26_data)struct { mmc_uint_t header; const char data[(6)+1]; } _OMC_LIT_STRUCT26
= { ((((mmc_uint_t)6)<<(3))+((1<<(3+3))+5)), "QR$sA$"
}
;
83#define _OMC_LIT26((void*)((char*)(&(_OMC_LIT_STRUCT26).header) + 3)) MMC_REFSTRINGLIT(_OMC_LIT_STRUCT26)((void*)((char*)(&(_OMC_LIT_STRUCT26).header) + 3))
84#define _OMC_LIT27_data"QR$sx$" "QR$sx$"
85static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT27,6,_OMC_LIT27_data)struct { mmc_uint_t header; const char data[(6)+1]; } _OMC_LIT_STRUCT27
= { ((((mmc_uint_t)6)<<(3))+((1<<(3+3))+5)), "QR$sx$"
}
;
86#define _OMC_LIT27((void*)((char*)(&(_OMC_LIT_STRUCT27).header) + 3)) MMC_REFSTRINGLIT(_OMC_LIT_STRUCT27)((void*)((char*)(&(_OMC_LIT_STRUCT27).header) + 3))
87#define _OMC_LIT28_data"" ""
88static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT28,0,_OMC_LIT28_data)struct { mmc_uint_t header; const char data[(0)+1]; } _OMC_LIT_STRUCT28
= { ((((mmc_uint_t)0)<<(3))+((1<<(3+3))+5)), "" }
;
89#define _OMC_LIT28((void*)((char*)(&(_OMC_LIT_STRUCT28).header) + 3)) MMC_REFSTRINGLIT(_OMC_LIT_STRUCT28)((void*)((char*)(&(_OMC_LIT_STRUCT28).header) + 3))
90static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT29,8,3)struct { mmc_uint_t header; const void *data[8]; } _OMC_LIT_STRUCT29
= { (((8) << 10) + (((3) & 255) << 2)),
{&SourceInfo_SOURCEINFO__desc,_OMC_LIT28((void*)((char*)(&(_OMC_LIT_STRUCT28).header) + 3)),MMC_IMMEDIATE(MMC_TAGFIXNUM(0))((void*)(((((mmc_uint_t) (0)) << 1)+0))),MMC_IMMEDIATE(MMC_TAGFIXNUM(0))((void*)(((((mmc_uint_t) (0)) << 1)+0))),MMC_IMMEDIATE(MMC_TAGFIXNUM(0))((void*)(((((mmc_uint_t) (0)) << 1)+0))),MMC_IMMEDIATE(MMC_TAGFIXNUM(0))((void*)(((((mmc_uint_t) (0)) << 1)+0))),MMC_IMMEDIATE(MMC_TAGFIXNUM(0))((void*)(((((mmc_uint_t) (0)) << 1)+0))),_OMC_LIT7((void*)((char*)(&(_OMC_LIT_STRUCT7).header) + 3))}};
91#define _OMC_LIT29((void*)((char*)(&(_OMC_LIT_STRUCT29).header) + 3)) MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT29)((void*)((char*)(&(_OMC_LIT_STRUCT29).header) + 3))
92static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT30,1,4)struct { mmc_uint_t header; const void *data[1]; } _OMC_LIT_STRUCT30
= { (((1) << 10) + (((4) & 255) << 2)),
{&DAE_ComponentPrefix_NOCOMPPRE__desc,}};
93#define _OMC_LIT30((void*)((char*)(&(_OMC_LIT_STRUCT30).header) + 3)) MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT30)((void*)((char*)(&(_OMC_LIT_STRUCT30).header) + 3))
94static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT31,8,3)struct { mmc_uint_t header; const void *data[8]; } _OMC_LIT_STRUCT31
= { (((8) << 10) + (((3) & 255) << 2)),
{&DAE_ElementSource_SOURCE__desc,_OMC_LIT29((void*)((char*)(&(_OMC_LIT_STRUCT29).header) + 3)),MMC_REFSTRUCTLIT(mmc_nil)((void*)((char*)(&(mmc_nil).header) + 3)),_OMC_LIT30((void*)((char*)(&(_OMC_LIT_STRUCT30).header) + 3)),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)),MMC_REFSTRUCTLIT(mmc_nil)((void*)((char*)(&(mmc_nil).header) + 3))}};
95#define _OMC_LIT31((void*)((char*)(&(_OMC_LIT_STRUCT31).header) + 3)) MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT31)((void*)((char*)(&(_OMC_LIT_STRUCT31).header) + 3))
96static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT32,1,9)struct { mmc_uint_t header; const void *data[1]; } _OMC_LIT_STRUCT32
= { (((1) << 10) + (((9) & 255) << 2)),
{&BackendDAE_EquationKind_UNKNOWN__EQUATION__KIND__desc,}};
97#define _OMC_LIT32((void*)((char*)(&(_OMC_LIT_STRUCT32).header) + 3)) MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT32)((void*)((char*)(&(_OMC_LIT_STRUCT32).header) + 3))
98static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT33,5,3)struct { mmc_uint_t header; const void *data[5]; } _OMC_LIT_STRUCT33
= { (((5) << 10) + (((3) & 255) << 2)),
{&BackendDAE_EvaluationStages_EVALUATION__STAGES__desc,MMC_IMMEDIATE(MMC_TAGFIXNUM(0))((void*)(((((mmc_uint_t) (0)) << 1)+0))),MMC_IMMEDIATE(MMC_TAGFIXNUM(0))((void*)(((((mmc_uint_t) (0)) << 1)+0))),MMC_IMMEDIATE(MMC_TAGFIXNUM(0))((void*)(((((mmc_uint_t) (0)) << 1)+0))),MMC_IMMEDIATE(MMC_TAGFIXNUM(0))((void*)(((((mmc_uint_t) (0)) << 1)+0)))}};
99#define _OMC_LIT33((void*)((char*)(&(_OMC_LIT_STRUCT33).header) + 3)) MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT33)((void*)((char*)(&(_OMC_LIT_STRUCT33).header) + 3))
100static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT34,4,3)struct { mmc_uint_t header; const void *data[4]; } _OMC_LIT_STRUCT34
= { (((4) << 10) + (((3) & 255) << 2)),
{&BackendDAE_EquationAttributes_EQUATION__ATTRIBUTES__desc,MMC_IMMEDIATE(MMC_TAGFIXNUM(0))((void*)(((((mmc_uint_t) (0)) << 1)+0))),_OMC_LIT32((void*)((char*)(&(_OMC_LIT_STRUCT32).header) + 3)),_OMC_LIT33((void*)((char*)(&(_OMC_LIT_STRUCT33).header) + 3))}};
101#define _OMC_LIT34((void*)((char*)(&(_OMC_LIT_STRUCT34).header) + 3)) MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT34)((void*)((char*)(&(_OMC_LIT_STRUCT34).header) + 3))
102#define _OMC_LIT35_data"maxSizeSolveLinearSystem" "maxSizeSolveLinearSystem"
103static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT35,24,_OMC_LIT35_data)struct { mmc_uint_t header; const char data[(24)+1]; } _OMC_LIT_STRUCT35
= { ((((mmc_uint_t)24)<<(3))+((1<<(3+3))+5)), "maxSizeSolveLinearSystem"
}
;
104#define _OMC_LIT35((void*)((char*)(&(_OMC_LIT_STRUCT35).header) + 3)) MMC_REFSTRINGLIT(_OMC_LIT_STRUCT35)((void*)((char*)(&(_OMC_LIT_STRUCT35).header) + 3))
105static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT36,1,4)struct { mmc_uint_t header; const void *data[1]; } _OMC_LIT_STRUCT36
= { (((1) << 10) + (((4) & 255) << 2)),
{&Flags_FlagVisibility_EXTERNAL__desc,}};
106#define _OMC_LIT36((void*)((char*)(&(_OMC_LIT_STRUCT36).header) + 3)) MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT36)((void*)((char*)(&(_OMC_LIT_STRUCT36).header) + 3))
107static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT37,2,5)struct { mmc_uint_t header; const void *data[2]; } _OMC_LIT_STRUCT37
= { (((2) << 10) + (((5) & 255) << 2)),
{&Flags_FlagData_INT__FLAG__desc,MMC_IMMEDIATE(MMC_TAGFIXNUM(0))((void*)(((((mmc_uint_t) (0)) << 1)+0)))}};
108#define _OMC_LIT37((void*)((char*)(&(_OMC_LIT_STRUCT37).header) + 3)) MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT37)((void*)((char*)(&(_OMC_LIT_STRUCT37).header) + 3))
109#define _OMC_LIT38_data"Max size for solveLinearSystem." "Max size for solveLinearSystem."
110static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT38,31,_OMC_LIT38_data)struct { mmc_uint_t header; const char data[(31)+1]; } _OMC_LIT_STRUCT38
= { ((((mmc_uint_t)31)<<(3))+((1<<(3+3))+5)), "Max size for solveLinearSystem."
}
;
111#define _OMC_LIT38((void*)((char*)(&(_OMC_LIT_STRUCT38).header) + 3)) MMC_REFSTRINGLIT(_OMC_LIT_STRUCT38)((void*)((char*)(&(_OMC_LIT_STRUCT38).header) + 3))
112static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT39,2,3)struct { mmc_uint_t header; const void *data[2]; } _OMC_LIT_STRUCT39
= { (((2) << 10) + (((3) & 255) << 2)),
{&Gettext_TranslatableContent_gettext__desc,_OMC_LIT38((void*)((char*)(&(_OMC_LIT_STRUCT38).header) + 3))}};
113#define _OMC_LIT39((void*)((char*)(&(_OMC_LIT_STRUCT39).header) + 3)) MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT39)((void*)((char*)(&(_OMC_LIT_STRUCT39).header) + 3))
114static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT40,8,3)struct { mmc_uint_t header; const void *data[8]; } _OMC_LIT_STRUCT40
= { (((8) << 10) + (((3) & 255) << 2)),
{&Flags_ConfigFlag_CONFIG__FLAG__desc,MMC_IMMEDIATE(MMC_TAGFIXNUM(64))((void*)(((((mmc_uint_t) (64)) << 1)+0))),_OMC_LIT35((void*)((char*)(&(_OMC_LIT_STRUCT35).header) + 3)),MMC_REFSTRUCTLIT(mmc_none)((void*)((char*)(&(mmc_none).header) + 3)),_OMC_LIT36((void*)((char*)(&(_OMC_LIT_STRUCT36).header) + 3)),_OMC_LIT37((void*)((char*)(&(_OMC_LIT_STRUCT37).header) + 3)),MMC_REFSTRUCTLIT(mmc_none)((void*)((char*)(&(mmc_none).header) + 3)),_OMC_LIT39((void*)((char*)(&(_OMC_LIT_STRUCT39).header) + 3))}};
115#define _OMC_LIT40((void*)((char*)(&(_OMC_LIT_STRUCT40).header) + 3)) MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT40)((void*)((char*)(&(_OMC_LIT_STRUCT40).header) + 3))
116#define _OMC_LIT41_data"resolveEquations failed!\n" "resolveEquations failed!\n"
117static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT41,25,_OMC_LIT41_data)struct { mmc_uint_t header; const char data[(25)+1]; } _OMC_LIT_STRUCT41
= { ((((mmc_uint_t)25)<<(3))+((1<<(3+3))+5)), "resolveEquations failed!\n"
}
;
118#define _OMC_LIT41((void*)((char*)(&(_OMC_LIT_STRUCT41).header) + 3)) MMC_REFSTRINGLIT(_OMC_LIT_STRUCT41)((void*)((char*)(&(_OMC_LIT_STRUCT41).header) + 3))
119#define _OMC_LIT42_data"reshuffling_post4_resolveAndReplace failed!\n" "reshuffling_post4_resolveAndReplace failed!\n"
120static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT42,44,_OMC_LIT42_data)struct { mmc_uint_t header; const char data[(44)+1]; } _OMC_LIT_STRUCT42
= { ((((mmc_uint_t)44)<<(3))+((1<<(3+3))+5)), "reshuffling_post4_resolveAndReplace failed!\n"
}
;
121#define _OMC_LIT42((void*)((char*)(&(_OMC_LIT_STRUCT42).header) + 3)) MMC_REFSTRINGLIT(_OMC_LIT_STRUCT42)((void*)((char*)(&(_OMC_LIT_STRUCT42).header) + 3))
122#define _OMC_LIT43_data"reshuffling_post3_selectShuffleEqs failed!\n" "reshuffling_post3_selectShuffleEqs failed!\n"
123static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT43,43,_OMC_LIT43_data)struct { mmc_uint_t header; const char data[(43)+1]; } _OMC_LIT_STRUCT43
= { ((((mmc_uint_t)43)<<(3))+((1<<(3+3))+5)), "reshuffling_post3_selectShuffleEqs failed!\n"
}
;
124#define _OMC_LIT43((void*)((char*)(&(_OMC_LIT_STRUCT43).header) + 3)) MMC_REFSTRINGLIT(_OMC_LIT_STRUCT43)((void*)((char*)(&(_OMC_LIT_STRUCT43).header) + 3))
125static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT44,1,3)struct { mmc_uint_t header; const void *data[1]; } _OMC_LIT_STRUCT44
= { (((1) << 10) + (((3) & 255) << 2)),
{&BackendDAE_BaseClockPartitionKind_UNKNOWN__PARTITION__desc,}};
126#define _OMC_LIT44((void*)((char*)(&(_OMC_LIT_STRUCT44).header) + 3)) MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT44)((void*)((char*)(&(_OMC_LIT_STRUCT44).header) + 3))
127static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT45,1,5)struct { mmc_uint_t header; const void *data[1]; } _OMC_LIT_STRUCT45
= { (((1) << 10) + (((5) & 255) << 2)),
{&BackendDAE_IndexType_SOLVABLE__desc,}};
128#define _OMC_LIT45((void*)((char*)(&(_OMC_LIT_STRUCT45).header) + 3)) MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT45)((void*)((char*)(&(_OMC_LIT_STRUCT45).header) + 3))
129#define _OMC_LIT46_data"shuffle_pre" "shuffle_pre"
130static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT46,11,_OMC_LIT46_data)struct { mmc_uint_t header; const char data[(11)+1]; } _OMC_LIT_STRUCT46
= { ((((mmc_uint_t)11)<<(3))+((1<<(3+3))+5)), "shuffle_pre"
}
;
131#define _OMC_LIT46((void*)((char*)(&(_OMC_LIT_STRUCT46).header) + 3)) MMC_REFSTRINGLIT(_OMC_LIT_STRUCT46)((void*)((char*)(&(_OMC_LIT_STRUCT46).header) + 3))
132static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT47,1,4)struct { mmc_uint_t header; const void *data[1]; } _OMC_LIT_STRUCT47
= { (((1) << 10) + (((4) & 255) << 2)),
{&BackendDAE_IndexType_NORMAL__desc,}};
133#define _OMC_LIT47((void*)((char*)(&(_OMC_LIT_STRUCT47).header) + 3)) MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT47)((void*)((char*)(&(_OMC_LIT_STRUCT47).header) + 3))
134static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT48,1,4)struct { mmc_uint_t header; const void *data[1]; } _OMC_LIT_STRUCT48
= { (((1) << 10) + (((4) & 255) << 2)),
{&BackendDAE_JacobianType_JAC__LINEAR__desc,}};
135#define _OMC_LIT48((void*)((char*)(&(_OMC_LIT_STRUCT48).header) + 3)) MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT48)((void*)((char*)(&(_OMC_LIT_STRUCT48).header) + 3))
136#define _OMC_LIT49_data"reshufflePost" "reshufflePost"
137static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT49,13,_OMC_LIT49_data)struct { mmc_uint_t header; const char data[(13)+1]; } _OMC_LIT_STRUCT49
= { ((((mmc_uint_t)13)<<(3))+((1<<(3+3))+5)), "reshufflePost"
}
;
138#define _OMC_LIT49((void*)((char*)(&(_OMC_LIT_STRUCT49).header) + 3)) MMC_REFSTRINGLIT(_OMC_LIT_STRUCT49)((void*)((char*)(&(_OMC_LIT_STRUCT49).header) + 3))
139#define _OMC_LIT50_data"Reshuffles the systems of equations." "Reshuffles the systems of equations."
140static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT50,36,_OMC_LIT50_data)struct { mmc_uint_t header; const char data[(36)+1]; } _OMC_LIT_STRUCT50
= { ((((mmc_uint_t)36)<<(3))+((1<<(3+3))+5)), "Reshuffles the systems of equations."
}
;
141#define _OMC_LIT50((void*)((char*)(&(_OMC_LIT_STRUCT50).header) + 3)) MMC_REFSTRINGLIT(_OMC_LIT_STRUCT50)((void*)((char*)(&(_OMC_LIT_STRUCT50).header) + 3))
142static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT51,2,3)struct { mmc_uint_t header; const void *data[2]; } _OMC_LIT_STRUCT51
= { (((2) << 10) + (((3) & 255) << 2)),
{&Gettext_TranslatableContent_gettext__desc,_OMC_LIT50((void*)((char*)(&(_OMC_LIT_STRUCT50).header) + 3))}};
143#define _OMC_LIT51((void*)((char*)(&(_OMC_LIT_STRUCT51).header) + 3)) MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT51)((void*)((char*)(&(_OMC_LIT_STRUCT51).header) + 3))
144static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT52,5,3)struct { mmc_uint_t header; const void *data[5]; } _OMC_LIT_STRUCT52
= { (((5) << 10) + (((3) & 255) << 2)),
{&Flags_DebugFlag_DEBUG__FLAG__desc,MMC_IMMEDIATE(MMC_TAGFIXNUM(117))((void*)(((((mmc_uint_t) (117)) << 1)+0))),_OMC_LIT49((void*)((char*)(&(_OMC_LIT_STRUCT49).header) + 3)),MMC_IMMEDIATE(MMC_TAGFIXNUM(0))((void*)(((((mmc_uint_t) (0)) << 1)+0))),_OMC_LIT51((void*)((char*)(&(_OMC_LIT_STRUCT51).header) + 3))}};
145#define _OMC_LIT52((void*)((char*)(&(_OMC_LIT_STRUCT52).header) + 3)) MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT52)((void*)((char*)(&(_OMC_LIT_STRUCT52).header) + 3))
146#define _OMC_LIT53_data"connect2PathsToLoops failed\n" "connect2PathsToLoops failed\n"
147static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT53,28,_OMC_LIT53_data)struct { mmc_uint_t header; const char data[(28)+1]; } _OMC_LIT_STRUCT53
= { ((((mmc_uint_t)28)<<(3))+((1<<(3+3))+5)), "connect2PathsToLoops failed\n"
}
;
148#define _OMC_LIT53((void*)((char*)(&(_OMC_LIT_STRUCT53).header) + 3)) MMC_REFSTRINGLIT(_OMC_LIT_STRUCT53)((void*)((char*)(&(_OMC_LIT_STRUCT53).header) + 3))
149static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT54,2,1)struct { mmc_uint_t header; const void *data[2]; } _OMC_LIT_STRUCT54
= { (((2) << 10) + (((1) & 255) << 2)),
{MMC_IMMEDIATE(MMC_TAGFIXNUM(1))((void*)(((((mmc_uint_t) (1)) << 1)+0))),MMC_REFSTRUCTLIT(mmc_nil)((void*)((char*)(&(mmc_nil).header) + 3))}};
150#define _OMC_LIT54((void*)((char*)(&(_OMC_LIT_STRUCT54).header) + 3)) MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT54)((void*)((char*)(&(_OMC_LIT_STRUCT54).header) + 3))
151#define _OMC_LIT55_data"add a case to expIsCref:" "add a case to expIsCref:"
152static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT55,24,_OMC_LIT55_data)struct { mmc_uint_t header; const char data[(24)+1]; } _OMC_LIT_STRUCT55
= { ((((mmc_uint_t)24)<<(3))+((1<<(3+3))+5)), "add a case to expIsCref:"
}
;
153#define _OMC_LIT55((void*)((char*)(&(_OMC_LIT_STRUCT55).header) + 3)) MMC_REFSTRINGLIT(_OMC_LIT_STRUCT55)((void*)((char*)(&(_OMC_LIT_STRUCT55).header) + 3))
154#define _OMC_LIT56_data"add a case to CRefIsPosOnRHS" "add a case to CRefIsPosOnRHS"
155static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT56,28,_OMC_LIT56_data)struct { mmc_uint_t header; const char data[(28)+1]; } _OMC_LIT_STRUCT56
= { ((((mmc_uint_t)28)<<(3))+((1<<(3+3))+5)), "add a case to CRefIsPosOnRHS"
}
;
156#define _OMC_LIT56((void*)((char*)(&(_OMC_LIT_STRUCT56).header) + 3)) MMC_REFSTRINGLIT(_OMC_LIT_STRUCT56)((void*)((char*)(&(_OMC_LIT_STRUCT56).header) + 3))
157#define _OMC_LIT57_data"reshuffle" "reshuffle"
158static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT57,9,_OMC_LIT57_data)struct { mmc_uint_t header; const char data[(9)+1]; } _OMC_LIT_STRUCT57
= { ((((mmc_uint_t)9)<<(3))+((1<<(3+3))+5)), "reshuffle"
}
;
159#define _OMC_LIT57((void*)((char*)(&(_OMC_LIT_STRUCT57).header) + 3)) MMC_REFSTRINGLIT(_OMC_LIT_STRUCT57)((void*)((char*)(&(_OMC_LIT_STRUCT57).header) + 3))
160static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT58,2,5)struct { mmc_uint_t header; const void *data[2]; } _OMC_LIT_STRUCT58
= { (((2) << 10) + (((5) & 255) << 2)),
{&Flags_FlagData_INT__FLAG__desc,MMC_IMMEDIATE(MMC_TAGFIXNUM(1))((void*)(((((mmc_uint_t) (1)) << 1)+0)))}};
161#define _OMC_LIT58((void*)((char*)(&(_OMC_LIT_STRUCT58).header) + 3)) MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT58)((void*)((char*)(&(_OMC_LIT_STRUCT58).header) + 3))
162#define _OMC_LIT59_data"sets tolerance of reshuffling algorithm: 1: conservative, 2: more tolerant, 3 resolve all" "sets tolerance of reshuffling algorithm: 1: conservative, 2: more tolerant, 3 resolve all"
163static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT59,89,_OMC_LIT59_data)struct { mmc_uint_t header; const char data[(89)+1]; } _OMC_LIT_STRUCT59
= { ((((mmc_uint_t)89)<<(3))+((1<<(3+3))+5)), "sets tolerance of reshuffling algorithm: 1: conservative, 2: more tolerant, 3 resolve all"
}
;
164#define _OMC_LIT59((void*)((char*)(&(_OMC_LIT_STRUCT59).header) + 3)) MMC_REFSTRINGLIT(_OMC_LIT_STRUCT59)((void*)((char*)(&(_OMC_LIT_STRUCT59).header) + 3))
165static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT60,2,3)struct { mmc_uint_t header; const void *data[2]; } _OMC_LIT_STRUCT60
= { (((2) << 10) + (((3) & 255) << 2)),
{&Gettext_TranslatableContent_gettext__desc,_OMC_LIT59((void*)((char*)(&(_OMC_LIT_STRUCT59).header) + 3))}};
166#define _OMC_LIT60((void*)((char*)(&(_OMC_LIT_STRUCT60).header) + 3)) MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT60)((void*)((char*)(&(_OMC_LIT_STRUCT60).header) + 3))
167static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT61,8,3)struct { mmc_uint_t header; const void *data[8]; } _OMC_LIT_STRUCT61
= { (((8) << 10) + (((3) & 255) << 2)),
{&Flags_ConfigFlag_CONFIG__FLAG__desc,MMC_IMMEDIATE(MMC_TAGFIXNUM(59))((void*)(((((mmc_uint_t) (59)) << 1)+0))),_OMC_LIT57((void*)((char*)(&(_OMC_LIT_STRUCT57).header) + 3)),MMC_REFSTRUCTLIT(mmc_none)((void*)((char*)(&(mmc_none).header) + 3)),_OMC_LIT36((void*)((char*)(&(_OMC_LIT_STRUCT36).header) + 3)),_OMC_LIT58((void*)((char*)(&(_OMC_LIT_STRUCT58).header) + 3)),MMC_REFSTRUCTLIT(mmc_none)((void*)((char*)(&(mmc_none).header) + 3)),_OMC_LIT60((void*)((char*)(&(_OMC_LIT_STRUCT60).header) + 3))}};
168#define _OMC_LIT61((void*)((char*)(&(_OMC_LIT_STRUCT61).header) + 3)) MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT61)((void*)((char*)(&(_OMC_LIT_STRUCT61).header) + 3))
169#define _OMC_LIT62_data"function ResolveLoops.getPathTillNextCrossEq failed" "function ResolveLoops.getPathTillNextCrossEq failed"
170static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT62,51,_OMC_LIT62_data)struct { mmc_uint_t header; const char data[(51)+1]; } _OMC_LIT_STRUCT62
= { ((((mmc_uint_t)51)<<(3))+((1<<(3+3))+5)), "function ResolveLoops.getPathTillNextCrossEq failed"
}
;
171#define _OMC_LIT62((void*)((char*)(&(_OMC_LIT_STRUCT62).header) + 3)) MMC_REFSTRINGLIT(_OMC_LIT_STRUCT62)((void*)((char*)(&(_OMC_LIT_STRUCT62).header) + 3))
172#define _OMC_LIT63_data"/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo" "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
173static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT63,97,_OMC_LIT63_data)struct { mmc_uint_t header; const char data[(97)+1]; } _OMC_LIT_STRUCT63
= { ((((mmc_uint_t)97)<<(3))+((1<<(3+3))+5)), "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
}
;
174#define _OMC_LIT63((void*)((char*)(&(_OMC_LIT_STRUCT63).header) + 3)) MMC_REFSTRINGLIT(_OMC_LIT_STRUCT63)((void*)((char*)(&(_OMC_LIT_STRUCT63).header) + 3))
175static const MMC_DEFREALLIT(_OMC_LIT_STRUCT64_6,1580577680.0)struct mmc_real_lit _OMC_LIT_STRUCT64_6 = {0,(((8/8) <<
10) + 9),1580577680.0}
;
176#define _OMC_LIT64_6((void*)((char*)(&(_OMC_LIT_STRUCT64_6).header) + 3)) MMC_REFREALLIT(_OMC_LIT_STRUCT64_6)((void*)((char*)(&(_OMC_LIT_STRUCT64_6).header) + 3))
177static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT64,8,3)struct { mmc_uint_t header; const void *data[8]; } _OMC_LIT_STRUCT64
= { (((8) << 10) + (((3) & 255) << 2)),
{&SourceInfo_SOURCEINFO__desc,_OMC_LIT63((void*)((char*)(&(_OMC_LIT_STRUCT63).header) + 3)),MMC_IMMEDIATE(MMC_TAGFIXNUM(0))((void*)(((((mmc_uint_t) (0)) << 1)+0))),MMC_IMMEDIATE(MMC_TAGFIXNUM(1483))((void*)(((((mmc_uint_t) (1483)) << 1)+0))),MMC_IMMEDIATE(MMC_TAGFIXNUM(9))((void*)(((((mmc_uint_t) (9)) << 1)+0))),MMC_IMMEDIATE(MMC_TAGFIXNUM(1483))((void*)(((((mmc_uint_t) (1483)) << 1)+0))),MMC_IMMEDIATE(MMC_TAGFIXNUM(100))((void*)(((((mmc_uint_t) (100)) << 1)+0))),_OMC_LIT64_6((void*)((char*)(&(_OMC_LIT_STRUCT64_6).header) + 3))}};
178#define _OMC_LIT64((void*)((char*)(&(_OMC_LIT_STRUCT64).header) + 3)) MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT64)((void*)((char*)(&(_OMC_LIT_STRUCT64).header) + 3))
179#define _OMC_LIT65_data"function ResolveLoops.findPathByEnds failed" "function ResolveLoops.findPathByEnds failed"
180static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT65,43,_OMC_LIT65_data)struct { mmc_uint_t header; const char data[(43)+1]; } _OMC_LIT_STRUCT65
= { ((((mmc_uint_t)43)<<(3))+((1<<(3+3))+5)), "function ResolveLoops.findPathByEnds failed"
}
;
181#define _OMC_LIT65((void*)((char*)(&(_OMC_LIT_STRUCT65).header) + 3)) MMC_REFSTRINGLIT(_OMC_LIT_STRUCT65)((void*)((char*)(&(_OMC_LIT_STRUCT65).header) + 3))
182static const MMC_DEFREALLIT(_OMC_LIT_STRUCT66_6,1580577680.0)struct mmc_real_lit _OMC_LIT_STRUCT66_6 = {0,(((8/8) <<
10) + 9),1580577680.0}
;
183#define _OMC_LIT66_6((void*)((char*)(&(_OMC_LIT_STRUCT66_6).header) + 3)) MMC_REFREALLIT(_OMC_LIT_STRUCT66_6)((void*)((char*)(&(_OMC_LIT_STRUCT66_6).header) + 3))
184static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT66,8,3)struct { mmc_uint_t header; const void *data[8]; } _OMC_LIT_STRUCT66
= { (((8) << 10) + (((3) & 255) << 2)),
{&SourceInfo_SOURCEINFO__desc,_OMC_LIT63((void*)((char*)(&(_OMC_LIT_STRUCT63).header) + 3)),MMC_IMMEDIATE(MMC_TAGFIXNUM(0))((void*)(((((mmc_uint_t) (0)) << 1)+0))),MMC_IMMEDIATE(MMC_TAGFIXNUM(1389))((void*)(((((mmc_uint_t) (1389)) << 1)+0))),MMC_IMMEDIATE(MMC_TAGFIXNUM(9))((void*)(((((mmc_uint_t) (9)) << 1)+0))),MMC_IMMEDIATE(MMC_TAGFIXNUM(1389))((void*)(((((mmc_uint_t) (1389)) << 1)+0))),MMC_IMMEDIATE(MMC_TAGFIXNUM(92))((void*)(((((mmc_uint_t) (92)) << 1)+0))),_OMC_LIT66_6((void*)((char*)(&(_OMC_LIT_STRUCT66_6).header) + 3))}};
185#define _OMC_LIT66((void*)((char*)(&(_OMC_LIT_STRUCT66).header) + 3)) MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT66)((void*)((char*)(&(_OMC_LIT_STRUCT66).header) + 3))
186#define _OMC_LIT67_data"function ResolveLoops.closePathDirectly failed" "function ResolveLoops.closePathDirectly failed"
187static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT67,46,_OMC_LIT67_data)struct { mmc_uint_t header; const char data[(46)+1]; } _OMC_LIT_STRUCT67
= { ((((mmc_uint_t)46)<<(3))+((1<<(3+3))+5)), "function ResolveLoops.closePathDirectly failed"
}
;
188#define _OMC_LIT67((void*)((char*)(&(_OMC_LIT_STRUCT67).header) + 3)) MMC_REFSTRINGLIT(_OMC_LIT_STRUCT67)((void*)((char*)(&(_OMC_LIT_STRUCT67).header) + 3))
189static const MMC_DEFREALLIT(_OMC_LIT_STRUCT68_6,1580577680.0)struct mmc_real_lit _OMC_LIT_STRUCT68_6 = {0,(((8/8) <<
10) + 9),1580577680.0}
;
190#define _OMC_LIT68_6((void*)((char*)(&(_OMC_LIT_STRUCT68_6).header) + 3)) MMC_REFREALLIT(_OMC_LIT_STRUCT68_6)((void*)((char*)(&(_OMC_LIT_STRUCT68_6).header) + 3))
191static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT68,8,3)struct { mmc_uint_t header; const void *data[8]; } _OMC_LIT_STRUCT68
= { (((8) << 10) + (((3) & 255) << 2)),
{&SourceInfo_SOURCEINFO__desc,_OMC_LIT63((void*)((char*)(&(_OMC_LIT_STRUCT63).header) + 3)),MMC_IMMEDIATE(MMC_TAGFIXNUM(0))((void*)(((((mmc_uint_t) (0)) << 1)+0))),MMC_IMMEDIATE(MMC_TAGFIXNUM(1355))((void*)(((((mmc_uint_t) (1355)) << 1)+0))),MMC_IMMEDIATE(MMC_TAGFIXNUM(9))((void*)(((((mmc_uint_t) (9)) << 1)+0))),MMC_IMMEDIATE(MMC_TAGFIXNUM(1355))((void*)(((((mmc_uint_t) (1355)) << 1)+0))),MMC_IMMEDIATE(MMC_TAGFIXNUM(95))((void*)(((((mmc_uint_t) (95)) << 1)+0))),_OMC_LIT68_6((void*)((char*)(&(_OMC_LIT_STRUCT68_6).header) + 3))}};
192#define _OMC_LIT68((void*)((char*)(&(_OMC_LIT_STRUCT68).header) + 3)) MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT68)((void*)((char*)(&(_OMC_LIT_STRUCT68).header) + 3))
193#define _OMC_LIT69_data"From eqs \n" "From eqs \n"
194static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT69,10,_OMC_LIT69_data)struct { mmc_uint_t header; const char data[(10)+1]; } _OMC_LIT_STRUCT69
= { ((((mmc_uint_t)10)<<(3))+((1<<(3+3))+5)), "From eqs \n"
}
;
195#define _OMC_LIT69((void*)((char*)(&(_OMC_LIT_STRUCT69).header) + 3)) MMC_REFSTRINGLIT(_OMC_LIT_STRUCT69)((void*)((char*)(&(_OMC_LIT_STRUCT69).header) + 3))
196#define _OMC_LIT70_data"resolved the eq \n" "resolved the eq \n"
197static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT70,17,_OMC_LIT70_data)struct { mmc_uint_t header; const char data[(17)+1]; } _OMC_LIT_STRUCT70
= { ((((mmc_uint_t)17)<<(3))+((1<<(3+3))+5)), "resolved the eq \n"
}
;
198#define _OMC_LIT70((void*)((char*)(&(_OMC_LIT_STRUCT70).header) + 3)) MMC_REFSTRINGLIT(_OMC_LIT_STRUCT70)((void*)((char*)(&(_OMC_LIT_STRUCT70).header) + 3))
199#define _OMC_LIT71_data"\n\n" "\n\n"
200static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT71,2,_OMC_LIT71_data)struct { mmc_uint_t header; const char data[(2)+1]; } _OMC_LIT_STRUCT71
= { ((((mmc_uint_t)2)<<(3))+((1<<(3+3))+5)), "\n\n"
}
;
201#define _OMC_LIT71((void*)((char*)(&(_OMC_LIT_STRUCT71).header) + 3)) MMC_REFSTRINGLIT(_OMC_LIT_STRUCT71)((void*)((char*)(&(_OMC_LIT_STRUCT71).header) + 3))
202#define _OMC_LIT72_data"resolveLoopsDump" "resolveLoopsDump"
203static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT72,16,_OMC_LIT72_data)struct { mmc_uint_t header; const char data[(16)+1]; } _OMC_LIT_STRUCT72
= { ((((mmc_uint_t)16)<<(3))+((1<<(3+3))+5)), "resolveLoopsDump"
}
;
204#define _OMC_LIT72((void*)((char*)(&(_OMC_LIT_STRUCT72).header) + 3)) MMC_REFSTRINGLIT(_OMC_LIT_STRUCT72)((void*)((char*)(&(_OMC_LIT_STRUCT72).header) + 3))
205#define _OMC_LIT73_data"Debug Output for ResolveLoops Module." "Debug Output for ResolveLoops Module."
206static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT73,37,_OMC_LIT73_data)struct { mmc_uint_t header; const char data[(37)+1]; } _OMC_LIT_STRUCT73
= { ((((mmc_uint_t)37)<<(3))+((1<<(3+3))+5)), "Debug Output for ResolveLoops Module."
}
;
207#define _OMC_LIT73((void*)((char*)(&(_OMC_LIT_STRUCT73).header) + 3)) MMC_REFSTRINGLIT(_OMC_LIT_STRUCT73)((void*)((char*)(&(_OMC_LIT_STRUCT73).header) + 3))
208static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT74,2,3)struct { mmc_uint_t header; const void *data[2]; } _OMC_LIT_STRUCT74
= { (((2) << 10) + (((3) & 255) << 2)),
{&Gettext_TranslatableContent_gettext__desc,_OMC_LIT73((void*)((char*)(&(_OMC_LIT_STRUCT73).header) + 3))}};
209#define _OMC_LIT74((void*)((char*)(&(_OMC_LIT_STRUCT74).header) + 3)) MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT74)((void*)((char*)(&(_OMC_LIT_STRUCT74).header) + 3))
210static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT75,5,3)struct { mmc_uint_t header; const void *data[5]; } _OMC_LIT_STRUCT75
= { (((5) << 10) + (((3) & 255) << 2)),
{&Flags_DebugFlag_DEBUG__FLAG__desc,MMC_IMMEDIATE(MMC_TAGFIXNUM(98))((void*)(((((mmc_uint_t) (98)) << 1)+0))),_OMC_LIT72((void*)((char*)(&(_OMC_LIT_STRUCT72).header) + 3)),MMC_IMMEDIATE(MMC_TAGFIXNUM(0))((void*)(((((mmc_uint_t) (0)) << 1)+0))),_OMC_LIT74((void*)((char*)(&(_OMC_LIT_STRUCT74).header) + 3))}};
211#define _OMC_LIT75((void*)((char*)(&(_OMC_LIT_STRUCT75).header) + 3)) MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT75)((void*)((char*)(&(_OMC_LIT_STRUCT75).header) + 3))
212#define _OMC_LIT76_data"resolveLoops_resolveAndReplace failed!\n" "resolveLoops_resolveAndReplace failed!\n"
213static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT76,39,_OMC_LIT76_data)struct { mmc_uint_t header; const char data[(39)+1]; } _OMC_LIT_STRUCT76
= { ((((mmc_uint_t)39)<<(3))+((1<<(3+3))+5)), "resolveLoops_resolveAndReplace failed!\n"
}
;
214#define _OMC_LIT76((void*)((char*)(&(_OMC_LIT_STRUCT76).header) + 3)) MMC_REFSTRINGLIT(_OMC_LIT_STRUCT76)((void*)((char*)(&(_OMC_LIT_STRUCT76).header) + 3))
215static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT77,1,5)struct { mmc_uint_t header; const void *data[1]; } _OMC_LIT_STRUCT77
= { (((1) << 10) + (((5) & 255) << 2)),
{&AvlSetInt_Tree_EMPTY__desc,}};
216#define _OMC_LIT77((void*)((char*)(&(_OMC_LIT_STRUCT77).header) + 3)) MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT77)((void*)((char*)(&(_OMC_LIT_STRUCT77).header) + 3))
217#define _OMC_LIT78_data"function resolveLoops_findLoops2 failed" "function resolveLoops_findLoops2 failed"
218static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT78,39,_OMC_LIT78_data)struct { mmc_uint_t header; const char data[(39)+1]; } _OMC_LIT_STRUCT78
= { ((((mmc_uint_t)39)<<(3))+((1<<(3+3))+5)), "function resolveLoops_findLoops2 failed"
}
;
219#define _OMC_LIT78((void*)((char*)(&(_OMC_LIT_STRUCT78).header) + 3)) MMC_REFSTRINGLIT(_OMC_LIT_STRUCT78)((void*)((char*)(&(_OMC_LIT_STRUCT78).header) + 3))
220static const MMC_DEFREALLIT(_OMC_LIT_STRUCT79_6,1580577680.0)struct mmc_real_lit _OMC_LIT_STRUCT79_6 = {0,(((8/8) <<
10) + 9),1580577680.0}
;
221#define _OMC_LIT79_6((void*)((char*)(&(_OMC_LIT_STRUCT79_6).header) + 3)) MMC_REFREALLIT(_OMC_LIT_STRUCT79_6)((void*)((char*)(&(_OMC_LIT_STRUCT79_6).header) + 3))
222static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT79,8,3)struct { mmc_uint_t header; const void *data[8]; } _OMC_LIT_STRUCT79
= { (((8) << 10) + (((3) & 255) << 2)),
{&SourceInfo_SOURCEINFO__desc,_OMC_LIT63((void*)((char*)(&(_OMC_LIT_STRUCT63).header) + 3)),MMC_IMMEDIATE(MMC_TAGFIXNUM(0))((void*)(((((mmc_uint_t) (0)) << 1)+0))),MMC_IMMEDIATE(MMC_TAGFIXNUM(534))((void*)(((((mmc_uint_t) (534)) << 1)+0))),MMC_IMMEDIATE(MMC_TAGFIXNUM(9))((void*)(((((mmc_uint_t) (9)) << 1)+0))),MMC_IMMEDIATE(MMC_TAGFIXNUM(534))((void*)(((((mmc_uint_t) (534)) << 1)+0))),MMC_IMMEDIATE(MMC_TAGFIXNUM(88))((void*)(((((mmc_uint_t) (88)) << 1)+0))),_OMC_LIT79_6((void*)((char*)(&(_OMC_LIT_STRUCT79_6).header) + 3))}};
223#define _OMC_LIT79((void*)((char*)(&(_OMC_LIT_STRUCT79).header) + 3)) MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT79)((void*)((char*)(&(_OMC_LIT_STRUCT79).header) + 3))
224#define _OMC_LIT80_data"function resolveLoops_cutNodes failed" "function resolveLoops_cutNodes failed"
225static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT80,37,_OMC_LIT80_data)struct { mmc_uint_t header; const char data[(37)+1]; } _OMC_LIT_STRUCT80
= { ((((mmc_uint_t)37)<<(3))+((1<<(3+3))+5)), "function resolveLoops_cutNodes failed"
}
;
226#define _OMC_LIT80((void*)((char*)(&(_OMC_LIT_STRUCT80).header) + 3)) MMC_REFSTRINGLIT(_OMC_LIT_STRUCT80)((void*)((char*)(&(_OMC_LIT_STRUCT80).header) + 3))
227static const MMC_DEFREALLIT(_OMC_LIT_STRUCT81_6,1580577680.0)struct mmc_real_lit _OMC_LIT_STRUCT81_6 = {0,(((8/8) <<
10) + 9),1580577680.0}
;
228#define _OMC_LIT81_6((void*)((char*)(&(_OMC_LIT_STRUCT81_6).header) + 3)) MMC_REFREALLIT(_OMC_LIT_STRUCT81_6)((void*)((char*)(&(_OMC_LIT_STRUCT81_6).header) + 3))
229static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT81,8,3)struct { mmc_uint_t header; const void *data[8]; } _OMC_LIT_STRUCT81
= { (((8) << 10) + (((3) & 255) << 2)),
{&SourceInfo_SOURCEINFO__desc,_OMC_LIT63((void*)((char*)(&(_OMC_LIT_STRUCT63).header) + 3)),MMC_IMMEDIATE(MMC_TAGFIXNUM(0))((void*)(((((mmc_uint_t) (0)) << 1)+0))),MMC_IMMEDIATE(MMC_TAGFIXNUM(295))((void*)(((((mmc_uint_t) (295)) << 1)+0))),MMC_IMMEDIATE(MMC_TAGFIXNUM(9))((void*)(((((mmc_uint_t) (9)) << 1)+0))),MMC_IMMEDIATE(MMC_TAGFIXNUM(295))((void*)(((((mmc_uint_t) (295)) << 1)+0))),MMC_IMMEDIATE(MMC_TAGFIXNUM(86))((void*)(((((mmc_uint_t) (86)) << 1)+0))),_OMC_LIT81_6((void*)((char*)(&(_OMC_LIT_STRUCT81_6).header) + 3))}};
230#define _OMC_LIT81((void*)((char*)(&(_OMC_LIT_STRUCT81).header) + 3)) MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT81)((void*)((char*)(&(_OMC_LIT_STRUCT81).header) + 3))
231static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT82,1,3)struct { mmc_uint_t header; const void *data[1]; } _OMC_LIT_STRUCT82
= { (((1) << 10) + (((3) & 255) << 2)),
{&BackendDAE_IndexType_ABSOLUTE__desc,}};
232#define _OMC_LIT82((void*)((char*)(&(_OMC_LIT_STRUCT82).header) + 3)) MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT82)((void*)((char*)(&(_OMC_LIT_STRUCT82).header) + 3))
233#define _OMC_LIT83_data"whole System_" "whole System_"
234static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT83,13,_OMC_LIT83_data)struct { mmc_uint_t header; const char data[(13)+1]; } _OMC_LIT_STRUCT83
= { ((((mmc_uint_t)13)<<(3))+((1<<(3+3))+5)), "whole System_"
}
;
235#define _OMC_LIT83((void*)((char*)(&(_OMC_LIT_STRUCT83).header) + 3)) MMC_REFSTRINGLIT(_OMC_LIT_STRUCT83)((void*)((char*)(&(_OMC_LIT_STRUCT83).header) + 3))
236#define _OMC_LIT84_data"rL_simpEqs_" "rL_simpEqs_"
237static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT84,11,_OMC_LIT84_data)struct { mmc_uint_t header; const char data[(11)+1]; } _OMC_LIT_STRUCT84
= { ((((mmc_uint_t)11)<<(3))+((1<<(3+3))+5)), "rL_simpEqs_"
}
;
238#define _OMC_LIT84((void*)((char*)(&(_OMC_LIT_STRUCT84).header) + 3)) MMC_REFSTRINGLIT(_OMC_LIT_STRUCT84)((void*)((char*)(&(_OMC_LIT_STRUCT84).header) + 3))
239#define _OMC_LIT85_data"rL_loops_" "rL_loops_"
240static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT85,9,_OMC_LIT85_data)struct { mmc_uint_t header; const char data[(9)+1]; } _OMC_LIT_STRUCT85
= { ((((mmc_uint_t)9)<<(3))+((1<<(3+3))+5)), "rL_loops_"
}
;
241#define _OMC_LIT85((void*)((char*)(&(_OMC_LIT_STRUCT85).header) + 3)) MMC_REFSTRINGLIT(_OMC_LIT_STRUCT85)((void*)((char*)(&(_OMC_LIT_STRUCT85).header) + 3))
242#define _OMC_LIT86_data"rL_after_" "rL_after_"
243static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT86,9,_OMC_LIT86_data)struct { mmc_uint_t header; const char data[(9)+1]; } _OMC_LIT_STRUCT86
= { ((((mmc_uint_t)9)<<(3))+((1<<(3+3))+5)), "rL_after_"
}
;
244#define _OMC_LIT86((void*)((char*)(&(_OMC_LIT_STRUCT86).header) + 3)) MMC_REFSTRINGLIT(_OMC_LIT_STRUCT86)((void*)((char*)(&(_OMC_LIT_STRUCT86).header) + 3))
245#include "util/modelica.h"
246
247#include "ResolveLoops_includes.h"
248
249
250/* default, do not make protected functions static */
251#if !defined(PROTECTED_FUNCTION_STATIC)
252#define PROTECTED_FUNCTION_STATIC
253#endif
254PROTECTED_FUNCTION_STATIC modelica_metatype omc_ResolveLoops_gramSchmidtProcessHelper(threadData_t *threadData, modelica_metatype _w, modelica_metatype _u, modelica_string _name, modelica_integer _offset, modelica_metatype _ieqns, modelica_metatype _ivars, modelica_metatype _ishared, modelica_metatype *out_oeqns, modelica_metatype *out_ovars, modelica_metatype *out_oshared);
255PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_ResolveLoops_gramSchmidtProcessHelper(threadData_t *threadData, modelica_metatype _w, modelica_metatype _u, modelica_metatype _name, modelica_metatype _offset, modelica_metatype _ieqns, modelica_metatype _ivars, modelica_metatype _ishared, modelica_metatype *out_oeqns, modelica_metatype *out_ovars, modelica_metatype *out_oshared);
256static const MMC_DEFSTRUCTLIT(boxvar_lit_ResolveLoops_gramSchmidtProcessHelper,2,0)struct { mmc_uint_t header; const void *data[2]; } boxvar_lit_ResolveLoops_gramSchmidtProcessHelper
= { (((2) << 10) + (((0) & 255) << 2)),
{(void*) boxptr_ResolveLoops_gramSchmidtProcessHelper,0}};
257#define boxvar_ResolveLoops_gramSchmidtProcessHelper((void*)((char*)(&(boxvar_lit_ResolveLoops_gramSchmidtProcessHelper
).header) + 3))
MMC_REFSTRUCTLIT(boxvar_lit_ResolveLoops_gramSchmidtProcessHelper)((void*)((char*)(&(boxvar_lit_ResolveLoops_gramSchmidtProcessHelper
).header) + 3))
258PROTECTED_FUNCTION_STATIC void omc_ResolveLoops_qrDecomposition3(threadData_t *threadData, modelica_metatype _A, modelica_integer _sizeA, modelica_boolean _isMat, modelica_string _s);
259PROTECTED_FUNCTION_STATIC void boxptr_ResolveLoops_qrDecomposition3(threadData_t *threadData, modelica_metatype _A, modelica_metatype _sizeA, modelica_metatype _isMat, modelica_metatype _s);
260static const MMC_DEFSTRUCTLIT(boxvar_lit_ResolveLoops_qrDecomposition3,2,0)struct { mmc_uint_t header; const void *data[2]; } boxvar_lit_ResolveLoops_qrDecomposition3
= { (((2) << 10) + (((0) & 255) << 2)),
{(void*) boxptr_ResolveLoops_qrDecomposition3,0}};
261#define boxvar_ResolveLoops_qrDecomposition3((void*)((char*)(&(boxvar_lit_ResolveLoops_qrDecomposition3
).header) + 3))
MMC_REFSTRUCTLIT(boxvar_lit_ResolveLoops_qrDecomposition3)((void*)((char*)(&(boxvar_lit_ResolveLoops_qrDecomposition3
).header) + 3))
262PROTECTED_FUNCTION_STATIC modelica_metatype omc_ResolveLoops_qrDecomposition2(threadData_t *threadData, modelica_metatype _A, modelica_integer _sizeA, modelica_integer _i);
263PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_ResolveLoops_qrDecomposition2(threadData_t *threadData, modelica_metatype _A, modelica_metatype _sizeA, modelica_metatype _i);
264static const MMC_DEFSTRUCTLIT(boxvar_lit_ResolveLoops_qrDecomposition2,2,0)struct { mmc_uint_t header; const void *data[2]; } boxvar_lit_ResolveLoops_qrDecomposition2
= { (((2) << 10) + (((0) & 255) << 2)),
{(void*) boxptr_ResolveLoops_qrDecomposition2,0}};
265#define boxvar_ResolveLoops_qrDecomposition2((void*)((char*)(&(boxvar_lit_ResolveLoops_qrDecomposition2
).header) + 3))
MMC_REFSTRUCTLIT(boxvar_lit_ResolveLoops_qrDecomposition2)((void*)((char*)(&(boxvar_lit_ResolveLoops_qrDecomposition2
).header) + 3))
266PROTECTED_FUNCTION_STATIC modelica_metatype omc_ResolveLoops_qrDecomposition1(threadData_t *threadData, modelica_metatype _A, modelica_integer _sizeA, modelica_integer _i);
267PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_ResolveLoops_qrDecomposition1(threadData_t *threadData, modelica_metatype _A, modelica_metatype _sizeA, modelica_metatype _i);
268static const MMC_DEFSTRUCTLIT(boxvar_lit_ResolveLoops_qrDecomposition1,2,0)struct { mmc_uint_t header; const void *data[2]; } boxvar_lit_ResolveLoops_qrDecomposition1
= { (((2) << 10) + (((0) & 255) << 2)),
{(void*) boxptr_ResolveLoops_qrDecomposition1,0}};
269#define boxvar_ResolveLoops_qrDecomposition1((void*)((char*)(&(boxvar_lit_ResolveLoops_qrDecomposition1
).header) + 3))
MMC_REFSTRUCTLIT(boxvar_lit_ResolveLoops_qrDecomposition1)((void*)((char*)(&(boxvar_lit_ResolveLoops_qrDecomposition1
).header) + 3))
270PROTECTED_FUNCTION_STATIC modelica_metatype omc_ResolveLoops_qrDecomposition(threadData_t *threadData, modelica_metatype _A, modelica_integer _n, modelica_metatype _ib, modelica_metatype _ieqns, modelica_metatype _ivars, modelica_integer _offset, modelica_metatype _ishared, modelica_metatype *out_b, modelica_metatype *out_oeqns, modelica_metatype *out_ovars, modelica_metatype *out_oshared);
271PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_ResolveLoops_qrDecomposition(threadData_t *threadData, modelica_metatype _A, modelica_metatype _n, modelica_metatype _ib, modelica_metatype _ieqns, modelica_metatype _ivars, modelica_metatype _offset, modelica_metatype _ishared, modelica_metatype *out_b, modelica_metatype *out_oeqns, modelica_metatype *out_ovars, modelica_metatype *out_oshared);
272static const MMC_DEFSTRUCTLIT(boxvar_lit_ResolveLoops_qrDecomposition,2,0)struct { mmc_uint_t header; const void *data[2]; } boxvar_lit_ResolveLoops_qrDecomposition
= { (((2) << 10) + (((0) & 255) << 2)),
{(void*) boxptr_ResolveLoops_qrDecomposition,0}};
273#define boxvar_ResolveLoops_qrDecomposition((void*)((char*)(&(boxvar_lit_ResolveLoops_qrDecomposition
).header) + 3))
MMC_REFSTRUCTLIT(boxvar_lit_ResolveLoops_qrDecomposition)((void*)((char*)(&(boxvar_lit_ResolveLoops_qrDecomposition
).header) + 3))
274PROTECTED_FUNCTION_STATIC modelica_metatype omc_ResolveLoops_qrCalc__alpha(threadData_t *threadData, modelica_metatype _y, modelica_metatype _y1, modelica_integer _m);
275PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_ResolveLoops_qrCalc__alpha(threadData_t *threadData, modelica_metatype _y, modelica_metatype _y1, modelica_metatype _m);
276static const MMC_DEFSTRUCTLIT(boxvar_lit_ResolveLoops_qrCalc__alpha,2,0)struct { mmc_uint_t header; const void *data[2]; } boxvar_lit_ResolveLoops_qrCalc__alpha
= { (((2) << 10) + (((0) & 255) << 2)),
{(void*) boxptr_ResolveLoops_qrCalc__alpha,0}};
277#define boxvar_ResolveLoops_qrCalc__alpha((void*)((char*)(&(boxvar_lit_ResolveLoops_qrCalc__alpha)
.header) + 3))
MMC_REFSTRUCTLIT(boxvar_lit_ResolveLoops_qrCalc__alpha)((void*)((char*)(&(boxvar_lit_ResolveLoops_qrCalc__alpha)
.header) + 3))
278PROTECTED_FUNCTION_STATIC void omc_ResolveLoops_qrGet__cA(threadData_t *threadData, modelica_metatype _A, modelica_integer _iter, modelica_integer _j, modelica_integer _n, modelica_metatype _cA);
279PROTECTED_FUNCTION_STATIC void boxptr_ResolveLoops_qrGet__cA(threadData_t *threadData, modelica_metatype _A, modelica_metatype _iter, modelica_metatype _j, modelica_metatype _n, modelica_metatype _cA);
280static const MMC_DEFSTRUCTLIT(boxvar_lit_ResolveLoops_qrGet__cA,2,0)struct { mmc_uint_t header; const void *data[2]; } boxvar_lit_ResolveLoops_qrGet__cA
= { (((2) << 10) + (((0) & 255) << 2)),
{(void*) boxptr_ResolveLoops_qrGet__cA,0}};
281#define boxvar_ResolveLoops_qrGet__cA((void*)((char*)(&(boxvar_lit_ResolveLoops_qrGet__cA).header
) + 3))
MMC_REFSTRUCTLIT(boxvar_lit_ResolveLoops_qrGet__cA)((void*)((char*)(&(boxvar_lit_ResolveLoops_qrGet__cA).header
) + 3))
282PROTECTED_FUNCTION_STATIC modelica_metatype omc_ResolveLoops_qrDecompositionHouseholder(threadData_t *threadData, modelica_metatype _A, modelica_integer _n, modelica_metatype _ib, modelica_metatype _ieqns, modelica_metatype _ivars, modelica_integer _offset, modelica_metatype _ishared, modelica_metatype *out_b, modelica_metatype *out_oeqns, modelica_metatype *out_ovars, modelica_metatype *out_oshared);
283PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_ResolveLoops_qrDecompositionHouseholder(threadData_t *threadData, modelica_metatype _A, modelica_metatype _n, modelica_metatype _ib, modelica_metatype _ieqns, modelica_metatype _ivars, modelica_metatype _offset, modelica_metatype _ishared, modelica_metatype *out_b, modelica_metatype *out_oeqns, modelica_metatype *out_ovars, modelica_metatype *out_oshared);
284static const MMC_DEFSTRUCTLIT(boxvar_lit_ResolveLoops_qrDecompositionHouseholder,2,0)struct { mmc_uint_t header; const void *data[2]; } boxvar_lit_ResolveLoops_qrDecompositionHouseholder
= { (((2) << 10) + (((0) & 255) << 2)),
{(void*) boxptr_ResolveLoops_qrDecompositionHouseholder,0}};
285#define boxvar_ResolveLoops_qrDecompositionHouseholder((void*)((char*)(&(boxvar_lit_ResolveLoops_qrDecompositionHouseholder
).header) + 3))
MMC_REFSTRUCTLIT(boxvar_lit_ResolveLoops_qrDecompositionHouseholder)((void*)((char*)(&(boxvar_lit_ResolveLoops_qrDecompositionHouseholder
).header) + 3))
286PROTECTED_FUNCTION_STATIC modelica_metatype omc_ResolveLoops_solveLinearSystem4(threadData_t *threadData, modelica_metatype _b_lst, modelica_metatype _jac, modelica_metatype _cr_x, modelica_metatype _var_lst, modelica_integer _n, modelica_metatype _ieqns, modelica_metatype _ivars, modelica_integer _offset, modelica_metatype _ishared, modelica_metatype *out_ovars, modelica_integer *out_offset_, modelica_metatype *out_oshared);
287PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_ResolveLoops_solveLinearSystem4(threadData_t *threadData, modelica_metatype _b_lst, modelica_metatype _jac, modelica_metatype _cr_x, modelica_metatype _var_lst, modelica_metatype _n, modelica_metatype _ieqns, modelica_metatype _ivars, modelica_metatype _offset, modelica_metatype _ishared, modelica_metatype *out_ovars, modelica_metatype *out_offset_, modelica_metatype *out_oshared);
288static const MMC_DEFSTRUCTLIT(boxvar_lit_ResolveLoops_solveLinearSystem4,2,0)struct { mmc_uint_t header; const void *data[2]; } boxvar_lit_ResolveLoops_solveLinearSystem4
= { (((2) << 10) + (((0) & 255) << 2)),
{(void*) boxptr_ResolveLoops_solveLinearSystem4,0}};
289#define boxvar_ResolveLoops_solveLinearSystem4((void*)((char*)(&(boxvar_lit_ResolveLoops_solveLinearSystem4
).header) + 3))
MMC_REFSTRUCTLIT(boxvar_lit_ResolveLoops_solveLinearSystem4)((void*)((char*)(&(boxvar_lit_ResolveLoops_solveLinearSystem4
).header) + 3))
290PROTECTED_FUNCTION_STATIC modelica_metatype omc_ResolveLoops_solveLinearSystem3(threadData_t *threadData, modelica_metatype _inSyst, modelica_metatype _ishared, modelica_metatype _eqn_lst, modelica_metatype _eqn_indxs, modelica_metatype _var_lst, modelica_metatype _var_indxs, modelica_metatype _jac, modelica_integer _offset, modelica_metatype *out_oshared, modelica_integer *out_offset_);
291PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_ResolveLoops_solveLinearSystem3(threadData_t *threadData, modelica_metatype _inSyst, modelica_metatype _ishared, modelica_metatype _eqn_lst, modelica_metatype _eqn_indxs, modelica_metatype _var_lst, modelica_metatype _var_indxs, modelica_metatype _jac, modelica_metatype _offset, modelica_metatype *out_oshared, modelica_metatype *out_offset_);
292static const MMC_DEFSTRUCTLIT(boxvar_lit_ResolveLoops_solveLinearSystem3,2,0)struct { mmc_uint_t header; const void *data[2]; } boxvar_lit_ResolveLoops_solveLinearSystem3
= { (((2) << 10) + (((0) & 255) << 2)),
{(void*) boxptr_ResolveLoops_solveLinearSystem3,0}};
293#define boxvar_ResolveLoops_solveLinearSystem3((void*)((char*)(&(boxvar_lit_ResolveLoops_solveLinearSystem3
).header) + 3))
MMC_REFSTRUCTLIT(boxvar_lit_ResolveLoops_solveLinearSystem3)((void*)((char*)(&(boxvar_lit_ResolveLoops_solveLinearSystem3
).header) + 3))
294PROTECTED_FUNCTION_STATIC modelica_metatype omc_ResolveLoops_solveLinearSystem2(threadData_t *threadData, modelica_metatype _isyst, modelica_metatype _ishared, modelica_metatype _comp, modelica_metatype _ii, modelica_integer _offset, modelica_integer _maxSize, modelica_metatype *out_oshared, modelica_boolean *out_outRunMatching, modelica_metatype *out_oi, modelica_integer *out_offset_);
295PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_ResolveLoops_solveLinearSystem2(threadData_t *threadData, modelica_metatype _isyst, modelica_metatype _ishared, modelica_metatype _comp, modelica_metatype _ii, modelica_metatype _offset, modelica_metatype _maxSize, modelica_metatype *out_oshared, modelica_metatype *out_outRunMatching, modelica_metatype *out_oi, modelica_metatype *out_offset_);
296static const MMC_DEFSTRUCTLIT(boxvar_lit_ResolveLoops_solveLinearSystem2,2,0)struct { mmc_uint_t header; const void *data[2]; } boxvar_lit_ResolveLoops_solveLinearSystem2
= { (((2) << 10) + (((0) & 255) << 2)),
{(void*) boxptr_ResolveLoops_solveLinearSystem2,0}};
297#define boxvar_ResolveLoops_solveLinearSystem2((void*)((char*)(&(boxvar_lit_ResolveLoops_solveLinearSystem2
).header) + 3))
MMC_REFSTRUCTLIT(boxvar_lit_ResolveLoops_solveLinearSystem2)((void*)((char*)(&(boxvar_lit_ResolveLoops_solveLinearSystem2
).header) + 3))
298PROTECTED_FUNCTION_STATIC modelica_metatype omc_ResolveLoops_solveLinearSystem1(threadData_t *threadData, modelica_metatype _isyst, modelica_metatype _ishared, modelica_metatype _inComps, modelica_metatype _inTpl, modelica_metatype *out_oshared, modelica_metatype *out_outTpl);
299static const MMC_DEFSTRUCTLIT(boxvar_lit_ResolveLoops_solveLinearSystem1,2,0)struct { mmc_uint_t header; const void *data[2]; } boxvar_lit_ResolveLoops_solveLinearSystem1
= { (((2) << 10) + (((0) & 255) << 2)),
{(void*) boxptr_ResolveLoops_solveLinearSystem1omc_ResolveLoops_solveLinearSystem1,0}};
300#define boxvar_ResolveLoops_solveLinearSystem1((void*)((char*)(&(boxvar_lit_ResolveLoops_solveLinearSystem1
).header) + 3))
MMC_REFSTRUCTLIT(boxvar_lit_ResolveLoops_solveLinearSystem1)((void*)((char*)(&(boxvar_lit_ResolveLoops_solveLinearSystem1
).header) + 3))
301PROTECTED_FUNCTION_STATIC modelica_metatype omc_ResolveLoops_solveLinearSystem0(threadData_t *threadData, modelica_metatype _isyst, modelica_metatype _inShared, modelica_metatype _inTpl, modelica_metatype *out_outShared, modelica_metatype *out_outTpl);
302static const MMC_DEFSTRUCTLIT(boxvar_lit_ResolveLoops_solveLinearSystem0,2,0)struct { mmc_uint_t header; const void *data[2]; } boxvar_lit_ResolveLoops_solveLinearSystem0
= { (((2) << 10) + (((0) & 255) << 2)),
{(void*) boxptr_ResolveLoops_solveLinearSystem0omc_ResolveLoops_solveLinearSystem0,0}};
303#define boxvar_ResolveLoops_solveLinearSystem0((void*)((char*)(&(boxvar_lit_ResolveLoops_solveLinearSystem0
).header) + 3))
MMC_REFSTRUCTLIT(boxvar_lit_ResolveLoops_solveLinearSystem0)((void*)((char*)(&(boxvar_lit_ResolveLoops_solveLinearSystem0
).header) + 3))
304PROTECTED_FUNCTION_STATIC modelica_boolean omc_ResolveLoops_isSolvable(threadData_t *threadData, modelica_metatype _entry);
305PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_ResolveLoops_isSolvable(threadData_t *threadData, modelica_metatype _entry);
306static const MMC_DEFSTRUCTLIT(boxvar_lit_ResolveLoops_isSolvable,2,0)struct { mmc_uint_t header; const void *data[2]; } boxvar_lit_ResolveLoops_isSolvable
= { (((2) << 10) + (((0) & 255) << 2)),
{(void*) boxptr_ResolveLoops_isSolvable,0}};
307#define boxvar_ResolveLoops_isSolvable((void*)((char*)(&(boxvar_lit_ResolveLoops_isSolvable).header
) + 3))
MMC_REFSTRUCTLIT(boxvar_lit_ResolveLoops_isSolvable)((void*)((char*)(&(boxvar_lit_ResolveLoops_isSolvable).header
) + 3))
308PROTECTED_FUNCTION_STATIC void omc_ResolveLoops_getDoublicates2(threadData_t *threadData, modelica_integer _idx, modelica_metatype _arr);
309PROTECTED_FUNCTION_STATIC void boxptr_ResolveLoops_getDoublicates2(threadData_t *threadData, modelica_metatype _idx, modelica_metatype _arr);
310static const MMC_DEFSTRUCTLIT(boxvar_lit_ResolveLoops_getDoublicates2,2,0)struct { mmc_uint_t header; const void *data[2]; } boxvar_lit_ResolveLoops_getDoublicates2
= { (((2) << 10) + (((0) & 255) << 2)),
{(void*) boxptr_ResolveLoops_getDoublicates2,0}};
311#define boxvar_ResolveLoops_getDoublicates2((void*)((char*)(&(boxvar_lit_ResolveLoops_getDoublicates2
).header) + 3))
MMC_REFSTRUCTLIT(boxvar_lit_ResolveLoops_getDoublicates2)((void*)((char*)(&(boxvar_lit_ResolveLoops_getDoublicates2
).header) + 3))
312PROTECTED_FUNCTION_STATIC modelica_metatype omc_ResolveLoops_getDoublicates(threadData_t *threadData, modelica_metatype _lstIn);
313static const MMC_DEFSTRUCTLIT(boxvar_lit_ResolveLoops_getDoublicates,2,0)struct { mmc_uint_t header; const void *data[2]; } boxvar_lit_ResolveLoops_getDoublicates
= { (((2) << 10) + (((0) & 255) << 2)),
{(void*) boxptr_ResolveLoops_getDoublicatesomc_ResolveLoops_getDoublicates,0}};
314#define boxvar_ResolveLoops_getDoublicates((void*)((char*)(&(boxvar_lit_ResolveLoops_getDoublicates
).header) + 3))
MMC_REFSTRUCTLIT(boxvar_lit_ResolveLoops_getDoublicates)((void*)((char*)(&(boxvar_lit_ResolveLoops_getDoublicates
).header) + 3))
315PROTECTED_FUNCTION_STATIC modelica_boolean omc_ResolveLoops_chooseEquation(threadData_t *threadData, modelica_metatype _row, modelica_metatype _meT);
316PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_ResolveLoops_chooseEquation(threadData_t *threadData, modelica_metatype _row, modelica_metatype _meT);
317static const MMC_DEFSTRUCTLIT(boxvar_lit_ResolveLoops_chooseEquation,2,0)struct { mmc_uint_t header; const void *data[2]; } boxvar_lit_ResolveLoops_chooseEquation
= { (((2) << 10) + (((0) & 255) << 2)),
{(void*) boxptr_ResolveLoops_chooseEquation,0}};
318#define boxvar_ResolveLoops_chooseEquation((void*)((char*)(&(boxvar_lit_ResolveLoops_chooseEquation
).header) + 3))
MMC_REFSTRUCTLIT(boxvar_lit_ResolveLoops_chooseEquation)((void*)((char*)(&(boxvar_lit_ResolveLoops_chooseEquation
).header) + 3))
319PROTECTED_FUNCTION_STATIC modelica_metatype omc_ResolveLoops_getEqPairs(threadData_t *threadData, modelica_integer _eq, modelica_metatype _me, modelica_metatype _meT);
320PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_ResolveLoops_getEqPairs(threadData_t *threadData, modelica_metatype _eq, modelica_metatype _me, modelica_metatype _meT);
321static const MMC_DEFSTRUCTLIT(boxvar_lit_ResolveLoops_getEqPairs,2,0)struct { mmc_uint_t header; const void *data[2]; } boxvar_lit_ResolveLoops_getEqPairs
= { (((2) << 10) + (((0) & 255) << 2)),
{(void*) boxptr_ResolveLoops_getEqPairs,0}};
322#define boxvar_ResolveLoops_getEqPairs((void*)((char*)(&(boxvar_lit_ResolveLoops_getEqPairs).header
) + 3))
MMC_REFSTRUCTLIT(boxvar_lit_ResolveLoops_getEqPairs)((void*)((char*)(&(boxvar_lit_ResolveLoops_getEqPairs).header
) + 3))
323PROTECTED_FUNCTION_STATIC modelica_metatype omc_ResolveLoops_reshuffling__post4__resolveAndReplace(threadData_t *threadData, modelica_metatype _resolveEqLst, modelica_metatype _unassEqsIn, modelica_metatype _unassVarsIn, modelica_metatype _me, modelica_metatype _meT);
324static const MMC_DEFSTRUCTLIT(boxvar_lit_ResolveLoops_reshuffling__post4__resolveAndReplace,2,0)struct { mmc_uint_t header; const void *data[2]; } boxvar_lit_ResolveLoops_reshuffling__post4__resolveAndReplace
= { (((2) << 10) + (((0) & 255) << 2)),
{(void*) boxptr_ResolveLoops_reshuffling__post4__resolveAndReplaceomc_ResolveLoops_reshuffling__post4__resolveAndReplace,0}};
325#define boxvar_ResolveLoops_reshuffling__post4__resolveAndReplace((void*)((char*)(&(boxvar_lit_ResolveLoops_reshuffling__post4__resolveAndReplace
).header) + 3))
MMC_REFSTRUCTLIT(boxvar_lit_ResolveLoops_reshuffling__post4__resolveAndReplace)((void*)((char*)(&(boxvar_lit_ResolveLoops_reshuffling__post4__resolveAndReplace
).header) + 3))
326PROTECTED_FUNCTION_STATIC modelica_metatype omc_ResolveLoops_reshuffling__post3__selectShuffleEqs(threadData_t *threadData, modelica_metatype _me, modelica_metatype _meT);
327static const MMC_DEFSTRUCTLIT(boxvar_lit_ResolveLoops_reshuffling__post3__selectShuffleEqs,2,0)struct { mmc_uint_t header; const void *data[2]; } boxvar_lit_ResolveLoops_reshuffling__post3__selectShuffleEqs
= { (((2) << 10) + (((0) & 255) << 2)),
{(void*) boxptr_ResolveLoops_reshuffling__post3__selectShuffleEqsomc_ResolveLoops_reshuffling__post3__selectShuffleEqs,0}};
328#define boxvar_ResolveLoops_reshuffling__post3__selectShuffleEqs((void*)((char*)(&(boxvar_lit_ResolveLoops_reshuffling__post3__selectShuffleEqs
).header) + 3))
MMC_REFSTRUCTLIT(boxvar_lit_ResolveLoops_reshuffling__post3__selectShuffleEqs)((void*)((char*)(&(boxvar_lit_ResolveLoops_reshuffling__post3__selectShuffleEqs
).header) + 3))
329PROTECTED_FUNCTION_STATIC modelica_metatype omc_ResolveLoops_reshuffling__post2(threadData_t *threadData, modelica_metatype _eqIdcs, modelica_metatype _varIdcs, modelica_metatype _dae, modelica_metatype _shared, modelica_metatype _ojac, modelica_metatype _jacType, modelica_boolean *out_outRunMatching);
330PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_ResolveLoops_reshuffling__post2(threadData_t *threadData, modelica_metatype _eqIdcs, modelica_metatype _varIdcs, modelica_metatype _dae, modelica_metatype _shared, modelica_metatype _ojac, modelica_metatype _jacType, modelica_metatype *out_outRunMatching);
331static const MMC_DEFSTRUCTLIT(boxvar_lit_ResolveLoops_reshuffling__post2,2,0)struct { mmc_uint_t header; const void *data[2]; } boxvar_lit_ResolveLoops_reshuffling__post2
= { (((2) << 10) + (((0) & 255) << 2)),
{(void*) boxptr_ResolveLoops_reshuffling__post2,0}};
332#define boxvar_ResolveLoops_reshuffling__post2((void*)((char*)(&(boxvar_lit_ResolveLoops_reshuffling__post2
).header) + 3))
MMC_REFSTRUCTLIT(boxvar_lit_ResolveLoops_reshuffling__post2)((void*)((char*)(&(boxvar_lit_ResolveLoops_reshuffling__post2
).header) + 3))
333PROTECTED_FUNCTION_STATIC modelica_metatype omc_ResolveLoops_reshuffling__post1(threadData_t *threadData, modelica_metatype _compIn, modelica_metatype _shared, modelica_metatype _systIn);
334static const MMC_DEFSTRUCTLIT(boxvar_lit_ResolveLoops_reshuffling__post1,2,0)struct { mmc_uint_t header; const void *data[2]; } boxvar_lit_ResolveLoops_reshuffling__post1
= { (((2) << 10) + (((0) & 255) << 2)),
{(void*) boxptr_ResolveLoops_reshuffling__post1omc_ResolveLoops_reshuffling__post1,0}};
335#define boxvar_ResolveLoops_reshuffling__post1((void*)((char*)(&(boxvar_lit_ResolveLoops_reshuffling__post1
).header) + 3))
MMC_REFSTRUCTLIT(boxvar_lit_ResolveLoops_reshuffling__post1)((void*)((char*)(&(boxvar_lit_ResolveLoops_reshuffling__post1
).header) + 3))
336PROTECTED_FUNCTION_STATIC modelica_metatype omc_ResolveLoops_reshuffling__post0(threadData_t *threadData, modelica_metatype _isyst, modelica_metatype _shared);
337static const MMC_DEFSTRUCTLIT(boxvar_lit_ResolveLoops_reshuffling__post0,2,0)struct { mmc_uint_t header; const void *data[2]; } boxvar_lit_ResolveLoops_reshuffling__post0
= { (((2) << 10) + (((0) & 255) << 2)),
{(void*) boxptr_ResolveLoops_reshuffling__post0omc_ResolveLoops_reshuffling__post0,0}};
338#define boxvar_ResolveLoops_reshuffling__post0((void*)((char*)(&(boxvar_lit_ResolveLoops_reshuffling__post0
).header) + 3))
MMC_REFSTRUCTLIT(boxvar_lit_ResolveLoops_reshuffling__post0)((void*)((char*)(&(boxvar_lit_ResolveLoops_reshuffling__post0
).header) + 3))
339PROTECTED_FUNCTION_STATIC modelica_metatype omc_ResolveLoops_connectPaths(threadData_t *threadData, modelica_metatype _pathIn, modelica_metatype _closingPaths);
340static const MMC_DEFSTRUCTLIT(boxvar_lit_ResolveLoops_connectPaths,2,0)struct { mmc_uint_t header; const void *data[2]; } boxvar_lit_ResolveLoops_connectPaths
= { (((2) << 10) + (((0) & 255) << 2)),
{(void*) boxptr_ResolveLoops_connectPathsomc_ResolveLoops_connectPaths,0}};
341#define boxvar_ResolveLoops_connectPaths((void*)((char*)(&(boxvar_lit_ResolveLoops_connectPaths).
header) + 3))
MMC_REFSTRUCTLIT(boxvar_lit_ResolveLoops_connectPaths)((void*)((char*)(&(boxvar_lit_ResolveLoops_connectPaths).
header) + 3))
342PROTECTED_FUNCTION_STATIC modelica_metatype omc_ResolveLoops_connect2PathsToLoops(threadData_t *threadData, modelica_metatype _pathsIn, modelica_metatype _loopsIn, modelica_metatype _restPathsIn, modelica_metatype *out_restPathsOut);
343static const MMC_DEFSTRUCTLIT(boxvar_lit_ResolveLoops_connect2PathsToLoops,2,0)struct { mmc_uint_t header; const void *data[2]; } boxvar_lit_ResolveLoops_connect2PathsToLoops
= { (((2) << 10) + (((0) & 255) << 2)),
{(void*) boxptr_ResolveLoops_connect2PathsToLoopsomc_ResolveLoops_connect2PathsToLoops,0}};
344#define boxvar_ResolveLoops_connect2PathsToLoops((void*)((char*)(&(boxvar_lit_ResolveLoops_connect2PathsToLoops
).header) + 3))
MMC_REFSTRUCTLIT(boxvar_lit_ResolveLoops_connect2PathsToLoops)((void*)((char*)(&(boxvar_lit_ResolveLoops_connect2PathsToLoops
).header) + 3))
345PROTECTED_FUNCTION_STATIC modelica_boolean omc_ResolveLoops_lastInListIsEqual(threadData_t *threadData, modelica_metatype _lstIn, modelica_integer _value);
346PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_ResolveLoops_lastInListIsEqual(threadData_t *threadData, modelica_metatype _lstIn, modelica_metatype _value);
347static const MMC_DEFSTRUCTLIT(boxvar_lit_ResolveLoops_lastInListIsEqual,2,0)struct { mmc_uint_t header; const void *data[2]; } boxvar_lit_ResolveLoops_lastInListIsEqual
= { (((2) << 10) + (((0) & 255) << 2)),
{(void*) boxptr_ResolveLoops_lastInListIsEqual,0}};
348#define boxvar_ResolveLoops_lastInListIsEqual((void*)((char*)(&(boxvar_lit_ResolveLoops_lastInListIsEqual
).header) + 3))
MMC_REFSTRUCTLIT(boxvar_lit_ResolveLoops_lastInListIsEqual)((void*)((char*)(&(boxvar_lit_ResolveLoops_lastInListIsEqual
).header) + 3))
349PROTECTED_FUNCTION_STATIC modelica_boolean omc_ResolveLoops_firstInListIsEqual(threadData_t *threadData, modelica_metatype _lstIn, modelica_integer _value);
350PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_ResolveLoops_firstInListIsEqual(threadData_t *threadData, modelica_metatype _lstIn, modelica_metatype _value);
351static const MMC_DEFSTRUCTLIT(boxvar_lit_ResolveLoops_firstInListIsEqual,2,0)struct { mmc_uint_t header; const void *data[2]; } boxvar_lit_ResolveLoops_firstInListIsEqual
= { (((2) << 10) + (((0) & 255) << 2)),
{(void*) boxptr_ResolveLoops_firstInListIsEqual,0}};
352#define boxvar_ResolveLoops_firstInListIsEqual((void*)((char*)(&(boxvar_lit_ResolveLoops_firstInListIsEqual
).header) + 3))
MMC_REFSTRUCTLIT(boxvar_lit_ResolveLoops_firstInListIsEqual)((void*)((char*)(&(boxvar_lit_ResolveLoops_firstInListIsEqual
).header) + 3))
353PROTECTED_FUNCTION_STATIC modelica_metatype omc_ResolveLoops_sortPathsAsChain1(threadData_t *threadData, modelica_metatype _pathsIn, modelica_integer _firstNode, modelica_integer _lastNode, modelica_metatype _sortedPathsIn);
354PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_ResolveLoops_sortPathsAsChain1(threadData_t *threadData, modelica_metatype _pathsIn, modelica_metatype _firstNode, modelica_metatype _lastNode, modelica_metatype _sortedPathsIn);
355static const MMC_DEFSTRUCTLIT(boxvar_lit_ResolveLoops_sortPathsAsChain1,2,0)struct { mmc_uint_t header; const void *data[2]; } boxvar_lit_ResolveLoops_sortPathsAsChain1
= { (((2) << 10) + (((0) & 255) << 2)),
{(void*) boxptr_ResolveLoops_sortPathsAsChain1,0}};
356#define boxvar_ResolveLoops_sortPathsAsChain1((void*)((char*)(&(boxvar_lit_ResolveLoops_sortPathsAsChain1
).header) + 3))
MMC_REFSTRUCTLIT(boxvar_lit_ResolveLoops_sortPathsAsChain1)((void*)((char*)(&(boxvar_lit_ResolveLoops_sortPathsAsChain1
).header) + 3))
357PROTECTED_FUNCTION_STATIC modelica_metatype omc_ResolveLoops_sortPathsAsChain(threadData_t *threadData, modelica_metatype _pathsIn);
358static const MMC_DEFSTRUCTLIT(boxvar_lit_ResolveLoops_sortPathsAsChain,2,0)struct { mmc_uint_t header; const void *data[2]; } boxvar_lit_ResolveLoops_sortPathsAsChain
= { (((2) << 10) + (((0) & 255) << 2)),
{(void*) boxptr_ResolveLoops_sortPathsAsChainomc_ResolveLoops_sortPathsAsChain,0}};
359#define boxvar_ResolveLoops_sortPathsAsChain((void*)((char*)(&(boxvar_lit_ResolveLoops_sortPathsAsChain
).header) + 3))
MMC_REFSTRUCTLIT(boxvar_lit_ResolveLoops_sortPathsAsChain)((void*)((char*)(&(boxvar_lit_ResolveLoops_sortPathsAsChain
).header) + 3))
360PROTECTED_FUNCTION_STATIC modelica_boolean omc_ResolveLoops_intLstIsEqual(threadData_t *threadData, modelica_metatype _lst1, modelica_metatype _lst2);
361PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_ResolveLoops_intLstIsEqual(threadData_t *threadData, modelica_metatype _lst1, modelica_metatype _lst2);
362static const MMC_DEFSTRUCTLIT(boxvar_lit_ResolveLoops_intLstIsEqual,2,0)struct { mmc_uint_t header; const void *data[2]; } boxvar_lit_ResolveLoops_intLstIsEqual
= { (((2) << 10) + (((0) & 255) << 2)),
{(void*) boxptr_ResolveLoops_intLstIsEqual,0}};
363#define boxvar_ResolveLoops_intLstIsEqual((void*)((char*)(&(boxvar_lit_ResolveLoops_intLstIsEqual)
.header) + 3))
MMC_REFSTRUCTLIT(boxvar_lit_ResolveLoops_intLstIsEqual)((void*)((char*)(&(boxvar_lit_ResolveLoops_intLstIsEqual)
.header) + 3))
364PROTECTED_FUNCTION_STATIC modelica_metatype omc_ResolveLoops_sumUp2Expressions(threadData_t *threadData, modelica_boolean _sumUp, modelica_metatype _exp1, modelica_metatype _exp2);
365PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_ResolveLoops_sumUp2Expressions(threadData_t *threadData, modelica_metatype _sumUp, modelica_metatype _exp1, modelica_metatype _exp2);
366static const MMC_DEFSTRUCTLIT(boxvar_lit_ResolveLoops_sumUp2Expressions,2,0)struct { mmc_uint_t header; const void *data[2]; } boxvar_lit_ResolveLoops_sumUp2Expressions
= { (((2) << 10) + (((0) & 255) << 2)),
{(void*) boxptr_ResolveLoops_sumUp2Expressions,0}};
367#define boxvar_ResolveLoops_sumUp2Expressions((void*)((char*)(&(boxvar_lit_ResolveLoops_sumUp2Expressions
).header) + 3))
MMC_REFSTRUCTLIT(boxvar_lit_ResolveLoops_sumUp2Expressions)((void*)((char*)(&(boxvar_lit_ResolveLoops_sumUp2Expressions
).header) + 3))
368PROTECTED_FUNCTION_STATIC modelica_metatype omc_ResolveLoops_isAddOrSubExp(threadData_t *threadData, modelica_metatype _inExp, modelica_metatype _inTuple, modelica_metatype *out_outTuple);
369static const MMC_DEFSTRUCTLIT(boxvar_lit_ResolveLoops_isAddOrSubExp,2,0)struct { mmc_uint_t header; const void *data[2]; } boxvar_lit_ResolveLoops_isAddOrSubExp
= { (((2) << 10) + (((0) & 255) << 2)),
{(void*) boxptr_ResolveLoops_isAddOrSubExpomc_ResolveLoops_isAddOrSubExp,0}};
370#define boxvar_ResolveLoops_isAddOrSubExp((void*)((char*)(&(boxvar_lit_ResolveLoops_isAddOrSubExp)
.header) + 3))
MMC_REFSTRUCTLIT(boxvar_lit_ResolveLoops_isAddOrSubExp)((void*)((char*)(&(boxvar_lit_ResolveLoops_isAddOrSubExp)
.header) + 3))
371PROTECTED_FUNCTION_STATIC modelica_metatype omc_ResolveLoops_gatherCrossNodes(threadData_t *threadData, modelica_integer _idx, modelica_metatype _m, modelica_metatype _mT, modelica_metatype _lstIn);
372PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_ResolveLoops_gatherCrossNodes(threadData_t *threadData, modelica_metatype _idx, modelica_metatype _m, modelica_metatype _mT, modelica_metatype _lstIn);
373static const MMC_DEFSTRUCTLIT(boxvar_lit_ResolveLoops_gatherCrossNodes,2,0)struct { mmc_uint_t header; const void *data[2]; } boxvar_lit_ResolveLoops_gatherCrossNodes
= { (((2) << 10) + (((0) & 255) << 2)),
{(void*) boxptr_ResolveLoops_gatherCrossNodes,0}};
374#define boxvar_ResolveLoops_gatherCrossNodes((void*)((char*)(&(boxvar_lit_ResolveLoops_gatherCrossNodes
).header) + 3))
MMC_REFSTRUCTLIT(boxvar_lit_ResolveLoops_gatherCrossNodes)((void*)((char*)(&(boxvar_lit_ResolveLoops_gatherCrossNodes
).header) + 3))
375PROTECTED_FUNCTION_STATIC modelica_metatype omc_ResolveLoops_getArrayEntryAndAppend(threadData_t *threadData, modelica_integer _entry, modelica_metatype _m, modelica_metatype _lstIn);
376PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_ResolveLoops_getArrayEntryAndAppend(threadData_t *threadData, modelica_metatype _entry, modelica_metatype _m, modelica_metatype _lstIn);
377static const MMC_DEFSTRUCTLIT(boxvar_lit_ResolveLoops_getArrayEntryAndAppend,2,0)struct { mmc_uint_t header; const void *data[2]; } boxvar_lit_ResolveLoops_getArrayEntryAndAppend
= { (((2) << 10) + (((0) & 255) << 2)),
{(void*) boxptr_ResolveLoops_getArrayEntryAndAppend,0}};
378#define boxvar_ResolveLoops_getArrayEntryAndAppend((void*)((char*)(&(boxvar_lit_ResolveLoops_getArrayEntryAndAppend
).header) + 3))
MMC_REFSTRUCTLIT(boxvar_lit_ResolveLoops_getArrayEntryAndAppend)((void*)((char*)(&(boxvar_lit_ResolveLoops_getArrayEntryAndAppend
).header) + 3))
379PROTECTED_FUNCTION_STATIC modelica_boolean omc_ResolveLoops_arrayGetIsNegative(threadData_t *threadData, modelica_integer _idx, modelica_metatype _arrayIn);
380PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_ResolveLoops_arrayGetIsNegative(threadData_t *threadData, modelica_metatype _idx, modelica_metatype _arrayIn);
381static const MMC_DEFSTRUCTLIT(boxvar_lit_ResolveLoops_arrayGetIsNegative,2,0)struct { mmc_uint_t header; const void *data[2]; } boxvar_lit_ResolveLoops_arrayGetIsNegative
= { (((2) << 10) + (((0) & 255) << 2)),
{(void*) boxptr_ResolveLoops_arrayGetIsNegative,0}};
382#define boxvar_ResolveLoops_arrayGetIsNegative((void*)((char*)(&(boxvar_lit_ResolveLoops_arrayGetIsNegative
).header) + 3))
MMC_REFSTRUCTLIT(boxvar_lit_ResolveLoops_arrayGetIsNegative)((void*)((char*)(&(boxvar_lit_ResolveLoops_arrayGetIsNegative
).header) + 3))
383PROTECTED_FUNCTION_STATIC modelica_boolean omc_ResolveLoops_arrayGetIsNotPositive(threadData_t *threadData, modelica_integer _idx, modelica_metatype _arrayIn);
384PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_ResolveLoops_arrayGetIsNotPositive(threadData_t *threadData, modelica_metatype _idx, modelica_metatype _arrayIn);
385static const MMC_DEFSTRUCTLIT(boxvar_lit_ResolveLoops_arrayGetIsNotPositive,2,0)struct { mmc_uint_t header; const void *data[2]; } boxvar_lit_ResolveLoops_arrayGetIsNotPositive
= { (((2) << 10) + (((0) & 255) << 2)),
{(void*) boxptr_ResolveLoops_arrayGetIsNotPositive,0}};
386#define boxvar_ResolveLoops_arrayGetIsNotPositive((void*)((char*)(&(boxvar_lit_ResolveLoops_arrayGetIsNotPositive
).header) + 3))
MMC_REFSTRUCTLIT(boxvar_lit_ResolveLoops_arrayGetIsNotPositive)((void*)((char*)(&(boxvar_lit_ResolveLoops_arrayGetIsNotPositive
).header) + 3))
387PROTECTED_FUNCTION_STATIC modelica_integer omc_ResolveLoops_colorNodePartitions(threadData_t *threadData, modelica_metatype _m, modelica_metatype _mT, modelica_metatype _checkNextIn, modelica_metatype _markEqs, modelica_metatype _markVars, modelica_integer _currNumberIn, modelica_metatype _partitionsIn, modelica_metatype *out_partitionsOut);
388PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_ResolveLoops_colorNodePartitions(threadData_t *threadData, modelica_metatype _m, modelica_metatype _mT, modelica_metatype _checkNextIn, modelica_metatype _markEqs, modelica_metatype _markVars, modelica_metatype _currNumberIn, modelica_metatype _partitionsIn, modelica_metatype *out_partitionsOut);
389static const MMC_DEFSTRUCTLIT(boxvar_lit_ResolveLoops_colorNodePartitions,2,0)struct { mmc_uint_t header; const void *data[2]; } boxvar_lit_ResolveLoops_colorNodePartitions
= { (((2) << 10) + (((0) & 255) << 2)),
{(void*) boxptr_ResolveLoops_colorNodePartitions,0}};
390#define boxvar_ResolveLoops_colorNodePartitions((void*)((char*)(&(boxvar_lit_ResolveLoops_colorNodePartitions
).header) + 3))
MMC_REFSTRUCTLIT(boxvar_lit_ResolveLoops_colorNodePartitions)((void*)((char*)(&(boxvar_lit_ResolveLoops_colorNodePartitions
).header) + 3))
391PROTECTED_FUNCTION_STATIC modelica_boolean omc_ResolveLoops_listLengthIs(threadData_t *threadData, modelica_metatype _lst, modelica_integer _value);
392PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_ResolveLoops_listLengthIs(threadData_t *threadData, modelica_metatype _lst, modelica_metatype _value);
393static const MMC_DEFSTRUCTLIT(boxvar_lit_ResolveLoops_listLengthIs,2,0)struct { mmc_uint_t header; const void *data[2]; } boxvar_lit_ResolveLoops_listLengthIs
= { (((2) << 10) + (((0) & 255) << 2)),
{(void*) boxptr_ResolveLoops_listLengthIs,0}};
394#define boxvar_ResolveLoops_listLengthIs((void*)((char*)(&(boxvar_lit_ResolveLoops_listLengthIs).
header) + 3))
MMC_REFSTRUCTLIT(boxvar_lit_ResolveLoops_listLengthIs)((void*)((char*)(&(boxvar_lit_ResolveLoops_listLengthIs).
header) + 3))
395PROTECTED_FUNCTION_STATIC modelica_boolean omc_ResolveLoops_expIsCref(threadData_t *threadData, modelica_metatype _expIn, modelica_metatype _crefIn, modelica_boolean *out_algSign);
396PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_ResolveLoops_expIsCref(threadData_t *threadData, modelica_metatype _expIn, modelica_metatype _crefIn, modelica_metatype *out_algSign);
397static const MMC_DEFSTRUCTLIT(boxvar_lit_ResolveLoops_expIsCref,2,0)struct { mmc_uint_t header; const void *data[2]; } boxvar_lit_ResolveLoops_expIsCref
= { (((2) << 10) + (((0) & 255) << 2)),
{(void*) boxptr_ResolveLoops_expIsCref,0}};
398#define boxvar_ResolveLoops_expIsCref((void*)((char*)(&(boxvar_lit_ResolveLoops_expIsCref).header
) + 3))
MMC_REFSTRUCTLIT(boxvar_lit_ResolveLoops_expIsCref)((void*)((char*)(&(boxvar_lit_ResolveLoops_expIsCref).header
) + 3))
399PROTECTED_FUNCTION_STATIC modelica_boolean omc_ResolveLoops_CRefIsPosOnRHS(threadData_t *threadData, modelica_metatype _crefIn, modelica_metatype _eqIn);
400PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_ResolveLoops_CRefIsPosOnRHS(threadData_t *threadData, modelica_metatype _crefIn, modelica_metatype _eqIn);
401static const MMC_DEFSTRUCTLIT(boxvar_lit_ResolveLoops_CRefIsPosOnRHS,2,0)struct { mmc_uint_t header; const void *data[2]; } boxvar_lit_ResolveLoops_CRefIsPosOnRHS
= { (((2) << 10) + (((0) & 255) << 2)),
{(void*) boxptr_ResolveLoops_CRefIsPosOnRHS,0}};
402#define boxvar_ResolveLoops_CRefIsPosOnRHS((void*)((char*)(&(boxvar_lit_ResolveLoops_CRefIsPosOnRHS
).header) + 3))
MMC_REFSTRUCTLIT(boxvar_lit_ResolveLoops_CRefIsPosOnRHS)((void*)((char*)(&(boxvar_lit_ResolveLoops_CRefIsPosOnRHS
).header) + 3))
403PROTECTED_FUNCTION_STATIC modelica_metatype omc_ResolveLoops_simplifyZeroAssignment(threadData_t *threadData, modelica_metatype _eIn);
404static const MMC_DEFSTRUCTLIT(boxvar_lit_ResolveLoops_simplifyZeroAssignment,2,0)struct { mmc_uint_t header; const void *data[2]; } boxvar_lit_ResolveLoops_simplifyZeroAssignment
= { (((2) << 10) + (((0) & 255) << 2)),
{(void*) boxptr_ResolveLoops_simplifyZeroAssignmentomc_ResolveLoops_simplifyZeroAssignment,0}};
405#define boxvar_ResolveLoops_simplifyZeroAssignment((void*)((char*)(&(boxvar_lit_ResolveLoops_simplifyZeroAssignment
).header) + 3))
MMC_REFSTRUCTLIT(boxvar_lit_ResolveLoops_simplifyZeroAssignment)((void*)((char*)(&(boxvar_lit_ResolveLoops_simplifyZeroAssignment
).header) + 3))
406PROTECTED_FUNCTION_STATIC modelica_metatype omc_ResolveLoops_sumUp2Equations(threadData_t *threadData, modelica_boolean _sumUp, modelica_metatype _eq1, modelica_metatype _eq2);
407PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_ResolveLoops_sumUp2Equations(threadData_t *threadData, modelica_metatype _sumUp, modelica_metatype _eq1, modelica_metatype _eq2);
408static const MMC_DEFSTRUCTLIT(boxvar_lit_ResolveLoops_sumUp2Equations,2,0)struct { mmc_uint_t header; const void *data[2]; } boxvar_lit_ResolveLoops_sumUp2Equations
= { (((2) << 10) + (((0) & 255) << 2)),
{(void*) boxptr_ResolveLoops_sumUp2Equations,0}};
409#define boxvar_ResolveLoops_sumUp2Equations((void*)((char*)(&(boxvar_lit_ResolveLoops_sumUp2Equations
).header) + 3))
MMC_REFSTRUCTLIT(boxvar_lit_ResolveLoops_sumUp2Equations)((void*)((char*)(&(boxvar_lit_ResolveLoops_sumUp2Equations
).header) + 3))
410PROTECTED_FUNCTION_STATIC modelica_metatype omc_ResolveLoops_updateTripleLoop(threadData_t *threadData, modelica_metatype _D_24in_loopFull, modelica_metatype _tplIn);
411static const MMC_DEFSTRUCTLIT(boxvar_lit_ResolveLoops_updateTripleLoop,2,0)struct { mmc_uint_t header; const void *data[2]; } boxvar_lit_ResolveLoops_updateTripleLoop
= { (((2) << 10) + (((0) & 255) << 2)),
{(void*) boxptr_ResolveLoops_updateTripleLoopomc_ResolveLoops_updateTripleLoop,0}};
412#define boxvar_ResolveLoops_updateTripleLoop((void*)((char*)(&(boxvar_lit_ResolveLoops_updateTripleLoop
).header) + 3))
MMC_REFSTRUCTLIT(boxvar_lit_ResolveLoops_updateTripleLoop)((void*)((char*)(&(boxvar_lit_ResolveLoops_updateTripleLoop
).header) + 3))
413PROTECTED_FUNCTION_STATIC modelica_boolean omc_ResolveLoops_evaluateTripleLoop(threadData_t *threadData, modelica_metatype _loopIn, modelica_metatype _tplIn);
414PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_ResolveLoops_evaluateTripleLoop(threadData_t *threadData, modelica_metatype _loopIn, modelica_metatype _tplIn);
415static const MMC_DEFSTRUCTLIT(boxvar_lit_ResolveLoops_evaluateTripleLoop,2,0)struct { mmc_uint_t header; const void *data[2]; } boxvar_lit_ResolveLoops_evaluateTripleLoop
= { (((2) << 10) + (((0) & 255) << 2)),
{(void*) boxptr_ResolveLoops_evaluateTripleLoop,0}};
416#define boxvar_ResolveLoops_evaluateTripleLoop((void*)((char*)(&(boxvar_lit_ResolveLoops_evaluateTripleLoop
).header) + 3))
MMC_REFSTRUCTLIT(boxvar_lit_ResolveLoops_evaluateTripleLoop)((void*)((char*)(&(boxvar_lit_ResolveLoops_evaluateTripleLoop
).header) + 3))
417PROTECTED_FUNCTION_STATIC modelica_boolean omc_ResolveLoops_evaluateLoop(threadData_t *threadData, modelica_metatype _loopIn, modelica_metatype _tplIn);
418PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_ResolveLoops_evaluateLoop(threadData_t *threadData, modelica_metatype _loopIn, modelica_metatype _tplIn);
419static const MMC_DEFSTRUCTLIT(boxvar_lit_ResolveLoops_evaluateLoop,2,0)struct { mmc_uint_t header; const void *data[2]; } boxvar_lit_ResolveLoops_evaluateLoop
= { (((2) << 10) + (((0) & 255) << 2)),
{(void*) boxptr_ResolveLoops_evaluateLoop,0}};
420#define boxvar_ResolveLoops_evaluateLoop((void*)((char*)(&(boxvar_lit_ResolveLoops_evaluateLoop).
header) + 3))
MMC_REFSTRUCTLIT(boxvar_lit_ResolveLoops_evaluateLoop)((void*)((char*)(&(boxvar_lit_ResolveLoops_evaluateLoop).
header) + 3))
421PROTECTED_FUNCTION_STATIC void omc_ResolveLoops_priorizeEqsWithVarCrosses2(threadData_t *threadData, modelica_integer _eq, modelica_metatype _mIn, modelica_metatype _varCrossLst, modelica_metatype _priorities);
422PROTECTED_FUNCTION_STATIC void boxptr_ResolveLoops_priorizeEqsWithVarCrosses2(threadData_t *threadData, modelica_metatype _eq, modelica_metatype _mIn, modelica_metatype _varCrossLst, modelica_metatype _priorities);
423static const MMC_DEFSTRUCTLIT(boxvar_lit_ResolveLoops_priorizeEqsWithVarCrosses2,2,0)struct { mmc_uint_t header; const void *data[2]; } boxvar_lit_ResolveLoops_priorizeEqsWithVarCrosses2
= { (((2) << 10) + (((0) & 255) << 2)),
{(void*) boxptr_ResolveLoops_priorizeEqsWithVarCrosses2,0}};
424#define boxvar_ResolveLoops_priorizeEqsWithVarCrosses2((void*)((char*)(&(boxvar_lit_ResolveLoops_priorizeEqsWithVarCrosses2
).header) + 3))
MMC_REFSTRUCTLIT(boxvar_lit_ResolveLoops_priorizeEqsWithVarCrosses2)((void*)((char*)(&(boxvar_lit_ResolveLoops_priorizeEqsWithVarCrosses2
).header) + 3))
425PROTECTED_FUNCTION_STATIC modelica_metatype omc_ResolveLoops_priorizeEqsWithVarCrosses(threadData_t *threadData, modelica_metatype _eqsIn, modelica_metatype _mIn, modelica_metatype _varCrossLst);
426static const MMC_DEFSTRUCTLIT(boxvar_lit_ResolveLoops_priorizeEqsWithVarCrosses,2,0)struct { mmc_uint_t header; const void *data[2]; } boxvar_lit_ResolveLoops_priorizeEqsWithVarCrosses
= { (((2) << 10) + (((0) & 255) << 2)),
{(void*) boxptr_ResolveLoops_priorizeEqsWithVarCrossesomc_ResolveLoops_priorizeEqsWithVarCrosses,0}};
427#define boxvar_ResolveLoops_priorizeEqsWithVarCrosses((void*)((char*)(&(boxvar_lit_ResolveLoops_priorizeEqsWithVarCrosses
).header) + 3))
MMC_REFSTRUCTLIT(boxvar_lit_ResolveLoops_priorizeEqsWithVarCrosses)((void*)((char*)(&(boxvar_lit_ResolveLoops_priorizeEqsWithVarCrosses
).header) + 3))
428PROTECTED_FUNCTION_STATIC modelica_integer omc_ResolveLoops_replaceContractedNodes2(threadData_t *threadData, modelica_integer _entryIn, modelica_integer _nodeIn, modelica_metatype _replNodes);
429PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_ResolveLoops_replaceContractedNodes2(threadData_t *threadData, modelica_metatype _entryIn, modelica_metatype _nodeIn, modelica_metatype _replNodes);
430static const MMC_DEFSTRUCTLIT(boxvar_lit_ResolveLoops_replaceContractedNodes2,2,0)struct { mmc_uint_t header; const void *data[2]; } boxvar_lit_ResolveLoops_replaceContractedNodes2
= { (((2) << 10) + (((0) & 255) << 2)),
{(void*) boxptr_ResolveLoops_replaceContractedNodes2,0}};
431#define boxvar_ResolveLoops_replaceContractedNodes2((void*)((char*)(&(boxvar_lit_ResolveLoops_replaceContractedNodes2
).header) + 3))
MMC_REFSTRUCTLIT(boxvar_lit_ResolveLoops_replaceContractedNodes2)((void*)((char*)(&(boxvar_lit_ResolveLoops_replaceContractedNodes2
).header) + 3))
432PROTECTED_FUNCTION_STATIC modelica_metatype omc_ResolveLoops_replaceContractedNodes(threadData_t *threadData, modelica_metatype _pathIn, modelica_integer _nodeIn, modelica_metatype _replNodes);
433PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_ResolveLoops_replaceContractedNodes(threadData_t *threadData, modelica_metatype _pathIn, modelica_metatype _nodeIn, modelica_metatype _replNodes);
434static const MMC_DEFSTRUCTLIT(boxvar_lit_ResolveLoops_replaceContractedNodes,2,0)struct { mmc_uint_t header; const void *data[2]; } boxvar_lit_ResolveLoops_replaceContractedNodes
= { (((2) << 10) + (((0) & 255) << 2)),
{(void*) boxptr_ResolveLoops_replaceContractedNodes,0}};
435#define boxvar_ResolveLoops_replaceContractedNodes((void*)((char*)(&(boxvar_lit_ResolveLoops_replaceContractedNodes
).header) + 3))
MMC_REFSTRUCTLIT(boxvar_lit_ResolveLoops_replaceContractedNodes)((void*)((char*)(&(boxvar_lit_ResolveLoops_replaceContractedNodes
).header) + 3))
436PROTECTED_FUNCTION_STATIC modelica_metatype omc_ResolveLoops_cons1(threadData_t *threadData, modelica_integer _elem, modelica_metatype _lst);
437PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_ResolveLoops_cons1(threadData_t *threadData, modelica_metatype _elem, modelica_metatype _lst);
438static const MMC_DEFSTRUCTLIT(boxvar_lit_ResolveLoops_cons1,2,0)struct { mmc_uint_t header; const void *data[2]; } boxvar_lit_ResolveLoops_cons1
= { (((2) << 10) + (((0) & 255) << 2)),
{(void*) boxptr_ResolveLoops_cons1,0}};
439#define boxvar_ResolveLoops_cons1((void*)((char*)(&(boxvar_lit_ResolveLoops_cons1).header)
+ 3))
MMC_REFSTRUCTLIT(boxvar_lit_ResolveLoops_cons1)((void*)((char*)(&(boxvar_lit_ResolveLoops_cons1).header)
+ 3))
440PROTECTED_FUNCTION_STATIC modelica_metatype omc_ResolveLoops_getPathTillNextCrossEq(threadData_t *threadData, modelica_metatype _checkEqCrossNodes, modelica_metatype _mIn, modelica_metatype _mTIn, modelica_metatype _allEqCrossNodes, modelica_metatype _unfinPathsIn, modelica_metatype _eqPathsIn);
441static const MMC_DEFSTRUCTLIT(boxvar_lit_ResolveLoops_getPathTillNextCrossEq,2,0)struct { mmc_uint_t header; const void *data[2]; } boxvar_lit_ResolveLoops_getPathTillNextCrossEq
= { (((2) << 10) + (((0) & 255) << 2)),
{(void*) boxptr_ResolveLoops_getPathTillNextCrossEqomc_ResolveLoops_getPathTillNextCrossEq,0}};
442#define boxvar_ResolveLoops_getPathTillNextCrossEq((void*)((char*)(&(boxvar_lit_ResolveLoops_getPathTillNextCrossEq
).header) + 3))
MMC_REFSTRUCTLIT(boxvar_lit_ResolveLoops_getPathTillNextCrossEq)((void*)((char*)(&(boxvar_lit_ResolveLoops_getPathTillNextCrossEq
).header) + 3))
443PROTECTED_FUNCTION_STATIC modelica_metatype omc_ResolveLoops_doubleEntriesInLst(threadData_t *threadData, modelica_metatype _lstIn, modelica_metatype _checkLst, modelica_metatype _doubleLst);
444static const MMC_DEFSTRUCTLIT(boxvar_lit_ResolveLoops_doubleEntriesInLst,2,0)struct { mmc_uint_t header; const void *data[2]; } boxvar_lit_ResolveLoops_doubleEntriesInLst
= { (((2) << 10) + (((0) & 255) << 2)),
{(void*) boxptr_ResolveLoops_doubleEntriesInLstomc_ResolveLoops_doubleEntriesInLst,0}};
445#define boxvar_ResolveLoops_doubleEntriesInLst((void*)((char*)(&(boxvar_lit_ResolveLoops_doubleEntriesInLst
).header) + 3))
MMC_REFSTRUCTLIT(boxvar_lit_ResolveLoops_doubleEntriesInLst)((void*)((char*)(&(boxvar_lit_ResolveLoops_doubleEntriesInLst
).header) + 3))
446PROTECTED_FUNCTION_STATIC modelica_metatype omc_ResolveLoops_findPathByEnds(threadData_t *threadData, modelica_metatype _pathLstIn, modelica_integer _startNodeIn, modelica_integer _endNodeIn);
447PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_ResolveLoops_findPathByEnds(threadData_t *threadData, modelica_metatype _pathLstIn, modelica_metatype _startNodeIn, modelica_metatype _endNodeIn);
448static const MMC_DEFSTRUCTLIT(boxvar_lit_ResolveLoops_findPathByEnds,2,0)struct { mmc_uint_t header; const void *data[2]; } boxvar_lit_ResolveLoops_findPathByEnds
= { (((2) << 10) + (((0) & 255) << 2)),
{(void*) boxptr_ResolveLoops_findPathByEnds,0}};
449#define boxvar_ResolveLoops_findPathByEnds((void*)((char*)(&(boxvar_lit_ResolveLoops_findPathByEnds
).header) + 3))
MMC_REFSTRUCTLIT(boxvar_lit_ResolveLoops_findPathByEnds)((void*)((char*)(&(boxvar_lit_ResolveLoops_findPathByEnds
).header) + 3))
450PROTECTED_FUNCTION_STATIC modelica_metatype omc_ResolveLoops_closePathDirectly(threadData_t *threadData, modelica_metatype _pathIn, modelica_metatype _pathLstIn);
451static const MMC_DEFSTRUCTLIT(boxvar_lit_ResolveLoops_closePathDirectly,2,0)struct { mmc_uint_t header; const void *data[2]; } boxvar_lit_ResolveLoops_closePathDirectly
= { (((2) << 10) + (((0) & 255) << 2)),
{(void*) boxptr_ResolveLoops_closePathDirectlyomc_ResolveLoops_closePathDirectly,0}};
452#define boxvar_ResolveLoops_closePathDirectly((void*)((char*)(&(boxvar_lit_ResolveLoops_closePathDirectly
).header) + 3))
MMC_REFSTRUCTLIT(boxvar_lit_ResolveLoops_closePathDirectly)((void*)((char*)(&(boxvar_lit_ResolveLoops_closePathDirectly
).header) + 3))
453PROTECTED_FUNCTION_STATIC modelica_metatype omc_ResolveLoops_resolveClosedLoop2(threadData_t *threadData, modelica_metatype _eqIn, modelica_metatype _loopIn, modelica_metatype _m, modelica_metatype _mT, modelica_metatype _eqMap, modelica_metatype _varMap, modelica_metatype _daeEqsIn, modelica_metatype _daeVarsIn);
454static const MMC_DEFSTRUCTLIT(boxvar_lit_ResolveLoops_resolveClosedLoop2,2,0)struct { mmc_uint_t header; const void *data[2]; } boxvar_lit_ResolveLoops_resolveClosedLoop2
= { (((2) << 10) + (((0) & 255) << 2)),
{(void*) boxptr_ResolveLoops_resolveClosedLoop2omc_ResolveLoops_resolveClosedLoop2,0}};
455#define boxvar_ResolveLoops_resolveClosedLoop2((void*)((char*)(&(boxvar_lit_ResolveLoops_resolveClosedLoop2
).header) + 3))
MMC_REFSTRUCTLIT(boxvar_lit_ResolveLoops_resolveClosedLoop2)((void*)((char*)(&(boxvar_lit_ResolveLoops_resolveClosedLoop2
).header) + 3))
456PROTECTED_FUNCTION_STATIC modelica_metatype omc_ResolveLoops_resolveClosedLoop(threadData_t *threadData, modelica_metatype _loopIn, modelica_metatype _m, modelica_metatype _mT, modelica_metatype _eqMap, modelica_metatype _varMap, modelica_metatype _daeEqsIn, modelica_metatype _daeVarsIn);
457static const MMC_DEFSTRUCTLIT(boxvar_lit_ResolveLoops_resolveClosedLoop,2,0)struct { mmc_uint_t header; const void *data[2]; } boxvar_lit_ResolveLoops_resolveClosedLoop
= { (((2) << 10) + (((0) & 255) << 2)),
{(void*) boxptr_ResolveLoops_resolveClosedLoopomc_ResolveLoops_resolveClosedLoop,0}};
458#define boxvar_ResolveLoops_resolveClosedLoop((void*)((char*)(&(boxvar_lit_ResolveLoops_resolveClosedLoop
).header) + 3))
MMC_REFSTRUCTLIT(boxvar_lit_ResolveLoops_resolveClosedLoop)((void*)((char*)(&(boxvar_lit_ResolveLoops_resolveClosedLoop
).header) + 3))
459PROTECTED_FUNCTION_STATIC modelica_metatype omc_ResolveLoops_getEqNodesForVarLoop(threadData_t *threadData, modelica_metatype _varIdcs, modelica_metatype _mTIn);
460static const MMC_DEFSTRUCTLIT(boxvar_lit_ResolveLoops_getEqNodesForVarLoop,2,0)struct { mmc_uint_t header; const void *data[2]; } boxvar_lit_ResolveLoops_getEqNodesForVarLoop
= { (((2) << 10) + (((0) & 255) << 2)),
{(void*) boxptr_ResolveLoops_getEqNodesForVarLoopomc_ResolveLoops_getEqNodesForVarLoop,0}};
461#define boxvar_ResolveLoops_getEqNodesForVarLoop((void*)((char*)(&(boxvar_lit_ResolveLoops_getEqNodesForVarLoop
).header) + 3))
MMC_REFSTRUCTLIT(boxvar_lit_ResolveLoops_getEqNodesForVarLoop)((void*)((char*)(&(boxvar_lit_ResolveLoops_getEqNodesForVarLoop
).header) + 3))
462PROTECTED_FUNCTION_STATIC modelica_metatype omc_ResolveLoops_getTriples(threadData_t *threadData, modelica_metatype _crossNodes, modelica_metatype _minAdj, modelica_metatype *out_allPaths);
463static const MMC_DEFSTRUCTLIT(boxvar_lit_ResolveLoops_getTriples,2,0)struct { mmc_uint_t header; const void *data[2]; } boxvar_lit_ResolveLoops_getTriples
= { (((2) << 10) + (((0) & 255) << 2)),
{(void*) boxptr_ResolveLoops_getTriplesomc_ResolveLoops_getTriples,0}};
464#define boxvar_ResolveLoops_getTriples((void*)((char*)(&(boxvar_lit_ResolveLoops_getTriples).header
) + 3))
MMC_REFSTRUCTLIT(boxvar_lit_ResolveLoops_getTriples)((void*)((char*)(&(boxvar_lit_ResolveLoops_getTriples).header
) + 3))
465PROTECTED_FUNCTION_STATIC modelica_metatype omc_ResolveLoops_getDoubles(threadData_t *threadData, modelica_metatype _elemLstIn, modelica_metatype _lstIn);
466static const MMC_DEFSTRUCTLIT(boxvar_lit_ResolveLoops_getDoubles,2,0)struct { mmc_uint_t header; const void *data[2]; } boxvar_lit_ResolveLoops_getDoubles
= { (((2) << 10) + (((0) & 255) << 2)),
{(void*) boxptr_ResolveLoops_getDoublesomc_ResolveLoops_getDoubles,0}};
467#define boxvar_ResolveLoops_getDoubles((void*)((char*)(&(boxvar_lit_ResolveLoops_getDoubles).header
) + 3))
MMC_REFSTRUCTLIT(boxvar_lit_ResolveLoops_getDoubles)((void*)((char*)(&(boxvar_lit_ResolveLoops_getDoubles).header
) + 3))
468PROTECTED_FUNCTION_STATIC modelica_metatype omc_ResolveLoops_getReverseDoubles(threadData_t *threadData, modelica_metatype _elem, modelica_metatype _elemLst, modelica_metatype _foldLstIn);
469static const MMC_DEFSTRUCTLIT(boxvar_lit_ResolveLoops_getReverseDoubles,2,0)struct { mmc_uint_t header; const void *data[2]; } boxvar_lit_ResolveLoops_getReverseDoubles
= { (((2) << 10) + (((0) & 255) << 2)),
{(void*) boxptr_ResolveLoops_getReverseDoublesomc_ResolveLoops_getReverseDoubles,0}};
470#define boxvar_ResolveLoops_getReverseDoubles((void*)((char*)(&(boxvar_lit_ResolveLoops_getReverseDoubles
).header) + 3))
MMC_REFSTRUCTLIT(boxvar_lit_ResolveLoops_getReverseDoubles)((void*)((char*)(&(boxvar_lit_ResolveLoops_getReverseDoubles
).header) + 3))
471PROTECTED_FUNCTION_STATIC void omc_ResolveLoops_arrayGetAppendLst(threadData_t *threadData, modelica_integer _idx, modelica_metatype _appLst, modelica_metatype _arrIn);
472PROTECTED_FUNCTION_STATIC void boxptr_ResolveLoops_arrayGetAppendLst(threadData_t *threadData, modelica_metatype _idx, modelica_metatype _appLst, modelica_metatype _arrIn);
473static const MMC_DEFSTRUCTLIT(boxvar_lit_ResolveLoops_arrayGetAppendLst,2,0)struct { mmc_uint_t header; const void *data[2]; } boxvar_lit_ResolveLoops_arrayGetAppendLst
= { (((2) << 10) + (((0) & 255) << 2)),
{(void*) boxptr_ResolveLoops_arrayGetAppendLst,0}};
474#define boxvar_ResolveLoops_arrayGetAppendLst((void*)((char*)(&(boxvar_lit_ResolveLoops_arrayGetAppendLst
).header) + 3))
MMC_REFSTRUCTLIT(boxvar_lit_ResolveLoops_arrayGetAppendLst)((void*)((char*)(&(boxvar_lit_ResolveLoops_arrayGetAppendLst
).header) + 3))
475PROTECTED_FUNCTION_STATIC void omc_ResolveLoops_arrayGetDeleteInLst(threadData_t *threadData, modelica_integer _idx, modelica_metatype _delEntries, modelica_metatype _arrIn);
476PROTECTED_FUNCTION_STATIC void boxptr_ResolveLoops_arrayGetDeleteInLst(threadData_t *threadData, modelica_metatype _idx, modelica_metatype _delEntries, modelica_metatype _arrIn);
477static const MMC_DEFSTRUCTLIT(boxvar_lit_ResolveLoops_arrayGetDeleteInLst,2,0)struct { mmc_uint_t header; const void *data[2]; } boxvar_lit_ResolveLoops_arrayGetDeleteInLst
= { (((2) << 10) + (((0) & 255) << 2)),
{(void*) boxptr_ResolveLoops_arrayGetDeleteInLst,0}};
478#define boxvar_ResolveLoops_arrayGetDeleteInLst((void*)((char*)(&(boxvar_lit_ResolveLoops_arrayGetDeleteInLst
).header) + 3))
MMC_REFSTRUCTLIT(boxvar_lit_ResolveLoops_arrayGetDeleteInLst)((void*)((char*)(&(boxvar_lit_ResolveLoops_arrayGetDeleteInLst
).header) + 3))
479PROTECTED_FUNCTION_STATIC void omc_ResolveLoops_markDeadEndsInBipartiteGraph(threadData_t *threadData, modelica_integer _varIdx, modelica_metatype _mIn, modelica_metatype _mTIn, modelica_metatype _deadEndEqs, modelica_metatype _deadEndVars);
480PROTECTED_FUNCTION_STATIC void boxptr_ResolveLoops_markDeadEndsInBipartiteGraph(threadData_t *threadData, modelica_metatype _varIdx, modelica_metatype _mIn, modelica_metatype _mTIn, modelica_metatype _deadEndEqs, modelica_metatype _deadEndVars);
481static const MMC_DEFSTRUCTLIT(boxvar_lit_ResolveLoops_markDeadEndsInBipartiteGraph,2,0)struct { mmc_uint_t header; const void *data[2]; } boxvar_lit_ResolveLoops_markDeadEndsInBipartiteGraph
= { (((2) << 10) + (((0) & 255) << 2)),
{(void*) boxptr_ResolveLoops_markDeadEndsInBipartiteGraph,0}};
482#define boxvar_ResolveLoops_markDeadEndsInBipartiteGraph((void*)((char*)(&(boxvar_lit_ResolveLoops_markDeadEndsInBipartiteGraph
).header) + 3))
MMC_REFSTRUCTLIT(boxvar_lit_ResolveLoops_markDeadEndsInBipartiteGraph)((void*)((char*)(&(boxvar_lit_ResolveLoops_markDeadEndsInBipartiteGraph
).header) + 3))
483PROTECTED_FUNCTION_STATIC modelica_boolean omc_ResolveLoops_arrayIsZeroAt(threadData_t *threadData, modelica_integer _pos, modelica_metatype _arr);
484PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_ResolveLoops_arrayIsZeroAt(threadData_t *threadData, modelica_metatype _pos, modelica_metatype _arr);
485static const MMC_DEFSTRUCTLIT(boxvar_lit_ResolveLoops_arrayIsZeroAt,2,0)struct { mmc_uint_t header; const void *data[2]; } boxvar_lit_ResolveLoops_arrayIsZeroAt
= { (((2) << 10) + (((0) & 255) << 2)),
{(void*) boxptr_ResolveLoops_arrayIsZeroAt,0}};
486#define boxvar_ResolveLoops_arrayIsZeroAt((void*)((char*)(&(boxvar_lit_ResolveLoops_arrayIsZeroAt)
.header) + 3))
MMC_REFSTRUCTLIT(boxvar_lit_ResolveLoops_arrayIsZeroAt)((void*)((char*)(&(boxvar_lit_ResolveLoops_arrayIsZeroAt)
.header) + 3))
487PROTECTED_FUNCTION_STATIC modelica_boolean omc_ResolveLoops_eqIsConst(threadData_t *threadData, modelica_metatype _eq);
488PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_ResolveLoops_eqIsConst(threadData_t *threadData, modelica_metatype _eq);
489static const MMC_DEFSTRUCTLIT(boxvar_lit_ResolveLoops_eqIsConst,2,0)struct { mmc_uint_t header; const void *data[2]; } boxvar_lit_ResolveLoops_eqIsConst
= { (((2) << 10) + (((0) & 255) << 2)),
{(void*) boxptr_ResolveLoops_eqIsConst,0}};
490#define boxvar_ResolveLoops_eqIsConst((void*)((char*)(&(boxvar_lit_ResolveLoops_eqIsConst).header
) + 3))
MMC_REFSTRUCTLIT(boxvar_lit_ResolveLoops_eqIsConst)((void*)((char*)(&(boxvar_lit_ResolveLoops_eqIsConst).header
) + 3))
491PROTECTED_FUNCTION_STATIC modelica_metatype omc_ResolveLoops_resolveLoops__resolveAndReplace(threadData_t *threadData, modelica_metatype _loopsIn, modelica_metatype _eqCrossLstIn, modelica_metatype _varCrossLstIn, modelica_metatype _mIn, modelica_metatype _mTIn, modelica_metatype _eqMap, modelica_metatype _varMap, modelica_metatype _daeEqsIn, modelica_metatype _daeVarsIn, modelica_metatype _replEqsIn, modelica_metatype *out_replEqsOut);
492static const MMC_DEFSTRUCTLIT(boxvar_lit_ResolveLoops_resolveLoops__resolveAndReplace,2,0)struct { mmc_uint_t header; const void *data[2]; } boxvar_lit_ResolveLoops_resolveLoops__resolveAndReplace
= { (((2) << 10) + (((0) & 255) << 2)),
{(void*) boxptr_ResolveLoops_resolveLoops__resolveAndReplaceomc_ResolveLoops_resolveLoops__resolveAndReplace,0}};
493#define boxvar_ResolveLoops_resolveLoops__resolveAndReplace((void*)((char*)(&(boxvar_lit_ResolveLoops_resolveLoops__resolveAndReplace
).header) + 3))
MMC_REFSTRUCTLIT(boxvar_lit_ResolveLoops_resolveLoops__resolveAndReplace)((void*)((char*)(&(boxvar_lit_ResolveLoops_resolveLoops__resolveAndReplace
).header) + 3))
494PROTECTED_FUNCTION_STATIC modelica_metatype omc_ResolveLoops_connectPathsToOneLoop(threadData_t *threadData, modelica_metatype _allPathsIn, modelica_metatype _loopIn);
495static const MMC_DEFSTRUCTLIT(boxvar_lit_ResolveLoops_connectPathsToOneLoop,2,0)struct { mmc_uint_t header; const void *data[2]; } boxvar_lit_ResolveLoops_connectPathsToOneLoop
= { (((2) << 10) + (((0) & 255) << 2)),
{(void*) boxptr_ResolveLoops_connectPathsToOneLoopomc_ResolveLoops_connectPathsToOneLoop,0}};
496#define boxvar_ResolveLoops_connectPathsToOneLoop((void*)((char*)(&(boxvar_lit_ResolveLoops_connectPathsToOneLoop
).header) + 3))
MMC_REFSTRUCTLIT(boxvar_lit_ResolveLoops_connectPathsToOneLoop)((void*)((char*)(&(boxvar_lit_ResolveLoops_connectPathsToOneLoop
).header) + 3))
497PROTECTED_FUNCTION_STATIC modelica_boolean omc_ResolveLoops_connectsLoops(threadData_t *threadData, modelica_metatype _path, modelica_metatype _allLoops);
498PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_ResolveLoops_connectsLoops(threadData_t *threadData, modelica_metatype _path, modelica_metatype _allLoops);
499static const MMC_DEFSTRUCTLIT(boxvar_lit_ResolveLoops_connectsLoops,2,0)struct { mmc_uint_t header; const void *data[2]; } boxvar_lit_ResolveLoops_connectsLoops
= { (((2) << 10) + (((0) & 255) << 2)),
{(void*) boxptr_ResolveLoops_connectsLoops,0}};
500#define boxvar_ResolveLoops_connectsLoops((void*)((char*)(&(boxvar_lit_ResolveLoops_connectsLoops)
.header) + 3))
MMC_REFSTRUCTLIT(boxvar_lit_ResolveLoops_connectsLoops)((void*)((char*)(&(boxvar_lit_ResolveLoops_connectsLoops)
.header) + 3))
501PROTECTED_FUNCTION_STATIC modelica_metatype omc_ResolveLoops_getShortPathsBetweenEqCrossNodes(threadData_t *threadData, modelica_metatype _eqCrossLstIn, modelica_metatype _eqCrossSet, modelica_metatype _mIn, modelica_metatype _mTIn, modelica_metatype _pathsIn, modelica_boolean _findExactlyOneLoop);
502PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_ResolveLoops_getShortPathsBetweenEqCrossNodes(threadData_t *threadData, modelica_metatype _eqCrossLstIn, modelica_metatype _eqCrossSet, modelica_metatype _mIn, modelica_metatype _mTIn, modelica_metatype _pathsIn, modelica_metatype _findExactlyOneLoop);
503static const MMC_DEFSTRUCTLIT(boxvar_lit_ResolveLoops_getShortPathsBetweenEqCrossNodes,2,0)struct { mmc_uint_t header; const void *data[2]; } boxvar_lit_ResolveLoops_getShortPathsBetweenEqCrossNodes
= { (((2) << 10) + (((0) & 255) << 2)),
{(void*) boxptr_ResolveLoops_getShortPathsBetweenEqCrossNodes,0}};
504#define boxvar_ResolveLoops_getShortPathsBetweenEqCrossNodes((void*)((char*)(&(boxvar_lit_ResolveLoops_getShortPathsBetweenEqCrossNodes
).header) + 3))
MMC_REFSTRUCTLIT(boxvar_lit_ResolveLoops_getShortPathsBetweenEqCrossNodes)((void*)((char*)(&(boxvar_lit_ResolveLoops_getShortPathsBetweenEqCrossNodes
).header) + 3))
505PROTECTED_FUNCTION_STATIC modelica_boolean omc_ResolveLoops_hasSameIntSortedExcept(threadData_t *threadData, modelica_metatype _inList1, modelica_metatype _inList2, modelica_integer _excl);
506PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_ResolveLoops_hasSameIntSortedExcept(threadData_t *threadData, modelica_metatype _inList1, modelica_metatype _inList2, modelica_metatype _excl);
507static const MMC_DEFSTRUCTLIT(boxvar_lit_ResolveLoops_hasSameIntSortedExcept,2,0)struct { mmc_uint_t header; const void *data[2]; } boxvar_lit_ResolveLoops_hasSameIntSortedExcept
= { (((2) << 10) + (((0) & 255) << 2)),
{(void*) boxptr_ResolveLoops_hasSameIntSortedExcept,0}};
508#define boxvar_ResolveLoops_hasSameIntSortedExcept((void*)((char*)(&(boxvar_lit_ResolveLoops_hasSameIntSortedExcept
).header) + 3))
MMC_REFSTRUCTLIT(boxvar_lit_ResolveLoops_hasSameIntSortedExcept)((void*)((char*)(&(boxvar_lit_ResolveLoops_hasSameIntSortedExcept
).header) + 3))
509PROTECTED_FUNCTION_STATIC modelica_boolean omc_ResolveLoops_listContains(threadData_t *threadData, modelica_metatype _lst, modelica_integer _int);
510PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_ResolveLoops_listContains(threadData_t *threadData, modelica_metatype _lst, modelica_metatype _int);
511static const MMC_DEFSTRUCTLIT(boxvar_lit_ResolveLoops_listContains,2,0)struct { mmc_uint_t header; const void *data[2]; } boxvar_lit_ResolveLoops_listContains
= { (((2) << 10) + (((0) & 255) << 2)),
{(void*) boxptr_ResolveLoops_listContains,0}};
512#define boxvar_ResolveLoops_listContains((void*)((char*)(&(boxvar_lit_ResolveLoops_listContains).
header) + 3))
MMC_REFSTRUCTLIT(boxvar_lit_ResolveLoops_listContains)((void*)((char*)(&(boxvar_lit_ResolveLoops_listContains).
header) + 3))
513PROTECTED_FUNCTION_STATIC modelica_boolean omc_ResolveLoops_pathContainsNode(threadData_t *threadData, modelica_integer _node, modelica_metatype _inPath);
514PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_ResolveLoops_pathContainsNode(threadData_t *threadData, modelica_metatype _node, modelica_metatype _inPath);
515static const MMC_DEFSTRUCTLIT(boxvar_lit_ResolveLoops_pathContainsNode,2,0)struct { mmc_uint_t header; const void *data[2]; } boxvar_lit_ResolveLoops_pathContainsNode
= { (((2) << 10) + (((0) & 255) << 2)),
{(void*) boxptr_ResolveLoops_pathContainsNode,0}};
516#define boxvar_ResolveLoops_pathContainsNode((void*)((char*)(&(boxvar_lit_ResolveLoops_pathContainsNode
).header) + 3))
MMC_REFSTRUCTLIT(boxvar_lit_ResolveLoops_pathContainsNode)((void*)((char*)(&(boxvar_lit_ResolveLoops_pathContainsNode
).header) + 3))
517PROTECTED_FUNCTION_STATIC modelica_metatype omc_ResolveLoops_removeNode(threadData_t *threadData, modelica_integer _node, modelica_metatype _inPaths, modelica_metatype _D_24in_accPaths);
518PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_ResolveLoops_removeNode(threadData_t *threadData, modelica_metatype _node, modelica_metatype _inPaths, modelica_metatype _D_24in_accPaths);
519static const MMC_DEFSTRUCTLIT(boxvar_lit_ResolveLoops_removeNode,2,0)struct { mmc_uint_t header; const void *data[2]; } boxvar_lit_ResolveLoops_removeNode
= { (((2) << 10) + (((0) & 255) << 2)),
{(void*) boxptr_ResolveLoops_removeNode,0}};
520#define boxvar_ResolveLoops_removeNode((void*)((char*)(&(boxvar_lit_ResolveLoops_removeNode).header
) + 3))
MMC_REFSTRUCTLIT(boxvar_lit_ResolveLoops_removeNode)((void*)((char*)(&(boxvar_lit_ResolveLoops_removeNode).header
) + 3))
521PROTECTED_FUNCTION_STATIC modelica_metatype omc_ResolveLoops_removeEqualPaths(threadData_t *threadData, modelica_metatype _crossNodes, modelica_metatype _D_24in_minAdj, modelica_metatype _D_24in_uniquePaths, modelica_metatype _D_24in_mapIndices, modelica_metatype _D_24in_map, modelica_metatype _D_24in_accCrossNodes, modelica_metatype *out_uniquePaths, modelica_metatype *out_mapIndices, modelica_metatype *out_map, modelica_metatype *out_accCrossNodes);
522static const MMC_DEFSTRUCTLIT(boxvar_lit_ResolveLoops_removeEqualPaths,2,0)struct { mmc_uint_t header; const void *data[2]; } boxvar_lit_ResolveLoops_removeEqualPaths
= { (((2) << 10) + (((0) & 255) << 2)),
{(void*) boxptr_ResolveLoops_removeEqualPathsomc_ResolveLoops_removeEqualPaths,0}};
523#define boxvar_ResolveLoops_removeEqualPaths((void*)((char*)(&(boxvar_lit_ResolveLoops_removeEqualPaths
).header) + 3))
MMC_REFSTRUCTLIT(boxvar_lit_ResolveLoops_removeEqualPaths)((void*)((char*)(&(boxvar_lit_ResolveLoops_removeEqualPaths
).header) + 3))
524PROTECTED_FUNCTION_STATIC modelica_metatype omc_ResolveLoops_getMinimalAdjacencyMatrix(threadData_t *threadData, modelica_metatype _crossNodes, modelica_metatype _uniquePaths);
525static const MMC_DEFSTRUCTLIT(boxvar_lit_ResolveLoops_getMinimalAdjacencyMatrix,2,0)struct { mmc_uint_t header; const void *data[2]; } boxvar_lit_ResolveLoops_getMinimalAdjacencyMatrix
= { (((2) << 10) + (((0) & 255) << 2)),
{(void*) boxptr_ResolveLoops_getMinimalAdjacencyMatrixomc_ResolveLoops_getMinimalAdjacencyMatrix,0}};
526#define boxvar_ResolveLoops_getMinimalAdjacencyMatrix((void*)((char*)(&(boxvar_lit_ResolveLoops_getMinimalAdjacencyMatrix
).header) + 3))
MMC_REFSTRUCTLIT(boxvar_lit_ResolveLoops_getMinimalAdjacencyMatrix)((void*)((char*)(&(boxvar_lit_ResolveLoops_getMinimalAdjacencyMatrix
).header) + 3))
527PROTECTED_FUNCTION_STATIC modelica_metatype omc_ResolveLoops_findEqualPathStructure(threadData_t *threadData, modelica_metatype _D_24in_crossNodes, modelica_metatype _D_24in_uniquePaths, modelica_metatype *out_uniquePaths, modelica_metatype *out_mapping, modelica_metatype *out_minAdj);
528static const MMC_DEFSTRUCTLIT(boxvar_lit_ResolveLoops_findEqualPathStructure,2,0)struct { mmc_uint_t header; const void *data[2]; } boxvar_lit_ResolveLoops_findEqualPathStructure
= { (((2) << 10) + (((0) & 255) << 2)),
{(void*) boxptr_ResolveLoops_findEqualPathStructureomc_ResolveLoops_findEqualPathStructure,0}};
529#define boxvar_ResolveLoops_findEqualPathStructure((void*)((char*)(&(boxvar_lit_ResolveLoops_findEqualPathStructure
).header) + 3))
MMC_REFSTRUCTLIT(boxvar_lit_ResolveLoops_findEqualPathStructure)((void*)((char*)(&(boxvar_lit_ResolveLoops_findEqualPathStructure
).header) + 3))
530PROTECTED_FUNCTION_STATIC modelica_metatype omc_ResolveLoops_resolveLoops__findLoops2(threadData_t *threadData, modelica_metatype _eqsIn, modelica_metatype _eqCrossLstIn, modelica_metatype _varCrossLstIn, modelica_metatype _mIn, modelica_metatype _mTIn, modelica_boolean _findExactlyOneLoop, modelica_metatype *out_structureMapping);
531PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_ResolveLoops_resolveLoops__findLoops2(threadData_t *threadData, modelica_metatype _eqsIn, modelica_metatype _eqCrossLstIn, modelica_metatype _varCrossLstIn, modelica_metatype _mIn, modelica_metatype _mTIn, modelica_metatype _findExactlyOneLoop, modelica_metatype *out_structureMapping);
532static const MMC_DEFSTRUCTLIT(boxvar_lit_ResolveLoops_resolveLoops__findLoops2,2,0)struct { mmc_uint_t header; const void *data[2]; } boxvar_lit_ResolveLoops_resolveLoops__findLoops2
= { (((2) << 10) + (((0) & 255) << 2)),
{(void*) boxptr_ResolveLoops_resolveLoops__findLoops2,0}};
533#define boxvar_ResolveLoops_resolveLoops__findLoops2((void*)((char*)(&(boxvar_lit_ResolveLoops_resolveLoops__findLoops2
).header) + 3))
MMC_REFSTRUCTLIT(boxvar_lit_ResolveLoops_resolveLoops__findLoops2)((void*)((char*)(&(boxvar_lit_ResolveLoops_resolveLoops__findLoops2
).header) + 3))
534PROTECTED_FUNCTION_STATIC modelica_metatype omc_ResolveLoops_getSimpleEquationVariables(threadData_t *threadData, modelica_metatype _markLinEqVars, modelica_metatype _vars, modelica_metatype *out_varMapArr);
535static const MMC_DEFSTRUCTLIT(boxvar_lit_ResolveLoops_getSimpleEquationVariables,2,0)struct { mmc_uint_t header; const void *data[2]; } boxvar_lit_ResolveLoops_getSimpleEquationVariables
= { (((2) << 10) + (((0) & 255) << 2)),
{(void*) boxptr_ResolveLoops_getSimpleEquationVariablesomc_ResolveLoops_getSimpleEquationVariables,0}};
536#define boxvar_ResolveLoops_getSimpleEquationVariables((void*)((char*)(&(boxvar_lit_ResolveLoops_getSimpleEquationVariables
).header) + 3))
MMC_REFSTRUCTLIT(boxvar_lit_ResolveLoops_getSimpleEquationVariables)((void*)((char*)(&(boxvar_lit_ResolveLoops_getSimpleEquationVariables
).header) + 3))
537PROTECTED_FUNCTION_STATIC modelica_metatype omc_ResolveLoops_getSimpleEquations(threadData_t *threadData, modelica_metatype _inEq, modelica_metatype _inTpl, modelica_metatype *out_outTpl);
538static const MMC_DEFSTRUCTLIT(boxvar_lit_ResolveLoops_getSimpleEquations,2,0)struct { mmc_uint_t header; const void *data[2]; } boxvar_lit_ResolveLoops_getSimpleEquations
= { (((2) << 10) + (((0) & 255) << 2)),
{(void*) boxptr_ResolveLoops_getSimpleEquationsomc_ResolveLoops_getSimpleEquations,0}};
539#define boxvar_ResolveLoops_getSimpleEquations((void*)((char*)(&(boxvar_lit_ResolveLoops_getSimpleEquations
).header) + 3))
MMC_REFSTRUCTLIT(boxvar_lit_ResolveLoops_getSimpleEquations)((void*)((char*)(&(boxvar_lit_ResolveLoops_getSimpleEquations
).header) + 3))
540PROTECTED_FUNCTION_STATIC modelica_boolean omc_ResolveLoops_arrayEntryLengthIs(threadData_t *threadData, modelica_integer _idx, modelica_metatype _arr, modelica_integer _len);
541PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_ResolveLoops_arrayEntryLengthIs(threadData_t *threadData, modelica_metatype _idx, modelica_metatype _arr, modelica_metatype _len);
542static const MMC_DEFSTRUCTLIT(boxvar_lit_ResolveLoops_arrayEntryLengthIs,2,0)struct { mmc_uint_t header; const void *data[2]; } boxvar_lit_ResolveLoops_arrayEntryLengthIs
= { (((2) << 10) + (((0) & 255) << 2)),
{(void*) boxptr_ResolveLoops_arrayEntryLengthIs,0}};
543#define boxvar_ResolveLoops_arrayEntryLengthIs((void*)((char*)(&(boxvar_lit_ResolveLoops_arrayEntryLengthIs
).header) + 3))
MMC_REFSTRUCTLIT(boxvar_lit_ResolveLoops_arrayEntryLengthIs)((void*)((char*)(&(boxvar_lit_ResolveLoops_arrayEntryLengthIs
).header) + 3))
544PROTECTED_FUNCTION_STATIC modelica_metatype omc_ResolveLoops_resolveLoops__cutNodes(threadData_t *threadData, modelica_metatype _mIn, modelica_metatype _mTIn, modelica_metatype *out_deadEndEqsMark);
545static const MMC_DEFSTRUCTLIT(boxvar_lit_ResolveLoops_resolveLoops__cutNodes,2,0)struct { mmc_uint_t header; const void *data[2]; } boxvar_lit_ResolveLoops_resolveLoops__cutNodes
= { (((2) << 10) + (((0) & 255) << 2)),
{(void*) boxptr_ResolveLoops_resolveLoops__cutNodesomc_ResolveLoops_resolveLoops__cutNodes,0}};
546#define boxvar_ResolveLoops_resolveLoops__cutNodes((void*)((char*)(&(boxvar_lit_ResolveLoops_resolveLoops__cutNodes
).header) + 3))
MMC_REFSTRUCTLIT(boxvar_lit_ResolveLoops_resolveLoops__cutNodes)((void*)((char*)(&(boxvar_lit_ResolveLoops_resolveLoops__cutNodes
).header) + 3))
547PROTECTED_FUNCTION_STATIC modelica_metatype omc_ResolveLoops_resolveLoops__resolvePartitions(threadData_t *threadData, modelica_metatype _partitionsIn, modelica_metatype _mIn, modelica_metatype _mTIn, modelica_metatype _m_uncut, modelica_metatype _mT_uncut, modelica_metatype _eqMap, modelica_metatype _varMap, modelica_metatype _daeEqs, modelica_metatype _daeVars, modelica_metatype _nonLoopEqMark);
548static const MMC_DEFSTRUCTLIT(boxvar_lit_ResolveLoops_resolveLoops__resolvePartitions,2,0)struct { mmc_uint_t header; const void *data[2]; } boxvar_lit_ResolveLoops_resolveLoops__resolvePartitions
= { (((2) << 10) + (((0) & 255) << 2)),
{(void*) boxptr_ResolveLoops_resolveLoops__resolvePartitionsomc_ResolveLoops_resolveLoops__resolvePartitions,0}};
549#define boxvar_ResolveLoops_resolveLoops__resolvePartitions((void*)((char*)(&(boxvar_lit_ResolveLoops_resolveLoops__resolvePartitions
).header) + 3))
MMC_REFSTRUCTLIT(boxvar_lit_ResolveLoops_resolveLoops__resolvePartitions)((void*)((char*)(&(boxvar_lit_ResolveLoops_resolveLoops__resolvePartitions
).header) + 3))
550PROTECTED_FUNCTION_STATIC modelica_metatype omc_ResolveLoops_resolveLoops__main(threadData_t *threadData, modelica_metatype _inEqSys, modelica_metatype _inShared, modelica_integer _inSysIdx, modelica_metatype *out_outShared, modelica_integer *out_outSysIdx);
551PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_ResolveLoops_resolveLoops__main(threadData_t *threadData, modelica_metatype _inEqSys, modelica_metatype _inShared, modelica_metatype _inSysIdx, modelica_metatype *out_outShared, modelica_metatype *out_outSysIdx);
552static const MMC_DEFSTRUCTLIT(boxvar_lit_ResolveLoops_resolveLoops__main,2,0)struct { mmc_uint_t header; const void *data[2]; } boxvar_lit_ResolveLoops_resolveLoops__main
= { (((2) << 10) + (((0) & 255) << 2)),
{(void*) boxptr_ResolveLoops_resolveLoops__main,0}};
553#define boxvar_ResolveLoops_resolveLoops__main((void*)((char*)(&(boxvar_lit_ResolveLoops_resolveLoops__main
).header) + 3))
MMC_REFSTRUCTLIT(boxvar_lit_ResolveLoops_resolveLoops__main)((void*)((char*)(&(boxvar_lit_ResolveLoops_resolveLoops__main
).header) + 3))
554
555PROTECTED_FUNCTION_STATIC modelica_metatype omc_ResolveLoops_gramSchmidtProcessHelper(threadData_t *threadData, modelica_metatype _w, modelica_metatype _u, modelica_string _name, modelica_integer _offset, modelica_metatype _ieqns, modelica_metatype _ivars, modelica_metatype _ishared, modelica_metatype *out_oeqns, modelica_metatype *out_ovars, modelica_metatype *out_oshared)
556{
557 modelica_metatype _v = NULL((void*)0);
558 modelica_metatype _oeqns = NULL((void*)0);
559 modelica_metatype _ovars = NULL((void*)0);
560 modelica_metatype _oshared = NULL((void*)0);
561 modelica_metatype _h = NULL((void*)0);
562 modelica_integer _n;
563 modelica_integer tmp1;
564 modelica_integer tmp2;
565 modelica_integer tmp3;
566 modelica_metatype tmpMeta[2] __attribute__((unused)) = {0};
567 MMC_SO()mmc_check_stackoverflow(threadData);
568 _tailrecursive: OMC_LABEL_UNUSED__attribute__((unused))
569 // _v has no default value.
570 // _oeqns has no default value.
571 // _ovars has no default value.
572 // _oshared has no default value.
573 _h = omc_Expression_makeScalarProduct(threadData, _w, _u);
574 _n = arrayLength(_w);
575#line 3111 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
576 tmpMeta[0] = stringAppend(_name,_OMC_LIT0((void*)((char*)(&(_OMC_LIT_STRUCT0).header) + 3)));
577#line 3111 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
578 _h = omc_BackendEquation_makeTmpEqnForExp(threadData, _h, tmpMeta[0], _offset, _ieqns, _ivars, _ishared, 0 ,&_oeqns ,&_ovars ,&_oshared, NULL((void*)0), NULL((void*)0));
579#line 579 OMC_FILE"/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/boot/build/tmp/ResolveLoops.c"
580
581#line 3112 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
582 _v = omc_Array_map1(threadData, _u, boxvar_Expression_expMul((void*)((char*)(&(boxvar_lit_Expression_expMul).header) +
3))
, _h);
583#line 583 OMC_FILE"/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/boot/build/tmp/ResolveLoops.c"
584
585#line 3113 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
586 _v = omc_Expression_subVec(threadData, _w, _v);
587#line 587 OMC_FILE"/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/boot/build/tmp/ResolveLoops.c"
588
589#line 3114 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
590 tmp1 = ((modelica_integer) 1); tmp2 = 1; tmp3 = _n;
591#line 3114 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
592 if(!(((tmp2 > 0) && (tmp1 > tmp3)) || ((tmp2 < 0) && (tmp1 < tmp3))))
593#line 3114 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
594 {
595#line 3114 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
596 modelica_integer _i;
597#line 3114 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
598 for(_i = ((modelica_integer) 1); in_range_integer(_i, tmp1, tmp3); _i += tmp2)
599#line 3114 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
600 {
601#line 3115 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
602 tmpMeta[0] = stringAppend(_name,_OMC_LIT1((void*)((char*)(&(_OMC_LIT_STRUCT1).header) + 3)));
603#line 3115 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
604 tmpMeta[1] = stringAppend(tmpMeta[0],intString(_i));
605#line 3115 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
606 _h = omc_BackendEquation_makeTmpEqnForExp(threadData, arrayGet(_v, _i)nobox_arrayGet(threadData,_v,_i), tmpMeta[1], _offset, _oeqns, _ovars, _oshared, 0 ,&_oeqns ,&_ovars ,&_oshared, NULL((void*)0), NULL((void*)0));
607#line 607 OMC_FILE"/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/boot/build/tmp/ResolveLoops.c"
608
609#line 3116 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
610 arrayUpdate(_v, _i, _h)boxptr_arrayUpdate(threadData,_v,mmc_mk_icon(_i),_h);
611#line 611 OMC_FILE"/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/boot/build/tmp/ResolveLoops.c"
612 }
613 }
614 _return: OMC_LABEL_UNUSED__attribute__((unused))
615 if (out_oeqns) { *out_oeqns = _oeqns; }
616 if (out_ovars) { *out_ovars = _ovars; }
617 if (out_oshared) { *out_oshared = _oshared; }
618 return _v;
619}
620PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_ResolveLoops_gramSchmidtProcessHelper(threadData_t *threadData, modelica_metatype _w, modelica_metatype _u, modelica_metatype _name, modelica_metatype _offset, modelica_metatype _ieqns, modelica_metatype _ivars, modelica_metatype _ishared, modelica_metatype *out_oeqns, modelica_metatype *out_ovars, modelica_metatype *out_oshared)
621{
622 modelica_integer tmp1;
623 modelica_metatype _v = NULL((void*)0);
624 tmp1 = mmc_unbox_integer(_offset)(((mmc_sint_t) (_offset)) >> 1);
625 _v = omc_ResolveLoops_gramSchmidtProcessHelper(threadData, _w, _u, _name, tmp1, _ieqns, _ivars, _ishared, out_oeqns, out_ovars, out_oshared);
626 /* skip box _v; array<DAE.Exp> */
627 /* skip box _oeqns; ExpandableArray<BackendDAE.Equation> */
628 /* skip box _ovars; BackendDAE.Variables */
629 /* skip box _oshared; BackendDAE.Shared */
630 return _v;
631}
632
633PROTECTED_FUNCTION_STATIC void omc_ResolveLoops_qrDecomposition3(threadData_t *threadData, modelica_metatype _A, modelica_integer _sizeA, modelica_boolean _isMat, modelica_string _s)
634{
635 modelica_integer _n;
636 modelica_integer _m;
637 modelica_integer tmp1;
638 modelica_integer tmp2;
639 modelica_integer tmp3;
640 modelica_integer tmp4;
641 modelica_integer tmp5;
642 modelica_integer tmp6;
643 modelica_metatype tmpMeta[7] __attribute__((unused)) = {0};
644 MMC_SO()mmc_check_stackoverflow(threadData);
645 _tailrecursive: OMC_LABEL_UNUSED__attribute__((unused))
646 _n = _sizeA;
647 _m = (_isMat?_sizeA:((modelica_integer) 1));
648#line 3081 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
649 fputs(MMC_STRINGDATA(_OMC_LIT2)(((struct mmc_string*)((void*)((char*)(((void*)((char*)(&
(_OMC_LIT_STRUCT2).header) + 3))) - 3)))->data)
,stdoutstdout);
650#line 650 OMC_FILE"/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/boot/build/tmp/ResolveLoops.c"
651
652#line 3082 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
653 tmp4 = ((modelica_integer) 1); tmp5 = 1; tmp6 = _n;
654#line 3082 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
655 if(!(((tmp5 > 0) && (tmp4 > tmp6)) || ((tmp5 < 0) && (tmp4 < tmp6))))
656#line 3082 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
657 {
658#line 3082 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
659 modelica_integer _i;
660#line 3082 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
661 for(_i = ((modelica_integer) 1); in_range_integer(_i, tmp4, tmp6); _i += tmp5)
662#line 3082 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
663 {
664#line 3083 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
665 fputs(MMC_STRINGDATA(_OMC_LIT2)(((struct mmc_string*)((void*)((char*)(((void*)((char*)(&
(_OMC_LIT_STRUCT2).header) + 3))) - 3)))->data)
,stdoutstdout);
666#line 666 OMC_FILE"/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/boot/build/tmp/ResolveLoops.c"
667
668#line 3084 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
669 tmp1 = ((modelica_integer) 1); tmp2 = 1; tmp3 = _m;
670#line 3084 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
671 if(!(((tmp2 > 0) && (tmp1 > tmp3)) || ((tmp2 < 0) && (tmp1 < tmp3))))
672#line 3084 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
673 {
674#line 3084 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
675 modelica_integer _j;
676#line 3084 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
677 for(_j = ((modelica_integer) 1); in_range_integer(_j, tmp1, tmp3); _j += tmp2)
678#line 3084 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
679 {
680#line 3085 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
681 tmpMeta[0] = stringAppend(_s,_OMC_LIT3((void*)((char*)(&(_OMC_LIT_STRUCT3).header) + 3)));
682#line 3085 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
683 tmpMeta[1] = stringAppend(tmpMeta[0],intString(_i));
684#line 3085 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
685 tmpMeta[2] = stringAppend(tmpMeta[1],_OMC_LIT4((void*)((char*)(&(_OMC_LIT_STRUCT4).header) + 3)));
686#line 3085 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
687 tmpMeta[3] = stringAppend(tmpMeta[2],intString(_j));
688#line 3085 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
689 tmpMeta[4] = stringAppend(tmpMeta[3],_OMC_LIT5((void*)((char*)(&(_OMC_LIT_STRUCT5).header) + 3)));
690#line 3085 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
691 tmpMeta[5] = stringAppend(tmpMeta[4],omc_ExpressionDump_printExpStr(threadData, arrayGet(_A, (((modelica_integer) -1) + _i) * (_m) + _j)nobox_arrayGet(threadData,_A,(((modelica_integer) -1) + _i) *
(_m) + _j)
));
692#line 3085 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
693 tmpMeta[6] = stringAppend(tmpMeta[5],_OMC_LIT6((void*)((char*)(&(_OMC_LIT_STRUCT6).header) + 3)));
694#line 3085 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
695 fputs(MMC_STRINGDATA(tmpMeta[6])(((struct mmc_string*)((void*)((char*)(tmpMeta[6]) - 3)))->
data)
,stdoutstdout);
696#line 696 OMC_FILE"/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/boot/build/tmp/ResolveLoops.c"
697 }
698 }
699 }
700 }
701
702#line 3088 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
703 fputs(MMC_STRINGDATA(_OMC_LIT2)(((struct mmc_string*)((void*)((char*)(((void*)((char*)(&
(_OMC_LIT_STRUCT2).header) + 3))) - 3)))->data)
,stdoutstdout);
704#line 704 OMC_FILE"/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/boot/build/tmp/ResolveLoops.c"
705 _return: OMC_LABEL_UNUSED__attribute__((unused))
706 return;
707}
708PROTECTED_FUNCTION_STATIC void boxptr_ResolveLoops_qrDecomposition3(threadData_t *threadData, modelica_metatype _A, modelica_metatype _sizeA, modelica_metatype _isMat, modelica_metatype _s)
709{
710 modelica_integer tmp1;
711 modelica_integer tmp2;
712 tmp1 = mmc_unbox_integer(_sizeA)(((mmc_sint_t) (_sizeA)) >> 1);
713 tmp2 = mmc_unbox_integer(_isMat)(((mmc_sint_t) (_isMat)) >> 1);
714 omc_ResolveLoops_qrDecomposition3(threadData, _A, tmp1, tmp2, _s);
715 return;
716}
717
718PROTECTED_FUNCTION_STATIC modelica_metatype omc_ResolveLoops_qrDecomposition2(threadData_t *threadData, modelica_metatype _A, modelica_integer _sizeA, modelica_integer _i)
719{
720 modelica_metatype _row = NULL((void*)0);
721 modelica_integer _k;
722 modelica_integer tmp1;
723 modelica_integer tmp2;
724 modelica_integer tmp3;
725 MMC_SO()mmc_check_stackoverflow(threadData);
726 _tailrecursive: OMC_LABEL_UNUSED__attribute__((unused))
727 _row = arrayCreate(_sizeA, _OMC_LIT8((void*)((char*)(&(_OMC_LIT_STRUCT8).header) + 3)));
728 _k = ((modelica_integer) -1) + _i;
729#line 3066 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
730 tmp1 = ((modelica_integer) 1); tmp2 = 1; tmp3 = _sizeA;
731#line 3066 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
732 if(!(((tmp2 > 0) && (tmp1 > tmp3)) || ((tmp2 < 0) && (tmp1 < tmp3))))
733#line 3066 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
734 {
735#line 3066 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
736 modelica_integer _j;
737#line 3066 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
738 for(_j = ((modelica_integer) 1); in_range_integer(_j, tmp1, tmp3); _j += tmp2)
739#line 3066 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
740 {
741#line 3067 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
742 arrayUpdate(_row, _j, arrayGet(_A, _j + (_k) * (_sizeA)))boxptr_arrayUpdate(threadData,_row,mmc_mk_icon(_j),nobox_arrayGet
(threadData,_A,_j + (_k) * (_sizeA)))
;
743#line 743 OMC_FILE"/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/boot/build/tmp/ResolveLoops.c"
744 }
745 }
746 _return: OMC_LABEL_UNUSED__attribute__((unused))
747 return _row;
748}
749PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_ResolveLoops_qrDecomposition2(threadData_t *threadData, modelica_metatype _A, modelica_metatype _sizeA, modelica_metatype _i)
750{
751 modelica_integer tmp1;
752 modelica_integer tmp2;
753 modelica_metatype _row = NULL((void*)0);
754 tmp1 = mmc_unbox_integer(_sizeA)(((mmc_sint_t) (_sizeA)) >> 1);
755 tmp2 = mmc_unbox_integer(_i)(((mmc_sint_t) (_i)) >> 1);
756 _row = omc_ResolveLoops_qrDecomposition2(threadData, _A, tmp1, tmp2);
757 /* skip box _row; array<DAE.Exp> */
758 return _row;
759}
760
761PROTECTED_FUNCTION_STATIC modelica_metatype omc_ResolveLoops_qrDecomposition1(threadData_t *threadData, modelica_metatype _A, modelica_integer _sizeA, modelica_integer _i)
762{
763 modelica_metatype _column = NULL((void*)0);
764 modelica_integer tmp1;
765 modelica_integer tmp2;
766 modelica_integer tmp3;
767 MMC_SO()mmc_check_stackoverflow(threadData);
768 _tailrecursive: OMC_LABEL_UNUSED__attribute__((unused))
769 _column = arrayCreate(_sizeA, _OMC_LIT8((void*)((char*)(&(_OMC_LIT_STRUCT8).header) + 3)));
770#line 3052 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
771 tmp1 = ((modelica_integer) 1); tmp2 = 1; tmp3 = _sizeA;
772#line 3052 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
773 if(!(((tmp2 > 0) && (tmp1 > tmp3)) || ((tmp2 < 0) && (tmp1 < tmp3))))
774#line 3052 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
775 {
776#line 3052 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
777 modelica_integer _j;
778#line 3052 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
779 for(_j = ((modelica_integer) 1); in_range_integer(_j, tmp1, tmp3); _j += tmp2)
780#line 3052 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
781 {
782#line 3053 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
783 arrayUpdate(_column, _j, arrayGet(_A, _i + (((modelica_integer) -1) + _j) * (_sizeA)))boxptr_arrayUpdate(threadData,_column,mmc_mk_icon(_j),nobox_arrayGet
(threadData,_A,_i + (((modelica_integer) -1) + _j) * (_sizeA)
))
;
784#line 784 OMC_FILE"/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/boot/build/tmp/ResolveLoops.c"
785 }
786 }
787 _return: OMC_LABEL_UNUSED__attribute__((unused))
788 return _column;
789}
790PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_ResolveLoops_qrDecomposition1(threadData_t *threadData, modelica_metatype _A, modelica_metatype _sizeA, modelica_metatype _i)
791{
792 modelica_integer tmp1;
793 modelica_integer tmp2;
794 modelica_metatype _column = NULL((void*)0);
795 tmp1 = mmc_unbox_integer(_sizeA)(((mmc_sint_t) (_sizeA)) >> 1);
796 tmp2 = mmc_unbox_integer(_i)(((mmc_sint_t) (_i)) >> 1);
797 _column = omc_ResolveLoops_qrDecomposition1(threadData, _A, tmp1, tmp2);
798 /* skip box _column; array<DAE.Exp> */
799 return _column;
800}
801
802PROTECTED_FUNCTION_STATIC modelica_metatype omc_ResolveLoops_qrDecomposition(threadData_t *threadData, modelica_metatype _A, modelica_integer _n, modelica_metatype _ib, modelica_metatype _ieqns, modelica_metatype _ivars, modelica_integer _offset, modelica_metatype _ishared, modelica_metatype *out_b, modelica_metatype *out_oeqns, modelica_metatype *out_ovars, modelica_metatype *out_oshared)
803{
804 modelica_metatype _R = NULL((void*)0);
805 modelica_metatype _b = NULL((void*)0);
806 modelica_metatype _oeqns = NULL((void*)0);
807 modelica_metatype _ovars = NULL((void*)0);
808 modelica_metatype _oshared = NULL((void*)0);
809 modelica_metatype _Q = NULL((void*)0);
810 modelica_metatype _v = NULL((void*)0);
811 modelica_metatype _u = NULL((void*)0);
812 modelica_metatype _w = NULL((void*)0);
813 modelica_metatype _e = NULL((void*)0);
814 modelica_metatype _vv = NULL((void*)0);
815 modelica_metatype _x = NULL((void*)0);
816 modelica_metatype _y = NULL((void*)0);
817 modelica_metatype _p = NULL((void*)0);
818 modelica_metatype _a = NULL((void*)0);
819 modelica_metatype _ex = NULL((void*)0);
820 modelica_metatype _tmpvar = NULL((void*)0);
821 modelica_string _name = NULL((void*)0);
822 modelica_metatype _cr = NULL((void*)0);
823 modelica_integer _kk;
824 modelica_integer _m;
825 modelica_integer _nn;
826 modelica_integer tmp1;
827 modelica_integer tmp2;
828 modelica_integer tmp3;
829 modelica_integer tmp4;
830 modelica_integer tmp5;
831 modelica_integer tmp6;
832 modelica_integer tmp7;
833 modelica_integer tmp8;
834 modelica_integer tmp9;
835 modelica_integer tmp10;
836 modelica_integer tmp11;
837 modelica_integer tmp12;
838 modelica_integer tmp13;
839 modelica_integer tmp14;
840 modelica_integer tmp15;
841 modelica_integer tmp16;
842 modelica_integer tmp17;
843 modelica_integer tmp18;
844 modelica_integer tmp19;
845 modelica_integer tmp20;
846 modelica_integer tmp21;
847 modelica_metatype tmpMeta[3] __attribute__((unused)) = {0};
848 MMC_SO()mmc_check_stackoverflow(threadData);
849 _tailrecursive: OMC_LABEL_UNUSED__attribute__((unused))
850 _R = arrayCreate((_n) * (_n), _OMC_LIT8((void*)((char*)(&(_OMC_LIT_STRUCT8).header) + 3)));
851 _b = arrayCreate(_n, _OMC_LIT8((void*)((char*)(&(_OMC_LIT_STRUCT8).header) + 3)));
852 _oeqns = _ieqns;
853 _ovars = _ivars;
854 // _oshared has no default value.
855 _Q = arrayCreate((_n) * (_n), _OMC_LIT8((void*)((char*)(&(_OMC_LIT_STRUCT8).header) + 3)));
856 _v = arrayCreate(_n, _OMC_LIT8((void*)((char*)(&(_OMC_LIT_STRUCT8).header) + 3)));
857 _u = arrayCreate(_n, _OMC_LIT8((void*)((char*)(&(_OMC_LIT_STRUCT8).header) + 3)));
858 _w = arrayCreate(_n, _OMC_LIT8((void*)((char*)(&(_OMC_LIT_STRUCT8).header) + 3)));
859 _e = arrayCreate(_n, _OMC_LIT8((void*)((char*)(&(_OMC_LIT_STRUCT8).header) + 3)));
860 _vv = arrayCreate(_n, _OMC_LIT8((void*)((char*)(&(_OMC_LIT_STRUCT8).header) + 3)));
861 // _x has no default value.
862 // _y has no default value.
863 // _p has no default value.
864 // _a has no default value.
865 // _ex has no default value.
866 // _tmpvar has no default value.
867 // _name has no default value.
868 // _cr has no default value.
869 _kk = ((modelica_integer) 1);
870 _m = ((modelica_integer) -1) + _n;
871 // _nn has no default value.
872#line 2989 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
873 _v = omc_ResolveLoops_qrDecomposition1(threadData, _A, _n, _kk);
874#line 874 OMC_FILE"/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/boot/build/tmp/ResolveLoops.c"
875
876#line 2990 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
877 tmpMeta[0] = stringAppend(_OMC_LIT9((void*)((char*)(&(_OMC_LIT_STRUCT9).header) + 3)),intString(_kk));
878#line 2990 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
879 _u = omc_BackendEquation_normalizationVec(threadData, _v, tmpMeta[0], _offset, _oeqns, _ovars, _ishared ,&_oeqns ,&_ovars ,&_oshared);
880#line 880 OMC_FILE"/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/boot/build/tmp/ResolveLoops.c"
881
882#line 2992 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
883 tmp1 = ((modelica_integer) 1); tmp2 = 1; tmp3 = _n;
884#line 2992 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
885 if(!(((tmp2 > 0) && (tmp1 > tmp3)) || ((tmp2 < 0) && (tmp1 < tmp3))))
886#line 2992 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
887 {
888#line 2992 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
889 modelica_integer _j;
890#line 2992 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
891 for(_j = ((modelica_integer) 1); in_range_integer(_j, tmp1, tmp3); _j += tmp2)
892#line 2992 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
893 {
894#line 2993 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
895 _a = omc_ExpressionSimplify_simplify(threadData, arrayGet(_u, _j)nobox_arrayGet(threadData,_u,_j), NULL((void*)0));
896#line 896 OMC_FILE"/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/boot/build/tmp/ResolveLoops.c"
897
898#line 2994 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
899 tmpMeta[0] = stringAppend(_OMC_LIT10((void*)((char*)(&(_OMC_LIT_STRUCT10).header) + 3)),intString(_kk + (((modelica_integer) -1) + _j) * (_n)));
900#line 2994 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
901 _a = omc_BackendEquation_makeTmpEqnForExp(threadData, _a, tmpMeta[0], _offset, _oeqns, _ovars, _oshared, 0 ,&_oeqns ,&_ovars ,&_oshared, NULL((void*)0), NULL((void*)0));
902#line 902 OMC_FILE"/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/boot/build/tmp/ResolveLoops.c"
903
904#line 2995 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
905 arrayUpdate(_Q, _kk + (((modelica_integer) -1) + _j) * (_n), _a)boxptr_arrayUpdate(threadData,_Q,mmc_mk_icon(_kk + (((modelica_integer
) -1) + _j) * (_n)),_a)
;
906#line 906 OMC_FILE"/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/boot/build/tmp/ResolveLoops.c"
907 }
908 }
909
910#line 2998 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
911 tmp10 = ((modelica_integer) 1); tmp11 = 1; tmp12 = _m;
912#line 2998 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
913 if(!(((tmp11 > 0) && (tmp10 > tmp12)) || ((tmp11 < 0) && (tmp10 < tmp12))))
914#line 2998 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
915 {
916#line 2998 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
917 modelica_integer _k;
918#line 2998 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
919 for(_k = ((modelica_integer) 1); in_range_integer(_k, tmp10, tmp12); _k += tmp11)
920#line 2998 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
921 {
922#line 2999 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
923 _v = omc_ResolveLoops_qrDecomposition1(threadData, _A, _n, ((modelica_integer) 1) + _k);
924#line 924 OMC_FILE"/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/boot/build/tmp/ResolveLoops.c"
925
926#line 3000 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
927 tmp4 = ((modelica_integer) 1); tmp5 = 1; tmp6 = _k;
928#line 3000 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
929 if(!(((tmp5 > 0) && (tmp4 > tmp6)) || ((tmp5 < 0) && (tmp4 < tmp6))))
930#line 3000 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
931 {
932#line 3000 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
933 modelica_integer _j;
934#line 3000 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
935 for(_j = ((modelica_integer) 1); in_range_integer(_j, tmp4, tmp6); _j += tmp5)
936#line 3000 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
937 {
938#line 3001 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
939 _u = omc_ResolveLoops_qrDecomposition1(threadData, _Q, _n, _j);
940#line 940 OMC_FILE"/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/boot/build/tmp/ResolveLoops.c"
941
942#line 3002 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
943 tmpMeta[0] = stringAppend(_OMC_LIT11((void*)((char*)(&(_OMC_LIT_STRUCT11).header) + 3)),intString(_kk));
944#line 3002 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
945 tmpMeta[1] = stringAppend(tmpMeta[0],_OMC_LIT12((void*)((char*)(&(_OMC_LIT_STRUCT12).header) + 3)));
946#line 3002 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
947 tmpMeta[2] = stringAppend(tmpMeta[1],intString(_kk));
948#line 3002 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
949 _v = omc_ResolveLoops_gramSchmidtProcessHelper(threadData, _v, _u, tmpMeta[2], _offset, _oeqns, _ovars, _oshared ,&_oeqns ,&_ovars ,&_oshared);
950#line 950 OMC_FILE"/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/boot/build/tmp/ResolveLoops.c"
951
952#line 3003 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
953 _kk = ((modelica_integer) 1) + _kk;
954#line 954 OMC_FILE"/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/boot/build/tmp/ResolveLoops.c"
955 }
956 }
957
958#line 3005 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
959 tmpMeta[0] = stringAppend(_OMC_LIT9((void*)((char*)(&(_OMC_LIT_STRUCT9).header) + 3)),intString(((modelica_integer) 1) + _k));
960#line 3005 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
961 _u = omc_BackendEquation_normalizationVec(threadData, _v, tmpMeta[0], _offset, _oeqns, _ovars, _oshared ,&_oeqns ,&_ovars ,&_oshared);
962#line 962 OMC_FILE"/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/boot/build/tmp/ResolveLoops.c"
963
964#line 3007 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
965 tmp7 = ((modelica_integer) 1); tmp8 = 1; tmp9 = _n;
966#line 3007 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
967 if(!(((tmp8 > 0) && (tmp7 > tmp9)) || ((tmp8 < 0) && (tmp7 < tmp9))))
968#line 3007 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
969 {
970#line 3007 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
971 modelica_integer _j;
972#line 3007 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
973 for(_j = ((modelica_integer) 1); in_range_integer(_j, tmp7, tmp9); _j += tmp8)
974#line 3007 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
975 {
976#line 3008 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
977 _nn = ((modelica_integer) 1) + _k + (((modelica_integer) -1) + _j) * (_n);
978#line 978 OMC_FILE"/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/boot/build/tmp/ResolveLoops.c"
979
980#line 3009 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
981 _a = omc_ExpressionSimplify_simplify(threadData, arrayGet(_u, _j)nobox_arrayGet(threadData,_u,_j), NULL((void*)0));
982#line 982 OMC_FILE"/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/boot/build/tmp/ResolveLoops.c"
983
984#line 3010 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
985 tmpMeta[0] = stringAppend(_OMC_LIT10((void*)((char*)(&(_OMC_LIT_STRUCT10).header) + 3)),intString(_nn));
986#line 3010 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
987 _a = omc_BackendEquation_makeTmpEqnForExp(threadData, _a, tmpMeta[0], _offset, _oeqns, _ovars, _oshared, 0 ,&_oeqns ,&_ovars ,&_oshared, NULL((void*)0), NULL((void*)0));
988#line 988 OMC_FILE"/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/boot/build/tmp/ResolveLoops.c"
989
990#line 3011 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
991 arrayUpdate(_Q, _nn, _a)boxptr_arrayUpdate(threadData,_Q,mmc_mk_icon(_nn),_a);
992#line 992 OMC_FILE"/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/boot/build/tmp/ResolveLoops.c"
993 }
994 }
995 }
996 }
997
998#line 3019 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
999 tmp16 = ((modelica_integer) 1); tmp17 = 1; tmp18 = _n;
1000#line 3019 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
1001 if(!(((tmp17 > 0) && (tmp16 > tmp18)) || ((tmp17 < 0) && (tmp16 < tmp18))))
1002#line 3019 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
1003 {
1004#line 3019 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
1005 modelica_integer _i;
1006#line 3019 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
1007 for(_i = ((modelica_integer) 1); in_range_integer(_i, tmp16, tmp18); _i += tmp17)
1008#line 3019 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
1009 {
1010#line 3020 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
1011 _x = omc_ResolveLoops_qrDecomposition1(threadData, _Q, _n, _i);
1012#line 1012 OMC_FILE"/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/boot/build/tmp/ResolveLoops.c"
1013
1014#line 3021 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
1015 _m = (((modelica_integer) -1) + _i) * (_n);
1016#line 1016 OMC_FILE"/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/boot/build/tmp/ResolveLoops.c"
1017
1018#line 3023 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
1019 tmp13 = _i; tmp14 = 1; tmp15 = _n;
1020#line 3023 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
1021 if(!(((tmp14 > 0) && (tmp13 > tmp15)) || ((tmp14 < 0) && (tmp13 < tmp15))))
1022#line 3023 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
1023 {
1024#line 3023 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
1025 modelica_integer _j;
1026#line 3023 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
1027 for(_j = _i; in_range_integer(_j, tmp13, tmp15); _j += tmp14)
1028#line 3023 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
1029 {
1030#line 3024 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
1031 _y = omc_ResolveLoops_qrDecomposition1(threadData, _A, _n, _j);
1032#line 1032 OMC_FILE"/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/boot/build/tmp/ResolveLoops.c"
1033
1034#line 3025 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
1035 _a = omc_Expression_makeScalarProduct(threadData, _x, _y);
1036#line 1036 OMC_FILE"/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/boot/build/tmp/ResolveLoops.c"
1037
1038#line 3026 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
1039 tmpMeta[0] = stringAppend(_OMC_LIT13((void*)((char*)(&(_OMC_LIT_STRUCT13).header) + 3)),intString(_m + _j));
1040#line 3026 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
1041 _a = omc_BackendEquation_makeTmpEqnForExp(threadData, _a, tmpMeta[0], _offset, _oeqns, _ovars, _oshared, 0 ,&_oeqns ,&_ovars ,&_oshared, NULL((void*)0), NULL((void*)0));
1042#line 1042 OMC_FILE"/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/boot/build/tmp/ResolveLoops.c"
1043
1044#line 3027 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
1045 arrayUpdate(_R, _m + _j, _a)boxptr_arrayUpdate(threadData,_R,mmc_mk_icon(_m + _j),_a);
1046#line 1046 OMC_FILE"/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/boot/build/tmp/ResolveLoops.c"
1047 }
1048 }
1049 }
1050 }
1051
1052#line 3034 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
1053 tmp19 = ((modelica_integer) 1); tmp20 = 1; tmp21 = _n;
1054#line 3034 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
1055 if(!(((tmp20 > 0) && (tmp19 > tmp21)) || ((tmp20 < 0) && (tmp19 < tmp21))))
1056#line 3034 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
1057 {
1058#line 3034 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
1059 modelica_integer _i;
1060#line 3034 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
1061 for(_i = ((modelica_integer) 1); in_range_integer(_i, tmp19, tmp21); _i += tmp20)
1062#line 3034 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
1063 {
1064#line 3035 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
1065 _x = omc_ResolveLoops_qrDecomposition1(threadData, _Q, _n, _i);
1066#line 1066 OMC_FILE"/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/boot/build/tmp/ResolveLoops.c"
1067
1068#line 3037 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
1069 _a = omc_Expression_makeScalarProduct(threadData, _x, _ib);
1070#line 1070 OMC_FILE"/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/boot/build/tmp/ResolveLoops.c"
1071
1072#line 3038 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
1073 tmpMeta[0] = stringAppend(_OMC_LIT14((void*)((char*)(&(_OMC_LIT_STRUCT14).header) + 3)),intString(_i));
1074#line 3038 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
1075 _a = omc_BackendEquation_makeTmpEqnForExp(threadData, _a, tmpMeta[0], _offset, _oeqns, _ovars, _oshared, 0 ,&_oeqns ,&_ovars ,&_oshared, NULL((void*)0), NULL((void*)0));
1076#line 1076 OMC_FILE"/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/boot/build/tmp/ResolveLoops.c"
1077
1078#line 3039 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
1079 arrayUpdate(_b, _i, _a)boxptr_arrayUpdate(threadData,_b,mmc_mk_icon(_i),_a);
1080#line 1080 OMC_FILE"/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/boot/build/tmp/ResolveLoops.c"
1081 }
1082 }
1083 _return: OMC_LABEL_UNUSED__attribute__((unused))
1084 if (out_b) { *out_b = _b; }
1085 if (out_oeqns) { *out_oeqns = _oeqns; }
1086 if (out_ovars) { *out_ovars = _ovars; }
1087 if (out_oshared) { *out_oshared = _oshared; }
1088 return _R;
1089}
1090PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_ResolveLoops_qrDecomposition(threadData_t *threadData, modelica_metatype _A, modelica_metatype _n, modelica_metatype _ib, modelica_metatype _ieqns, modelica_metatype _ivars, modelica_metatype _offset, modelica_metatype _ishared, modelica_metatype *out_b, modelica_metatype *out_oeqns, modelica_metatype *out_ovars, modelica_metatype *out_oshared)
1091{
1092 modelica_integer tmp1;
1093 modelica_integer tmp2;
1094 modelica_metatype _R = NULL((void*)0);
1095 tmp1 = mmc_unbox_integer(_n)(((mmc_sint_t) (_n)) >> 1);
1096 tmp2 = mmc_unbox_integer(_offset)(((mmc_sint_t) (_offset)) >> 1);
1097 _R = omc_ResolveLoops_qrDecomposition(threadData, _A, tmp1, _ib, _ieqns, _ivars, tmp2, _ishared, out_b, out_oeqns, out_ovars, out_oshared);
1098 /* skip box _R; array<DAE.Exp> */
1099 /* skip box _b; array<DAE.Exp> */
1100 /* skip box _oeqns; ExpandableArray<BackendDAE.Equation> */
1101 /* skip box _ovars; BackendDAE.Variables */
1102 /* skip box _oshared; BackendDAE.Shared */
1103 return _R;
1104}
1105
1106PROTECTED_FUNCTION_STATIC modelica_metatype omc_ResolveLoops_qrCalc__alpha(threadData_t *threadData, modelica_metatype _y, modelica_metatype _y1, modelica_integer _m)
1107{
1108 modelica_metatype _alpha = NULL((void*)0);
1109 modelica_metatype _sgn_y1 = NULL((void*)0);
1110 modelica_metatype _norm_y = NULL((void*)0);
1111 modelica_metatype tmpMeta[2] __attribute__((unused)) = {0};
1112 MMC_SO()mmc_check_stackoverflow(threadData);
1113 _tailrecursive: OMC_LABEL_UNUSED__attribute__((unused))
1114 // _alpha has no default value.
1115 _sgn_y1 = omc_Expression_makeSign(threadData, _y1);
1116 _norm_y = omc_Expression_lenVec(threadData, _y);
1117#line 2950 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
1118 {
1119#line 2950 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
1120 modelica_metatype _D_24tmpVar1;
1121#line 2950 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
1122 modelica_metatype* tmp1;
1123#line 2950 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
1124 modelica_metatype _D_24tmpVar0;
1125#line 2950 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
1126 int tmp2;
1127#line 2950 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
1128 modelica_integer tmp3;
1129#line 2950 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
1130 modelica_integer tmp4;
1131#line 2950 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
1132 modelica_integer _j;
1133#line 2950 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
1134 tmp3 = 1 /* Range step-value */;
1135#line 2950 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
1136 tmp4 = _m /* Range stop-value */;
1137#line 2950 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
1138 _j = ((modelica_integer) 1) /* Range start-value */;
1139#line 2950 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
1140 _j = (((modelica_integer) 1) /* Range start-value */)-tmp3;
1141#line 2950 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
1142 tmpMeta[1] = MMC_REFSTRUCTLIT(mmc_nil)((void*)((char*)(&(mmc_nil).header) + 3));
1143#line 2950 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
1144 _D_24tmpVar1 = tmpMeta[1]; /* defaultValue */
1145#line 2950 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
1146 tmp1 = &_D_24tmpVar1;
1147#line 2950 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
1148 while(1) {
1149#line 2950 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
1150 tmp2 = 1;
1151#line 2950 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
1152 if (tmp3 > 0 ? _j+tmp3 <= tmp4 : _j+tmp3 >= tmp4) {
1153#line 2950 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
1154 _j += tmp3;
1155#line 2950 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
1156 tmp2--;
1157#line 2950 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
1158 }
1159#line 2950 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
1160 if (tmp2 == 0) {
1161#line 2950 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
1162 _D_24tmpVar0 = omc_Expression_expPow(threadData, arrayGet(_y, _j)nobox_arrayGet(threadData,_y,_j), _OMC_LIT16((void*)((char*)(&(_OMC_LIT_STRUCT16).header) + 3)));
1163#line 2950 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
1164 *tmp1 = mmc_mk_cons(_D_24tmpVar0,0);
1165#line 2950 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
1166 tmp1 = &MMC_CDR(*tmp1)(*(void**)(((void*)((void**)(((void*)((char*)(*tmp1) - 3))) +
(2)))))
;
1167#line 2950 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
1168 } else if (tmp2 == 1) {
1169#line 2950 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
1170 break;
1171#line 2950 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
1172 } else {
1173#line 2950 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
1174 MMC_THROW_INTERNAL(){longjmp(*threadData->mmc_jumper,1);};
1175#line 2950 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
1176 }
1177#line 2950 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
1178 }
1179#line 2950 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
1180 *tmp1 = mmc_mk_nil()((void*)((char*)(&(mmc_nil).header) + 3));
1181#line 2950 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
1182 tmpMeta[0] = _D_24tmpVar1;
1183#line 2950 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
1184 }
1185#line 2950 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
1186 _norm_y = omc_Expression_makeSum1(threadData, tmpMeta[0], 0);
1187#line 1187 OMC_FILE"/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/boot/build/tmp/ResolveLoops.c"
1188
1189#line 2951 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
1190 tmpMeta[0] = mmc_mk_cons(_norm_y, MMC_REFSTRUCTLIT(mmc_nil)((void*)((char*)(&(mmc_nil).header) + 3)));
1191#line 2951 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
1192 _norm_y = omc_Expression_makePureBuiltinCall(threadData, _OMC_LIT17((void*)((char*)(&(_OMC_LIT_STRUCT17).header) + 3)), tmpMeta[0], _OMC_LIT18((void*)((char*)(&(_OMC_LIT_STRUCT18).header) + 3)));
1193#line 1193 OMC_FILE"/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/boot/build/tmp/ResolveLoops.c"
1194
1195#line 2952 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
1196 _alpha = omc_Expression_expMul(threadData, _sgn_y1, _norm_y);
1197#line 1197 OMC_FILE"/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/boot/build/tmp/ResolveLoops.c"
1198 _return: OMC_LABEL_UNUSED__attribute__((unused))
1199 return _alpha;
1200}
1201PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_ResolveLoops_qrCalc__alpha(threadData_t *threadData, modelica_metatype _y, modelica_metatype _y1, modelica_metatype _m)
1202{
1203 modelica_integer tmp1;
1204 modelica_metatype _alpha = NULL((void*)0);
1205 tmp1 = mmc_unbox_integer(_m)(((mmc_sint_t) (_m)) >> 1);
1206 _alpha = omc_ResolveLoops_qrCalc__alpha(threadData, _y, _y1, tmp1);
1207 /* skip box _alpha; DAE.Exp */
1208 return _alpha;
1209}
1210
1211PROTECTED_FUNCTION_STATIC void omc_ResolveLoops_qrGet__cA(threadData_t *threadData, modelica_metatype _A, modelica_integer _iter, modelica_integer _j, modelica_integer _n, modelica_metatype _cA)
1212{
1213 modelica_integer _shift;
1214 modelica_integer _m;
1215 modelica_integer tmp1;
1216 modelica_integer tmp2;
1217 modelica_integer tmp3;
1218 modelica_integer tmp4;
1219 modelica_integer tmp5;
1220 modelica_integer tmp6;
1221 MMC_SO()mmc_check_stackoverflow(threadData);
1222 _tailrecursive: OMC_LABEL_UNUSED__attribute__((unused))
1223 _shift = ((modelica_integer) -1) + (((modelica_integer) -1) + _iter) * (_n) + _iter + _j;
1224 _m = ((modelica_integer) 1) + _n - _iter;
1225#line 2926 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
1226 tmp1 = ((modelica_integer) 1); tmp2 = 1; tmp3 = _m;
1227#line 2926 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
1228 if(!(((tmp2 > 0) && (tmp1 > tmp3)) || ((tmp2 < 0) && (tmp1 < tmp3))))
1229#line 2926 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
1230 {
1231#line 2926 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
1232 modelica_integer _i;
1233#line 2926 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
1234 for(_i = ((modelica_integer) 1); in_range_integer(_i, tmp1, tmp3); _i += tmp2)
1235#line 2926 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
1236 {
1237#line 2927 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
1238 arrayUpdate(_cA, _i, arrayGet(_A, _shift + (((modelica_integer) -1) + _i) * (_n)))boxptr_arrayUpdate(threadData,_cA,mmc_mk_icon(_i),nobox_arrayGet
(threadData,_A,_shift + (((modelica_integer) -1) + _i) * (_n)
))
;
1239#line 1239 OMC_FILE"/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/boot/build/tmp/ResolveLoops.c"
1240 }
1241 }
1242
1243#line 2930 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
1244 tmp4 = ((modelica_integer) 1) + _m; tmp5 = 1; tmp6 = _n;
1245#line 2930 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
1246 if(!(((tmp5 > 0) && (tmp4 > tmp6)) || ((tmp5 < 0) && (tmp4 < tmp6))))
1247#line 2930 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
1248 {
1249#line 2930 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
1250 modelica_integer _i;
1251#line 2930 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
1252 for(_i = ((modelica_integer) 1) + _m; in_range_integer(_i, tmp4, tmp6); _i += tmp5)
1253#line 2930 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
1254 {
1255#line 2931 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
1256 arrayUpdate(_cA, _i, _OMC_LIT8)boxptr_arrayUpdate(threadData,_cA,mmc_mk_icon(_i),((void*)((char
*)(&(_OMC_LIT_STRUCT8).header) + 3)))
;
1257#line 1257 OMC_FILE"/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/boot/build/tmp/ResolveLoops.c"
1258 }
1259 }
1260 _return: OMC_LABEL_UNUSED__attribute__((unused))
1261 return;
1262}
1263PROTECTED_FUNCTION_STATIC void boxptr_ResolveLoops_qrGet__cA(threadData_t *threadData, modelica_metatype _A, modelica_metatype _iter, modelica_metatype _j, modelica_metatype _n, modelica_metatype _cA)
1264{
1265 modelica_integer tmp1;
1266 modelica_integer tmp2;
1267 modelica_integer tmp3;
1268 tmp1 = mmc_unbox_integer(_iter)(((mmc_sint_t) (_iter)) >> 1);
1269 tmp2 = mmc_unbox_integer(_j)(((mmc_sint_t) (_j)) >> 1);
1270 tmp3 = mmc_unbox_integer(_n)(((mmc_sint_t) (_n)) >> 1);
1271 omc_ResolveLoops_qrGet__cA(threadData, _A, tmp1, tmp2, tmp3, _cA);
1272 return;
1273}
1274
1275PROTECTED_FUNCTION_STATIC modelica_metatype omc_ResolveLoops_qrDecompositionHouseholder(threadData_t *threadData, modelica_metatype _A, modelica_integer _n, modelica_metatype _ib, modelica_metatype _ieqns, modelica_metatype _ivars, modelica_integer _offset, modelica_metatype _ishared, modelica_metatype *out_b, modelica_metatype *out_oeqns, modelica_metatype *out_ovars, modelica_metatype *out_oshared)
1276{
1277 modelica_metatype _R = NULL((void*)0);
1278 modelica_metatype _b = NULL((void*)0);
1279 modelica_metatype _oeqns = NULL((void*)0);
1280 modelica_metatype _ovars = NULL((void*)0);
1281 modelica_metatype _oshared = NULL((void*)0);
1282 modelica_metatype _cA = NULL((void*)0);
1283 modelica_metatype _v = NULL((void*)0);
1284 modelica_metatype _alpha = NULL((void*)0);
1285 modelica_metatype _y1 = NULL((void*)0);
1286 modelica_metatype _h = NULL((void*)0);
1287 modelica_metatype _h2 = NULL((void*)0);
1288 modelica_metatype _e1 = NULL((void*)0);
1289 modelica_metatype _e2 = NULL((void*)0);
1290 modelica_metatype _e = NULL((void*)0);
1291 modelica_integer _m;
1292 modelica_integer _nn;
1293 modelica_integer _idxVars;
1294 modelica_integer _shift;
1295 modelica_integer tmp1;
1296 modelica_integer tmp2;
1297 modelica_integer tmp3;
1298 modelica_integer tmp4;
1299 modelica_integer tmp5;
1300 modelica_integer tmp6;
1301 modelica_integer tmp7;
1302 modelica_integer tmp8;
1303 modelica_integer tmp9;
1304 modelica_integer tmp10;
1305 modelica_integer tmp11;
1306 modelica_integer tmp12;
1307 modelica_integer tmp13;
1308 modelica_integer tmp14;
1309 modelica_integer tmp15;
1310 modelica_integer tmp16;
1311 modelica_integer tmp17;
1312 modelica_integer tmp18;
1313 modelica_metatype tmpMeta[1] __attribute__((unused)) = {0};
1314 MMC_SO()mmc_check_stackoverflow(threadData);
1315 _tailrecursive: OMC_LABEL_UNUSED__attribute__((unused))
1316 _R = _A;
1317 _b = _ib;
1318 _oeqns = _ieqns;
1319 _ovars = _ivars;
1320 _oshared = _ishared;
1321 _cA = arrayCreate(_n, _OMC_LIT8((void*)((char*)(&(_OMC_LIT_STRUCT8).header) + 3)));
1322 _v = arrayCreate(_n, _OMC_LIT8((void*)((char*)(&(_OMC_LIT_STRUCT8).header) + 3)));
1323 // _alpha has no default value.
1324 // _y1 has no default value.
1325 // _h has no default value.
1326 // _h2 has no default value.
1327 // _e1 has no default value.
1328 // _e2 has no default value.
1329 // _e has no default value.
1330 // _m has no default value.
1331 _nn = ((modelica_integer) -1) + _n;
1332 _idxVars = ((modelica_integer) 1);
1333 // _shift has no default value.
1334#line 2837 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
1335 tmp16 = ((modelica_integer) 1); tmp17 = 1; tmp18 = _nn;
1336#line 2837 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
1337 if(!(((tmp17 > 0) && (tmp16 > tmp18)) || ((tmp17 < 0) && (tmp16 < tmp18))))
1338#line 2837 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
1339 {
1340#line 2837 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
1341 modelica_integer _iter;
1342#line 2837 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
1343 for(_iter = ((modelica_integer) 1); in_range_integer(_iter, tmp16, tmp18); _iter += tmp17)
1344#line 2837 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
1345 {
1346#line 2838 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
1347 _m = ((modelica_integer) 1) + _n - _iter;
1348#line 1348 OMC_FILE"/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/boot/build/tmp/ResolveLoops.c"
1349
1350#line 2841 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
1351 omc_ResolveLoops_qrGet__cA(threadData, _A, _iter, ((modelica_integer) 1), _n, _v);
1352#line 1352 OMC_FILE"/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/boot/build/tmp/ResolveLoops.c"
1353
1354#line 2842 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
1355 _y1 = arrayGet(_v, ((modelica_integer) 1))nobox_arrayGet(threadData,_v,((modelica_integer) 1));
1356#line 1356 OMC_FILE"/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/boot/build/tmp/ResolveLoops.c"
1357
1358#line 2844 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
1359 _alpha = omc_ResolveLoops_qrCalc__alpha(threadData, _v, _y1, _m);
1360#line 1360 OMC_FILE"/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/boot/build/tmp/ResolveLoops.c"
1361
1362#line 2845 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
1363 tmpMeta[0] = stringAppend(_OMC_LIT19((void*)((char*)(&(_OMC_LIT_STRUCT19).header) + 3)),intString(_iter));
1364#line 2845 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
1365 _alpha = omc_BackendEquation_makeTmpEqnForExp(threadData, _alpha, tmpMeta[0], _offset, _oeqns, _ovars, _oshared, 0 ,&_oeqns ,&_ovars ,&_oshared, NULL((void*)0), NULL((void*)0));
1366#line 1366 OMC_FILE"/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/boot/build/tmp/ResolveLoops.c"
1367
1368#line 2848 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
1369 _e = omc_Expression_expAdd(threadData, _y1, _alpha);
1370#line 1370 OMC_FILE"/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/boot/build/tmp/ResolveLoops.c"
1371
1372#line 2849 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
1373 tmpMeta[0] = stringAppend(_OMC_LIT20((void*)((char*)(&(_OMC_LIT_STRUCT20).header) + 3)),intString(_iter));
1374#line 2849 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
1375 _e = omc_BackendEquation_makeTmpEqnForExp(threadData, _e, tmpMeta[0], _offset, _oeqns, _ovars, _oshared, 0 ,&_oeqns ,&_ovars ,&_oshared, NULL((void*)0), NULL((void*)0));
1376#line 1376 OMC_FILE"/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/boot/build/tmp/ResolveLoops.c"
1377
1378#line 2850 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
1379 arrayUpdate(_v, ((modelica_integer) 1), _e)boxptr_arrayUpdate(threadData,_v,mmc_mk_icon(((modelica_integer
) 1)),_e)
;
1380#line 1380 OMC_FILE"/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/boot/build/tmp/ResolveLoops.c"
1381
1382#line 2853 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
1383 _h = omc_Expression_expAdd(threadData, _y1, _alpha);
1384#line 1384 OMC_FILE"/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/boot/build/tmp/ResolveLoops.c"
1385
1386#line 2854 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
1387 _h = omc_Expression_expMul(threadData, _alpha, _h);
1388#line 1388 OMC_FILE"/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/boot/build/tmp/ResolveLoops.c"
1389
1390#line 2855 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
1391 _h = omc_Expression_negate(threadData, _h);
1392#line 1392 OMC_FILE"/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/boot/build/tmp/ResolveLoops.c"
1393
1394#line 2856 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
1395 tmpMeta[0] = stringAppend(_OMC_LIT21((void*)((char*)(&(_OMC_LIT_STRUCT21).header) + 3)),intString(_iter));
1396#line 2856 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
1397 _h = omc_BackendEquation_makeTmpEqnForExp(threadData, _h, tmpMeta[0], _offset, _oeqns, _ovars, _oshared, 0 ,&_oeqns ,&_ovars ,&_oshared, NULL((void*)0), NULL((void*)0));
1398#line 1398 OMC_FILE"/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/boot/build/tmp/ResolveLoops.c"
1399
1400#line 2858 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
1401 _shift = (((modelica_integer) -1) + _iter) * (_n) + _iter;
1402#line 1402 OMC_FILE"/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/boot/build/tmp/ResolveLoops.c"
1403
1404#line 2860 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
1405 arrayUpdate(_R, _shift, omc_Expression_negate(threadData, _alpha))boxptr_arrayUpdate(threadData,_R,mmc_mk_icon(_shift),omc_Expression_negate
(threadData, _alpha))
;
1406#line 1406 OMC_FILE"/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/boot/build/tmp/ResolveLoops.c"
1407
1408#line 2861 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
1409 tmp1 = ((modelica_integer) 2); tmp2 = 1; tmp3 = _m;
1410#line 2861 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
1411 if(!(((tmp2 > 0) && (tmp1 > tmp3)) || ((tmp2 < 0) && (tmp1 < tmp3))))
1412#line 2861 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
1413 {
1414#line 2861 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
1415 modelica_integer _j;
1416#line 2861 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
1417 for(_j = ((modelica_integer) 2); in_range_integer(_j, tmp1, tmp3); _j += tmp2)
1418#line 2861 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
1419 {
1420#line 2862 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
1421 arrayUpdate(_R, _shift + (((modelica_integer) -1) + _j) * (_n), _OMC_LIT8)boxptr_arrayUpdate(threadData,_R,mmc_mk_icon(_shift + (((modelica_integer
) -1) + _j) * (_n)),((void*)((char*)(&(_OMC_LIT_STRUCT8).
header) + 3)))
;
1422#line 1422 OMC_FILE"/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/boot/build/tmp/ResolveLoops.c"
1423 }
1424 }
1425
1426#line 2865 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
1427 tmp7 = ((modelica_integer) 2); tmp8 = 1; tmp9 = _m;
1428#line 2865 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
1429 if(!(((tmp8 > 0) && (tmp7 > tmp9)) || ((tmp8 < 0) && (tmp7 < tmp9))))
1430#line 2865 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
1431 {
1432#line 2865 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
1433 modelica_integer _col;
1434#line 2865 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
1435 for(_col = ((modelica_integer) 2); in_range_integer(_col, tmp7, tmp9); _col += tmp8)
1436#line 2865 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
1437 {
1438#line 2866 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
1439 omc_ResolveLoops_qrGet__cA(threadData, _A, _iter, _col, _n, _cA);
1440#line 1440 OMC_FILE"/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/boot/build/tmp/ResolveLoops.c"
1441
1442#line 2867 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
1443 _h2 = omc_Expression_makeScalarProduct(threadData, _v, _cA);
1444#line 1444 OMC_FILE"/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/boot/build/tmp/ResolveLoops.c"
1445
1446#line 2868 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
1447 _h2 = omc_Expression_expDiv(threadData, _h2, _h);
1448#line 1448 OMC_FILE"/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/boot/build/tmp/ResolveLoops.c"
1449
1450#line 2869 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
1451 tmpMeta[0] = stringAppend(_OMC_LIT22((void*)((char*)(&(_OMC_LIT_STRUCT22).header) + 3)),intString(_idxVars));
1452#line 2869 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
1453 _h2 = omc_BackendEquation_makeTmpEqnForExp(threadData, _h2, tmpMeta[0], _offset, _oeqns, _ovars, _oshared, 0 ,&_oeqns ,&_ovars ,&_oshared, NULL((void*)0), NULL((void*)0));
1454#line 1454 OMC_FILE"/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/boot/build/tmp/ResolveLoops.c"
1455
1456#line 2870 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
1457 _idxVars = ((modelica_integer) 1) + _idxVars;
1458#line 1458 OMC_FILE"/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/boot/build/tmp/ResolveLoops.c"
1459
1460#line 2872 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
1461 tmp4 = ((modelica_integer) 1); tmp5 = 1; tmp6 = _m;
1462#line 2872 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
1463 if(!(((tmp5 > 0) && (tmp4 > tmp6)) || ((tmp5 < 0) && (tmp4 < tmp6))))
1464#line 2872 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
1465 {
1466#line 2872 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
1467 modelica_integer _j;
1468#line 2872 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
1469 for(_j = ((modelica_integer) 1); in_range_integer(_j, tmp4, tmp6); _j += tmp5)
1470#line 2872 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
1471 {
1472#line 2873 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
1473 _e1 = arrayGet(_cA, _j)nobox_arrayGet(threadData,_cA,_j);
1474#line 1474 OMC_FILE"/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/boot/build/tmp/ResolveLoops.c"
1475
1476#line 2874 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
1477 _e2 = arrayGet(_v, _j)nobox_arrayGet(threadData,_v,_j);
1478#line 1478 OMC_FILE"/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/boot/build/tmp/ResolveLoops.c"
1479
1480#line 2875 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
1481 _e = omc_Expression_expAdd(threadData, _e1, omc_Expression_expMul(threadData, _h2, _e2));
1482#line 1482 OMC_FILE"/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/boot/build/tmp/ResolveLoops.c"
1483
1484#line 2876 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
1485 tmpMeta[0] = stringAppend(_OMC_LIT13((void*)((char*)(&(_OMC_LIT_STRUCT13).header) + 3)),intString(_idxVars));
1486#line 2876 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
1487 _e = omc_BackendEquation_makeTmpEqnForExp(threadData, _e, tmpMeta[0], _offset, _oeqns, _ovars, _oshared, 0 ,&_oeqns ,&_ovars ,&_oshared, NULL((void*)0), NULL((void*)0));
1488#line 1488 OMC_FILE"/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/boot/build/tmp/ResolveLoops.c"
1489
1490#line 2877 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
1491 _idxVars = ((modelica_integer) 1) + _idxVars;
1492#line 1492 OMC_FILE"/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/boot/build/tmp/ResolveLoops.c"
1493
1494#line 2879 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
1495 arrayUpdate(_A, ((modelica_integer) -1) + _shift + (((modelica_integer) -1) + _j) * (_n) + _col, _e)boxptr_arrayUpdate(threadData,_A,mmc_mk_icon(((modelica_integer
) -1) + _shift + (((modelica_integer) -1) + _j) * (_n) + _col
),_e)
;
1496#line 1496 OMC_FILE"/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/boot/build/tmp/ResolveLoops.c"
1497 }
1498 }
1499 }
1500 }
1501
1502#line 2883 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
1503 tmp10 = ((modelica_integer) 1); tmp11 = 1; tmp12 = _m;
1504#line 2883 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
1505 if(!(((tmp11 > 0) && (tmp10 > tmp12)) || ((tmp11 < 0) && (tmp10 < tmp12))))
1506#line 2883 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
1507 {
1508#line 2883 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
1509 modelica_integer _j;
1510#line 2883 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
1511 for(_j = ((modelica_integer) 1); in_range_integer(_j, tmp10, tmp12); _j += tmp11)
1512#line 2883 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
1513 {
1514#line 2884 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
1515 arrayUpdate(_cA, _j, arrayGet(_b, ((modelica_integer) -1) + _iter + _j))boxptr_arrayUpdate(threadData,_cA,mmc_mk_icon(_j),nobox_arrayGet
(threadData,_b,((modelica_integer) -1) + _iter + _j))
;
1516#line 1516 OMC_FILE"/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/boot/build/tmp/ResolveLoops.c"
1517 }
1518 }
1519
1520#line 2887 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
1521 _h2 = omc_Expression_makeScalarProduct(threadData, _v, _cA);
1522#line 1522 OMC_FILE"/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/boot/build/tmp/ResolveLoops.c"
1523
1524#line 2888 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
1525 _h2 = omc_Expression_expDiv(threadData, _h2, _h);
1526#line 1526 OMC_FILE"/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/boot/build/tmp/ResolveLoops.c"
1527
1528#line 2889 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
1529 tmpMeta[0] = stringAppend(_OMC_LIT23((void*)((char*)(&(_OMC_LIT_STRUCT23).header) + 3)),intString(_idxVars));
1530#line 2889 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
1531 _h2 = omc_BackendEquation_makeTmpEqnForExp(threadData, _h2, tmpMeta[0], _offset, _oeqns, _ovars, _oshared, 0 ,&_oeqns ,&_ovars ,&_oshared, NULL((void*)0), NULL((void*)0));
1532#line 1532 OMC_FILE"/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/boot/build/tmp/ResolveLoops.c"
1533
1534#line 2890 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
1535 _idxVars = ((modelica_integer) 1) + _idxVars;
1536#line 1536 OMC_FILE"/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/boot/build/tmp/ResolveLoops.c"
1537
1538#line 2893 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
1539 tmp13 = ((modelica_integer) 1); tmp14 = 1; tmp15 = _m;
1540#line 2893 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
1541 if(!(((tmp14 > 0) && (tmp13 > tmp15)) || ((tmp14 < 0) && (tmp13 < tmp15))))
1542#line 2893 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
1543 {
1544#line 2893 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
1545 modelica_integer _j;
1546#line 2893 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
1547 for(_j = ((modelica_integer) 1); in_range_integer(_j, tmp13, tmp15); _j += tmp14)
1548#line 2893 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
1549 {
1550#line 2894 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
1551 _e1 = arrayGet(_cA, _j)nobox_arrayGet(threadData,_cA,_j);
1552#line 1552 OMC_FILE"/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/boot/build/tmp/ResolveLoops.c"
1553
1554#line 2895 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
1555 _e2 = arrayGet(_v, _j)nobox_arrayGet(threadData,_v,_j);
1556#line 1556 OMC_FILE"/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/boot/build/tmp/ResolveLoops.c"
1557
1558#line 2896 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
1559 _e = omc_Expression_expAdd(threadData, _e1, omc_Expression_expMul(threadData, _h2, _e2));
1560#line 1560 OMC_FILE"/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/boot/build/tmp/ResolveLoops.c"
1561
1562#line 2897 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
1563 _e = omc_Expression_expand(threadData, _e);
1564#line 1564 OMC_FILE"/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/boot/build/tmp/ResolveLoops.c"
1565
1566#line 2898 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
1567 _e = omc_ExpressionSimplify_simplify2(threadData, _e, 1, 1);
1568#line 1568 OMC_FILE"/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/boot/build/tmp/ResolveLoops.c"
1569
1570#line 2899 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
1571 tmpMeta[0] = stringAppend(_OMC_LIT24((void*)((char*)(&(_OMC_LIT_STRUCT24).header) + 3)),intString(_idxVars));
1572#line 2899 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
1573 _e = omc_BackendEquation_makeTmpEqnForExp(threadData, _e, tmpMeta[0], _offset, _oeqns, _ovars, _oshared, 0 ,&_oeqns ,&_ovars ,&_oshared, NULL((void*)0), NULL((void*)0));
1574#line 1574 OMC_FILE"/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/boot/build/tmp/ResolveLoops.c"
1575
1576#line 2900 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
1577 _idxVars = ((modelica_integer) 1) + _idxVars;
1578#line 1578 OMC_FILE"/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/boot/build/tmp/ResolveLoops.c"
1579
1580#line 2902 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
1581 arrayUpdate(_b, ((modelica_integer) -1) + _iter + _j, _e)boxptr_arrayUpdate(threadData,_b,mmc_mk_icon(((modelica_integer
) -1) + _iter + _j),_e)
;
1582#line 1582 OMC_FILE"/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/boot/build/tmp/ResolveLoops.c"
1583 }
1584 }
1585 }
1586 }
1587 _return: OMC_LABEL_UNUSED__attribute__((unused))
1588 if (out_b) { *out_b = _b; }
1589 if (out_oeqns) { *out_oeqns = _oeqns; }
1590 if (out_ovars) { *out_ovars = _ovars; }
1591 if (out_oshared) { *out_oshared = _oshared; }
1592 return _R;
1593}
1594PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_ResolveLoops_qrDecompositionHouseholder(threadData_t *threadData, modelica_metatype _A, modelica_metatype _n, modelica_metatype _ib, modelica_metatype _ieqns, modelica_metatype _ivars, modelica_metatype _offset, modelica_metatype _ishared, modelica_metatype *out_b, modelica_metatype *out_oeqns, modelica_metatype *out_ovars, modelica_metatype *out_oshared)
1595{
1596 modelica_integer tmp1;
1597 modelica_integer tmp2;
1598 modelica_metatype _R = NULL((void*)0);
1599 tmp1 = mmc_unbox_integer(_n)(((mmc_sint_t) (_n)) >> 1);
1600 tmp2 = mmc_unbox_integer(_offset)(((mmc_sint_t) (_offset)) >> 1);
1601 _R = omc_ResolveLoops_qrDecompositionHouseholder(threadData, _A, tmp1, _ib, _ieqns, _ivars, tmp2, _ishared, out_b, out_oeqns, out_ovars, out_oshared);
1602 /* skip box _R; array<DAE.Exp> */
1603 /* skip box _b; array<DAE.Exp> */
1604 /* skip box _oeqns; ExpandableArray<BackendDAE.Equation> */
1605 /* skip box _ovars; BackendDAE.Variables */
1606 /* skip box _oshared; BackendDAE.Shared */
1607 return _R;
1608}
1609
1610PROTECTED_FUNCTION_STATIC modelica_metatype omc_ResolveLoops_solveLinearSystem4(threadData_t *threadData, modelica_metatype _b_lst, modelica_metatype _jac, modelica_metatype _cr_x, modelica_metatype _var_lst, modelica_integer _n, modelica_metatype _ieqns, modelica_metatype _ivars, modelica_integer _offset, modelica_metatype _ishared, modelica_metatype *out_ovars, modelica_integer *out_offset_, modelica_metatype *out_oshared)
1611{
1612 modelica_metatype _oeqns = NULL((void*)0);
1613 modelica_metatype _ovars = NULL((void*)0);
1614 modelica_integer _offset_;
1615 modelica_metatype _oshared = NULL((void*)0);
1616 modelica_metatype _R = NULL((void*)0);
1617 modelica_metatype _Qb = NULL((void*)0);
1618 modelica_metatype _b = NULL((void*)0);
1619 modelica_metatype _A = NULL((void*)0);
1620 modelica_metatype _ax = NULL((void*)0);
1621 modelica_metatype _scaled_x = NULL((void*)0);
1622 modelica_metatype _scaleA = NULL((void*)0);
1623 modelica_metatype _a = NULL((void*)0);
1624 modelica_metatype _x = NULL((void*)0);
1625 modelica_integer _m;
1626 modelica_integer _ii;
1627 modelica_integer _jj;
1628 modelica_integer _mm;
1629 modelica_metatype _x_lst = NULL((void*)0);
1630 modelica_metatype _cr = NULL((void*)0);
1631 modelica_metatype _X = NULL((void*)0);
1632 modelica_metatype _detA = NULL((void*)0);
1633 modelica_metatype _detAb = NULL((void*)0);
1634 modelica_metatype _tmpvar = NULL((void*)0);
1635 modelica_string _name = NULL((void*)0);
1636 modelica_metatype _vars = NULL((void*)0);
1637 modelica_metatype _var = NULL((void*)0);
1638 modelica_metatype _eqn = NULL((void*)0);
1639 modelica_metatype _jac_ = NULL((void*)0);
1640 modelica_integer tmp1;
1641 modelica_integer tmp2;
1642 modelica_integer tmp3;
1643 modelica_integer tmp4;
1644 modelica_integer tmp5;
1645 modelica_integer tmp10;
1646 modelica_integer tmp11;
1647 modelica_integer tmp12;
1648 modelica_integer tmp13;
1649 modelica_integer tmp14;
1650 modelica_integer tmp15;
1651 modelica_integer tmp16;
1652 modelica_integer tmp17;
1653 modelica_integer tmp18;
1654 modelica_integer tmp19;
1655 modelica_integer tmp20;
1656 modelica_integer tmp21;
1657 modelica_integer tmp26;
1658 modelica_integer tmp27;
1659 modelica_integer tmp28;
1660 modelica_metatype tmpMeta[7] __attribute__((unused)) = {0};
1661 MMC_SO()mmc_check_stackoverflow(threadData);
1662 _tailrecursive: OMC_LABEL_UNUSED__attribute__((unused))
1663 _oeqns = _ieqns;
1664 _ovars = _ivars;
1665 _offset_ = ((modelica_integer) 1) + _offset;
1666 _oshared = _ishared;
1667 // _R has no default value.
1668 _Qb = arrayCreate(_n, _OMC_LIT8((void*)((char*)(&(_OMC_LIT_STRUCT8).header) + 3)));
1669 _b = arrayCreate(_n, _OMC_LIT8((void*)((char*)(&(_OMC_LIT_STRUCT8).header) + 3)));
1670 _A = arrayCreate((_n) * (_n), _OMC_LIT8((void*)((char*)(&(_OMC_LIT_STRUCT8).header) + 3)));
1671 _ax = arrayCreate(_n, _OMC_LIT8((void*)((char*)(&(_OMC_LIT_STRUCT8).header) + 3)));
1672 _scaled_x = arrayCreate(_n, _OMC_LIT8((void*)((char*)(&(_OMC_LIT_STRUCT8).header) + 3)));
1673 _scaleA = arrayCreate(_n, _OMC_LIT8((void*)((char*)(&(_OMC_LIT_STRUCT8).header) + 3)));
1674 // _a has no default value.
1675 // _x has no default value.
1676 // _m has no default value.
1677 // _ii has no default value.
1678 // _jj has no default value.
1679 // _mm has no default value.
1680 _x_lst = omc_List_map(threadData, _cr_x, boxvar_Expression_crefExp((void*)((char*)(&(boxvar_lit_Expression_crefExp).header)
+ 3))
);
1681 // _cr has no default value.
1682 _X = _cr_x;
1683 // _detA has no default value.
1684 // _detAb has no default value.
1685 // _tmpvar has no default value.
1686 // _name has no default value.
1687 _vars = _var_lst;
1688 // _var has no default value.
1689 // _eqn has no default value.
1690 _jac_ = _jac;
1691#line 2730 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
1692 _mm = listLength(_jac);
1693#line 1693 OMC_FILE"/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/boot/build/tmp/ResolveLoops.c"
1694
1695#line 2732 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
1696 tmp3 = ((modelica_integer) 1); tmp4 = 1; tmp5 = _mm;
1697#line 2732 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
1698 if(!(((tmp4 > 0) && (tmp3 > tmp5)) || ((tmp4 < 0) && (tmp3 < tmp5))))
1699#line 2732 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
1700 {
1701#line 2732 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
1702 modelica_integer _i;
1703#line 2732 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
1704 for(_i = ((modelica_integer) 1); in_range_integer(_i, tmp3, tmp5); _i += tmp4)
1705#line 2732 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
1706 {
1707#line 2733 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
1708 /* Pattern-matching assignment */
1709#line 2733 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
1710 tmpMeta[0] = _jac_;
1711#line 2733 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
1712 if (listEmpty(tmpMeta[0])((*(mmc_uint_t*)((void*)((char*)(tmpMeta[0]) - 3))) == (((0) <<
10) + (((0) & 255) << 2)))
) MMC_THROW_INTERNAL(){longjmp(*threadData->mmc_jumper,1);};
1713#line 2733 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
1714 tmpMeta[1] = MMC_CAR(tmpMeta[0])(*(void**)(((void*)((void**)(((void*)((char*)(tmpMeta[0]) - 3
))) + (1)))))
;
1715#line 2733 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
1716 tmpMeta[2] = MMC_CDR(tmpMeta[0])(*(void**)(((void*)((void**)(((void*)((char*)(tmpMeta[0]) - 3
))) + (2)))))
;
1717#line 2733 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
1718 tmpMeta[3] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[1]), 1))(*(void**)(((void*)((void**)(((void*)((char*)(tmpMeta[1]) - 3
))) + (1)))))
;
1719#line 2733 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
1720 tmp1 = mmc_unbox_integer(tmpMeta[3])(((mmc_sint_t) (tmpMeta[3])) >> 1);
1721#line 2733 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
1722 tmpMeta[4] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[1]), 2))(*(void**)(((void*)((void**)(((void*)((char*)(tmpMeta[1]) - 3
))) + (2)))))
;
1723#line 2733 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
1724 tmp2 = mmc_unbox_integer(tmpMeta[4])(((mmc_sint_t) (tmpMeta[4])) >> 1);
1725#line 2733 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
1726 tmpMeta[5] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[1]), 3))(*(void**)(((void*)((void**)(((void*)((char*)(tmpMeta[1]) - 3
))) + (3)))))
;
1727#line 2733 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
1728 if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[5],3,3)((*(mmc_uint_t*)((void*)((char*)(tmpMeta[5]) - 3)))==(((3 +1)
<< 10) + (((3 +3) & 255) << 2)))
== 0) MMC_THROW_INTERNAL(){longjmp(*threadData->mmc_jumper,1);};
1729#line 2733 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
1730 tmpMeta[6] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[5]), 2))(*(void**)(((void*)((void**)(((void*)((char*)(tmpMeta[5]) - 3
))) + (2)))))
;
1731#line 2733 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
1732 _jj = tmp1 /* pattern as ty=Integer */;
1733#line 2733 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
1734 _ii = tmp2 /* pattern as ty=Integer */;
1735#line 2733 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
1736 _a = tmpMeta[6];
1737#line 2733 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
1738 _jac_ = tmpMeta[2];
1739#line 1739 OMC_FILE"/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/boot/build/tmp/ResolveLoops.c"
1740
1741#line 2734 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
1742 _m = _ii + (((modelica_integer) -1) + _jj) * (_n);
1743#line 1743 OMC_FILE"/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/boot/build/tmp/ResolveLoops.c"
1744
1745#line 2735 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
1746 tmpMeta[0] = stringAppend(_OMC_LIT25((void*)((char*)(&(_OMC_LIT_STRUCT25).header) + 3)),intString(_m));
1747#line 2735 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
1748 _a = omc_BackendEquation_makeTmpEqnForExp(threadData, _a, tmpMeta[0], _offset, _oeqns, _ovars, _oshared, 0 ,&_oeqns ,&_ovars ,&_oshared, NULL((void*)0), NULL((void*)0));
1749#line 1749 OMC_FILE"/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/boot/build/tmp/ResolveLoops.c"
1750
1751#line 2736 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
1752 arrayUpdate(_A, _m, _a)boxptr_arrayUpdate(threadData,_A,mmc_mk_icon(_m),_a);
1753#line 1753 OMC_FILE"/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/boot/build/tmp/ResolveLoops.c"
1754 }
1755 }
1756
1757#line 2740 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
1758 tmp10 = ((modelica_integer) 1); tmp11 = 1; tmp12 = _n;
1759#line 2740 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
1760 if(!(((tmp11 > 0) && (tmp10 > tmp12)) || ((tmp11 < 0) && (tmp10 < tmp12))))
1761#line 2740 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
1762 {
1763#line 2740 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
1764 modelica_integer _i;
1765#line 2740 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
1766 for(_i = ((modelica_integer) 1); in_range_integer(_i, tmp10, tmp12); _i += tmp11)
1767#line 2740 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
1768 {
1769#line 2741 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
1770 _m = (((modelica_integer) -1) + _i) * (_n);
1771#line 1771 OMC_FILE"/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/boot/build/tmp/ResolveLoops.c"
1772
1773#line 2742 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
1774 {
1775#line 2742 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
1776 modelica_metatype _D_24tmpVar3;
1777#line 2742 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
1778 modelica_metatype* tmp6;
1779#line 2742 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
1780 modelica_metatype _D_24tmpVar2;
1781#line 2742 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
1782 int tmp7;
1783#line 2742 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
1784 modelica_integer tmp8;
1785#line 2742 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
1786 modelica_integer tmp9;
1787#line 2742 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
1788 modelica_integer _j;
1789#line 2742 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
1790 tmp8 = 1 /* Range step-value */;
1791#line 2742 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
1792 tmp9 = _n /* Range stop-value */;
1793#line 2742 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
1794 _j = ((modelica_integer) 1) /* Range start-value */;
1795#line 2742 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
1796 _j = (((modelica_integer) 1) /* Range start-value */)-tmp8;
1797#line 2742 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
1798 tmpMeta[1] = MMC_REFSTRUCTLIT(mmc_nil)((void*)((char*)(&(mmc_nil).header) + 3));
1799#line 2742 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
1800 _D_24tmpVar3 = tmpMeta[1]; /* defaultValue */
1801#line 2742 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
1802 tmp6 = &_D_24tmpVar3;
1803#line 2742 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
1804 while(1) {
1805#line 2742 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
1806 tmp7 = 1;
1807#line 2742 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
1808 if (tmp8 > 0 ? _j+tmp8 <= tmp9 : _j+tmp8 >= tmp9) {
1809#line 2742 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
1810 _j += tmp8;
1811#line 2742 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
1812 tmp7--;
1813#line 2742 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
1814 }
1815#line 2742 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
1816 if (tmp7 == 0) {
1817#line 2742 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
1818 _D_24tmpVar2 = omc_Expression_makeAbs(threadData, arrayGet(_A, _m + _j)nobox_arrayGet(threadData,_A,_m + _j));
1819#line 2742 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
1820 *tmp6 = mmc_mk_cons(_D_24tmpVar2,0);
1821#line 2742 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
1822 tmp6 = &MMC_CDR(*tmp6)(*(void**)(((void*)((void**)(((void*)((char*)(*tmp6) - 3))) +
(2)))))
;
1823#line 2742 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
1824 } else if (tmp7 == 1) {
1825#line 2742 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
1826 break;
1827#line 2742 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
1828 } else {
1829#line 2742 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
1830 MMC_THROW_INTERNAL(){longjmp(*threadData->mmc_jumper,1);};
1831#line 2742 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
1832 }
1833#line 2742 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
1834 }
1835#line 2742 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
1836 *tmp6 = mmc_mk_nil()((void*)((char*)(&(mmc_nil).header) + 3));
1837#line 2742 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
1838 tmpMeta[0] = _D_24tmpVar3;
1839#line 2742 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
1840 }
1841#line 2742 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
1842 _a = omc_Expression_makeSum1(threadData, tmpMeta[0], 0);
1843#line 1843 OMC_FILE"/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/boot/build/tmp/ResolveLoops.c"
1844
1845#line 2743 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
1846 arrayUpdate(_scaleA, _i, _a)boxptr_arrayUpdate(threadData,_scaleA,mmc_mk_icon(_i),_a);
1847#line 1847 OMC_FILE"/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/boot/build/tmp/ResolveLoops.c"
1848 }
1849 }
1850
1851#line 2747 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
1852 tmp16 = ((modelica_integer) 1); tmp17 = 1; tmp18 = _n;
1853#line 2747 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
1854 if(!(((tmp17 > 0) && (tmp16 > tmp18)) || ((tmp17 < 0) && (tmp16 < tmp18))))
1855#line 2747 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
1856 {
1857#line 2747 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
1858 modelica_integer _i;
1859#line 2747 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
1860 for(_i = ((modelica_integer) 1); in_range_integer(_i, tmp16, tmp18); _i += tmp17)
1861#line 2747 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
1862 {
1863#line 2748 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
1864 _m = (((modelica_integer) -1) + _i) * (_n);
1865#line 1865 OMC_FILE"/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/boot/build/tmp/ResolveLoops.c"
1866
1867#line 2749 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
1868 tmp13 = ((modelica_integer) 1); tmp14 = 1; tmp15 = _n;
1869#line 2749 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
1870 if(!(((tmp14 > 0) && (tmp13 > tmp15)) || ((tmp14 < 0) && (tmp13 < tmp15))))
1871#line 2749 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
1872 {
1873#line 2749 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
1874 modelica_integer _j;
1875#line 2749 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
1876 for(_j = ((modelica_integer) 1); in_range_integer(_j, tmp13, tmp15); _j += tmp14)
1877#line 2749 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
1878 {
1879#line 2750 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
1880 _a = arrayGet(_A, _j + _m)nobox_arrayGet(threadData,_A,_j + _m);
1881#line 1881 OMC_FILE"/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/boot/build/tmp/ResolveLoops.c"
1882
1883#line 2751 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
1884 if((!omc_Expression_isZero(threadData, _a)))
1885#line 2751 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
1886 {
1887#line 2752 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
1888 _a = omc_Expression_expDiv(threadData, _a, arrayGet(_scaleA, _j)nobox_arrayGet(threadData,_scaleA,_j));
1889#line 1889 OMC_FILE"/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/boot/build/tmp/ResolveLoops.c"
1890
1891#line 2753 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
1892 tmpMeta[0] = stringAppend(_OMC_LIT26((void*)((char*)(&(_OMC_LIT_STRUCT26).header) + 3)),intString(_i + (((modelica_integer) -1) + _j) * (_n)));
1893#line 2753 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
1894 _a = omc_BackendEquation_makeTmpEqnForExp(threadData, _a, tmpMeta[0], _offset, _oeqns, _ovars, _oshared, 0 ,&_oeqns ,&_ovars ,&_oshared, NULL((void*)0), NULL((void*)0));
1895#line 1895 OMC_FILE"/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/boot/build/tmp/ResolveLoops.c"
1896
1897#line 2754 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
1898 arrayUpdate(_A, _j + _m, _a)boxptr_arrayUpdate(threadData,_A,mmc_mk_icon(_j + _m),_a);
1899#line 1899 OMC_FILE"/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/boot/build/tmp/ResolveLoops.c"
1900 }
1901 }
1902 }
1903 }
1904 }
1905
1906#line 2760 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
1907 _m = ((modelica_integer) 1);
1908#line 1908 OMC_FILE"/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/boot/build/tmp/ResolveLoops.c"
1909
1910#line 2761 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
1911 {
1912#line 2761 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
1913 modelica_metatype _b_;
1914#line 2761 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
1915 for (tmpMeta[0] = _b_lst; !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)))))
)
1916#line 2761 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
1917 {
1918#line 2761 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
1919 _b_ = MMC_CAR(tmpMeta[0])(*(void**)(((void*)((void**)(((void*)((char*)(tmpMeta[0]) - 3
))) + (1)))))
;
1920#line 2762 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
1921 tmpMeta[1] = stringAppend(_OMC_LIT24((void*)((char*)(&(_OMC_LIT_STRUCT24).header) + 3)),intString(_m));
1922#line 2762 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
1923 _a = omc_BackendEquation_makeTmpEqnForExp(threadData, _b_, tmpMeta[1], _offset, _oeqns, _ovars, _oshared, 0 ,&_oeqns ,&_ovars ,&_oshared, NULL((void*)0), NULL((void*)0));
1924#line 1924 OMC_FILE"/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/boot/build/tmp/ResolveLoops.c"
1925
1926#line 2763 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
1927 arrayUpdate(_b, _m, _a)boxptr_arrayUpdate(threadData,_b,mmc_mk_icon(_m),_a);
1928#line 1928 OMC_FILE"/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/boot/build/tmp/ResolveLoops.c"
1929
1930#line 2764 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
1931 _m = ((modelica_integer) 1) + _m;
1932#line 1932 OMC_FILE"/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/boot/build/tmp/ResolveLoops.c"
1933 }
1934 }
1935
1936#line 2769 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
1937 _m = ((modelica_integer) 1);
1938#line 1938 OMC_FILE"/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/boot/build/tmp/ResolveLoops.c"
1939
1940#line 2770 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
1941 {
1942#line 2770 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
1943 modelica_metatype _xx;
1944#line 2770 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
1945 for (tmpMeta[0] = _x_lst; !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)))))
)
1946#line 2770 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
1947 {
1948#line 2770 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
1949 _xx = MMC_CAR(tmpMeta[0])(*(void**)(((void*)((void**)(((void*)((char*)(tmpMeta[0]) - 3
))) + (1)))))
;
1950#line 2771 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
1951 /* Pattern-matching assignment */
1952#line 2771 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
1953 tmpMeta[1] = _vars;
1954#line 2771 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
1955 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);};
1956#line 2771 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
1957 tmpMeta[2] = MMC_CAR(tmpMeta[1])(*(void**)(((void*)((void**)(((void*)((char*)(tmpMeta[1]) - 3
))) + (1)))))
;
1958#line 2771 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
1959 tmpMeta[3] = MMC_CDR(tmpMeta[1])(*(void**)(((void*)((void**)(((void*)((char*)(tmpMeta[1]) - 3
))) + (2)))))
;
1960#line 2771 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
1961 _var = tmpMeta[2];
1962#line 2771 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
1963 _vars = tmpMeta[3];
1964#line 1964 OMC_FILE"/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/boot/build/tmp/ResolveLoops.c"
1965
1966#line 2772 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
1967 if(omc_BackendVariable_isStateVar(threadData, _var))
1968#line 2772 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
1969 {
1970#line 2773 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
1971 arrayUpdate(_ax, _m, omc_Expression_expDer(threadData, _xx))boxptr_arrayUpdate(threadData,_ax,mmc_mk_icon(_m),omc_Expression_expDer
(threadData, _xx))
;
1972#line 1972 OMC_FILE"/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/boot/build/tmp/ResolveLoops.c"
1973 }
1974 else
1975 {
1976#line 2775 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
1977 arrayUpdate(_ax, _m, _xx)boxptr_arrayUpdate(threadData,_ax,mmc_mk_icon(_m),_xx);
1978#line 1978 OMC_FILE"/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/boot/build/tmp/ResolveLoops.c"
1979 }
1980
1981#line 2777 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
1982 _m = ((modelica_integer) 1) + _m;
1983#line 1983 OMC_FILE"/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/boot/build/tmp/ResolveLoops.c"
1984 }
1985 }
1986
1987#line 2782 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
1988 tmp19 = ((modelica_integer) 1); tmp20 = 1; tmp21 = _n;
1989#line 2782 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
1990 if(!(((tmp20 > 0) && (tmp19 > tmp21)) || ((tmp20 < 0) && (tmp19 < tmp21))))
1991#line 2782 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
1992 {
1993#line 2782 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
1994 modelica_integer _i;
1995#line 2782 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
1996 for(_i = ((modelica_integer) 1); in_range_integer(_i, tmp19, tmp21); _i += tmp20)
1997#line 2782 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
1998 {
1999#line 2783 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
2000 _a = omc_Expression_expMul(threadData, arrayGet(_ax, _i)nobox_arrayGet(threadData,_ax,_i), arrayGet(_scaleA, _i)nobox_arrayGet(threadData,_scaleA,_i));
2001#line 2001 OMC_FILE"/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/boot/build/tmp/ResolveLoops.c"
2002
2003#line 2784 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
2004 tmpMeta[0] = stringAppend(_OMC_LIT27((void*)((char*)(&(_OMC_LIT_STRUCT27).header) + 3)),intString(_i));
2005#line 2784 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
2006 _a = omc_BackendEquation_makeTmpEqnForExp(threadData, _a, tmpMeta[0], _offset, _oeqns, _ovars, _oshared, 0 ,&_oeqns ,&_ovars ,&_oshared, NULL((void*)0), NULL((void*)0));
2007#line 2007 OMC_FILE"/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/boot/build/tmp/ResolveLoops.c"
2008
2009#line 2785 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
2010 arrayUpdate(_scaled_x, _i, _a)boxptr_arrayUpdate(threadData,_scaled_x,mmc_mk_icon(_i),_a);
2011#line 2011 OMC_FILE"/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/boot/build/tmp/ResolveLoops.c"
2012 }
2013 }
2014
2015#line 2792 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
2016 _R = omc_ResolveLoops_qrDecompositionHouseholder(threadData, _A, _n, _b, _oeqns, _ovars, _offset, _oshared ,&_Qb ,&_oeqns ,&_ovars ,&_oshared);
2017#line 2017 OMC_FILE"/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/boot/build/tmp/ResolveLoops.c"
2018
2019#line 2795 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
2020 tmp26 = _n; tmp27 = ((modelica_integer) -1); tmp28 = ((modelica_integer) 1);
2021#line 2795 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
2022 if(!(((tmp27 > 0) && (tmp26 > tmp28)) || ((tmp27 < 0) && (tmp26 < tmp28))))
2023#line 2795 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
2024 {
2025#line 2795 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
2026 modelica_integer _i;
2027#line 2795 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
2028 for(_i = _n; in_range_integer(_i, tmp26, tmp28); _i += tmp27)
2029#line 2795 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
2030 {
2031#line 2796 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
2032 _m = (((modelica_integer) -1) + _i) * (_n);
2033#line 2033 OMC_FILE"/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/boot/build/tmp/ResolveLoops.c"
2034
2035#line 2797 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
2036 {
2037#line 2797 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
2038 modelica_metatype _D_24tmpVar5;
2039#line 2797 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
2040 modelica_metatype* tmp22;
2041#line 2797 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
2042 modelica_metatype _D_24tmpVar4;
2043#line 2797 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
2044 int tmp23;
2045#line 2797 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
2046 modelica_integer tmp24;
2047#line 2797 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
2048 modelica_integer tmp25;
2049#line 2797 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
2050 modelica_integer _j;
2051#line 2797 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
2052 tmp24 = 1 /* Range step-value */;
2053#line 2797 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
2054 tmp25 = _n /* Range stop-value */;
2055#line 2797 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
2056 _j = _i /* Range start-value */;
2057#line 2797 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
2058 _j = (_i /* Range start-value */)-tmp24;
2059#line 2797 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
2060 tmpMeta[1] = MMC_REFSTRUCTLIT(mmc_nil)((void*)((char*)(&(mmc_nil).header) + 3));
2061#line 2797 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
2062 _D_24tmpVar5 = tmpMeta[1]; /* defaultValue */
2063#line 2797 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
2064 tmp22 = &_D_24tmpVar5;
2065#line 2797 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
2066 while(1) {
2067#line 2797 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
2068 tmp23 = 1;
2069#line 2797 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
2070 if (tmp24 > 0 ? _j+tmp24 <= tmp25 : _j+tmp24 >= tmp25) {
2071#line 2797 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
2072 _j += tmp24;
2073#line 2797 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
2074 tmp23--;
2075#line 2797 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
2076 }
2077#line 2797 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
2078 if (tmp23 == 0) {
2079#line 2797 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
2080 _D_24tmpVar4 = omc_Expression_expMul(threadData, arrayGet(_R, _m + _j)nobox_arrayGet(threadData,_R,_m + _j), arrayGet(_scaled_x, _j)nobox_arrayGet(threadData,_scaled_x,_j));
2081#line 2797 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
2082 *tmp22 = mmc_mk_cons(_D_24tmpVar4,0);
2083#line 2797 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
2084 tmp22 = &MMC_CDR(*tmp22)(*(void**)(((void*)((void**)(((void*)((char*)(*tmp22) - 3))) +
(2)))))
;
2085#line 2797 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
2086 } else if (tmp23 == 1) {
2087#line 2797 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
2088 break;
2089#line 2797 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
2090 } else {
2091#line 2797 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
2092 MMC_THROW_INTERNAL(){longjmp(*threadData->mmc_jumper,1);};
2093#line 2797 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
2094 }
2095#line 2797 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
2096 }
2097#line 2797 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
2098 *tmp22 = mmc_mk_nil()((void*)((char*)(&(mmc_nil).header) + 3));
2099#line 2797 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
2100 tmpMeta[0] = _D_24tmpVar5;
2101#line 2797 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
2102 }
2103#line 2797 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
2104 _a = omc_Expression_makeSum1(threadData, tmpMeta[0], 0);
2105#line 2105 OMC_FILE"/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/boot/build/tmp/ResolveLoops.c"
2106
2107#line 2798 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
2108 tmpMeta[0] = mmc_mk_box5(3, &BackendDAE_Equation_EQUATION__desc, _a, arrayGet(_Qb, _i)nobox_arrayGet(threadData,_Qb,_i), _OMC_LIT31((void*)((char*)(&(_OMC_LIT_STRUCT31).header) + 3)), _OMC_LIT34((void*)((char*)(&(_OMC_LIT_STRUCT34).header) + 3)));
2109#line 2798 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
2110 _eqn = tmpMeta[0];
2111#line 2111 OMC_FILE"/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/boot/build/tmp/ResolveLoops.c"
2112
2113#line 2799 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
2114 _eqn = omc_BackendEquation_solveEquation(threadData, _eqn, arrayGet(_scaled_x, _i)nobox_arrayGet(threadData,_scaled_x,_i), mmc_mk_none()((void*)((char*)(&(mmc_none).header) + 3)));
2115#line 2115 OMC_FILE"/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/boot/build/tmp/ResolveLoops.c"
2116
2117#line 2800 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
2118 _oeqns = omc_BackendEquation_add(threadData, _eqn, _oeqns);
2119#line 2119 OMC_FILE"/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/boot/build/tmp/ResolveLoops.c"
2120 }
2121 }
2122 _return: OMC_LABEL_UNUSED__attribute__((unused))
2123 if (out_ovars) { *out_ovars = _ovars; }
2124 if (out_offset_) { *out_offset_ = _offset_; }
2125 if (out_oshared) { *out_oshared = _oshared; }
2126 return _oeqns;
2127}
2128PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_ResolveLoops_solveLinearSystem4(threadData_t *threadData, modelica_metatype _b_lst, modelica_metatype _jac, modelica_metatype _cr_x, modelica_metatype _var_lst, modelica_metatype _n, modelica_metatype _ieqns, modelica_metatype _ivars, modelica_metatype _offset, modelica_metatype _ishared, modelica_metatype *out_ovars, modelica_metatype *out_offset_, modelica_metatype *out_oshared)
2129{
2130 modelica_integer tmp1;
2131 modelica_integer tmp2;
2132 modelica_integer _offset_;
2133 modelica_metatype _oeqns = NULL((void*)0);
2134 tmp1 = mmc_unbox_integer(_n)(((mmc_sint_t) (_n)) >> 1);
2135 tmp2 = mmc_unbox_integer(_offset)(((mmc_sint_t) (_offset)) >> 1);
2136 _oeqns = omc_ResolveLoops_solveLinearSystem4(threadData, _b_lst, _jac, _cr_x, _var_lst, tmp1, _ieqns, _ivars, tmp2, _ishared, out_ovars, &_offset_, out_oshared);
2137 /* skip box _oeqns; ExpandableArray<BackendDAE.Equation> */
2138 /* skip box _ovars; BackendDAE.Variables */
2139 if (out_offset_) { *out_offset_ = mmc_mk_icon(_offset_); }
2140 /* skip box _oshared; BackendDAE.Shared */
2141 return _oeqns;
2142}
2143
2144PROTECTED_FUNCTION_STATIC modelica_metatype omc_ResolveLoops_solveLinearSystem3(threadData_t *threadData, modelica_metatype _inSyst, modelica_metatype _ishared, modelica_metatype _eqn_lst, modelica_metatype _eqn_indxs, modelica_metatype _var_lst, modelica_metatype _var_indxs, modelica_metatype _jac, modelica_integer _offset, modelica_metatype *out_oshared, modelica_integer *out_offset_)
2145{
2146 modelica_metatype _osyst = NULL((void*)0);
2147 modelica_metatype _oshared = NULL((void*)0);
2148 modelica_integer _offset_;
2149 modelica_integer tmp1_c2 __attribute__((unused)) = 0;
2150 modelica_metatype tmpMeta[6] __attribute__((unused)) = {0};
2151 MMC_SO()mmc_check_stackoverflow(threadData);
2152 _tailrecursive: OMC_LABEL_UNUSED__attribute__((unused))
2153 // _osyst has no default value.
2154 // _oshared has no default value.
2155 // _offset_ has no default value.
2156#line 2659 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
2157
2158#line 2659 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
2159
2160#line 2659 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
2161
2162#line 2162 OMC_FILE"/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/boot/build/tmp/ResolveLoops.c"
2163 { /* match expression */
2164 modelica_metatype tmp4_1;modelica_metatype tmp4_2;
2165 tmp4_1 = _inSyst;
2166 tmp4_2 = _ishared;
2167 {
2168 modelica_metatype _vars = NULL((void*)0);
2169 modelica_metatype _eqns = NULL((void*)0);
2170 modelica_metatype _beqs = NULL((void*)0);
2171 modelica_metatype _names = NULL((void*)0);
2172 modelica_metatype _funcs = NULL((void*)0);
2173 modelica_metatype _shared = NULL((void*)0);
2174 modelica_metatype _syst = NULL((void*)0);
2175 modelica_integer _n;
2176 volatile mmc_switch_type tmp4;
2177 int tmp5;
2178 // _vars has no default value.
2179 // _eqns has no default value.
2180 // _beqs has no default value.
2181 // _names has no default value.
2182 // _funcs has no default value.
2183 // _shared has no default value.
2184 // _syst has no default value.
2185 // _n has no default value.
2186 tmp4 = 0;
2187 for (; tmp4 < 1; tmp4++) {
2188 switch (MMC_SWITCH_CAST(tmp4)(tmp4)) {
2189 case 0: {
2190 tmpMeta[3] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_1), 2))(*(void**)(((void*)((void**)(((void*)((char*)(tmp4_1) - 3))) +
(2)))))
;
2191 tmpMeta[4] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_1), 3))(*(void**)(((void*)((void**)(((void*)((char*)(tmp4_1) - 3))) +
(3)))))
;
2192 tmpMeta[5] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 12))(*(void**)(((void*)((void**)(((void*)((char*)(tmp4_2) - 3))) +
(12)))))
;
2193
2194 _syst = tmp4_1;
2195 _vars = tmpMeta[3];
2196 _eqns = tmpMeta[4];
2197 _shared = tmp4_2;
2198 _funcs = tmpMeta[5];
2199 /* Pattern matching succeeded */
2200#line 2677 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
2201 _beqs = omc_BackendDAEUtil_getEqnSysRhs(threadData, omc_BackendEquation_listEquation(threadData, _eqn_lst), omc_BackendVariable_listVar1(threadData, _var_lst), mmc_mk_some(_funcs), NULL((void*)0));
2202#line 2202 OMC_FILE"/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/boot/build/tmp/ResolveLoops.c"
2203
2204#line 2679 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
2205 _beqs = listReverse(_beqs);
2206#line 2206 OMC_FILE"/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/boot/build/tmp/ResolveLoops.c"
2207
2208#line 2680 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
2209 _n = listLength(_beqs);
2210#line 2210 OMC_FILE"/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/boot/build/tmp/ResolveLoops.c"
2211
2212#line 2681 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
2213 _names = omc_List_map(threadData, _var_lst, boxvar_BackendVariable_varCref((void*)((char*)(&(boxvar_lit_BackendVariable_varCref).header
) + 3))
);
2214#line 2214 OMC_FILE"/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/boot/build/tmp/ResolveLoops.c"
2215
2216#line 2682 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
2217 _eqns = omc_ResolveLoops_solveLinearSystem4(threadData, _beqs, _jac, _names, _var_lst, _n, _eqns, _vars, _offset, _shared ,&_vars ,&_n ,&_shared);
2218#line 2218 OMC_FILE"/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/boot/build/tmp/ResolveLoops.c"
2219
2220#line 2683 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
2221 tmpMeta[3] = MMC_TAGPTR(mmc_alloc_words(11))((void*)((char*)(mmc_alloc_words(11)) + 3));
2222#line 2683 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
2223 memcpy(MMC_UNTAGPTR(tmpMeta[3])((void*)((char*)(tmpMeta[3]) - 3)), MMC_UNTAGPTR(_syst)((void*)((char*)(_syst) - 3)), 11*sizeof(modelica_metatype));
2224#line 2683 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
2225 ((modelica_metatype*)MMC_UNTAGPTR(tmpMeta[3])((void*)((char*)(tmpMeta[3]) - 3)))[2] = _vars;
2226#line 2683 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
2227 _syst = tmpMeta[3];
2228#line 2228 OMC_FILE"/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/boot/build/tmp/ResolveLoops.c"
2229
2230#line 2683 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
2231 tmpMeta[3] = MMC_TAGPTR(mmc_alloc_words(11))((void*)((char*)(mmc_alloc_words(11)) + 3));
2232#line 2683 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
2233 memcpy(MMC_UNTAGPTR(tmpMeta[3])((void*)((char*)(tmpMeta[3]) - 3)), MMC_UNTAGPTR(_syst)((void*)((char*)(_syst) - 3)), 11*sizeof(modelica_metatype));
2234#line 2683 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
2235 ((modelica_metatype*)MMC_UNTAGPTR(tmpMeta[3])((void*)((char*)(tmpMeta[3]) - 3)))[3] = _eqns;
2236#line 2683 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
2237 _syst = tmpMeta[3];
2238#line 2238 OMC_FILE"/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/boot/build/tmp/ResolveLoops.c"
2239
2240#line 2684 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
2241 _syst = omc_BackendDAEUtil_setEqSystMatrices(threadData, _syst, mmc_mk_none()((void*)((char*)(&(mmc_none).header) + 3)), mmc_mk_none()((void*)((char*)(&(mmc_none).header) + 3)), mmc_mk_none()((void*)((char*)(&(mmc_none).header) + 3)));
2242#line 2242 OMC_FILE"/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/boot/build/tmp/ResolveLoops.c"
2243#line 2686 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
2244 tmpMeta[0+0] = _syst;
2245#line 2686 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
2246 tmpMeta[0+1] = _shared;
2247#line 2686 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
2248 tmp1_c2 = _n;
2249#line 2249 OMC_FILE"/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/boot/build/tmp/ResolveLoops.c"
2250 goto tmp3_done;
2251 }
2252 }
2253 goto tmp3_end;
2254 tmp3_end: ;
2255 }
2256 goto goto_2;
2257 goto_2:;
2258 MMC_THROW_INTERNAL(){longjmp(*threadData->mmc_jumper,1);};
2259 goto tmp3_done;
2260 tmp3_done:;
2261 }
2262 }
2263 _osyst = tmpMeta[0+0];
2264 _oshared = tmpMeta[0+1];
2265 _offset_ = tmp1_c2;
2266 _return: OMC_LABEL_UNUSED__attribute__((unused))
2267 if (out_oshared) { *out_oshared = _oshared; }
2268 if (out_offset_) { *out_offset_ = _offset_; }
2269 return _osyst;
2270}
2271PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_ResolveLoops_solveLinearSystem3(threadData_t *threadData, modelica_metatype _inSyst, modelica_metatype _ishared, modelica_metatype _eqn_lst, modelica_metatype _eqn_indxs, modelica_metatype _var_lst, modelica_metatype _var_indxs, modelica_metatype _jac, modelica_metatype _offset, modelica_metatype *out_oshared, modelica_metatype *out_offset_)
2272{
2273 modelica_integer tmp1;
2274 modelica_integer _offset_;
2275 modelica_metatype _osyst = NULL((void*)0);
2276 tmp1 = mmc_unbox_integer(_offset)(((mmc_sint_t) (_offset)) >> 1);
2277 _osyst = omc_ResolveLoops_solveLinearSystem3(threadData, _inSyst, _ishared, _eqn_lst, _eqn_indxs, _var_lst, _var_indxs, _jac, tmp1, out_oshared, &_offset_);
2278 /* skip box _osyst; BackendDAE.EqSystem */
2279 /* skip box _oshared; BackendDAE.Shared */
2280 if (out_offset_) { *out_offset_ = mmc_mk_icon(_offset_); }
2281 return _osyst;
2282}
2283
2284PROTECTED_FUNCTION_STATIC modelica_metatype omc_ResolveLoops_solveLinearSystem2(threadData_t *threadData, modelica_metatype _isyst, modelica_metatype _ishared, modelica_metatype _comp, modelica_metatype _ii, modelica_integer _offset, modelica_integer _maxSize, modelica_metatype *out_oshared, modelica_boolean *out_outRunMatching, modelica_metatype *out_oi, modelica_integer *out_offset_)
2285{
2286 modelica_metatype _osyst = NULL((void*)0);
2287 modelica_metatype _oshared = NULL((void*)0);
2288 modelica_boolean _outRunMatching;
2289 modelica_metatype _oi = NULL((void*)0);
2290 modelica_integer _offset_;
2291 modelica_boolean tmp1_c2 __attribute__((unused)) = 0;
2292 modelica_integer tmp1_c4 __attribute__((unused)) = 0;
2293 modelica_metatype tmpMeta[13] __attribute__((unused)) = {0};
2294 MMC_SO()mmc_check_stackoverflow(threadData);
2295 _tailrecursive: OMC_LABEL_UNUSED__attribute__((unused))
2296 // _osyst has no default value.
2297 // _oshared has no default value.
2298 // _outRunMatching has no default value.
2299 // _oi has no default value.
2300 // _offset_ has no default value.
2301#line 2617 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
2302
2303#line 2617 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
2304
2305#line 2617 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
2306
2307#line 2617 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
2308
2309#line 2617 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
2310
2311#line 2311 OMC_FILE"/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/boot/build/tmp/ResolveLoops.c"
2312 { /* matchcontinue expression */
2313 volatile modelica_metatype tmp4_1;volatile modelica_metatype tmp4_2;volatile modelica_metatype tmp4_3;
2314 tmp4_1 = _isyst;
2315 tmp4_2 = _ishared;
2316 tmp4_3 = _comp;
2317 {
2318 modelica_metatype _vars = NULL((void*)0);
2319 modelica_metatype _eqns = NULL((void*)0);
2320 modelica_metatype _eqn_lst = NULL((void*)0);
2321 modelica_metatype _var_lst = NULL((void*)0);
2322 modelica_metatype _eindex = NULL((void*)0);
2323 modelica_metatype _vindx = NULL((void*)0);
2324 modelica_metatype _jac = NULL((void*)0);
2325 modelica_metatype _syst = NULL((void*)0);
2326 modelica_metatype _shared = NULL((void*)0);
2327 modelica_integer _toffset;
2328 volatile mmc_switch_type tmp4;
2329 int tmp5;
2330 // _vars has no default value.
2331 // _eqns has no default value.
2332 // _eqn_lst has no default value.
2333 // _var_lst has no default value.
2334 // _eindex has no default value.
2335 // _vindx has no default value.
2336 // _jac has no default value.
2337 // _syst has no default value.
2338 // _shared has no default value.
2339 // _toffset has no default value.
2340 tmp4 = 0;
2341 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) {
2342 tmp3_top:
2343 threadData->mmc_jumper = &new_mmc_jumper;
2344 for (; tmp4 < 2; tmp4++) {
2345 switch (MMC_SWITCH_CAST(tmp4)(tmp4)) {
2346 case 0: {
2347 modelica_boolean tmp6;
2348 if (mmc__uniontype__metarecord__typedef__equal(tmp4_3,1,5)((*(mmc_uint_t*)((void*)((char*)(tmp4_3) - 3)))==(((5 +1) <<
10) + (((1 +3) & 255) << 2)))
== 0) goto tmp3_end;
2349 tmpMeta[5] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_3), 2))(*(void**)(((void*)((void**)(((void*)((char*)(tmp4_3) - 3))) +
(2)))))
;
2350 tmpMeta[6] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_3), 3))(*(void**)(((void*)((void**)(((void*)((char*)(tmp4_3) - 3))) +
(3)))))
;
2351 tmpMeta[7] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_3), 4))(*(void**)(((void*)((void**)(((void*)((char*)(tmp4_3) - 3))) +
(4)))))
;
2352 if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[7],0,1)((*(mmc_uint_t*)((void*)((char*)(tmpMeta[7]) - 3)))==(((1 +1)
<< 10) + (((0 +3) & 255) << 2)))
== 0) goto tmp3_end;
2353 tmpMeta[8] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[7]), 2))(*(void**)(((void*)((void**)(((void*)((char*)(tmpMeta[7]) - 3
))) + (2)))))
;
2354 if (optionNone(tmpMeta[8])(0==((((((*(mmc_uint_t*)((void*)((char*)(tmpMeta[8]) - 3)))) &
(7)) == 5)) ? ((((*(mmc_uint_t*)((void*)((char*)(tmpMeta[8])
- 3)))) >> (3+3))) : (((*(mmc_uint_t*)((void*)((char*)
(tmpMeta[8]) - 3)))) >> 10)) ? 1 : 0)
) goto tmp3_end;
2355 tmpMeta[9] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[8]), 1))(*(void**)(((void*)((void**)(((void*)((char*)(tmpMeta[8]) - 3
))) + (1)))))
;
2356 tmpMeta[10] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_3), 5))(*(void**)(((void*)((void**)(((void*)((char*)(tmp4_3) - 3))) +
(5)))))
;
2357 if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[10],1,0)((*(mmc_uint_t*)((void*)((char*)(tmpMeta[10]) - 3)))==(((0 +1
) << 10) + (((1 +3) & 255) << 2)))
== 0) goto tmp3_end;
2358 tmpMeta[11] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_1), 2))(*(void**)(((void*)((void**)(((void*)((char*)(tmp4_1) - 3))) +
(2)))))
;
2359 tmpMeta[12] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_1), 3))(*(void**)(((void*)((void**)(((void*)((char*)(tmp4_1) - 3))) +
(3)))))
;
2360
2361 _eindex = tmpMeta[5];
2362 _vindx = tmpMeta[6];
2363 _jac = tmpMeta[9];
2364 _syst = tmp4_1;
2365 _vars = tmpMeta[11];
2366 _eqns = tmpMeta[12];
2367 _shared = tmp4_2;
2368 /* Pattern matching succeeded */
2369#line 2636 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
2370 _eqn_lst = omc_BackendEquation_getList(threadData, _eindex, _eqns);
2371#line 2371 OMC_FILE"/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/boot/build/tmp/ResolveLoops.c"
2372
2373#line 2637 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
2374 _var_lst = omc_List_map1r(threadData, _vindx, boxvar_BackendVariable_getVarAt((void*)((char*)(&(boxvar_lit_BackendVariable_getVarAt).header
) + 3))
, _vars);
2375#line 2375 OMC_FILE"/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/boot/build/tmp/ResolveLoops.c"
2376
2377#line 2638 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
2378 /* Pattern-matching assignment */
2379#line 2638 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
2380 tmp6 = (listLength(_var_lst) <= _maxSize);
2381#line 2638 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
2382 if (1 != tmp6) goto goto_2;
2383#line 2383 OMC_FILE"/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/boot/build/tmp/ResolveLoops.c"
2384
2385#line 2639 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
2386 /* Pattern-matching tuple assignment */
2387#line 2639 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
2388 tmpMeta[5] = omc_List_splitOnTrue(threadData, _var_lst, boxvar_BackendVariable_isStateVar((void*)((char*)(&(boxvar_lit_BackendVariable_isStateVar)
.header) + 3))
, NULL((void*)0));
2389#line 2639 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
2390 if (!listEmpty(tmpMeta[5])((*(mmc_uint_t*)((void*)((char*)(tmpMeta[5]) - 3))) == (((0) <<
10) + (((0) & 255) << 2)))
) goto goto_2;
2391#line 2391 OMC_FILE"/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/boot/build/tmp/ResolveLoops.c"
2392
2393#line 2640 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
2394 _syst = omc_ResolveLoops_solveLinearSystem3(threadData, _syst, _shared, _eqn_lst, _eindex, _var_lst, _vindx, _jac, _offset ,&_shared ,&_toffset);
2395#line 2395 OMC_FILE"/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/boot/build/tmp/ResolveLoops.c"
2396#line 2641 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
2397 tmpMeta[0+0] = _syst;
2398#line 2641 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
2399 tmpMeta[0+1] = _shared;
2400#line 2641 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
2401 tmp1_c2 = 1;
2402#line 2641 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
2403 tmpMeta[0+3] = listAppend(_eindex, _ii);
2404#line 2641 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
2405 tmp1_c4 = _toffset;
2406#line 2406 OMC_FILE"/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/boot/build/tmp/ResolveLoops.c"
2407 goto tmp3_done;
2408 }
2409 case 1: {
2410
2411 /* Pattern matching succeeded */
2412#line 2642 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
2413 tmpMeta[0+0] = _isyst;
2414#line 2642 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
2415 tmpMeta[0+1] = _ishared;
2416#line 2642 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
2417 tmp1_c2 = 0;
2418#line 2642 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
2419 tmpMeta[0+3] = _ii;
2420#line 2642 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
2421 tmp1_c4 = _offset;
2422#line 2422 OMC_FILE"/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/boot/build/tmp/ResolveLoops.c"
2423 goto tmp3_done;
2424 }
2425 }
2426 goto tmp3_end;
2427 tmp3_end: ;
2428 }
2429 goto goto_2;
2430 tmp3_done:
2431 (void)tmp4;
2432 MMC_RESTORE_INTERNAL(mmc_jumper)threadData->mmc_jumper = old_jumper;;
2433 goto tmp3_done2;
2434 goto_2:;
2435 MMC_CATCH_INTERNAL(mmc_jumper)} threadData->mmc_jumper = old_jumper;mmc_catch_dummy_fn()
;}
;
2436 if (++tmp4 < 2) {
2437 goto tmp3_top;
2438 }
2439 MMC_THROW_INTERNAL(){longjmp(*threadData->mmc_jumper,1);};
2440 tmp3_done2:;
2441 }
2442 }
2443 _osyst = tmpMeta[0+0];
2444 _oshared = tmpMeta[0+1];
2445 _outRunMatching = tmp1_c2;
2446 _oi = tmpMeta[0+3];
2447 _offset_ = tmp1_c4;
2448 _return: OMC_LABEL_UNUSED__attribute__((unused))
2449 if (out_oshared) { *out_oshared = _oshared; }
2450 if (out_outRunMatching) { *out_outRunMatching = _outRunMatching; }
2451 if (out_oi) { *out_oi = _oi; }
2452 if (out_offset_) { *out_offset_ = _offset_; }
2453 return _osyst;
2454}
2455PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_ResolveLoops_solveLinearSystem2(threadData_t *threadData, modelica_metatype _isyst, modelica_metatype _ishared, modelica_metatype _comp, modelica_metatype _ii, modelica_metatype _offset, modelica_metatype _maxSize, modelica_metatype *out_oshared, modelica_metatype *out_outRunMatching, modelica_metatype *out_oi, modelica_metatype *out_offset_)
2456{
2457 modelica_integer tmp1;
2458 modelica_integer tmp2;
2459 modelica_boolean _outRunMatching;
2460 modelica_integer _offset_;
2461 modelica_metatype _osyst = NULL((void*)0);
2462 tmp1 = mmc_unbox_integer(_offset)(((mmc_sint_t) (_offset)) >> 1);
2463 tmp2 = mmc_unbox_integer(_maxSize)(((mmc_sint_t) (_maxSize)) >> 1);
2464 _osyst = omc_ResolveLoops_solveLinearSystem2(threadData, _isyst, _ishared, _comp, _ii, tmp1, tmp2, out_oshared, &_outRunMatching, out_oi, &_offset_);
2465 /* skip box _osyst; BackendDAE.EqSystem */
2466 /* skip box _oshared; BackendDAE.Shared */
2467 if (out_outRunMatching) { *out_outRunMatching = mmc_mk_icon(_outRunMatching); }
2468 /* skip box _oi; list<#Integer> */
2469 if (out_offset_) { *out_offset_ = mmc_mk_icon(_offset_); }
2470 return _osyst;
2471}
2472
2473PROTECTED_FUNCTION_STATIC modelica_metatype omc_ResolveLoops_solveLinearSystem1(threadData_t *threadData, modelica_metatype _isyst, modelica_metatype _ishared, modelica_metatype _inComps, modelica_metatype _inTpl, modelica_metatype *out_oshared, modelica_metatype *out_outTpl)
2474{
2475 modelica_metatype _osyst = NULL((void*)0);
2476 modelica_metatype _oshared = NULL((void*)0);
2477 modelica_metatype _outTpl = NULL((void*)0);
2478 modelica_boolean _b;
2479 modelica_boolean _runMatching;
2480 modelica_metatype _ii = NULL((void*)0);
2481 modelica_integer _offset;
2482 modelica_integer _maxSize;
2483 modelica_integer tmp1;
2484 modelica_integer tmp2;
2485 modelica_integer tmp3;
2486 modelica_metatype tmpMeta[5] __attribute__((unused)) = {0};
2487 MMC_SO()mmc_check_stackoverflow(threadData);
2488 _tailrecursive: OMC_LABEL_UNUSED__attribute__((unused))
2489 _osyst = _isyst;
2490 _oshared = _ishared;
2491 // _outTpl has no default value.
2492 // _b has no default value.
2493 // _runMatching has no default value.
2494 tmpMeta[0] = MMC_REFSTRUCTLIT(mmc_nil)((void*)((char*)(&(mmc_nil).header) + 3));
2495 _ii = tmpMeta[0];
2496 // _offset has no default value.
2497 // _maxSize has no default value.
2498#line 2579 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
2499 /* Pattern-matching assignment */
2500#line 2579 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
2501 tmpMeta[1] = _inTpl;
2502#line 2579 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
2503 tmpMeta[2] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[1]), 1))(*(void**)(((void*)((void**)(((void*)((char*)(tmpMeta[1]) - 3
))) + (1)))))
;
2504#line 2579 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
2505 tmp1 = mmc_unbox_integer(tmpMeta[2])(((mmc_sint_t) (tmpMeta[2])) >> 1);
2506#line 2579 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
2507 tmpMeta[3] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[1]), 2))(*(void**)(((void*)((void**)(((void*)((char*)(tmpMeta[1]) - 3
))) + (2)))))
;
2508#line 2579 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
2509 tmp2 = mmc_unbox_integer(tmpMeta[3])(((mmc_sint_t) (tmpMeta[3])) >> 1);
2510#line 2579 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
2511 tmpMeta[4] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[1]), 3))(*(void**)(((void*)((void**)(((void*)((char*)(tmpMeta[1]) - 3
))) + (3)))))
;
2512#line 2579 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
2513 tmp3 = mmc_unbox_integer(tmpMeta[4])(((mmc_sint_t) (tmpMeta[4])) >> 1);
2514#line 2579 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
2515 _runMatching = tmp1 /* pattern as ty=Boolean */;
2516#line 2579 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
2517 _offset = tmp2 /* pattern as ty=Integer */;
2518#line 2579 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
2519 _maxSize = tmp3 /* pattern as ty=Integer */;
2520#line 2520 OMC_FILE"/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/boot/build/tmp/ResolveLoops.c"
2521
2522#line 2580 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
2523 {
2524#line 2580 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
2525 modelica_metatype _comp;
2526#line 2580 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
2527 for (tmpMeta[1] = _inComps; !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)))))
)
2528#line 2580 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
2529 {
2530#line 2580 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
2531 _comp = MMC_CAR(tmpMeta[1])(*(void**)(((void*)((void**)(((void*)((char*)(tmpMeta[1]) - 3
))) + (1)))))
;
2532#line 2581 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
2533 _osyst = omc_ResolveLoops_solveLinearSystem2(threadData, _osyst, _oshared, _comp, _ii, _offset, _maxSize ,&_oshared ,&_b ,&_ii ,&_offset);
2534#line 2534 OMC_FILE"/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/boot/build/tmp/ResolveLoops.c"
2535
2536#line 2582 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
2537 _runMatching = (_runMatching || _b);
2538#line 2538 OMC_FILE"/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/boot/build/tmp/ResolveLoops.c"
2539 }
2540 }
2541
2542#line 2584 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
2543 tmpMeta[1] = mmc_mk_box3(0, mmc_mk_boolean(_runMatching)((_runMatching) != 0 ? (mmc_mk_icon(1)) : (mmc_mk_icon(0))), mmc_mk_integermmc_mk_icon(_offset), mmc_mk_integermmc_mk_icon(_maxSize));
2544#line 2584 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
2545 _outTpl = tmpMeta[1];
2546#line 2546 OMC_FILE"/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/boot/build/tmp/ResolveLoops.c"
2547
2548#line 2586 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
2549 if(_runMatching)
2550#line 2586 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
2551 {
2552#line 2552 OMC_FILE"/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/boot/build/tmp/ResolveLoops.c"
2553 { /* match expression */
2554 modelica_metatype tmp6_1;
2555 tmp6_1 = _osyst;
2556 {
2557 modelica_metatype _vars = NULL((void*)0);
2558 modelica_metatype _eqns = NULL((void*)0);
2559 modelica_metatype _syst = NULL((void*)0);
2560 volatile mmc_switch_type tmp6;
2561 int tmp7;
2562 // _vars has no default value.
2563 // _eqns has no default value.
2564 // _syst has no default value.
2565 tmp6 = 0;
2566 for (; tmp6 < 1; tmp6++) {
2567 switch (MMC_SWITCH_CAST(tmp6)(tmp6)) {
2568 case 0: {
2569 tmpMeta[2] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp6_1), 2))(*(void**)(((void*)((void**)(((void*)((char*)(tmp6_1) - 3))) +
(2)))))
;
2570 tmpMeta[3] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp6_1), 3))(*(void**)(((void*)((void**)(((void*)((char*)(tmp6_1) - 3))) +
(3)))))
;
2571
2572 _syst = tmp6_1;
2573 _vars = tmpMeta[2];
2574 _eqns = tmpMeta[3];
2575 /* Pattern matching succeeded */
2576#line 2595 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
2577 _eqns = omc_List_fold(threadData, _ii, boxvar_BackendEquation_delete((void*)((char*)(&(boxvar_lit_BackendEquation_delete).header
) + 3))
, _eqns);
2578#line 2578 OMC_FILE"/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/boot/build/tmp/ResolveLoops.c"
2579
2580#line 2596 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
2581 tmpMeta[2] = MMC_TAGPTR(mmc_alloc_words(11))((void*)((char*)(mmc_alloc_words(11)) + 3));
2582#line 2596 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
2583 memcpy(MMC_UNTAGPTR(tmpMeta[2])((void*)((char*)(tmpMeta[2]) - 3)), MMC_UNTAGPTR(_syst)((void*)((char*)(_syst) - 3)), 11*sizeof(modelica_metatype));
2584#line 2596 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
2585 ((modelica_metatype*)MMC_UNTAGPTR(tmpMeta[2])((void*)((char*)(tmpMeta[2]) - 3)))[2] = omc_BackendVariable_listVar1(threadData, omc_BackendVariable_varList(threadData, _vars));
2586#line 2596 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
2587 _syst = tmpMeta[2];
2588#line 2588 OMC_FILE"/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/boot/build/tmp/ResolveLoops.c"
2589
2590#line 2597 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
2591 tmpMeta[2] = MMC_TAGPTR(mmc_alloc_words(11))((void*)((char*)(mmc_alloc_words(11)) + 3));
2592#line 2597 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
2593 memcpy(MMC_UNTAGPTR(tmpMeta[2])((void*)((char*)(tmpMeta[2]) - 3)), MMC_UNTAGPTR(_syst)((void*)((char*)(_syst) - 3)), 11*sizeof(modelica_metatype));
2594#line 2597 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
2595 ((modelica_metatype*)MMC_UNTAGPTR(tmpMeta[2])((void*)((char*)(tmpMeta[2]) - 3)))[3] = omc_BackendEquation_listEquation(threadData, omc_BackendEquation_equationList(threadData, _eqns));
2596#line 2597 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
2597 _syst = tmpMeta[2];
2598#line 2598 OMC_FILE"/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/boot/build/tmp/ResolveLoops.c"
2599#line 2598 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
2600 tmpMeta[1] = omc_BackendDAEUtil_clearEqSyst(threadData, _syst);
2601#line 2601 OMC_FILE"/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/boot/build/tmp/ResolveLoops.c"
2602 goto tmp5_done;
2603 }
2604 }
2605 goto tmp5_end;
2606 tmp5_end: ;
2607 }
2608 goto goto_4;
2609 goto_4:;
2610 MMC_THROW_INTERNAL(){longjmp(*threadData->mmc_jumper,1);};
2611 goto tmp5_done;
2612 tmp5_done:;
2613 }
2614 }
2615 _osyst = tmpMeta[1];
2616 }
2617 _return: OMC_LABEL_UNUSED__attribute__((unused))
2618 if (out_oshared) { *out_oshared = _oshared; }
2619 if (out_outTpl) { *out_outTpl = _outTpl; }
2620 return _osyst;
2621}
2622
2623PROTECTED_FUNCTION_STATIC modelica_metatype omc_ResolveLoops_solveLinearSystem0(threadData_t *threadData, modelica_metatype _isyst, modelica_metatype _inShared, modelica_metatype _inTpl, modelica_metatype *out_outShared, modelica_metatype *out_outTpl)
2624{
2625 modelica_metatype _osyst = NULL((void*)0);
2626 modelica_metatype _outShared = NULL((void*)0);
2627 modelica_metatype _outTpl = NULL((void*)0);
2628 modelica_metatype _comps = NULL((void*)0);
2629 modelica_metatype tmpMeta[3] __attribute__((unused)) = {0};
2630 MMC_SO()mmc_check_stackoverflow(threadData);
2631 _tailrecursive: OMC_LABEL_UNUSED__attribute__((unused))
2632 // _osyst has no default value.
2633 // _outShared has no default value.
2634 // _outTpl has no default value.
2635 // _comps has no default value.
2636#line 2561 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
2637 /* Pattern-matching assignment */
2638#line 2561 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
2639 tmpMeta[0] = _isyst;
2640#line 2561 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
2641 tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[0]), 7))(*(void**)(((void*)((void**)(((void*)((char*)(tmpMeta[0]) - 3
))) + (7)))))
;
2642#line 2561 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
2643 if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[1],1,3)((*(mmc_uint_t*)((void*)((char*)(tmpMeta[1]) - 3)))==(((3 +1)
<< 10) + (((1 +3) & 255) << 2)))
== 0) MMC_THROW_INTERNAL(){longjmp(*threadData->mmc_jumper,1);};
2644#line 2561 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
2645 tmpMeta[2] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[1]), 4))(*(void**)(((void*)((void**)(((void*)((char*)(tmpMeta[1]) - 3
))) + (4)))))
;
2646#line 2561 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
2647 _comps = tmpMeta[2];
2648#line 2648 OMC_FILE"/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/boot/build/tmp/ResolveLoops.c"
2649
2650#line 2562 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
2651 _osyst = omc_ResolveLoops_solveLinearSystem1(threadData, _isyst, _inShared, _comps, _inTpl ,&_outShared ,&_outTpl);
2652#line 2652 OMC_FILE"/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/boot/build/tmp/ResolveLoops.c"
2653 _return: OMC_LABEL_UNUSED__attribute__((unused))
2654 if (out_outShared) { *out_outShared = _outShared; }
2655 if (out_outTpl) { *out_outTpl = _outTpl; }
2656 return _osyst;
2657}
2658
2659DLLExport
2660modelica_metatype omc_ResolveLoops_solveLinearSystem(threadData_t *threadData, modelica_metatype _inDAE)
2661{
2662 modelica_metatype _outDAE = NULL((void*)0);
2663 modelica_integer _maxSize;
2664 modelica_boolean _b;
2665 modelica_metatype tmpMeta[1] __attribute__((unused)) = {0};
2666 MMC_SO()mmc_check_stackoverflow(threadData);
2667 _tailrecursive: OMC_LABEL_UNUSED__attribute__((unused))
2668 // _outDAE has no default value.
2669 _maxSize = omc_Flags_getConfigInt(threadData, _OMC_LIT40((void*)((char*)(&(_OMC_LIT_STRUCT40).header) + 3)));
2670 _b = (((modelica_integer) 1) < _maxSize);
2671#line 2544 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
2672 if(_b)
2673#line 2544 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
2674 {
2675#line 2545 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
2676 tmpMeta[0] = mmc_mk_box3(0, mmc_mk_boolean(0)((0) != 0 ? (mmc_mk_icon(1)) : (mmc_mk_icon(0))), mmc_mk_integermmc_mk_icon(((modelica_integer) 1)), mmc_mk_integermmc_mk_icon(_maxSize));
2677#line 2545 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
2678 _outDAE = omc_BackendDAEUtil_mapEqSystemAndFold(threadData, _inDAE, boxvar_ResolveLoops_solveLinearSystem0((void*)((char*)(&(boxvar_lit_ResolveLoops_solveLinearSystem0
).header) + 3))
, tmpMeta[0], NULL((void*)0));
2679#line 2679 OMC_FILE"/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/boot/build/tmp/ResolveLoops.c"
2680 }
2681 else
2682 {
2683#line 2547 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
2684 _outDAE = _inDAE;
2685#line 2685 OMC_FILE"/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/boot/build/tmp/ResolveLoops.c"
2686 }
2687 _return: OMC_LABEL_UNUSED__attribute__((unused))
2688 return _outDAE;
2689}
2690
2691DLLExport
2692modelica_metatype omc_ResolveLoops_resolveEquations(threadData_t *threadData, modelica_metatype _eq, modelica_metatype _loopIn, modelica_metatype _me, modelica_metatype _meT, modelica_metatype _eqsIn, modelica_metatype _varsIn)
2693{
2694 modelica_metatype _eqOut = NULL((void*)0);
2695 modelica_metatype tmpMeta[6] __attribute__((unused)) = {0};
2696 MMC_SO()mmc_check_stackoverflow(threadData);
2697 _tailrecursive: OMC_LABEL_UNUSED__attribute__((unused))
2698 // _eqOut has no default value.
2699#line 2699 OMC_FILE"/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/boot/build/tmp/ResolveLoops.c"
2700 { /* matchcontinue expression */
2701 volatile modelica_metatype tmp3_1;volatile modelica_metatype tmp3_2;
2702 tmp3_1 = _eq;
2703 tmp3_2 = _loopIn;
2704 {
2705 modelica_integer _startEq;
2706 modelica_integer _nextEq;
2707 modelica_integer _sharedVar;
2708 modelica_metatype _rest = NULL((void*)0);
2709 modelica_metatype _vars1 = NULL((void*)0);
2710 modelica_metatype _vars2 = NULL((void*)0);
2711 modelica_metatype _numEqs = NULL((void*)0);
2712 modelica_metatype _eq1 = NULL((void*)0);
2713 modelica_metatype _eq2 = NULL((void*)0);
2714 modelica_metatype _var = NULL((void*)0);
2715 modelica_metatype _attr = NULL((void*)0);
2716 modelica_metatype _lhs1 = NULL((void*)0);
2717 modelica_metatype _lhs2 = NULL((void*)0);
2718 modelica_metatype _rhs1 = NULL((void*)0);
2719 modelica_metatype _rhs2 = NULL((void*)0);
2720 modelica_metatype _varExp = NULL((void*)0);
2721 modelica_metatype _eqExp = NULL((void*)0);
2722 modelica_metatype _source = NULL((void*)0);
2723 volatile mmc_switch_type tmp3;
2724 int tmp4;
2725 // _startEq has no default value.
2726 // _nextEq has no default value.
2727 // _sharedVar has no default value.
2728 // _rest has no default value.
2729 // _vars1 has no default value.
2730 // _vars2 has no default value.
2731 // _numEqs has no default value.
2732 // _eq1 has no default value.
2733 // _eq2 has no default value.
2734 // _var has no default value.
2735 // _attr has no default value.
2736 // _lhs1 has no default value.
2737 // _lhs2 has no default value.
2738 // _rhs1 has no default value.
2739 // _rhs2 has no default value.
2740 // _varExp has no default value.
2741 // _eqExp has no default value.
2742 // _source has no default value.
2743 tmp3 = 0;
2744 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) {
2745 tmp2_top:
2746 threadData->mmc_jumper = &new_mmc_jumper;
2747 for (; tmp3 < 3; tmp3++) {
2748 switch (MMC_SWITCH_CAST(tmp3)(tmp3)) {
2749 case 0: {
2750 if (optionNone(tmp3_1)(0==((((((*(mmc_uint_t*)((void*)((char*)(tmp3_1) - 3)))) &
(7)) == 5)) ? ((((*(mmc_uint_t*)((void*)((char*)(tmp3_1) - 3
)))) >> (3+3))) : (((*(mmc_uint_t*)((void*)((char*)(tmp3_1
) - 3)))) >> 10)) ? 1 : 0)
) goto tmp2_end;
2751 tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_1), 1))(*(void**)(((void*)((void**)(((void*)((char*)(tmp3_1) - 3))) +
(1)))))
;
2752 if (!listEmpty(tmp3_2)((*(mmc_uint_t*)((void*)((char*)(tmp3_2) - 3))) == (((0) <<
10) + (((0) & 255) << 2)))
) goto tmp2_end;
2753 _eq1 = tmpMeta[1];
2754 tmp3 += 1; /* Pattern matching succeeded; we may skip some cases if we fail */
2755#line 2493 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
2756 tmpMeta[0] = _eq1;
2757#line 2757 OMC_FILE"/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/boot/build/tmp/ResolveLoops.c"
2758 goto tmp2_done;
2759 }
2760 case 1: {
2761 modelica_integer tmp5;
2762 modelica_integer tmp6;
2763 if (!optionNone(tmp3_1)(0==((((((*(mmc_uint_t*)((void*)((char*)(tmp3_1) - 3)))) &
(7)) == 5)) ? ((((*(mmc_uint_t*)((void*)((char*)(tmp3_1) - 3
)))) >> (3+3))) : (((*(mmc_uint_t*)((void*)((char*)(tmp3_1
) - 3)))) >> 10)) ? 1 : 0)
) goto tmp2_end;
2764 if (listEmpty(tmp3_2)((*(mmc_uint_t*)((void*)((char*)(tmp3_2) - 3))) == (((0) <<
10) + (((0) & 255) << 2)))
) goto tmp2_end;
2765 tmpMeta[1] = MMC_CAR(tmp3_2)(*(void**)(((void*)((void**)(((void*)((char*)(tmp3_2) - 3))) +
(1)))))
;
2766 tmpMeta[2] = MMC_CDR(tmp3_2)(*(void**)(((void*)((void**)(((void*)((char*)(tmp3_2) - 3))) +
(2)))))
;
2767 tmp5 = mmc_unbox_integer(tmpMeta[1])(((mmc_sint_t) (tmpMeta[1])) >> 1);
2768 _startEq = tmp5 /* pattern as ty=Integer */;
2769 _rest = tmpMeta[2];
2770 /* Pattern matching succeeded */
2771#line 2497 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
2772 /* Pattern-matching assignment */
2773#line 2497 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
2774 tmpMeta[1] = _rest;
2775#line 2497 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
2776 if (listEmpty(tmpMeta[1])((*(mmc_uint_t*)((void*)((char*)(tmpMeta[1]) - 3))) == (((0) <<
10) + (((0) & 255) << 2)))
) goto goto_1;
2777#line 2497 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
2778 tmpMeta[2] = MMC_CAR(tmpMeta[1])(*(void**)(((void*)((void**)(((void*)((char*)(tmpMeta[1]) - 3
))) + (1)))))
;
2779#line 2497 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
2780 tmpMeta[3] = MMC_CDR(tmpMeta[1])(*(void**)(((void*)((void**)(((void*)((char*)(tmpMeta[1]) - 3
))) + (2)))))
;
2781#line 2497 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
2782 tmp6 = mmc_unbox_integer(tmpMeta[2])(((mmc_sint_t) (tmpMeta[2])) >> 1);
2783#line 2497 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
2784 _nextEq = tmp6 /* pattern as ty=Integer */;
2785#line 2497 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
2786 _rest = tmpMeta[3];
2787#line 2787 OMC_FILE"/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/boot/build/tmp/ResolveLoops.c"
2788
2789#line 2498 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
2790 _vars1 = omc_List_map(threadData, arrayGet(_me, _startEq)nobox_arrayGet(threadData,_me,_startEq), boxvar_Util_tuple31((void*)((char*)(&(boxvar_lit_Util_tuple31).header) + 3)));
2791#line 2791 OMC_FILE"/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/boot/build/tmp/ResolveLoops.c"
2792
2793#line 2499 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
2794 _vars2 = omc_List_map(threadData, arrayGet(_me, _nextEq)nobox_arrayGet(threadData,_me,_nextEq), boxvar_Util_tuple31((void*)((char*)(&(boxvar_lit_Util_tuple31).header) + 3)));
2795#line 2795 OMC_FILE"/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/boot/build/tmp/ResolveLoops.c"
2796
2797#line 2500 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
2798 _vars1 = omc_List_intersectionOnTrue(threadData, _vars1, _vars2, boxvar_intEq((void*)((char*)(&(boxvar_lit_intEq).header) + 3)));
2799#line 2799 OMC_FILE"/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/boot/build/tmp/ResolveLoops.c"
2800
2801#line 2501 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
2802 _numEqs = omc_List_map(threadData, omc_List_map1(threadData, _vars1, boxvar_Array_getIndexFirst((void*)((char*)(&(boxvar_lit_Array_getIndexFirst).header
) + 3))
, _meT), boxvar_listLength((void*)((char*)(&(boxvar_lit_listLength).header) + 3)));
2803#line 2803 OMC_FILE"/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/boot/build/tmp/ResolveLoops.c"
2804
2805#line 2502 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
2806 omc_List_filter1OnTrueSync(threadData, _numEqs, boxvar_intEq((void*)((char*)(&(boxvar_lit_intEq).header) + 3)), mmc_mk_integermmc_mk_icon(((modelica_integer) 2)), _vars1 ,&_vars1);
2807#line 2807 OMC_FILE"/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/boot/build/tmp/ResolveLoops.c"
2808
2809#line 2503 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
2810 _sharedVar = mmc_unbox_integer(listHead(_vars1))(((mmc_sint_t) (boxptr_listHead(threadData,_vars1))) >>
1)
;
2811#line 2811 OMC_FILE"/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/boot/build/tmp/ResolveLoops.c"
2812
2813#line 2504 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
2814 _eq1 = listGet(_eqsIn, _startEq)boxptr_listGet(threadData,_eqsIn,mmc_mk_icon(_startEq));
2815#line 2815 OMC_FILE"/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/boot/build/tmp/ResolveLoops.c"
2816
2817#line 2505 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
2818 _eq2 = listGet(_eqsIn, _nextEq)boxptr_listGet(threadData,_eqsIn,mmc_mk_icon(_nextEq));
2819#line 2819 OMC_FILE"/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/boot/build/tmp/ResolveLoops.c"
2820
2821#line 2506 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
2822 _var = listGet(_varsIn, _sharedVar)boxptr_listGet(threadData,_varsIn,mmc_mk_icon(_sharedVar));
2823#line 2823 OMC_FILE"/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/boot/build/tmp/ResolveLoops.c"
2824
2825#line 2507 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
2826 _varExp = omc_Expression_crefExp(threadData, omc_BackendVariable_varCref(threadData, _var));
2827#line 2827 OMC_FILE"/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/boot/build/tmp/ResolveLoops.c"
2828
2829#line 2512 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
2830 /* Pattern-matching assignment */
2831#line 2512 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
2832 tmpMeta[1] = _eq1;
2833#line 2512 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
2834 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;
2835#line 2512 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
2836 tmpMeta[2] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[1]), 2))(*(void**)(((void*)((void**)(((void*)((char*)(tmpMeta[1]) - 3
))) + (2)))))
;
2837#line 2512 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
2838 tmpMeta[3] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[1]), 3))(*(void**)(((void*)((void**)(((void*)((char*)(tmpMeta[1]) - 3
))) + (3)))))
;
2839#line 2512 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
2840 tmpMeta[4] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[1]), 4))(*(void**)(((void*)((void**)(((void*)((char*)(tmpMeta[1]) - 3
))) + (4)))))
;
2841#line 2512 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
2842 tmpMeta[5] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[1]), 5))(*(void**)(((void*)((void**)(((void*)((char*)(tmpMeta[1]) - 3
))) + (5)))))
;
2843#line 2512 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
2844 _lhs1 = tmpMeta[2];
2845#line 2512 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
2846 _rhs1 = tmpMeta[3];
2847#line 2512 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
2848 _source = tmpMeta[4];
2849#line 2512 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
2850 _attr = tmpMeta[5];
2851#line 2851 OMC_FILE"/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/boot/build/tmp/ResolveLoops.c"
2852
2853#line 2513 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
2854 /* Pattern-matching assignment */
2855#line 2513 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
2856 tmpMeta[1] = _eq2;
2857#line 2513 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
2858 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;
2859#line 2513 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
2860 tmpMeta[2] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[1]), 2))(*(void**)(((void*)((void**)(((void*)((char*)(tmpMeta[1]) - 3
))) + (2)))))
;
2861#line 2513 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
2862 tmpMeta[3] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[1]), 3))(*(void**)(((void*)((void**)(((void*)((char*)(tmpMeta[1]) - 3
))) + (3)))))
;
2863#line 2513 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
2864 _lhs2 = tmpMeta[2];
2865#line 2513 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
2866 _rhs2 = tmpMeta[3];
2867#line 2867 OMC_FILE"/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/boot/build/tmp/ResolveLoops.c"
2868
2869#line 2514 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
2870 _eqExp = omc_ExpressionSolve_solve(threadData, _lhs1, _rhs1, _varExp, mmc_mk_none()((void*)((char*)(&(mmc_none).header) + 3)), NULL((void*)0));
2871#line 2871 OMC_FILE"/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/boot/build/tmp/ResolveLoops.c"
2872
2873#line 2517 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
2874 /* Pattern-matching assignment */
2875#line 2517 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
2876 tmpMeta[1] = omc_Expression_replaceExp(threadData, _lhs2, _varExp, _eqExp);
2877#line 2517 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
2878 tmpMeta[2] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[1]), 1))(*(void**)(((void*)((void**)(((void*)((char*)(tmpMeta[1]) - 3
))) + (1)))))
;
2879#line 2517 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
2880 _lhs2 = tmpMeta[2];
2881#line 2881 OMC_FILE"/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/boot/build/tmp/ResolveLoops.c"
2882
2883#line 2518 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
2884 /* Pattern-matching assignment */
2885#line 2518 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
2886 tmpMeta[1] = omc_Expression_replaceExp(threadData, _rhs2, _varExp, _eqExp);
2887#line 2518 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
2888 tmpMeta[2] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[1]), 1))(*(void**)(((void*)((void**)(((void*)((char*)(tmpMeta[1]) - 3
))) + (1)))))
;
2889#line 2518 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
2890 _rhs2 = tmpMeta[2];
2891#line 2891 OMC_FILE"/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/boot/build/tmp/ResolveLoops.c"
2892
2893#line 2519 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
2894 _lhs2 = omc_ExpressionSimplify_simplify(threadData, _lhs2, NULL((void*)0));
2895#line 2895 OMC_FILE"/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/boot/build/tmp/ResolveLoops.c"
2896
2897#line 2520 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
2898 _rhs2 = omc_ExpressionSimplify_simplify(threadData, _rhs2, NULL((void*)0));
2899#line 2899 OMC_FILE"/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/boot/build/tmp/ResolveLoops.c"
2900
2901#line 2521 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
2902 tmpMeta[1] = mmc_mk_box5(3, &BackendDAE_Equation_EQUATION__desc, _lhs2, _rhs2, _source, _attr);
2903#line 2521 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
2904 _eq2 = tmpMeta[1];
2905#line 2905 OMC_FILE"/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/boot/build/tmp/ResolveLoops.c"
2906#line 2523 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
2907 tmpMeta[0] = omc_ResolveLoops_resolveEquations(threadData, mmc_mk_some(_eq2), _rest, _me, _meT, _eqsIn, _varsIn);
2908#line 2908 OMC_FILE"/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/boot/build/tmp/ResolveLoops.c"
2909 goto tmp2_done;
2910 }
2911 case 2: {
2912
2913 /* Pattern matching succeeded */
2914#line 2526 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
2915 fputs(MMC_STRINGDATA(_OMC_LIT41)(((struct mmc_string*)((void*)((char*)(((void*)((char*)(&
(_OMC_LIT_STRUCT41).header) + 3))) - 3)))->data)
,stdoutstdout);
2916#line 2916 OMC_FILE"/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/boot/build/tmp/ResolveLoops.c"
2917#line 2527 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
2918 goto goto_1;
2919#line 2919 OMC_FILE"/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/boot/build/tmp/ResolveLoops.c"
2920 goto tmp2_done;
2921 }
2922 }
2923 goto tmp2_end;
2924 tmp2_end: ;
2925 }
2926 goto goto_1;
2927 tmp2_done:
2928 (void)tmp3;
2929 MMC_RESTORE_INTERNAL(mmc_jumper)threadData->mmc_jumper = old_jumper;;
2930 goto tmp2_done2;
2931 goto_1:;
2932 MMC_CATCH_INTERNAL(mmc_jumper)} threadData->mmc_jumper = old_jumper;mmc_catch_dummy_fn()
;}
;
2933 if (++tmp3 < 3) {
2934 goto tmp2_top;
2935 }
2936 MMC_THROW_INTERNAL(){longjmp(*threadData->mmc_jumper,1);};
2937 tmp2_done2:;
2938 }
2939 }
2940 _eqOut = tmpMeta[0];
2941 _return: OMC_LABEL_UNUSED__attribute__((unused))
2942 return _eqOut;
2943}
2944
2945PROTECTED_FUNCTION_STATIC modelica_boolean omc_ResolveLoops_isSolvable(threadData_t *threadData, modelica_metatype _entry)
2946{
2947 modelica_boolean _solvable;
2948 modelica_metatype tmpMeta[1] __attribute__((unused)) = {0};
2949 MMC_SO()mmc_check_stackoverflow(threadData);
2950 _tailrecursive: OMC_LABEL_UNUSED__attribute__((unused))
2951 // _solvable has no default value.
2952#line 2468 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
2953 tmpMeta[0] = mmc_mk_cons(_entry, MMC_REFSTRUCTLIT(mmc_nil)((void*)((char*)(&(mmc_nil).header) + 3)));
2954#line 2468 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
2955 _solvable = (!omc_Tearing_unsolvable(threadData, tmpMeta[0]));
2956#line 2956 OMC_FILE"/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/boot/build/tmp/ResolveLoops.c"
2957 _return: OMC_LABEL_UNUSED__attribute__((unused))
2958 return _solvable;
2959}
2960PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_ResolveLoops_isSolvable(threadData_t *threadData, modelica_metatype _entry)
2961{
2962 modelica_boolean _solvable;
2963 modelica_metatype out_solvable;
2964 _solvable = omc_ResolveLoops_isSolvable(threadData, _entry);
2965 out_solvable = mmc_mk_icon(_solvable);
2966 return out_solvable;
2967}
2968
2969PROTECTED_FUNCTION_STATIC void omc_ResolveLoops_getDoublicates2(threadData_t *threadData, modelica_integer _idx, modelica_metatype _arr)
2970{
2971 modelica_integer _entry;
2972 MMC_SO()mmc_check_stackoverflow(threadData);
2973 _tailrecursive: OMC_LABEL_UNUSED__attribute__((unused))
2974 // _entry has no default value.
2975#line 2460 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
2976 _entry = mmc_unbox_integer(arrayGet(_arr, _idx))(((mmc_sint_t) (nobox_arrayGet(threadData,_arr,_idx))) >>
1)
;
2977#line 2977 OMC_FILE"/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/boot/build/tmp/ResolveLoops.c"
2978
2979#line 2461 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
2980 arrayUpdate(_arr, _idx, mmc_mk_integer(((modelica_integer) 1) + _entry))boxptr_arrayUpdate(threadData,_arr,mmc_mk_icon(_idx),mmc_mk_icon
(((modelica_integer) 1) + _entry))
;
2981#line 2981 OMC_FILE"/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/boot/build/tmp/ResolveLoops.c"
2982 _return: OMC_LABEL_UNUSED__attribute__((unused))
2983 return;
2984}
2985PROTECTED_FUNCTION_STATIC void boxptr_ResolveLoops_getDoublicates2(threadData_t *threadData, modelica_metatype _idx, modelica_metatype _arr)
2986{
2987 modelica_integer tmp1;
2988 tmp1 = mmc_unbox_integer(_idx)(((mmc_sint_t) (_idx)) >> 1);
2989 omc_ResolveLoops_getDoublicates2(threadData, tmp1, _arr);
2990 return;
2991}
2992
2993PROTECTED_FUNCTION_STATIC modelica_metatype omc_ResolveLoops_getDoublicates(threadData_t *threadData, modelica_metatype _lstIn)
2994{
2995 modelica_metatype _lstOut = NULL((void*)0);
2996 modelica_integer _max;
2997 modelica_metatype _arr = NULL((void*)0);
2998 MMC_SO()mmc_check_stackoverflow(threadData);
2999 _tailrecursive: OMC_LABEL_UNUSED__attribute__((unused))
3000 // _lstOut has no default value.
3001 // _max has no default value.
3002 // _arr has no default value.
3003#line 2448 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
3004 _max = mmc_unbox_integer(omc_List_fold(threadData, _lstIn, boxvar_intMax, listHead(_lstIn)))(((mmc_sint_t) (omc_List_fold(threadData, _lstIn, ((void*)((char
*)(&(boxvar_lit_intMax).header) + 3)), boxptr_listHead(threadData
,_lstIn)))) >> 1)
;
3005#line 3005 OMC_FILE"/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/boot/build/tmp/ResolveLoops.c"
3006
3007#line 2449 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
3008 _arr = arrayCreate(_max, mmc_mk_integermmc_mk_icon(((modelica_integer) -1)));
3009#line 3009 OMC_FILE"/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/boot/build/tmp/ResolveLoops.c"
3010
3011#line 2450 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
3012 omc_List_map1__0(threadData, _lstIn, boxvar_ResolveLoops_getDoublicates2((void*)((char*)(&(boxvar_lit_ResolveLoops_getDoublicates2
).header) + 3))
, _arr);
3013#line 3013 OMC_FILE"/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/boot/build/tmp/ResolveLoops.c"
3014
3015#line 2451 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
3016 omc_List_filter1OnTrueSync(threadData, arrayList(_arr), boxvar_intGe((void*)((char*)(&(boxvar_lit_intGe).header) + 3)), mmc_mk_integermmc_mk_icon(((modelica_integer) 1)), omc_List_intRange(threadData, arrayLength(_arr)) ,&_lstOut);
3017#line 3017 OMC_FILE"/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/boot/build/tmp/ResolveLoops.c"
3018 _return: OMC_LABEL_UNUSED__attribute__((unused))
3019 return _lstOut;
3020}
3021
3022PROTECTED_FUNCTION_STATIC modelica_boolean omc_ResolveLoops_chooseEquation(threadData_t *threadData, modelica_metatype _row, modelica_metatype _meT)
3023{
3024 modelica_boolean _chooseThis;
3025 modelica_boolean _b1;
3026 modelica_boolean _b2;
3027 modelica_boolean _b3;
3028 modelica_metatype _vars = NULL((void*)0);
3029 modelica_metatype _eqs = NULL((void*)0);
3030 modelica_metatype _numEqs = NULL((void*)0);
3031 modelica_metatype _eqLst = NULL((void*)0);
3032 MMC_SO()mmc_check_stackoverflow(threadData);
3033 _tailrecursive: OMC_LABEL_UNUSED__attribute__((unused))
3034 // _chooseThis has no default value.
3035 // _b1 has no default value.
3036 // _b2 has no default value.
3037 // _b3 has no default value.
3038 // _vars has no default value.
3039 // _eqs has no default value.
3040 // _numEqs has no default value.
3041 // _eqLst has no default value.
3042#line 2430 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
3043 _vars = omc_List_map(threadData, _row, boxvar_Util_tuple31((void*)((char*)(&(boxvar_lit_Util_tuple31).header) + 3)));
3044#line 3044 OMC_FILE"/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/boot/build/tmp/ResolveLoops.c"
3045
3046#line 2431 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
3047 _b1 = (listLength(_row) == ((modelica_integer) 2));
3048#line 3048 OMC_FILE"/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/boot/build/tmp/ResolveLoops.c"
3049
3050#line 2432 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
3051 _eqLst = omc_List_mapList(threadData, omc_List_map1(threadData, _vars, boxvar_Array_getIndexFirst((void*)((char*)(&(boxvar_lit_Array_getIndexFirst).header
) + 3))
, _meT), boxvar_Util_tuple31((void*)((char*)(&(boxvar_lit_Util_tuple31).header) + 3)));
3052#line 3052 OMC_FILE"/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/boot/build/tmp/ResolveLoops.c"
3053
3054#line 2433 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
3055 _numEqs = omc_List_map(threadData, _eqLst, boxvar_listLength((void*)((char*)(&(boxvar_lit_listLength).header) + 3)));
3056#line 3056 OMC_FILE"/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/boot/build/tmp/ResolveLoops.c"
3057
3058#line 2434 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
3059 _b3 = mmc_unbox_boolean(omc_List_applyAndFold1(threadData, _numEqs, boxvar_boolOr, boxvar_intEq, mmc_mk_integer(((modelica_integer) 2)), mmc_mk_boolean(0)))(((mmc_sint_t) (omc_List_applyAndFold1(threadData, _numEqs, (
(void*)((char*)(&(boxvar_lit_boolOr).header) + 3)), ((void
*)((char*)(&(boxvar_lit_intEq).header) + 3)), mmc_mk_icon
(((modelica_integer) 2)), ((0) != 0 ? (mmc_mk_icon(1)) : (mmc_mk_icon
(0)))))) >> 1)
;
3060#line 3060 OMC_FILE"/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/boot/build/tmp/ResolveLoops.c"
3061
3062#line 2435 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
3063 _eqs = omc_List_flatten(threadData, _eqLst);
3064#line 3064 OMC_FILE"/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/boot/build/tmp/ResolveLoops.c"
3065
3066#line 2436 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
3067 _b2 = (listLength(_eqs) == ((modelica_integer) 2) + listLength(omc_List_unique(threadData, _eqs)));
3068#line 3068 OMC_FILE"/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/boot/build/tmp/ResolveLoops.c"
3069
3070#line 2437 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
3071 _b1 = ((_b1 && _b2) && _b3);
3072#line 3072 OMC_FILE"/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/boot/build/tmp/ResolveLoops.c"
3073
3074#line 2438 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
3075 _chooseThis = (_b1 && mmc_unbox_boolean(omc_List_applyAndFold(threadData, _row, boxvar_boolAnd, boxvar_ResolveLoops_isSolvable, mmc_mk_boolean(1)))(((mmc_sint_t) (omc_List_applyAndFold(threadData, _row, ((void
*)((char*)(&(boxvar_lit_boolAnd).header) + 3)), ((void*)(
(char*)(&(boxvar_lit_ResolveLoops_isSolvable).header) + 3
)), ((1) != 0 ? (mmc_mk_icon(1)) : (mmc_mk_icon(0)))))) >>
1)
);
3076#line 3076 OMC_FILE"/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/boot/build/tmp/ResolveLoops.c"
3077 _return: OMC_LABEL_UNUSED__attribute__((unused))
3078 return _chooseThis;
3079}
3080PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_ResolveLoops_chooseEquation(threadData_t *threadData, modelica_metatype _row, modelica_metatype _meT)
3081{
3082 modelica_boolean _chooseThis;
3083 modelica_metatype out_chooseThis;
3084 _chooseThis = omc_ResolveLoops_chooseEquation(threadData, _row, _meT);
3085 out_chooseThis = mmc_mk_icon(_chooseThis);
3086 return out_chooseThis;
3087}
3088
3089PROTECTED_FUNCTION_STATIC modelica_metatype omc_ResolveLoops_getEqPairs(threadData_t *threadData, modelica_integer _eq, modelica_metatype _me, modelica_metatype _meT)
3090{
3091 modelica_metatype _lstOut = NULL((void*)0);
3092 modelica_metatype _vars = NULL((void*)0);
3093 modelica_metatype _eqs = NULL((void*)0);
3094 MMC_SO()mmc_check_stackoverflow(threadData);
3095 _tailrecursive: OMC_LABEL_UNUSED__attribute__((unused))
3096 // _lstOut has no default value.
3097 // _vars has no default value.
3098 // _eqs has no default value.
3099#line 2412 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
3100 _vars = omc_List_map(threadData, arrayGet(_me, _eq)nobox_arrayGet(threadData,_me,_eq), boxvar_Util_tuple31((void*)((char*)(&(boxvar_lit_Util_tuple31).header) + 3)));
3101#line 3101 OMC_FILE"/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/boot/build/tmp/ResolveLoops.c"
3102
3103#line 2414 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
3104 _eqs = omc_List_map(threadData, omc_List_flatten(threadData, omc_List_map1(threadData, _vars, boxvar_Array_getIndexFirst((void*)((char*)(&(boxvar_lit_Array_getIndexFirst).header
) + 3))
, _meT)), boxvar_Util_tuple31((void*)((char*)(&(boxvar_lit_Util_tuple31).header) + 3)));
3105#line 3105 OMC_FILE"/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/boot/build/tmp/ResolveLoops.c"
3106
3107#line 2416 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
3108 _eqs = omc_ResolveLoops_getDoublicates(threadData, _eqs);
3109#line 3109 OMC_FILE"/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/boot/build/tmp/ResolveLoops.c"
3110
3111#line 2418 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
3112 _lstOut = omc_List_consOnTrue(threadData, (!listMember(mmc_mk_integermmc_mk_icon(_eq), _eqs)), mmc_mk_integermmc_mk_icon(_eq), _eqs);
3113#line 3113 OMC_FILE"/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/boot/build/tmp/ResolveLoops.c"
3114 _return: OMC_LABEL_UNUSED__attribute__((unused))
3115 return _lstOut;
3116}
3117PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_ResolveLoops_getEqPairs(threadData_t *threadData, modelica_metatype _eq, modelica_metatype _me, modelica_metatype _meT)
3118{
3119 modelica_integer tmp1;
3120 modelica_metatype _lstOut = NULL((void*)0);
3121 tmp1 = mmc_unbox_integer(_eq)(((mmc_sint_t) (_eq)) >> 1);
3122 _lstOut = omc_ResolveLoops_getEqPairs(threadData, tmp1, _me, _meT);
3123 /* skip box _lstOut; list<#Integer> */
3124 return _lstOut;
3125}
3126
3127PROTECTED_FUNCTION_STATIC modelica_metatype omc_ResolveLoops_reshuffling__post4__resolveAndReplace(threadData_t *threadData, modelica_metatype _resolveEqLst, modelica_metatype _unassEqsIn, modelica_metatype _unassVarsIn, modelica_metatype _me, modelica_metatype _meT)
3128{
3129 modelica_metatype _unassEqsOut = NULL((void*)0);
3130 modelica_metatype tmpMeta[3] __attribute__((unused)) = {0};
3131 MMC_SO()mmc_check_stackoverflow(threadData);
3132 _tailrecursive: OMC_LABEL_UNUSED__attribute__((unused))
3133 // _unassEqsOut has no default value.
3134#line 3134 OMC_FILE"/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/boot/build/tmp/ResolveLoops.c"
3135 { /* matchcontinue expression */
3136 volatile modelica_metatype tmp3_1;
3137 tmp3_1 = _resolveEqLst;
3138 {
3139 modelica_integer _maxNum;
3140 modelica_integer _replEqIdx;
3141 modelica_metatype _numOfAdjVars = NULL((void*)0);
3142 modelica_metatype _resolveEqs = NULL((void*)0);
3143 modelica_metatype _rest = NULL((void*)0);
3144 modelica_metatype _unassEqs = NULL((void*)0);
3145 modelica_metatype _resolvedEq = NULL((void*)0);
3146 volatile mmc_switch_type tmp3;
3147 int tmp4;
3148 // _maxNum has no default value.
3149 // _replEqIdx has no default value.
3150 // _numOfAdjVars has no default value.
3151 // _resolveEqs has no default value.
3152 // _rest has no default value.
3153 // _unassEqs has no default value.
3154 // _resolvedEq has no default value.
3155 tmp3 = 0;
3156 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) {
3157 tmp2_top:
3158 threadData->mmc_jumper = &new_mmc_jumper;
3159 for (; tmp3 < 3; tmp3++) {
3160 switch (MMC_SWITCH_CAST(tmp3)(tmp3)) {
3161 case 0: {
3162 if (!listEmpty(tmp3_1)((*(mmc_uint_t*)((void*)((char*)(tmp3_1) - 3))) == (((0) <<
10) + (((0) & 255) << 2)))
) goto tmp2_end;
3163 tmp3 += 1; /* Pattern matching succeeded; we may skip some cases if we fail */
3164#line 2382 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
3165 tmpMeta[0] = _unassEqsIn;
3166#line 3166 OMC_FILE"/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/boot/build/tmp/ResolveLoops.c"
3167 goto tmp2_done;
3168 }
3169 case 1: {
3170 if (listEmpty(tmp3_1)((*(mmc_uint_t*)((void*)((char*)(tmp3_1) - 3))) == (((0) <<
10) + (((0) & 255) << 2)))
) goto tmp2_end;
3171 tmpMeta[1] = MMC_CAR(tmp3_1)(*(void**)(((void*)((void**)(((void*)((char*)(tmp3_1) - 3))) +
(1)))))
;
3172 tmpMeta[2] = MMC_CDR(tmp3_1)(*(void**)(((void*)((void**)(((void*)((char*)(tmp3_1) - 3))) +
(2)))))
;
3173 _resolveEqs = tmpMeta[1];
3174 _rest = tmpMeta[2];
3175 /* Pattern matching succeeded */
3176#line 2385 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
3177 _resolvedEq = omc_ResolveLoops_resolveEquations(threadData, mmc_mk_none()((void*)((char*)(&(mmc_none).header) + 3)), _resolveEqs, _me, _meT, _unassEqsIn, _unassVarsIn);
3178#line 3178 OMC_FILE"/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/boot/build/tmp/ResolveLoops.c"
3179
3180#line 2389 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
3181 _numOfAdjVars = omc_List_map(threadData, omc_List_map1(threadData, _resolveEqs, boxvar_Array_getIndexFirst((void*)((char*)(&(boxvar_lit_Array_getIndexFirst).header
) + 3))
, _me), boxvar_listLength((void*)((char*)(&(boxvar_lit_listLength).header) + 3)));
3182#line 3182 OMC_FILE"/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/boot/build/tmp/ResolveLoops.c"
3183
3184#line 2390 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
3185 _maxNum = mmc_unbox_integer(omc_List_fold(threadData, _numOfAdjVars, boxvar_intMax, listHead(_numOfAdjVars)))(((mmc_sint_t) (omc_List_fold(threadData, _numOfAdjVars, ((void
*)((char*)(&(boxvar_lit_intMax).header) + 3)), boxptr_listHead
(threadData,_numOfAdjVars)))) >> 1)
;
3186#line 3186 OMC_FILE"/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/boot/build/tmp/ResolveLoops.c"
3187
3188#line 2391 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
3189 _replEqIdx = mmc_unbox_integer(listGet(_resolveEqs, omc_List_position(threadData, mmc_mk_integer(_maxNum), _numOfAdjVars)))(((mmc_sint_t) (boxptr_listGet(threadData,_resolveEqs,mmc_mk_icon
(omc_List_position(threadData, mmc_mk_icon(_maxNum), _numOfAdjVars
))))) >> 1)
;
3190#line 3190 OMC_FILE"/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/boot/build/tmp/ResolveLoops.c"
3191
3192#line 2393 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
3193 _unassEqs = omc_List_replaceAt(threadData, _resolvedEq, _replEqIdx, _unassEqsIn);
3194#line 3194 OMC_FILE"/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/boot/build/tmp/ResolveLoops.c"
3195#line 2396 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
3196 tmpMeta[0] = omc_ResolveLoops_reshuffling__post4__resolveAndReplace(threadData, _rest, _unassEqs, _unassVarsIn, _me, _meT);
3197#line 3197 OMC_FILE"/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/boot/build/tmp/ResolveLoops.c"
3198 goto tmp2_done;
3199 }
3200 case 2: {
3201
3202 /* Pattern matching succeeded */
3203#line 2399 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
3204 fputs(MMC_STRINGDATA(_OMC_LIT42)(((struct mmc_string*)((void*)((char*)(((void*)((char*)(&
(_OMC_LIT_STRUCT42).header) + 3))) - 3)))->data)
,stdoutstdout);
3205#line 3205 OMC_FILE"/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/boot/build/tmp/ResolveLoops.c"
3206#line 2400 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
3207 goto goto_1;
3208#line 3208 OMC_FILE"/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/boot/build/tmp/ResolveLoops.c"
3209 goto tmp2_done;
3210 }
3211 }
3212 goto tmp2_end;
3213 tmp2_end: ;
3214 }
3215 goto goto_1;
3216 tmp2_done:
3217 (void)tmp3;
3218 MMC_RESTORE_INTERNAL(mmc_jumper)threadData->mmc_jumper = old_jumper;;
3219 goto tmp2_done2;
3220 goto_1:;
3221 MMC_CATCH_INTERNAL(mmc_jumper)} threadData->mmc_jumper = old_jumper;mmc_catch_dummy_fn()
;}
;
3222 if (++tmp3 < 3) {
3223 goto tmp2_top;
3224 }
3225 MMC_THROW_INTERNAL(){longjmp(*threadData->mmc_jumper,1);};
3226 tmp2_done2:;
3227 }
3228 }
3229 _unassEqsOut = tmpMeta[0];
3230 _return: OMC_LABEL_UNUSED__attribute__((unused))
3231 return _unassEqsOut;
3232}
3233
3234PROTECTED_FUNCTION_STATIC modelica_metatype omc_ResolveLoops_reshuffling__post3__selectShuffleEqs(threadData_t *threadData, modelica_metatype _me, modelica_metatype _meT)
3235{
3236 modelica_metatype _resolveEqs = NULL((void*)0);
3237 modelica_metatype tmpMeta[2] __attribute__((unused)) = {0};
3238 MMC_SO()mmc_check_stackoverflow(threadData);
3239 _tailrecursive: OMC_LABEL_UNUSED__attribute__((unused))
3240 // _resolveEqs has no default value.
3241#line 3241 OMC_FILE"/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/boot/build/tmp/ResolveLoops.c"
3242 { /* matchcontinue expression */
3243 {
3244 modelica_metatype _bArr = NULL((void*)0);
3245 modelica_metatype _suitableEqs = NULL((void*)0);
3246 modelica_metatype _eqPairs = NULL((void*)0);
3247 volatile mmc_switch_type tmp3;
3248 int tmp4;
3249 // _bArr has no default value.
3250 // _suitableEqs has no default value.
3251 // _eqPairs has no default value.
3252 tmp3 = 0;
3253 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) {
3254 tmp2_top:
3255 threadData->mmc_jumper = &new_mmc_jumper;
3256 for (; tmp3 < 2; tmp3++) {
3257 switch (MMC_SWITCH_CAST(tmp3)(tmp3)) {
3258 case 0: {
3259 /* Pattern matching succeeded */
3260#line 2353 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
3261 _bArr = omc_Array_map1(threadData, _me, boxvar_ResolveLoops_chooseEquation((void*)((char*)(&(boxvar_lit_ResolveLoops_chooseEquation
).header) + 3))
, _meT);
3262#line 3262 OMC_FILE"/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/boot/build/tmp/ResolveLoops.c"
3263
3264#line 2354 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
3265 omc_List_filter1OnTrueSync(threadData, arrayList(_bArr), boxvar_boolEq((void*)((char*)(&(boxvar_lit_boolEq).header) + 3)), mmc_mk_boolean(1)((1) != 0 ? (mmc_mk_icon(1)) : (mmc_mk_icon(0))), omc_List_intRange(threadData, arrayLength(_me)) ,&_suitableEqs);
3266#line 3266 OMC_FILE"/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/boot/build/tmp/ResolveLoops.c"
3267
3268#line 2356 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
3269 _eqPairs = omc_List_map2(threadData, _suitableEqs, boxvar_ResolveLoops_getEqPairs((void*)((char*)(&(boxvar_lit_ResolveLoops_getEqPairs).header
) + 3))
, _me, _meT);
3270#line 3270 OMC_FILE"/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/boot/build/tmp/ResolveLoops.c"
3271#line 2357 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
3272 tmpMeta[0] = omc_List_filterOnTrue(threadData, _eqPairs, boxvar_List_hasSeveralElements((void*)((char*)(&(boxvar_lit_List_hasSeveralElements).header
) + 3))
);
3273#line 3273 OMC_FILE"/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/boot/build/tmp/ResolveLoops.c"
3274 goto tmp2_done;
3275 }
3276 case 1: {
3277 /* Pattern matching succeeded */
3278#line 2361 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
3279 fputs(MMC_STRINGDATA(_OMC_LIT43)(((struct mmc_string*)((void*)((char*)(((void*)((char*)(&
(_OMC_LIT_STRUCT43).header) + 3))) - 3)))->data)
,stdoutstdout);
3280#line 3280 OMC_FILE"/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/boot/build/tmp/ResolveLoops.c"
3281#line 2362 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
3282 tmpMeta[1] = MMC_REFSTRUCTLIT(mmc_nil)((void*)((char*)(&(mmc_nil).header) + 3));
3283#line 2362 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
3284 tmpMeta[0] = tmpMeta[1];
3285#line 3285 OMC_FILE"/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/boot/build/tmp/ResolveLoops.c"
3286 goto tmp2_done;
3287 }
3288 }
3289 goto tmp2_end;
3290 tmp2_end: ;
3291 }
3292 goto goto_1;
3293 tmp2_done:
3294 (void)tmp3;
3295 MMC_RESTORE_INTERNAL(mmc_jumper)threadData->mmc_jumper = old_jumper;;
3296 goto tmp2_done2;
3297 goto_1:;
3298 MMC_CATCH_INTERNAL(mmc_jumper)} threadData->mmc_jumper = old_jumper;mmc_catch_dummy_fn()
;}
;
3299 if (++tmp3 < 2) {
3300 goto tmp2_top;
3301 }
3302 MMC_THROW_INTERNAL(){longjmp(*threadData->mmc_jumper,1);};
3303 tmp2_done2:;
3304 }
3305 }
3306 _resolveEqs = tmpMeta[0];
3307 _return: OMC_LABEL_UNUSED__attribute__((unused))
3308 return _resolveEqs;
3309}
3310
3311PROTECTED_FUNCTION_STATIC modelica_metatype omc_ResolveLoops_reshuffling__post2(threadData_t *threadData, modelica_metatype _eqIdcs, modelica_metatype _varIdcs, modelica_metatype _dae, modelica_metatype _shared, modelica_metatype _ojac, modelica_metatype _jacType, modelica_boolean *out_outRunMatching)
3312{
3313 modelica_metatype _daeOut = NULL((void*)0);
3314 modelica_boolean _outRunMatching;
3315 modelica_integer _size;
3316 modelica_metatype _resEqs = NULL((void*)0);
3317 modelica_metatype _mapEqnIncRow = NULL((void*)0);
3318 modelica_metatype _mapIncRowEqn = NULL((void*)0);
3319 modelica_metatype _ass1 = NULL((void*)0);
3320 modelica_metatype _ass2 = NULL((void*)0);
3321 modelica_metatype _ass1Sys = NULL((void*)0);
3322 modelica_metatype _ass2Sys = NULL((void*)0);
3323 modelica_metatype _varAtts = NULL((void*)0);
3324 modelica_metatype _eqAtts = NULL((void*)0);
3325 modelica_metatype _eqs = NULL((void*)0);
3326 modelica_metatype _replEqs = NULL((void*)0);
3327 modelica_metatype _daeEqs = NULL((void*)0);
3328 modelica_metatype _vars = NULL((void*)0);
3329 modelica_metatype _daeVars = NULL((void*)0);
3330 modelica_metatype _subSys = NULL((void*)0);
3331 modelica_metatype _me = NULL((void*)0);
3332 modelica_metatype _me2 = NULL((void*)0);
3333 modelica_metatype _meT = NULL((void*)0);
3334 modelica_metatype _m = NULL((void*)0);
3335 modelica_metatype _funcs = NULL((void*)0);
3336 modelica_metatype _eqLst = NULL((void*)0);
3337 modelica_metatype _eqsInLst = NULL((void*)0);
3338 modelica_metatype _varLst = NULL((void*)0);
3339 modelica_metatype tmpMeta[6] __attribute__((unused)) = {0};
3340 MMC_SO()mmc_check_stackoverflow(threadData);
3341 _tailrecursive: OMC_LABEL_UNUSED__attribute__((unused))
3342 // _daeOut has no default value.
3343 // _outRunMatching has no default value.
3344 // _size has no default value.
3345 // _resEqs has no default value.
3346 // _mapEqnIncRow has no default value.
3347 // _mapIncRowEqn has no default value.
3348 // _ass1 has no default value.
3349 // _ass2 has no default value.
3350 // _ass1Sys has no default value.
3351 // _ass2Sys has no default value.
3352 // _varAtts has no default value.
3353 // _eqAtts has no default value.
3354 // _eqs has no default value.
3355 // _replEqs has no default value.
3356 // _daeEqs has no default value.
3357 // _vars has no default value.
3358 // _daeVars has no default value.
3359 // _subSys has no default value.
3360 // _me has no default value.
3361 // _me2 has no default value.
3362 // _meT has no default value.
3363 // _m has no default value.
3364 // _funcs has no default value.
3365 // _eqLst has no default value.
3366 // _eqsInLst has no default value.
3367 // _varLst has no default value.
3368#line 2301 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
3369 _size = listLength(_varIdcs);
3370#line 3370 OMC_FILE"/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/boot/build/tmp/ResolveLoops.c"
3371
3372#line 2302 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
3373 /* Pattern-matching assignment */
3374#line 2302 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
3375 tmpMeta[0] = _dae;
3376#line 2302 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
3377 tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[0]), 2))(*(void**)(((void*)((void**)(((void*)((char*)(tmpMeta[0]) - 3
))) + (2)))))
;
3378#line 2302 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
3379 tmpMeta[2] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[0]), 3))(*(void**)(((void*)((void**)(((void*)((char*)(tmpMeta[0]) - 3
))) + (3)))))
;
3380#line 2302 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
3381 tmpMeta[3] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[0]), 7))(*(void**)(((void*)((void**)(((void*)((char*)(tmpMeta[0]) - 3
))) + (7)))))
;
3382#line 2302 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
3383 if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[3],1,3)((*(mmc_uint_t*)((void*)((char*)(tmpMeta[3]) - 3)))==(((3 +1)
<< 10) + (((1 +3) & 255) << 2)))
== 0) MMC_THROW_INTERNAL(){longjmp(*threadData->mmc_jumper,1);};
3384#line 2302 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
3385 tmpMeta[4] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[3]), 2))(*(void**)(((void*)((void**)(((void*)((char*)(tmpMeta[3]) - 3
))) + (2)))))
;
3386#line 2302 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
3387 tmpMeta[5] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[3]), 3))(*(void**)(((void*)((void**)(((void*)((char*)(tmpMeta[3]) - 3
))) + (3)))))
;
3388#line 2302 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
3389 _daeVars = tmpMeta[1];
3390#line 2302 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
3391 _daeEqs = tmpMeta[2];
3392#line 2302 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
3393 _ass1Sys = tmpMeta[4];
3394#line 2302 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
3395 _ass2Sys = tmpMeta[5];
3396#line 3396 OMC_FILE"/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/boot/build/tmp/ResolveLoops.c"
3397
3398#line 2303 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
3399 _funcs = omc_BackendDAEUtil_getFunctions(threadData, _shared);
3400#line 3400 OMC_FILE"/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/boot/build/tmp/ResolveLoops.c"
3401
3402#line 2304 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
3403 _eqLst = omc_BackendEquation_getList(threadData, _eqIdcs, _daeEqs);
3404#line 3404 OMC_FILE"/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/boot/build/tmp/ResolveLoops.c"
3405
3406#line 2305 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
3407 _eqs = omc_BackendEquation_listEquation(threadData, _eqLst);
3408#line 3408 OMC_FILE"/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/boot/build/tmp/ResolveLoops.c"
3409
3410#line 2306 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
3411 _varLst = omc_List_map1r(threadData, _varIdcs, boxvar_BackendVariable_getVarAt((void*)((char*)(&(boxvar_lit_BackendVariable_getVarAt).header
) + 3))
, _daeVars);
3412#line 3412 OMC_FILE"/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/boot/build/tmp/ResolveLoops.c"
3413
3414#line 2307 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
3415 _vars = omc_BackendVariable_listVar1(threadData, _varLst);
3416#line 3416 OMC_FILE"/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/boot/build/tmp/ResolveLoops.c"
3417
3418#line 2308 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
3419 tmpMeta[0] = MMC_REFSTRUCTLIT(mmc_nil)((void*)((char*)(&(mmc_nil).header) + 3));
3420#line 2308 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
3421 _subSys = omc_BackendDAEUtil_createEqSystem(threadData, _vars, _eqs, tmpMeta[0], _OMC_LIT44((void*)((char*)(&(_OMC_LIT_STRUCT44).header) + 3)), omc_BackendEquation_emptyEqns(threadData));
3422#line 3422 OMC_FILE"/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/boot/build/tmp/ResolveLoops.c"
3423
3424#line 2309 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
3425 _me = omc_BackendDAEUtil_getAdjacencyMatrixEnhancedScalar(threadData, _subSys, _shared, 0 ,&_meT ,NULL((void*)0) ,NULL((void*)0));
3426#line 3426 OMC_FILE"/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/boot/build/tmp/ResolveLoops.c"
3427
3428#line 2310 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
3429 omc_BackendDAEUtil_getAdjacencyMatrixScalar(threadData, _subSys, _OMC_LIT45((void*)((char*)(&(_OMC_LIT_STRUCT45).header) + 3)), mmc_mk_some(omc_BackendDAEUtil_getFunctions(threadData, _shared)), omc_BackendDAEUtil_isInitializationDAE(threadData, _shared) ,&_m ,NULL((void*)0) ,NULL((void*)0) ,NULL((void*)0));
3430#line 3430 OMC_FILE"/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/boot/build/tmp/ResolveLoops.c"
3431
3432#line 2311 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
3433 _ass1 = arrayCreate(_size, mmc_mk_integermmc_mk_icon(((modelica_integer) -1)));
3434#line 3434 OMC_FILE"/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/boot/build/tmp/ResolveLoops.c"
3435
3436#line 2312 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
3437 _ass2 = arrayCreate(_size, mmc_mk_integermmc_mk_icon(((modelica_integer) -1)));
3438#line 3438 OMC_FILE"/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/boot/build/tmp/ResolveLoops.c"
3439
3440#line 2315 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
3441 _varAtts = omc_List_threadMap(threadData, omc_List_fill(threadData, mmc_mk_boolean(0)((0) != 0 ? (mmc_mk_icon(1)) : (mmc_mk_icon(0))), listLength(_varLst)), omc_List_map(threadData, _eqIdcs, boxvar_intString((void*)((char*)(&(boxvar_lit_intString).header) + 3))), boxvar_Util_makeTuple((void*)((char*)(&(boxvar_lit_Util_makeTuple).header) + 3
))
);
3442#line 3442 OMC_FILE"/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/boot/build/tmp/ResolveLoops.c"
3443
3444#line 2316 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
3445 _eqAtts = omc_List_threadMap(threadData, omc_List_fill(threadData, mmc_mk_boolean(0)((0) != 0 ? (mmc_mk_icon(1)) : (mmc_mk_icon(0))), listLength(_eqLst)), omc_List_map(threadData, _varIdcs, boxvar_intString((void*)((char*)(&(boxvar_lit_intString).header) + 3))), boxvar_Util_makeTuple((void*)((char*)(&(boxvar_lit_Util_makeTuple).header) + 3
))
);
3446#line 3446 OMC_FILE"/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/boot/build/tmp/ResolveLoops.c"
3447
3448#line 2317 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
3449 omc_BackendDump_dumpBipartiteGraphStrongComponent2(threadData, _vars, _eqs, _m, _varAtts, _eqAtts, _OMC_LIT46((void*)((char*)(&(_OMC_LIT_STRUCT46).header) + 3)));
3450#line 3450 OMC_FILE"/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/boot/build/tmp/ResolveLoops.c"
3451
3452#line 2320 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
3453 _resEqs = omc_ResolveLoops_reshuffling__post3__selectShuffleEqs(threadData, _me, _meT);
3454#line 3454 OMC_FILE"/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/boot/build/tmp/ResolveLoops.c"
3455
3456#line 2323 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
3457 _eqsInLst = omc_ResolveLoops_reshuffling__post4__resolveAndReplace(threadData, _resEqs, _eqLst, _varLst, _me, _meT);
3458#line 3458 OMC_FILE"/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/boot/build/tmp/ResolveLoops.c"
3459
3460#line 2331 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
3461 _daeEqs = omc_List_threadFold(threadData, _eqIdcs, _eqsInLst, boxvar_BackendEquation_setAtIndexFirst((void*)((char*)(&(boxvar_lit_BackendEquation_setAtIndexFirst
).header) + 3))
, _daeEqs);
3462#line 3462 OMC_FILE"/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/boot/build/tmp/ResolveLoops.c"
3463
3464#line 2332 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
3465 _daeOut = omc_BackendDAEUtil_setEqSystEqs(threadData, _dae, _daeEqs);
3466#line 3466 OMC_FILE"/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/boot/build/tmp/ResolveLoops.c"
3467
3468#line 2333 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
3469 tmpMeta[0] = MMC_REFSTRUCTLIT(mmc_nil)((void*)((char*)(&(mmc_nil).header) + 3));
3470#line 2333 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
3471 tmpMeta[1] = mmc_mk_box4(4, &BackendDAE_Matching_MATCHING__desc, _ass1Sys, _ass2Sys, tmpMeta[0]);
3472#line 2333 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
3473 _daeOut = omc_BackendDAEUtil_setEqSystMatching(threadData, _daeOut, tmpMeta[1]);
3474#line 3474 OMC_FILE"/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/boot/build/tmp/ResolveLoops.c"
3475
3476#line 2335 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
3477 _daeOut = omc_BackendDAEUtil_getAdjacencyMatrixScalar(threadData, _daeOut, _OMC_LIT47((void*)((char*)(&(_OMC_LIT_STRUCT47).header) + 3)), mmc_mk_some(_funcs), omc_BackendDAEUtil_isInitializationDAE(threadData, _shared), NULL((void*)0), NULL((void*)0), NULL((void*)0), NULL((void*)0));
3478#line 3478 OMC_FILE"/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/boot/build/tmp/ResolveLoops.c"
3479
3480#line 2337 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
3481 _outRunMatching = 1;
3482#line 3482 OMC_FILE"/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/boot/build/tmp/ResolveLoops.c"
3483 _return: OMC_LABEL_UNUSED__attribute__((unused))
3484 if (out_outRunMatching) { *out_outRunMatching = _outRunMatching; }
3485 return _daeOut;
3486}
3487PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_ResolveLoops_reshuffling__post2(threadData_t *threadData, modelica_metatype _eqIdcs, modelica_metatype _varIdcs, modelica_metatype _dae, modelica_metatype _shared, modelica_metatype _ojac, modelica_metatype _jacType, modelica_metatype *out_outRunMatching)
3488{
3489 modelica_boolean _outRunMatching;
3490 modelica_metatype _daeOut = NULL((void*)0);
3491 _daeOut = omc_ResolveLoops_reshuffling__post2(threadData, _eqIdcs, _varIdcs, _dae, _shared, _ojac, _jacType, &_outRunMatching);
3492 /* skip box _daeOut; BackendDAE.EqSystem */
3493 if (out_outRunMatching) { *out_outRunMatching = mmc_mk_icon(_outRunMatching); }
3494 return _daeOut;
3495}
3496
3497PROTECTED_FUNCTION_STATIC modelica_metatype omc_ResolveLoops_reshuffling__post1(threadData_t *threadData, modelica_metatype _compIn, modelica_metatype _shared, modelica_metatype _systIn)
3498{
3499 modelica_metatype _systOut = NULL((void*)0);
3500 modelica_metatype tmpMeta[6] __attribute__((unused)) = {0};
3501 MMC_SO()mmc_check_stackoverflow(threadData);
3502 _tailrecursive: OMC_LABEL_UNUSED__attribute__((unused))
3503 // _systOut has no default value.
3504#line 3504 OMC_FILE"/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/boot/build/tmp/ResolveLoops.c"
3505 { /* matchcontinue expression */
3506 volatile modelica_metatype tmp3_1;
3507 tmp3_1 = _compIn;
3508 {
3509 modelica_metatype _vIdcs = NULL((void*)0);
3510 modelica_metatype _eqIdcs = NULL((void*)0);
3511 modelica_metatype _jacType = NULL((void*)0);
3512 modelica_metatype _ojac = NULL((void*)0);
3513 volatile mmc_switch_type tmp3;
3514 int tmp4;
3515 // _vIdcs has no default value.
3516 // _eqIdcs has no default value.
3517 // _jacType has no default value.
3518 // _ojac has no default value.
3519 tmp3 = 0;
3520 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) {
3521 tmp2_top:
3522 threadData->mmc_jumper = &new_mmc_jumper;
3523 for (; tmp3 < 2; tmp3++) {
3524 switch (MMC_SWITCH_CAST(tmp3)(tmp3)) {
3525 case 0: {
3526 if (mmc__uniontype__metarecord__typedef__equal(tmp3_1,1,5)((*(mmc_uint_t*)((void*)((char*)(tmp3_1) - 3)))==(((5 +1) <<
10) + (((1 +3) & 255) << 2)))
== 0) goto tmp2_end;
3527 tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_1), 2))(*(void**)(((void*)((void**)(((void*)((char*)(tmp3_1) - 3))) +
(2)))))
;
3528 tmpMeta[2] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_1), 3))(*(void**)(((void*)((void**)(((void*)((char*)(tmp3_1) - 3))) +
(3)))))
;
3529 tmpMeta[3] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_1), 4))(*(void**)(((void*)((void**)(((void*)((char*)(tmp3_1) - 3))) +
(4)))))
;
3530 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 tmp2_end;
3531 tmpMeta[4] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[3]), 2))(*(void**)(((void*)((void**)(((void*)((char*)(tmpMeta[3]) - 3
))) + (2)))))
;
3532 tmpMeta[5] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_1), 5))(*(void**)(((void*)((void**)(((void*)((char*)(tmp3_1) - 3))) +
(5)))))
;
3533
3534 _eqIdcs = tmpMeta[1];
3535 _vIdcs = tmpMeta[2];
3536 _ojac = tmpMeta[4];
3537 _jacType = tmpMeta[5];
3538 /* Pattern matching succeeded */
3539#line 2268 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
3540 equality(_jacType, _OMC_LIT48)boxptr_equality(threadData,_jacType,((void*)((char*)(&(_OMC_LIT_STRUCT48
).header) + 3)))
;
3541#line 3541 OMC_FILE"/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/boot/build/tmp/ResolveLoops.c"
3542#line 2269 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
3543 tmpMeta[0] = omc_ResolveLoops_reshuffling__post2(threadData, _eqIdcs, _vIdcs, _systIn, _shared, _ojac, _jacType, NULL((void*)0));
3544#line 3544 OMC_FILE"/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/boot/build/tmp/ResolveLoops.c"
3545 goto tmp2_done;
3546 }
3547 case 1: {
3548
3549 /* Pattern matching succeeded */
3550#line 2272 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
3551 tmpMeta[0] = _systIn;
3552#line 3552 OMC_FILE"/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/boot/build/tmp/ResolveLoops.c"
3553 goto tmp2_done;
3554 }
3555 }
3556 goto tmp2_end;
3557 tmp2_end: ;
3558 }
3559 goto goto_1;
3560 tmp2_done:
3561 (void)tmp3;
3562 MMC_RESTORE_INTERNAL(mmc_jumper)threadData->mmc_jumper = old_jumper;;
3563 goto tmp2_done2;
3564 goto_1:;
3565 MMC_CATCH_INTERNAL(mmc_jumper)} threadData->mmc_jumper = old_jumper;mmc_catch_dummy_fn()
;}
;
3566 if (++tmp3 < 2) {
3567 goto tmp2_top;
3568 }
3569 MMC_THROW_INTERNAL(){longjmp(*threadData->mmc_jumper,1);};
3570 tmp2_done2:;
3571 }
3572 }
3573 _systOut = tmpMeta[0];
3574 _return: OMC_LABEL_UNUSED__attribute__((unused))
3575 return _systOut;
3576}
3577
3578PROTECTED_FUNCTION_STATIC modelica_metatype omc_ResolveLoops_reshuffling__post0(threadData_t *threadData, modelica_metatype _isyst, modelica_metatype _shared)
3579{
3580 modelica_metatype _osyst = NULL((void*)0);
3581 modelica_metatype _comps = NULL((void*)0);
3582 modelica_metatype _syst = NULL((void*)0);
3583 modelica_boolean _b;
3584 modelica_metatype tmpMeta[3] __attribute__((unused)) = {0};
3585 MMC_SO()mmc_check_stackoverflow(threadData);
3586 _tailrecursive: OMC_LABEL_UNUSED__attribute__((unused))
3587 // _osyst has no default value.
3588 // _comps has no default value.
3589 // _syst has no default value.
3590 // _b has no default value.
3591#line 2250 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
3592 /* Pattern-matching assignment */
3593#line 2250 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
3594 tmpMeta[0] = _isyst;
3595#line 2250 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
3596 tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[0]), 7))(*(void**)(((void*)((void**)(((void*)((char*)(tmpMeta[0]) - 3
))) + (7)))))
;
3597#line 2250 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
3598 if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[1],1,3)((*(mmc_uint_t*)((void*)((char*)(tmpMeta[1]) - 3)))==(((3 +1)
<< 10) + (((1 +3) & 255) << 2)))
== 0) MMC_THROW_INTERNAL(){longjmp(*threadData->mmc_jumper,1);};
3599#line 2250 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
3600 tmpMeta[2] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[1]), 4))(*(void**)(((void*)((void**)(((void*)((char*)(tmpMeta[1]) - 3
))) + (4)))))
;
3601#line 2250 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
3602 _comps = tmpMeta[2];
3603#line 3603 OMC_FILE"/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/boot/build/tmp/ResolveLoops.c"
3604
3605#line 2251 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
3606 _osyst = omc_List_fold1(threadData, _comps, boxvar_ResolveLoops_reshuffling__post1((void*)((char*)(&(boxvar_lit_ResolveLoops_reshuffling__post1
).header) + 3))
, _shared, _isyst);
3607#line 3607 OMC_FILE"/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/boot/build/tmp/ResolveLoops.c"
3608 _return: OMC_LABEL_UNUSED__attribute__((unused))
3609 return _osyst;
3610}
3611
3612DLLExport
3613modelica_metatype omc_ResolveLoops_reshuffling__post(threadData_t *threadData, modelica_metatype _inDAE)
3614{
3615 modelica_metatype _outDAE = NULL((void*)0);
3616 modelica_metatype _eqSystems = NULL((void*)0);
3617 modelica_metatype tmpMeta[1] __attribute__((unused)) = {0};
3618 MMC_SO()mmc_check_stackoverflow(threadData);
3619 _tailrecursive: OMC_LABEL_UNUSED__attribute__((unused))
3620 // _outDAE has no default value.
3621 // _eqSystems has no default value.
3622#line 2230 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
3623 if(omc_Flags_isSet(threadData, _OMC_LIT52((void*)((char*)(&(_OMC_LIT_STRUCT52).header) + 3))))
3624#line 2230 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
3625 {
3626#line 2233 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
3627 _eqSystems = omc_List_map1(threadData, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_inDAE), 2))(*(void**)(((void*)((void**)(((void*)((char*)(_inDAE) - 3))) +
(2)))))
), boxvar_ResolveLoops_reshuffling__post0((void*)((char*)(&(boxvar_lit_ResolveLoops_reshuffling__post0
).header) + 3))
, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_inDAE), 3))(*(void**)(((void*)((void**)(((void*)((char*)(_inDAE) - 3))) +
(3)))))
));
3628#line 3628 OMC_FILE"/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/boot/build/tmp/ResolveLoops.c"
3629
3630#line 2234 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
3631 tmpMeta[0] = mmc_mk_box3(3, &BackendDAE_BackendDAE_DAE__desc, _eqSystems, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_inDAE), 3))(*(void**)(((void*)((void**)(((void*)((char*)(_inDAE) - 3))) +
(3)))))
));
3632#line 2234 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
3633 _outDAE = tmpMeta[0];
3634#line 3634 OMC_FILE"/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/boot/build/tmp/ResolveLoops.c"
3635 }
3636 else
3637 {
3638#line 2237 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
3639 _outDAE = _inDAE;
3640#line 3640 OMC_FILE"/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/boot/build/tmp/ResolveLoops.c"
3641 }
3642 _return: OMC_LABEL_UNUSED__attribute__((unused))
3643 return _outDAE;
3644}
3645
3646PROTECTED_FUNCTION_STATIC modelica_metatype omc_ResolveLoops_connectPaths(threadData_t *threadData, modelica_metatype _pathIn, modelica_metatype _closingPaths)
3647{
3648 modelica_metatype _loopsOut = NULL((void*)0);
3649 modelica_metatype _path = NULL((void*)0);
3650 modelica_metatype tmpMeta[3] __attribute__((unused)) = {0};
3651 MMC_SO()mmc_check_stackoverflow(threadData);
3652 _tailrecursive: OMC_LABEL_UNUSED__attribute__((unused))
3653 // _loopsOut has no default value.
3654 // _path has no default value.
3655#line 2214 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
3656 /* Pattern-matching assignment */
3657#line 2214 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
3658 tmpMeta[0] = _pathIn;
3659#line 2214 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
3660 if (listEmpty(tmpMeta[0])((*(mmc_uint_t*)((void*)((char*)(tmpMeta[0]) - 3))) == (((0) <<
10) + (((0) & 255) << 2)))
) MMC_THROW_INTERNAL(){longjmp(*threadData->mmc_jumper,1);};
3661#line 2214 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
3662 tmpMeta[1] = MMC_CAR(tmpMeta[0])(*(void**)(((void*)((void**)(((void*)((char*)(tmpMeta[0]) - 3
))) + (1)))))
;
3663#line 2214 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
3664 tmpMeta[2] = MMC_CDR(tmpMeta[0])(*(void**)(((void*)((void**)(((void*)((char*)(tmpMeta[0]) - 3
))) + (2)))))
;
3665#line 2214 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
3666 _path = tmpMeta[2];
3667#line 3667 OMC_FILE"/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/boot/build/tmp/ResolveLoops.c"
3668
3669#line 2215 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
3670 _path = omc_List_stripLast(threadData, _path);
3671#line 3671 OMC_FILE"/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/boot/build/tmp/ResolveLoops.c"
3672
3673#line 2216 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
3674 _loopsOut = omc_List_map1(threadData, _closingPaths, boxvar_listAppend((void*)((char*)(&(boxvar_lit_listAppend).header) + 3)), _path);
3675#line 3675 OMC_FILE"/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/boot/build/tmp/ResolveLoops.c"
3676 _return: OMC_LABEL_UNUSED__attribute__((unused))
3677 return _loopsOut;
3678}
3679
3680PROTECTED_FUNCTION_STATIC modelica_metatype omc_ResolveLoops_connect2PathsToLoops(threadData_t *threadData, modelica_metatype _pathsIn, modelica_metatype _loopsIn, modelica_metatype _restPathsIn, modelica_metatype *out_restPathsOut)
3681{
3682 modelica_metatype _pathsOut = NULL((void*)0);
3683 modelica_metatype _restPathsOut = NULL((void*)0);
3684 modelica_metatype tmpMeta[4] __attribute__((unused)) = {0};
3685 MMC_SO()mmc_check_stackoverflow(threadData);
3686 _tailrecursive: OMC_LABEL_UNUSED__attribute__((unused))
3687 // _pathsOut has no default value.
3688 // _restPathsOut has no default value.
3689#line 2150 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
3690
3691#line 2150 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
3692
3693#line 3693 OMC_FILE"/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/boot/build/tmp/ResolveLoops.c"
3694 { /* matchcontinue expression */
3695 volatile modelica_metatype tmp4_1;
3696 tmp4_1 = _pathsIn;
3697 {
3698 modelica_boolean _closedALoop;
3699 modelica_integer _startNode;
3700 modelica_integer _endNode;
3701 modelica_metatype _path = NULL((void*)0);
3702 modelica_metatype _rest = NULL((void*)0);
3703 modelica_metatype _endPaths = NULL((void*)0);
3704 modelica_metatype _startPaths = NULL((void*)0);
3705 modelica_metatype _loops = NULL((void*)0);
3706 modelica_metatype _restPaths = NULL((void*)0);
3707 volatile mmc_switch_type tmp4;
3708 int tmp5;
3709 // _closedALoop has no default value.
3710 // _startNode has no default value.
3711 // _endNode has no default value.
3712 // _path has no default value.
3713 // _rest has no default value.
3714 // _endPaths has no default value.
3715 // _startPaths has no default value.
3716 // _loops has no default value.
3717 // _restPaths has no default value.
3718 tmp4 = 0;
3719 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) {
3720 tmp3_top:
3721 threadData->mmc_jumper = &new_mmc_jumper;
3722 for (; tmp4 < 5; tmp4++) {
3723 switch (MMC_SWITCH_CAST(tmp4)(tmp4)) {
3724 case 0: {
3725 if (!listEmpty(tmp4_1)((*(mmc_uint_t*)((void*)((char*)(tmp4_1) - 3))) == (((0) <<
10) + (((0) & 255) << 2)))
) goto tmp3_end;
3726 tmp4 += 3; /* Pattern matching succeeded; we may skip some cases if we fail */
3727#line 2158 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
3728 tmpMeta[2] = MMC_REFSTRUCTLIT(mmc_nil)((void*)((char*)(&(mmc_nil).header) + 3));
3729#line 2158 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
3730 tmpMeta[3] = MMC_REFSTRUCTLIT(mmc_nil)((void*)((char*)(&(mmc_nil).header) + 3));
3731#line 2158 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
3732 tmpMeta[0+0] = tmpMeta[2];
3733#line 2158 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
3734 tmpMeta[0+1] = tmpMeta[3];
3735#line 3735 OMC_FILE"/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/boot/build/tmp/ResolveLoops.c"
3736 goto tmp3_done;
3737 }
3738 case 1: {
3739 modelica_boolean tmp6;
3740 modelica_boolean tmp7;
3741 if (listEmpty(tmp4_1)((*(mmc_uint_t*)((void*)((char*)(tmp4_1) - 3))) == (((0) <<
10) + (((0) & 255) << 2)))
) goto tmp3_end;
3742 tmpMeta[2] = MMC_CAR(tmp4_1)(*(void**)(((void*)((void**)(((void*)((char*)(tmp4_1) - 3))) +
(1)))))
;
3743 tmpMeta[3] = MMC_CDR(tmp4_1)(*(void**)(((void*)((void**)(((void*)((char*)(tmp4_1) - 3))) +
(2)))))
;
3744 if (!listEmpty(tmpMeta[3])((*(mmc_uint_t*)((void*)((char*)(tmpMeta[3]) - 3))) == (((0) <<
10) + (((0) & 255) << 2)))
) goto tmp3_end;
3745 _path = tmpMeta[2];
3746 /* Pattern matching succeeded */
3747#line 2163 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
3748 _startNode = mmc_unbox_integer(listHead(_path))(((mmc_sint_t) (boxptr_listHead(threadData,_path))) >> 1
)
;
3749#line 3749 OMC_FILE"/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/boot/build/tmp/ResolveLoops.c"
3750
3751#line 2164 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
3752 _endNode = mmc_unbox_integer(omc_List_last(threadData, _path))(((mmc_sint_t) (omc_List_last(threadData, _path))) >> 1
)
;
3753#line 3753 OMC_FILE"/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/boot/build/tmp/ResolveLoops.c"
3754
3755#line 2165 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
3756 _closedALoop = (_startNode == _endNode);
3757#line 3757 OMC_FILE"/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/boot/build/tmp/ResolveLoops.c"
3758
3759#line 2166 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
3760 tmp6 = (modelica_boolean)_closedALoop;
3761#line 2166 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
3762 if(tmp6)
3763#line 2166 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
3764 {
3765#line 2166 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
3766 tmpMeta[2] = mmc_mk_cons(_path, _loopsIn);
3767#line 2166 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
3768 tmpMeta[3] = tmpMeta[2];
3769#line 2166 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
3770 }
3771#line 2166 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
3772 else
3773#line 2166 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
3774 {
3775#line 2166 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
3776 tmpMeta[3] = _loopsIn;
3777#line 2166 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
3778 }
3779#line 2166 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
3780 _loops = tmpMeta[3];
3781#line 3781 OMC_FILE"/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/boot/build/tmp/ResolveLoops.c"
3782
3783#line 2167 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
3784 tmp7 = (modelica_boolean)_closedALoop;
3785#line 2167 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
3786 if(tmp7)
3787#line 2167 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
3788 {
3789#line 2167 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
3790 tmpMeta[3] = _restPathsIn;
3791#line 2167 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
3792 }
3793#line 2167 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
3794 else
3795#line 2167 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
3796 {
3797#line 2167 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
3798 tmpMeta[2] = mmc_mk_cons(_path, _restPathsIn);
3799#line 2167 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
3800 tmpMeta[3] = tmpMeta[2];
3801#line 2167 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
3802 }
3803#line 2167 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
3804 _restPaths = tmpMeta[3];
3805#line 3805 OMC_FILE"/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/boot/build/tmp/ResolveLoops.c"
3806#line 2168 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
3807 tmpMeta[0+0] = _loops;
3808#line 2168 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
3809 tmpMeta[0+1] = _restPaths;
3810#line 3810 OMC_FILE"/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/boot/build/tmp/ResolveLoops.c"
3811 goto tmp3_done;
3812 }
3813 case 2: {
3814 modelica_boolean tmp8;
3815 if (listEmpty(tmp4_1)((*(mmc_uint_t*)((void*)((char*)(tmp4_1) - 3))) == (((0) <<
10) + (((0) & 255) << 2)))
) goto tmp3_end;
3816 tmpMeta[2] = MMC_CAR(tmp4_1)(*(void**)(((void*)((void**)(((void*)((char*)(tmp4_1) - 3))) +
(1)))))
;
3817 tmpMeta[3] = MMC_CDR(tmp4_1)(*(void**)(((void*)((void**)(((void*)((char*)(tmp4_1) - 3))) +
(2)))))
;
3818 _path = tmpMeta[2];
3819 _rest = tmpMeta[3];
3820 /* Pattern matching succeeded */
3821#line 2173 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
3822 _startNode = mmc_unbox_integer(listHead(_path))(((mmc_sint_t) (boxptr_listHead(threadData,_path))) >> 1
)
;
3823#line 3823 OMC_FILE"/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/boot/build/tmp/ResolveLoops.c"
3824
3825#line 2174 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
3826 _endNode = mmc_unbox_integer(omc_List_last(threadData, _path))(((mmc_sint_t) (omc_List_last(threadData, _path))) >> 1
)
;
3827#line 3827 OMC_FILE"/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/boot/build/tmp/ResolveLoops.c"
3828
3829#line 2175 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
3830 /* Pattern-matching assignment */
3831#line 2175 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
3832 tmp8 = (_startNode == _endNode);
3833#line 2175 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
3834 if (1 != tmp8) goto goto_2;
3835#line 3835 OMC_FILE"/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/boot/build/tmp/ResolveLoops.c"
3836
3837#line 2176 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
3838 tmpMeta[2] = mmc_mk_cons(_path, _loopsIn);
3839#line 2176 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
3840 _loops = tmpMeta[2];
3841#line 3841 OMC_FILE"/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/boot/build/tmp/ResolveLoops.c"
3842#line 2177 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
3843 tmpMeta[0+0] = omc_ResolveLoops_connect2PathsToLoops(threadData, _rest, _loops, _restPathsIn, &tmpMeta[0+1]);
3844#line 3844 OMC_FILE"/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/boot/build/tmp/ResolveLoops.c"
3845 goto tmp3_done;
3846 }
3847 case 3: {
3848 modelica_boolean tmp9;
3849 modelica_boolean tmp10;
3850 if (listEmpty(tmp4_1)((*(mmc_uint_t*)((void*)((char*)(tmp4_1) - 3))) == (((0) <<
10) + (((0) & 255) << 2)))
) goto tmp3_end;
3851 tmpMeta[2] = MMC_CAR(tmp4_1)(*(void**)(((void*)((void**)(((void*)((char*)(tmp4_1) - 3))) +
(1)))))
;
3852 tmpMeta[3] = MMC_CDR(tmp4_1)(*(void**)(((void*)((void**)(((void*)((char*)(tmp4_1) - 3))) +
(2)))))
;
3853 _path = tmpMeta[2];
3854 _rest = tmpMeta[3];
3855 /* Pattern matching succeeded */
3856#line 2183 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
3857 _startNode = mmc_unbox_integer(listHead(_path))(((mmc_sint_t) (boxptr_listHead(threadData,_path))) >> 1
)
;
3858#line 3858 OMC_FILE"/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/boot/build/tmp/ResolveLoops.c"
3859
3860#line 2184 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
3861 _endNode = mmc_unbox_integer(omc_List_last(threadData, _path))(((mmc_sint_t) (omc_List_last(threadData, _path))) >> 1
)
;
3862#line 3862 OMC_FILE"/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/boot/build/tmp/ResolveLoops.c"
3863
3864#line 2185 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
3865 _startPaths = omc_List_filter1OnTrue(threadData, _rest, boxvar_ResolveLoops_firstInListIsEqual((void*)((char*)(&(boxvar_lit_ResolveLoops_firstInListIsEqual
).header) + 3))
, mmc_mk_integermmc_mk_icon(_startNode));
3866#line 3866 OMC_FILE"/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/boot/build/tmp/ResolveLoops.c"
3867
3868#line 2186 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
3869 _startPaths = omc_List_filter1OnTrue(threadData, _startPaths, boxvar_ResolveLoops_lastInListIsEqual((void*)((char*)(&(boxvar_lit_ResolveLoops_lastInListIsEqual
).header) + 3))
, mmc_mk_integermmc_mk_icon(_endNode));
3870#line 3870 OMC_FILE"/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/boot/build/tmp/ResolveLoops.c"
3871
3872#line 2187 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
3873 _endPaths = omc_List_filter1OnTrue(threadData, _rest, boxvar_ResolveLoops_firstInListIsEqual((void*)((char*)(&(boxvar_lit_ResolveLoops_firstInListIsEqual
).header) + 3))
, mmc_mk_integermmc_mk_icon(_endNode));
3874#line 3874 OMC_FILE"/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/boot/build/tmp/ResolveLoops.c"
3875
3876#line 2188 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
3877 _endPaths = omc_List_filter1OnTrue(threadData, _endPaths, boxvar_ResolveLoops_lastInListIsEqual((void*)((char*)(&(boxvar_lit_ResolveLoops_lastInListIsEqual
).header) + 3))
, mmc_mk_integermmc_mk_icon(_startNode));
3878#line 3878 OMC_FILE"/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/boot/build/tmp/ResolveLoops.c"
3879
3880#line 2189 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
3881 _endPaths = listAppend(_startPaths, _endPaths);
3882#line 3882 OMC_FILE"/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/boot/build/tmp/ResolveLoops.c"
3883
3884#line 2190 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
3885 _closedALoop = (listLength(_endPaths) >= ((modelica_integer) 1));
3886#line 3886 OMC_FILE"/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/boot/build/tmp/ResolveLoops.c"
3887
3888#line 2191 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
3889 tmp9 = (modelica_boolean)_closedALoop;
3890#line 2191 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
3891 if(tmp9)
3892#line 2191 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
3893 {
3894#line 2191 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
3895 tmpMeta[3] = omc_ResolveLoops_connectPaths(threadData, _path, _endPaths);
3896#line 2191 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
3897 }
3898#line 2191 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
3899 else
3900#line 2191 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
3901 {
3902#line 2191 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
3903 tmpMeta[2] = MMC_REFSTRUCTLIT(mmc_nil)((void*)((char*)(&(mmc_nil).header) + 3));
3904#line 2191 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
3905 tmpMeta[3] = tmpMeta[2];
3906#line 2191 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
3907 }
3908#line 2191 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
3909 _loops = tmpMeta[3];
3910#line 3910 OMC_FILE"/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/boot/build/tmp/ResolveLoops.c"
3911
3912#line 2192 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
3913 tmp10 = (modelica_boolean)_closedALoop;
3914#line 2192 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
3915 if(tmp10)
3916#line 2192 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
3917 {
3918#line 2192 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
3919 tmpMeta[3] = _restPathsIn;
3920#line 2192 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
3921 }
3922#line 2192 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
3923 else
3924#line 2192 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
3925 {
3926#line 2192 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
3927 tmpMeta[2] = mmc_mk_cons(_path, _restPathsIn);
3928#line 2192 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
3929 tmpMeta[3] = tmpMeta[2];
3930#line 2192 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
3931 }
3932#line 2192 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
3933 _restPaths = tmpMeta[3];
3934#line 3934 OMC_FILE"/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/boot/build/tmp/ResolveLoops.c"
3935
3936#line 2193 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
3937 /* Pattern-matching assignment */
3938#line 2193 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
3939 tmpMeta[2] = listAppend(_loops, _loopsIn);
3940#line 2193 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
3941 _loops = tmpMeta[2];
3942#line 3942 OMC_FILE"/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/boot/build/tmp/ResolveLoops.c"
3943#line 2194 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
3944 tmpMeta[0+0] = omc_ResolveLoops_connect2PathsToLoops(threadData, _rest, _loops, _restPaths, &tmpMeta[0+1]);
3945#line 3945 OMC_FILE"/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/boot/build/tmp/ResolveLoops.c"
3946 goto tmp3_done;
3947 }
3948 case 4: {
3949
3950 /* Pattern matching succeeded */
3951#line 2199 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
3952 fputs(MMC_STRINGDATA(_OMC_LIT53)(((struct mmc_string*)((void*)((char*)(((void*)((char*)(&
(_OMC_LIT_STRUCT53).header) + 3))) - 3)))->data)
,stdoutstdout);
3953#line 3953 OMC_FILE"/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/boot/build/tmp/ResolveLoops.c"
3954#line 2200 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
3955 goto goto_2;
3956#line 3956 OMC_FILE"/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/boot/build/tmp/ResolveLoops.c"
3957 goto tmp3_done;
3958 }
3959 }
3960 goto tmp3_end;
3961 tmp3_end: ;
3962 }
3963 goto goto_2;
3964 tmp3_done:
3965 (void)tmp4;
3966 MMC_RESTORE_INTERNAL(mmc_jumper)threadData->mmc_jumper = old_jumper;;
3967 goto tmp3_done2;
3968 goto_2:;
3969 MMC_CATCH_INTERNAL(mmc_jumper)} threadData->mmc_jumper = old_jumper;mmc_catch_dummy_fn()
;}
;
3970 if (++tmp4 < 5) {
3971 goto tmp3_top;
3972 }
3973 MMC_THROW_INTERNAL(){longjmp(*threadData->mmc_jumper,1);};
3974 tmp3_done2:;
3975 }
3976 }
3977 _pathsOut = tmpMeta[0+0];
3978 _restPathsOut = tmpMeta[0+1];
3979 _return: OMC_LABEL_UNUSED__attribute__((unused))
3980 if (out_restPathsOut) { *out_restPathsOut = _restPathsOut; }
3981 return _pathsOut;
3982}
3983
3984PROTECTED_FUNCTION_STATIC modelica_boolean omc_ResolveLoops_lastInListIsEqual(threadData_t *threadData, modelica_metatype _lstIn, modelica_integer _value)
3985{
3986 modelica_boolean _isEq;
3987 modelica_integer _last;
3988 MMC_SO()mmc_check_stackoverflow(threadData);
3989 _tailrecursive: OMC_LABEL_UNUSED__attribute__((unused))
3990 // _isEq has no default value.
3991 // _last has no default value.
3992#line 2138 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
3993 _last = mmc_unbox_integer(omc_List_last(threadData, _lstIn))(((mmc_sint_t) (omc_List_last(threadData, _lstIn))) >> 1
)
;
3994#line 3994 OMC_FILE"/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/boot/build/tmp/ResolveLoops.c"
3995
3996#line 2139 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
3997 _isEq = (_last == _value);
3998#line 3998 OMC_FILE"/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/boot/build/tmp/ResolveLoops.c"
3999 _return: OMC_LABEL_UNUSED__attribute__((unused))
4000 return _isEq;
4001}
4002PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_ResolveLoops_lastInListIsEqual(threadData_t *threadData, modelica_metatype _lstIn, modelica_metatype _value)
4003{
4004 modelica_integer tmp1;
4005 modelica_boolean _isEq;
4006 modelica_metatype out_isEq;
4007 tmp1 = mmc_unbox_integer(_value)(((mmc_sint_t) (_value)) >> 1);
4008 _isEq = omc_ResolveLoops_lastInListIsEqual(threadData, _lstIn, tmp1);
4009 out_isEq = mmc_mk_icon(_isEq);
4010 return out_isEq;
4011}
4012
4013PROTECTED_FUNCTION_STATIC modelica_boolean omc_ResolveLoops_firstInListIsEqual(threadData_t *threadData, modelica_metatype _lstIn, modelica_integer _value)
4014{
4015 modelica_boolean _isEq;
4016 modelica_integer _first;
4017 MMC_SO()mmc_check_stackoverflow(threadData);
4018 _tailrecursive: OMC_LABEL_UNUSED__attribute__((unused))
4019 // _isEq has no default value.
4020 // _first has no default value.
4021#line 2126 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
4022 _first = mmc_unbox_integer(listHead(_lstIn))(((mmc_sint_t) (boxptr_listHead(threadData,_lstIn))) >>
1)
;
4023#line 4023 OMC_FILE"/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/boot/build/tmp/ResolveLoops.c"
4024
4025#line 2127 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
4026 _isEq = (_first == _value);
4027#line 4027 OMC_FILE"/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/boot/build/tmp/ResolveLoops.c"
4028 _return: OMC_LABEL_UNUSED__attribute__((unused))
4029 return _isEq;
4030}
4031PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_ResolveLoops_firstInListIsEqual(threadData_t *threadData, modelica_metatype _lstIn, modelica_metatype _value)
4032{
4033 modelica_integer tmp1;
4034 modelica_boolean _isEq;
4035 modelica_metatype out_isEq;
4036 tmp1 = mmc_unbox_integer(_value)(((mmc_sint_t) (_value)) >> 1);
4037 _isEq = omc_ResolveLoops_firstInListIsEqual(threadData, _lstIn, tmp1);
4038 out_isEq = mmc_mk_icon(_isEq);
4039 return out_isEq;
4040}
4041
4042PROTECTED_FUNCTION_STATIC modelica_metatype omc_ResolveLoops_sortPathsAsChain1(threadData_t *threadData, modelica_metatype _pathsIn, modelica_integer _firstNode, modelica_integer _lastNode, modelica_metatype _sortedPathsIn)
4043{
4044 modelica_metatype _sortedPathsOut = NULL((void*)0);
4045 modelica_metatype tmpMeta[4] __attribute__((unused)) = {0};
4046 MMC_SO()mmc_check_stackoverflow(threadData);
4047 _tailrecursive: OMC_LABEL_UNUSED__attribute__((unused))
4048 // _sortedPathsOut has no default value.
4049#line 4049 OMC_FILE"/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/boot/build/tmp/ResolveLoops.c"
4050 { /* matchcontinue expression */
4051 volatile modelica_metatype tmp3_1;volatile modelica_integer tmp3_2;volatile modelica_integer tmp3_3;volatile modelica_metatype tmp3_4;
4052 tmp3_1 = _pathsIn;
4053 tmp3_2 = _firstNode;
4054 tmp3_3 = _lastNode;
4055 tmp3_4 = _sortedPathsIn;
4056 {
4057 modelica_integer _startNode;
4058 modelica_integer _endNode;
4059 modelica_metatype _path = NULL((void*)0);
4060 modelica_metatype _rest = NULL((void*)0);
4061 modelica_metatype _paths1 = NULL((void*)0);
4062 modelica_metatype _paths2 = NULL((void*)0);
4063 modelica_metatype _sortedPaths = NULL((void*)0);
4064 volatile mmc_switch_type tmp3;
4065 int tmp4;
4066 // _startNode has no default value.
4067 // _endNode has no default value.
4068 // _path has no default value.
4069 // _rest has no default value.
4070 // _paths1 has no default value.
4071 // _paths2 has no default value.
4072 // _sortedPaths has no default value.
4073 tmp3 = 0;
4074 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) {
4075 tmp2_top:
4076 threadData->mmc_jumper = &new_mmc_jumper;
4077 for (; tmp3 < 6; tmp3++) {
4078 switch (MMC_SWITCH_CAST(tmp3)(tmp3)) {
4079 case 0: {
4080 if (!listEmpty(tmp3_1)((*(mmc_uint_t*)((void*)((char*)(tmp3_1) - 3))) == (((0) <<
10) + (((0) & 255) << 2)))
) goto tmp2_end;
4081
4082 /* Pattern matching succeeded */
4083#line 2060 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
4084 tmpMeta[0] = _sortedPathsIn;
4085#line 4085 OMC_FILE"/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/boot/build/tmp/ResolveLoops.c"
4086 goto tmp2_done;
4087 }
4088 case 1: {
4089 if (-1 != tmp3_2) goto tmp2_end;
4090 if (-1 != tmp3_3) goto tmp2_end;
4091
4092 /* Pattern matching succeeded */
4093#line 2064 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
4094 tmpMeta[0] = _sortedPathsIn;
4095#line 4095 OMC_FILE"/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/boot/build/tmp/ResolveLoops.c"
4096 goto tmp2_done;
4097 }
4098 case 2: {
4099 if (listEmpty(tmp3_1)((*(mmc_uint_t*)((void*)((char*)(tmp3_1) - 3))) == (((0) <<
10) + (((0) & 255) << 2)))
) goto tmp2_end;
4100 tmpMeta[1] = MMC_CAR(tmp3_1)(*(void**)(((void*)((void**)(((void*)((char*)(tmp3_1) - 3))) +
(1)))))
;
4101 tmpMeta[2] = MMC_CDR(tmp3_1)(*(void**)(((void*)((void**)(((void*)((char*)(tmp3_1) - 3))) +
(2)))))
;
4102 if (!listEmpty(tmp3_4)((*(mmc_uint_t*)((void*)((char*)(tmp3_4) - 3))) == (((0) <<
10) + (((0) & 255) << 2)))
) goto tmp2_end;
4103
4104 _path = tmpMeta[1];
4105 _rest = tmpMeta[2];
4106 /* Pattern matching succeeded */
4107#line 2069 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
4108 _startNode = mmc_unbox_integer(listHead(_path))(((mmc_sint_t) (boxptr_listHead(threadData,_path))) >> 1
)
;
4109#line 4109 OMC_FILE"/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/boot/build/tmp/ResolveLoops.c"
4110
4111#line 2070 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
4112 _endNode = mmc_unbox_integer(omc_List_last(threadData, _path))(((mmc_sint_t) (omc_List_last(threadData, _path))) >> 1
)
;
4113#line 4113 OMC_FILE"/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/boot/build/tmp/ResolveLoops.c"
4114#line 2071 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
4115 tmpMeta[1] = mmc_mk_cons(_path, MMC_REFSTRUCTLIT(mmc_nil)((void*)((char*)(&(mmc_nil).header) + 3)));
4116#line 2071 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
4117 tmpMeta[0] = omc_ResolveLoops_sortPathsAsChain1(threadData, _rest, _startNode, _endNode, tmpMeta[1]);
4118#line 4118 OMC_FILE"/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/boot/build/tmp/ResolveLoops.c"
4119 goto tmp2_done;
4120 }
4121 case 3: {
4122 modelica_boolean tmp5;
4123
4124 /* Pattern matching succeeded */
4125#line 2077 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
4126 _paths1 = omc_List_filter1OnTrue(threadData, _pathsIn, boxvar_ResolveLoops_firstInListIsEqual((void*)((char*)(&(boxvar_lit_ResolveLoops_firstInListIsEqual
).header) + 3))
, mmc_mk_integermmc_mk_icon(_lastNode));
4127#line 4127 OMC_FILE"/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/boot/build/tmp/ResolveLoops.c"
4128
4129#line 2078 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
4130 _paths2 = omc_List_filter1OnTrue(threadData, _pathsIn, boxvar_ResolveLoops_lastInListIsEqual((void*)((char*)(&(boxvar_lit_ResolveLoops_lastInListIsEqual
).header) + 3))
, mmc_mk_integermmc_mk_icon(_lastNode));
4131#line 4131 OMC_FILE"/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/boot/build/tmp/ResolveLoops.c"
4132
4133#line 2079 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
4134 /* Pattern-matching assignment */
4135#line 2079 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
4136 tmpMeta[1] = listAppend(_paths1, _paths2);
4137#line 2079 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
4138 _paths1 = tmpMeta[1];
4139#line 4139 OMC_FILE"/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/boot/build/tmp/ResolveLoops.c"
4140
4141#line 2080 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
4142 /* Pattern-matching assignment */
4143#line 2080 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
4144 tmp5 = listEmpty(_paths1)((*(mmc_uint_t*)((void*)((char*)(_paths1) - 3))) == (((0) <<
10) + (((0) & 255) << 2)))
;
4145#line 2080 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
4146 if (0 != tmp5) goto goto_1;
4147#line 4147 OMC_FILE"/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/boot/build/tmp/ResolveLoops.c"
4148
4149#line 2081 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
4150 _path = listHead(_paths1)boxptr_listHead(threadData,_paths1);
4151#line 4151 OMC_FILE"/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/boot/build/tmp/ResolveLoops.c"
4152
4153#line 2082 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
4154 _endNode = ((!listEmpty(_paths1)((*(mmc_uint_t*)((void*)((char*)(_paths1) - 3))) == (((0) <<
10) + (((0) & 255) << 2)))
)?mmc_unbox_integer(omc_List_last(threadData, _path))(((mmc_sint_t) (omc_List_last(threadData, _path))) >> 1
)
:((modelica_integer) -1));
4155#line 4155 OMC_FILE"/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/boot/build/tmp/ResolveLoops.c"
4156
4157#line 2083 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
4158 _endNode = ((!listEmpty(_paths2)((*(mmc_uint_t*)((void*)((char*)(_paths2) - 3))) == (((0) <<
10) + (((0) & 255) << 2)))
)?mmc_unbox_integer(listHead(_path))(((mmc_sint_t) (boxptr_listHead(threadData,_path))) >> 1
)
:((modelica_integer) -1));
4159#line 4159 OMC_FILE"/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/boot/build/tmp/ResolveLoops.c"
4160
4161#line 2084 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
4162 _rest = omc_List_deleteMember(threadData, _pathsIn, _path);
4163#line 4163 OMC_FILE"/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/boot/build/tmp/ResolveLoops.c"
4164
4165#line 2085 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
4166 tmpMeta[1] = mmc_mk_cons(_path, MMC_REFSTRUCTLIT(mmc_nil)((void*)((char*)(&(mmc_nil).header) + 3)));
4167#line 2085 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
4168 _sortedPaths = listAppend(_sortedPathsIn, tmpMeta[1]);
4169#line 4169 OMC_FILE"/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/boot/build/tmp/ResolveLoops.c"
4170#line 2086 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
4171 tmpMeta[0] = omc_ResolveLoops_sortPathsAsChain1(threadData, _rest, _firstNode, _endNode, _sortedPaths);
4172#line 4172 OMC_FILE"/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/boot/build/tmp/ResolveLoops.c"
4173 goto tmp2_done;
4174 }
4175 case 4: {
4176 modelica_boolean tmp6;
4177
4178 /* Pattern matching succeeded */
4179#line 2093 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
4180 _paths1 = omc_List_filter1OnTrue(threadData, _pathsIn, boxvar_ResolveLoops_firstInListIsEqual((void*)((char*)(&(boxvar_lit_ResolveLoops_firstInListIsEqual
).header) + 3))
, mmc_mk_integermmc_mk_icon(_firstNode));
4181#line 4181 OMC_FILE"/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/boot/build/tmp/ResolveLoops.c"
4182
4183#line 2094 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
4184 _paths2 = omc_List_filter1OnTrue(threadData, _pathsIn, boxvar_ResolveLoops_lastInListIsEqual((void*)((char*)(&(boxvar_lit_ResolveLoops_lastInListIsEqual
).header) + 3))
, mmc_mk_integermmc_mk_icon(_firstNode));
4185#line 4185 OMC_FILE"/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/boot/build/tmp/ResolveLoops.c"
4186
4187#line 2095 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
4188 /* Pattern-matching assignment */
4189#line 2095 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
4190 tmpMeta[1] = listAppend(_paths1, _paths2);
4191#line 2095 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
4192 _paths1 = tmpMeta[1];
4193#line 4193 OMC_FILE"/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/boot/build/tmp/ResolveLoops.c"
4194
4195#line 2096 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
4196 /* Pattern-matching assignment */
4197#line 2096 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
4198 tmp6 = listEmpty(_paths1)((*(mmc_uint_t*)((void*)((char*)(_paths1) - 3))) == (((0) <<
10) + (((0) & 255) << 2)))
;
4199#line 2096 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
4200 if (0 != tmp6) goto goto_1;
4201#line 4201 OMC_FILE"/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/boot/build/tmp/ResolveLoops.c"
4202
4203#line 2097 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
4204 _path = listHead(_paths1)boxptr_listHead(threadData,_paths1);
4205#line 4205 OMC_FILE"/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/boot/build/tmp/ResolveLoops.c"
4206
4207#line 2098 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
4208 _startNode = ((!listEmpty(_paths1)((*(mmc_uint_t*)((void*)((char*)(_paths1) - 3))) == (((0) <<
10) + (((0) & 255) << 2)))
)?mmc_unbox_integer(omc_List_last(threadData, _path))(((mmc_sint_t) (omc_List_last(threadData, _path))) >> 1
)
:((modelica_integer) -1));
4209#line 4209 OMC_FILE"/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/boot/build/tmp/ResolveLoops.c"
4210
4211#line 2099 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
4212 _startNode = ((!listEmpty(_paths2)((*(mmc_uint_t*)((void*)((char*)(_paths2) - 3))) == (((0) <<
10) + (((0) & 255) << 2)))
)?mmc_unbox_integer(listHead(_path))(((mmc_sint_t) (boxptr_listHead(threadData,_path))) >> 1
)
:((modelica_integer) -1));
4213#line 4213 OMC_FILE"/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/boot/build/tmp/ResolveLoops.c"
4214
4215#line 2100 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
4216 _rest = omc_List_deleteMember(threadData, _pathsIn, _path);
4217#line 4217 OMC_FILE"/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/boot/build/tmp/ResolveLoops.c"
4218
4219#line 2101 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
4220 tmpMeta[1] = mmc_mk_cons(_path, _sortedPathsIn);
4221#line 2101 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
4222 _sortedPaths = tmpMeta[1];
4223#line 4223 OMC_FILE"/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/boot/build/tmp/ResolveLoops.c"
4224#line 2102 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
4225 tmpMeta[0] = omc_ResolveLoops_sortPathsAsChain1(threadData, _rest, _startNode, _lastNode, _sortedPaths);
4226#line 4226 OMC_FILE"/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/boot/build/tmp/ResolveLoops.c"
4227 goto tmp2_done;
4228 }
4229 case 5: {
4230
4231 /* Pattern matching succeeded */
4232#line 2109 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
4233 /* Pattern-matching assignment */
4234#line 2109 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
4235 tmpMeta[1] = _pathsIn;
4236#line 2109 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
4237 if (listEmpty(tmpMeta[1])((*(mmc_uint_t*)((void*)((char*)(tmpMeta[1]) - 3))) == (((0) <<
10) + (((0) & 255) << 2)))
) goto goto_1;
4238#line 2109 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
4239 tmpMeta[2] = MMC_CAR(tmpMeta[1])(*(void**)(((void*)((void**)(((void*)((char*)(tmpMeta[1]) - 3
))) + (1)))))
;
4240#line 2109 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
4241 tmpMeta[3] = MMC_CDR(tmpMeta[1])(*(void**)(((void*)((void**)(((void*)((char*)(tmpMeta[1]) - 3
))) + (2)))))
;
4242#line 2109 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
4243 _path = tmpMeta[2];
4244#line 2109 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
4245 _rest = tmpMeta[3];
4246#line 4246 OMC_FILE"/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/boot/build/tmp/ResolveLoops.c"
4247
4248#line 2110 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
4249 tmpMeta[1] = mmc_mk_cons(_path, _sortedPathsIn);
4250#line 2110 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
4251 _sortedPaths = tmpMeta[1];
4252#line 4252 OMC_FILE"/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/boot/build/tmp/ResolveLoops.c"
4253
4254#line 2111 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
4255 _startNode = mmc_unbox_integer(listHead(_path))(((mmc_sint_t) (boxptr_listHead(threadData,_path))) >> 1
)
;
4256#line 4256 OMC_FILE"/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/boot/build/tmp/ResolveLoops.c"
4257#line 2112 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
4258 tmpMeta[0] = omc_ResolveLoops_sortPathsAsChain1(threadData, _rest, _startNode, _lastNode, _sortedPaths);
4259#line 4259 OMC_FILE"/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/boot/build/tmp/ResolveLoops.c"
4260 goto tmp2_done;
4261 }
4262 }
4263 goto tmp2_end;
4264 tmp2_end: ;
4265 }
4266 goto goto_1;
4267 tmp2_done:
4268 (void)tmp3;
4269 MMC_RESTORE_INTERNAL(mmc_jumper)threadData->mmc_jumper = old_jumper;;
4270 goto tmp2_done2;
4271 goto_1:;
4272 MMC_CATCH_INTERNAL(mmc_jumper)} threadData->mmc_jumper = old_jumper;mmc_catch_dummy_fn()
;}
;
4273 if (++tmp3 < 6) {
4274 goto tmp2_top;
4275 }
4276 MMC_THROW_INTERNAL(){longjmp(*threadData->mmc_jumper,1);};
4277 tmp2_done2:;
4278 }
4279 }
4280 _sortedPathsOut = tmpMeta[0];
4281 _return: OMC_LABEL_UNUSED__attribute__((unused))
4282 return _sortedPathsOut;
4283}
4284PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_ResolveLoops_sortPathsAsChain1(threadData_t *threadData, modelica_metatype _pathsIn, modelica_metatype _firstNode, modelica_metatype _lastNode, modelica_metatype _sortedPathsIn)
4285{
4286 modelica_integer tmp1;
4287 modelica_integer tmp2;
4288 modelica_metatype _sortedPathsOut = NULL((void*)0);
4289 tmp1 = mmc_unbox_integer(_firstNode)(((mmc_sint_t) (_firstNode)) >> 1);
4290 tmp2 = mmc_unbox_integer(_lastNode)(((mmc_sint_t) (_lastNode)) >> 1);
4291 _sortedPathsOut = omc_ResolveLoops_sortPathsAsChain1(threadData, _pathsIn, tmp1, tmp2, _sortedPathsIn);
4292 /* skip box _sortedPathsOut; list<list<#Integer>> */
4293 return _sortedPathsOut;
4294}
4295
4296PROTECTED_FUNCTION_STATIC modelica_metatype omc_ResolveLoops_sortPathsAsChain(threadData_t *threadData, modelica_metatype _pathsIn)
4297{
4298 modelica_metatype _pathsOut = NULL((void*)0);
4299 modelica_metatype tmpMeta[2] __attribute__((unused)) = {0};
4300 MMC_SO()mmc_check_stackoverflow(threadData);
4301 _tailrecursive: OMC_LABEL_UNUSED__attribute__((unused))
4302 // _pathsOut has no default value.
4303#line 4303 OMC_FILE"/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/boot/build/tmp/ResolveLoops.c"
4304 { /* matchcontinue expression */
4305 volatile modelica_metatype tmp3_1;
4306 tmp3_1 = _pathsIn;
4307 {
4308 volatile mmc_switch_type tmp3;
4309 int tmp4;
4310 tmp3 = 0;
4311 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) {
4312 tmp2_top:
4313 threadData->mmc_jumper = &new_mmc_jumper;
4314 for (; tmp3 < 3; tmp3++) {
4315 switch (MMC_SWITCH_CAST(tmp3)(tmp3)) {
4316 case 0: {
4317 if (!listEmpty(tmp3_1)((*(mmc_uint_t*)((void*)((char*)(tmp3_1) - 3))) == (((0) <<
10) + (((0) & 255) << 2)))
) goto tmp2_end;
4318 /* Pattern matching succeeded */
4319#line 2029 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
4320 tmpMeta[1] = MMC_REFSTRUCTLIT(mmc_nil)((void*)((char*)(&(mmc_nil).header) + 3));
4321#line 2029 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
4322 tmpMeta[0] = tmpMeta[1];
4323#line 4323 OMC_FILE"/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/boot/build/tmp/ResolveLoops.c"
4324 goto tmp2_done;
4325 }
4326 case 1: {
4327
4328 /* Pattern matching succeeded */
4329#line 2033 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
4330 tmpMeta[1] = MMC_REFSTRUCTLIT(mmc_nil)((void*)((char*)(&(mmc_nil).header) + 3));
4331#line 2033 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
4332 tmpMeta[0] = omc_ResolveLoops_sortPathsAsChain1(threadData, _pathsIn, ((modelica_integer) 0), ((modelica_integer) 0), tmpMeta[1]);
4333#line 4333 OMC_FILE"/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/boot/build/tmp/ResolveLoops.c"
4334 goto tmp2_done;
4335 }
4336 case 2: {
4337
4338 /* Pattern matching succeeded */
4339#line 2038 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
4340 tmpMeta[0] = _pathsIn;
4341#line 4341 OMC_FILE"/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/boot/build/tmp/ResolveLoops.c"
4342 goto tmp2_done;
4343 }
4344 }
4345 goto tmp2_end;
4346 tmp2_end: ;
4347 }
4348 goto goto_1;
4349 tmp2_done:
4350 (void)tmp3;
4351 MMC_RESTORE_INTERNAL(mmc_jumper)threadData->mmc_jumper = old_jumper;;
4352 goto tmp2_done2;
4353 goto_1:;
4354 MMC_CATCH_INTERNAL(mmc_jumper)} threadData->mmc_jumper = old_jumper;mmc_catch_dummy_fn()
;}
;
4355 if (++tmp3 < 3) {
4356 goto tmp2_top;
4357 }
4358 MMC_THROW_INTERNAL(){longjmp(*threadData->mmc_jumper,1);};
4359 tmp2_done2:;
4360 }
4361 }
4362 _pathsOut = tmpMeta[0];
4363 _return: OMC_LABEL_UNUSED__attribute__((unused))
4364 return _pathsOut;
4365}
4366
4367PROTECTED_FUNCTION_STATIC modelica_boolean omc_ResolveLoops_intLstIsEqual(threadData_t *threadData, modelica_metatype _lst1, modelica_metatype _lst2)
4368{
4369 modelica_boolean _bOut;
4370 MMC_SO()mmc_check_stackoverflow(threadData);
4371 _tailrecursive: OMC_LABEL_UNUSED__attribute__((unused))
4372 // _bOut has no default value.
4373#line 2014 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
4374 _bOut = omc_List_isEqualOnTrue(threadData, _lst1, _lst2, boxvar_intEq((void*)((char*)(&(boxvar_lit_intEq).header) + 3)));
4375#line 4375 OMC_FILE"/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/boot/build/tmp/ResolveLoops.c"
4376 _return: OMC_LABEL_UNUSED__attribute__((unused))
4377 return _bOut;
4378}
4379PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_ResolveLoops_intLstIsEqual(threadData_t *threadData, modelica_metatype _lst1, modelica_metatype _lst2)
4380{
4381 modelica_boolean _bOut;
4382 modelica_metatype out_bOut;
4383 _bOut = omc_ResolveLoops_intLstIsEqual(threadData, _lst1, _lst2);
4384 out_bOut = mmc_mk_icon(_bOut);
4385 return out_bOut;
4386}
4387
4388PROTECTED_FUNCTION_STATIC modelica_metatype omc_ResolveLoops_sumUp2Expressions(threadData_t *threadData, modelica_boolean _sumUp, modelica_metatype _exp1, modelica_metatype _exp2)
4389{
4390 modelica_metatype _expOut = NULL((void*)0);
4391 modelica_metatype _op = NULL((void*)0);
4392 modelica_metatype _ty = NULL((void*)0);
4393 modelica_boolean tmp1;
4394 modelica_metatype tmpMeta[3] __attribute__((unused)) = {0};
4395 MMC_SO()mmc_check_stackoverflow(threadData);
4396 _tailrecursive: OMC_LABEL_UNUSED__attribute__((unused))
4397 // _expOut has no default value.
4398 // _op has no default value.
4399 // _ty has no default value.
4400#line 2003 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
4401 _ty = _OMC_LIT18((void*)((char*)(&(_OMC_LIT_STRUCT18).header) + 3));
4402#line 4402 OMC_FILE"/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/boot/build/tmp/ResolveLoops.c"
4403
4404#line 2004 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
4405 tmp1 = (modelica_boolean)_sumUp;
4406#line 2004 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
4407 if(tmp1)
4408#line 2004 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
4409 {
4410#line 2004 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
4411 tmpMeta[0] = mmc_mk_box2(3, &DAE_Operator_ADD__desc, _ty);
4412#line 2004 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
4413 tmpMeta[2] = tmpMeta[0];
4414#line 2004 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
4415 }
4416#line 2004 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
4417 else
4418#line 2004 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
4419 {
4420#line 2004 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
4421 tmpMeta[1] = mmc_mk_box2(4, &DAE_Operator_SUB__desc, _ty);
4422#line 2004 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
4423 tmpMeta[2] = tmpMeta[1];
4424#line 2004 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
4425 }
4426#line 2004 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
4427 _op = tmpMeta[2];
4428#line 4428 OMC_FILE"/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/boot/build/tmp/ResolveLoops.c"
4429
4430#line 2005 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
4431 tmpMeta[0] = mmc_mk_box4(10, &DAE_Exp_BINARY__desc, _exp1, _op, _exp2);
4432#line 2005 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
4433 _expOut = tmpMeta[0];
4434#line 4434 OMC_FILE"/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/boot/build/tmp/ResolveLoops.c"
4435
4436#line 2006 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
4437 _expOut = omc_ExpressionSimplify_simplify(threadData, _expOut, NULL((void*)0));
4438#line 4438 OMC_FILE"/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/boot/build/tmp/ResolveLoops.c"
4439 _return: OMC_LABEL_UNUSED__attribute__((unused))
4440 return _expOut;
4441}
4442PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_ResolveLoops_sumUp2Expressions(threadData_t *threadData, modelica_metatype _sumUp, modelica_metatype _exp1, modelica_metatype _exp2)
4443{
4444 modelica_integer tmp1;
4445 modelica_metatype _expOut = NULL((void*)0);
4446 tmp1 = mmc_unbox_integer(_sumUp)(((mmc_sint_t) (_sumUp)) >> 1);
4447 _expOut = omc_ResolveLoops_sumUp2Expressions(threadData, tmp1, _exp1, _exp2);
4448 /* skip box _expOut; DAE.Exp */
4449 return _expOut;
4450}
4451
4452PROTECTED_FUNCTION_STATIC modelica_metatype omc_ResolveLoops_isAddOrSubExp(threadData_t *threadData, modelica_metatype _inExp, modelica_metatype _inTuple, modelica_metatype *out_outTuple)
4453{
4454 modelica_metatype _outExp = NULL((void*)0);
4455 modelica_metatype _outTuple = NULL((void*)0);
4456 modelica_metatype tmpMeta[8] __attribute__((unused)) = {0};
4457 MMC_SO()mmc_check_stackoverflow(threadData);
4458 _tailrecursive: OMC_LABEL_UNUSED__attribute__((unused))
4459 // _outExp has no default value.
4460 // _outTuple has no default value.
4461#line 1937 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
4462
4463#line 1937 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
4464
4465#line 4465 OMC_FILE"/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/boot/build/tmp/ResolveLoops.c"
4466 { /* match expression */
4467 modelica_metatype tmp4_1;modelica_metatype tmp4_2;
4468 tmp4_1 = _inExp;
4469 tmp4_2 = _inTuple;
4470 {
4471 modelica_boolean _b;
4472 modelica_metatype _vars = NULL((void*)0);
4473 modelica_metatype _exp1 = NULL((void*)0);
4474 modelica_metatype _exp2 = NULL((void*)0);
4475 modelica_metatype _cref = NULL((void*)0);
4476 volatile mmc_switch_type tmp4;
4477 int tmp5;
4478 // _b has no default value.
4479 // _vars has no default value.
4480 // _exp1 has no default value.
4481 // _exp2 has no default value.
4482 // _cref has no default value.
4483 tmp4 = 0;
4484 for (; tmp4 < 8; tmp4++) {
4485 switch (MMC_SWITCH_CAST(tmp4)(tmp4)) {
4486 case 0: {
4487 modelica_integer tmp6;
4488 tmpMeta[2] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 1))(*(void**)(((void*)((void**)(((void*)((char*)(tmp4_2) - 3))) +
(1)))))
;
4489 tmp6 = mmc_unbox_integer(tmpMeta[2])(((mmc_sint_t) (tmpMeta[2])) >> 1);
4490 if (1 != tmp6) goto tmp3_end;
4491 tmpMeta[3] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2))(*(void**)(((void*)((void**)(((void*)((char*)(tmp4_2) - 3))) +
(2)))))
;
4492 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;
4493
4494 _vars = tmpMeta[3];
4495 /* Pattern matching succeeded */
4496#line 1948 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
4497 tmpMeta[2] = mmc_mk_box2(0, mmc_mk_boolean(1)((1) != 0 ? (mmc_mk_icon(1)) : (mmc_mk_icon(0))), _vars);
4498#line 1948 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
4499 tmpMeta[0+0] = _inExp;
4500#line 1948 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
4501 tmpMeta[0+1] = tmpMeta[2];
4502#line 4502 OMC_FILE"/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/boot/build/tmp/ResolveLoops.c"
4503 goto tmp3_done;
4504 }
4505 case 1: {
4506 modelica_integer tmp7;
4507 modelica_integer tmp8;
4508 tmpMeta[2] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 1))(*(void**)(((void*)((void**)(((void*)((char*)(tmp4_2) - 3))) +
(1)))))
;
4509 tmp7 = mmc_unbox_integer(tmpMeta[2])(((mmc_sint_t) (tmpMeta[2])) >> 1);
4510 if (1 != tmp7) goto tmp3_end;
4511 tmpMeta[3] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2))(*(void**)(((void*)((void**)(((void*)((char*)(tmp4_2) - 3))) +
(2)))))
;
4512 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;
4513 tmpMeta[4] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_1), 3))(*(void**)(((void*)((void**)(((void*)((char*)(tmp4_1) - 3))) +
(3)))))
;
4514 _vars = tmpMeta[3];
4515 _exp1 = tmpMeta[4];
4516 /* Pattern matching succeeded */
4517#line 1953 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
4518 /* Pattern-matching tuple assignment, wild first pattern */
4519#line 1953 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
4520 tmpMeta[4] = mmc_mk_box2(0, mmc_mk_boolean(1)((1) != 0 ? (mmc_mk_icon(1)) : (mmc_mk_icon(0))), _vars);
4521#line 1953 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
4522 omc_ResolveLoops_isAddOrSubExp(threadData, _exp1, tmpMeta[4], &tmpMeta[2]);
4523#line 1953 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
4524 tmpMeta[3] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[2]), 1))(*(void**)(((void*)((void**)(((void*)((char*)(tmpMeta[2]) - 3
))) + (1)))))
;
4525#line 1953 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
4526 tmp8 = mmc_unbox_integer(tmpMeta[3])(((mmc_sint_t) (tmpMeta[3])) >> 1);
4527#line 1953 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
4528 _b = tmp8 /* pattern as ty=Boolean */;
4529#line 4529 OMC_FILE"/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/boot/build/tmp/ResolveLoops.c"
4530#line 1954 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
4531 tmpMeta[2] = mmc_mk_box2(0, mmc_mk_boolean(_b)((_b) != 0 ? (mmc_mk_icon(1)) : (mmc_mk_icon(0))), _vars);
4532#line 1954 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
4533 tmpMeta[0+0] = _inExp;
4534#line 1954 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
4535 tmpMeta[0+1] = tmpMeta[2];
4536#line 4536 OMC_FILE"/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/boot/build/tmp/ResolveLoops.c"
4537 goto tmp3_done;
4538 }
4539 case 2: {
4540 modelica_integer tmp9;
4541 tmpMeta[2] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 1))(*(void**)(((void*)((void**)(((void*)((char*)(tmp4_2) - 3))) +
(1)))))
;
4542 tmp9 = mmc_unbox_integer(tmpMeta[2])(((mmc_sint_t) (tmpMeta[2])) >> 1);
4543 if (1 != tmp9) goto tmp3_end;
4544 tmpMeta[3] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2))(*(void**)(((void*)((void**)(((void*)((char*)(tmp4_2) - 3))) +
(2)))))
;
4545 if (mmc__uniontype__metarecord__typedef__equal(tmp4_1,1,1)((*(mmc_uint_t*)((void*)((char*)(tmp4_1) - 3)))==(((1 +1) <<
10) + (((1 +3) & 255) << 2)))
== 0) goto tmp3_end;
4546
4547 _vars = tmpMeta[3];
4548 /* Pattern matching succeeded */
4549#line 1959 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
4550 tmpMeta[2] = mmc_mk_box2(0, mmc_mk_boolean(1)((1) != 0 ? (mmc_mk_icon(1)) : (mmc_mk_icon(0))), _vars);
4551#line 1959 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
4552 tmpMeta[0+0] = _inExp;
4553#line 1959 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
4554 tmpMeta[0+1] = tmpMeta[2];
4555#line 4555 OMC_FILE"/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/boot/build/tmp/ResolveLoops.c"
4556 goto tmp3_done;
4557 }
4558 case 3: {
4559 modelica_integer tmp10;
4560 modelica_integer tmp11;
4561 modelica_integer tmp12;
4562 tmpMeta[2] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 1))(*(void**)(((void*)((void**)(((void*)((char*)(tmp4_2) - 3))) +
(1)))))
;
4563 tmp10 = mmc_unbox_integer(tmpMeta[2])(((mmc_sint_t) (tmpMeta[2])) >> 1);
4564 if (1 != tmp10) goto tmp3_end;
4565 tmpMeta[3] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2))(*(void**)(((void*)((void**)(((void*)((char*)(tmp4_2) - 3))) +
(2)))))
;
4566 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;
4567 tmpMeta[4] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_1), 2))(*(void**)(((void*)((void**)(((void*)((char*)(tmp4_1) - 3))) +
(2)))))
;
4568 tmpMeta[5] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_1), 3))(*(void**)(((void*)((void**)(((void*)((char*)(tmp4_1) - 3))) +
(3)))))
;
4569 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 tmp3_end;
4570 tmpMeta[6] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_1), 4))(*(void**)(((void*)((void**)(((void*)((char*)(tmp4_1) - 3))) +
(4)))))
;
4571 _vars = tmpMeta[3];
4572 _exp1 = tmpMeta[4];
4573 _exp2 = tmpMeta[6];
4574 /* Pattern matching succeeded */
4575#line 1964 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
4576 /* Pattern-matching tuple assignment, wild first pattern */
4577#line 1964 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
4578 tmpMeta[4] = mmc_mk_box2(0, mmc_mk_boolean(1)((1) != 0 ? (mmc_mk_icon(1)) : (mmc_mk_icon(0))), _vars);
4579#line 1964 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
4580 omc_ResolveLoops_isAddOrSubExp(threadData, _exp1, tmpMeta[4], &tmpMeta[2]);
4581#line 1964 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
4582 tmpMeta[3] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[2]), 1))(*(void**)(((void*)((void**)(((void*)((char*)(tmpMeta[2]) - 3
))) + (1)))))
;
4583#line 1964 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
4584 tmp11 = mmc_unbox_integer(tmpMeta[3])(((mmc_sint_t) (tmpMeta[3])) >> 1);
4585#line 1964 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
4586 _b = tmp11 /* pattern as ty=Boolean */;
4587#line 4587 OMC_FILE"/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/boot/build/tmp/ResolveLoops.c"
4588
4589#line 1965 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
4590 /* Pattern-matching tuple assignment, wild first pattern */
4591#line 1965 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
4592 tmpMeta[4] = mmc_mk_box2(0, mmc_mk_boolean(_b)((_b) != 0 ? (mmc_mk_icon(1)) : (mmc_mk_icon(0))), _vars);
4593#line 1965 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
4594 omc_ResolveLoops_isAddOrSubExp(threadData, _exp2, tmpMeta[4], &tmpMeta[2]);
4595#line 1965 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
4596 tmpMeta[3] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[2]), 1))(*(void**)(((void*)((void**)(((void*)((char*)(tmpMeta[2]) - 3
))) + (1)))))
;
4597#line 1965 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
4598 tmp12 = mmc_unbox_integer(tmpMeta[3])(((mmc_sint_t) (tmpMeta[3])) >> 1);
4599#line 1965 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
4600 _b = tmp12 /* pattern as ty=Boolean */;
4601#line 4601 OMC_FILE"/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/boot/build/tmp/ResolveLoops.c"
4602#line 1966 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
4603 tmpMeta[2] = mmc_mk_box2(0, mmc_mk_boolean(_b)((_b) != 0 ? (mmc_mk_icon(1)) : (mmc_mk_icon(0))), _vars);
4604#line 1966 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
4605 tmpMeta[0+0] = _inExp;
4606#line 1966 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
4607 tmpMeta[0+1] = tmpMeta[2];
4608#line 4608 OMC_FILE"/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/boot/build/tmp/ResolveLoops.c"
4609 goto tmp3_done;
4610 }
4611 case 4: {
4612 modelica_integer tmp13;
4613 modelica_integer tmp14;
4614 modelica_integer tmp15;
4615 tmpMeta[2] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 1))(*(void**)(((void*)((void**)(((void*)((char*)(tmp4_2) - 3))) +
(1)))))
;
4616 tmp13 = mmc_unbox_integer(tmpMeta[2])(((mmc_sint_t) (tmpMeta[2])) >> 1);
4617 if (1 != tmp13) goto tmp3_end;
4618 tmpMeta[3] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2))(*(void**)(((void*)((void**)(((void*)((char*)(tmp4_2) - 3))) +
(2)))))
;
4619 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;
4620 tmpMeta[4] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_1), 2))(*(void**)(((void*)((void**)(((void*)((char*)(tmp4_1) - 3))) +
(2)))))
;
4621 tmpMeta[5] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_1), 3))(*(void**)(((void*)((void**)(((void*)((char*)(tmp4_1) - 3))) +
(3)))))
;
4622 if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[5],1,1)((*(mmc_uint_t*)((void*)((char*)(tmpMeta[5]) - 3)))==(((1 +1)
<< 10) + (((1 +3) & 255) << 2)))
== 0) goto tmp3_end;
4623 tmpMeta[6] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_1), 4))(*(void**)(((void*)((void**)(((void*)((char*)(tmp4_1) - 3))) +
(4)))))
;
4624 _vars = tmpMeta[3];
4625 _exp1 = tmpMeta[4];
4626 _exp2 = tmpMeta[6];
4627 /* Pattern matching succeeded */
4628#line 1971 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
4629 /* Pattern-matching tuple assignment, wild first pattern */
4630#line 1971 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
4631 tmpMeta[4] = mmc_mk_box2(0, mmc_mk_boolean(1)((1) != 0 ? (mmc_mk_icon(1)) : (mmc_mk_icon(0))), _vars);
4632#line 1971 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
4633 omc_ResolveLoops_isAddOrSubExp(threadData, _exp1, tmpMeta[4], &tmpMeta[2]);
4634#line 1971 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
4635 tmpMeta[3] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[2]), 1))(*(void**)(((void*)((void**)(((void*)((char*)(tmpMeta[2]) - 3
))) + (1)))))
;
4636#line 1971 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
4637 tmp14 = mmc_unbox_integer(tmpMeta[3])(((mmc_sint_t) (tmpMeta[3])) >> 1);
4638#line 1971 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
4639 _b = tmp14 /* pattern as ty=Boolean */;
4640#line 4640 OMC_FILE"/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/boot/build/tmp/ResolveLoops.c"
4641
4642#line 1972 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
4643 /* Pattern-matching tuple assignment, wild first pattern */
4644#line 1972 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
4645 tmpMeta[4] = mmc_mk_box2(0, mmc_mk_boolean(_b)((_b) != 0 ? (mmc_mk_icon(1)) : (mmc_mk_icon(0))), _vars);
4646#line 1972 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
4647 omc_ResolveLoops_isAddOrSubExp(threadData, _exp2, tmpMeta[4], &tmpMeta[2]);
4648#line 1972 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
4649 tmpMeta[3] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[2]), 1))(*(void**)(((void*)((void**)(((void*)((char*)(tmpMeta[2]) - 3
))) + (1)))))
;
4650#line 1972 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
4651 tmp15 = mmc_unbox_integer(tmpMeta[3])(((mmc_sint_t) (tmpMeta[3])) >> 1);
4652#line 1972 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
4653 _b = tmp15 /* pattern as ty=Boolean */;
4654#line 4654 OMC_FILE"/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/boot/build/tmp/ResolveLoops.c"
4655#line 1973 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
4656 tmpMeta[2] = mmc_mk_box2(0, mmc_mk_boolean(_b)((_b) != 0 ? (mmc_mk_icon(1)) : (mmc_mk_icon(0))), _vars);
4657#line 1973 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
4658 tmpMeta[0+0] = _inExp;
4659#line 1973 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
4660 tmpMeta[0+1] = tmpMeta[2];
4661#line 4661 OMC_FILE"/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/boot/build/tmp/ResolveLoops.c"
4662 goto tmp3_done;
4663 }
4664 case 5: {
4665 modelica_integer tmp16;
4666 tmpMeta[2] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 1))(*(void**)(((void*)((void**)(((void*)((char*)(tmp4_2) - 3))) +
(1)))))
;
4667 tmp16 = mmc_unbox_integer(tmpMeta[2])(((mmc_sint_t) (tmpMeta[2])) >> 1);
4668 if (1 != tmp16) goto tmp3_end;
4669 tmpMeta[3] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2))(*(void**)(((void*)((void**)(((void*)((char*)(tmp4_2) - 3))) +
(2)))))
;
4670 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;
4671 tmpMeta[4] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_1), 2))(*(void**)(((void*)((void**)(((void*)((char*)(tmp4_1) - 3))) +
(2)))))
;
4672 if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[4],6,2)((*(mmc_uint_t*)((void*)((char*)(tmpMeta[4]) - 3)))==(((2 +1)
<< 10) + (((6 +3) & 255) << 2)))
== 0) goto tmp3_end;
4673 tmpMeta[5] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[4]), 2))(*(void**)(((void*)((void**)(((void*)((char*)(tmpMeta[4]) - 3
))) + (2)))))
;
4674 tmpMeta[6] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_1), 3))(*(void**)(((void*)((void**)(((void*)((char*)(tmp4_1) - 3))) +
(3)))))
;
4675 if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[6],2,1)((*(mmc_uint_t*)((void*)((char*)(tmpMeta[6]) - 3)))==(((1 +1)
<< 10) + (((2 +3) & 255) << 2)))
== 0) goto tmp3_end;
4676 tmpMeta[7] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_1), 4))(*(void**)(((void*)((void**)(((void*)((char*)(tmp4_1) - 3))) +
(4)))))
;
4677 _vars = tmpMeta[3];
4678 _cref = tmpMeta[5];
4679 _exp2 = tmpMeta[7];
4680 /* Pattern matching succeeded */
4681#line 1978 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
4682 _b = (omc_BackendVariable_isState(threadData, _cref, _vars) && omc_Expression_isConst(threadData, _exp2));
4683#line 4683 OMC_FILE"/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/boot/build/tmp/ResolveLoops.c"
4684#line 1979 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
4685 tmpMeta[2] = mmc_mk_box2(0, mmc_mk_boolean(_b)((_b) != 0 ? (mmc_mk_icon(1)) : (mmc_mk_icon(0))), _vars);
4686#line 1979 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
4687 tmpMeta[0+0] = _inExp;
4688#line 1979 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
4689 tmpMeta[0+1] = tmpMeta[2];
4690#line 4690 OMC_FILE"/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/boot/build/tmp/ResolveLoops.c"
4691 goto tmp3_done;
4692 }
4693 case 6: {
4694 modelica_integer tmp17;
4695 tmpMeta[2] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 1))(*(void**)(((void*)((void**)(((void*)((char*)(tmp4_2) - 3))) +
(1)))))
;
4696 tmp17 = mmc_unbox_integer(tmpMeta[2])(((mmc_sint_t) (tmpMeta[2])) >> 1);
4697 if (1 != tmp17) goto tmp3_end;
4698 tmpMeta[3] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2))(*(void**)(((void*)((void**)(((void*)((char*)(tmp4_2) - 3))) +
(2)))))
;
4699 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;
4700 tmpMeta[4] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_1), 2))(*(void**)(((void*)((void**)(((void*)((char*)(tmp4_1) - 3))) +
(2)))))
;
4701 tmpMeta[5] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_1), 3))(*(void**)(((void*)((void**)(((void*)((char*)(tmp4_1) - 3))) +
(3)))))
;
4702 if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[5],2,1)((*(mmc_uint_t*)((void*)((char*)(tmpMeta[5]) - 3)))==(((1 +1)
<< 10) + (((2 +3) & 255) << 2)))
== 0) goto tmp3_end;
4703 tmpMeta[6] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_1), 4))(*(void**)(((void*)((void**)(((void*)((char*)(tmp4_1) - 3))) +
(4)))))
;
4704 if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[6],6,2)((*(mmc_uint_t*)((void*)((char*)(tmpMeta[6]) - 3)))==(((2 +1)
<< 10) + (((6 +3) & 255) << 2)))
== 0) goto tmp3_end;
4705 tmpMeta[7] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[6]), 2))(*(void**)(((void*)((void**)(((void*)((char*)(tmpMeta[6]) - 3
))) + (2)))))
;
4706
4707 _vars = tmpMeta[3];
4708 _exp1 = tmpMeta[4];
4709 _cref = tmpMeta[7];
4710 /* Pattern matching succeeded */
4711#line 1984 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
4712 _b = (omc_Expression_isConst(threadData, _exp1) && omc_BackendVariable_isState(threadData, _cref, _vars));
4713#line 4713 OMC_FILE"/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/boot/build/tmp/ResolveLoops.c"
4714#line 1985 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
4715 tmpMeta[2] = mmc_mk_box2(0, mmc_mk_boolean(_b)((_b) != 0 ? (mmc_mk_icon(1)) : (mmc_mk_icon(0))), _vars);
4716#line 1985 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
4717 tmpMeta[0+0] = _inExp;
4718#line 1985 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
4719 tmpMeta[0+1] = tmpMeta[2];
4720#line 4720 OMC_FILE"/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/boot/build/tmp/ResolveLoops.c"
4721 goto tmp3_done;
4722 }
4723 case 7: {
4724
4725 /* Pattern matching succeeded */
4726#line 1988 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
4727 tmpMeta[2] = mmc_mk_box2(0, mmc_mk_boolean(0)((0) != 0 ? (mmc_mk_icon(1)) : (mmc_mk_icon(0))), omc_Util_tuple22(threadData, _inTuple));
4728#line 1988 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
4729 tmpMeta[0+0] = _inExp;
4730#line 1988 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
4731 tmpMeta[0+1] = tmpMeta[2];
4732#line 4732 OMC_FILE"/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/boot/build/tmp/ResolveLoops.c"
4733 goto tmp3_done;
4734 }
4735 }
4736 goto tmp3_end;
4737 tmp3_end: ;
4738 }
4739 goto goto_2;
4740 goto_2:;
4741 MMC_THROW_INTERNAL(){longjmp(*threadData->mmc_jumper,1);};
4742 goto tmp3_done;
4743 tmp3_done:;
4744 }
4745 }
4746 _outExp = tmpMeta[0+0];
4747 _outTuple = tmpMeta[0+1];
4748 _return: OMC_LABEL_UNUSED__attribute__((unused))
4749 if (out_outTuple) { *out_outTuple = _outTuple; }
4750 return _outExp;
4751}
4752
4753PROTECTED_FUNCTION_STATIC modelica_metatype omc_ResolveLoops_gatherCrossNodes(threadData_t *threadData, modelica_integer _idx, modelica_metatype _m, modelica_metatype _mT, modelica_metatype _lstIn)
4754{
4755 modelica_metatype _lstOut = NULL((void*)0);
4756 modelica_boolean _isCross;
4757 modelica_boolean _isNoCross;
4758 modelica_integer _num;
4759 modelica_metatype _row = NULL((void*)0);
4760 modelica_metatype _nextNodes = NULL((void*)0);
4761 modelica_metatype _adjNodes = NULL((void*)0);
4762 modelica_boolean tmp1;
4763 modelica_metatype tmpMeta[2] __attribute__((unused)) = {0};
4764 MMC_SO()mmc_check_stackoverflow(threadData);
4765 _tailrecursive: OMC_LABEL_UNUSED__attribute__((unused))
4766 // _lstOut has no default value.
4767 // _isCross has no default value.
4768 // _isNoCross has no default value.
4769 // _num has no default value.
4770 // _row has no default value.
4771 // _nextNodes has no default value.
4772 // _adjNodes has no default value.
4773#line 1925 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
4774 _row = arrayGet(_m, _idx)nobox_arrayGet(threadData,_m,_idx);
4775#line 4775 OMC_FILE"/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/boot/build/tmp/ResolveLoops.c"
4776
4777#line 1926 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
4778 _num = listLength(_row);
4779#line 4779 OMC_FILE"/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/boot/build/tmp/ResolveLoops.c"
4780
4781#line 1927 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
4782 _isCross = (_num > ((modelica_integer) 2));
4783#line 4783 OMC_FILE"/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/boot/build/tmp/ResolveLoops.c"
4784
4785#line 1928 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
4786 tmp1 = (modelica_boolean)_isCross;
4787#line 1928 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
4788 if(tmp1)
4789#line 1928 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
4790 {
4791#line 1928 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
4792 tmpMeta[0] = mmc_mk_cons(mmc_mk_integermmc_mk_icon(_idx), _lstIn);
4793#line 1928 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
4794 tmpMeta[1] = tmpMeta[0];
4795#line 1928 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
4796 }
4797#line 1928 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
4798 else
4799#line 1928 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
4800 {
4801#line 1928 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
4802 tmpMeta[1] = _lstIn;
4803#line 1928 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
4804 }
4805#line 1928 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
4806 _lstOut = tmpMeta[1];
4807#line 4807 OMC_FILE"/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/boot/build/tmp/ResolveLoops.c"
4808 _return: OMC_LABEL_UNUSED__attribute__((unused))
4809 return _lstOut;
4810}
4811PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_ResolveLoops_gatherCrossNodes(threadData_t *threadData, modelica_metatype _idx, modelica_metatype _m, modelica_metatype _mT, modelica_metatype _lstIn)
4812{
4813 modelica_integer tmp1;
4814 modelica_metatype _lstOut = NULL((void*)0);
4815 tmp1 = mmc_unbox_integer(_idx)(((mmc_sint_t) (_idx)) >> 1);
4816 _lstOut = omc_ResolveLoops_gatherCrossNodes(threadData, tmp1, _m, _mT, _lstIn);
4817 /* skip box _lstOut; list<#Integer> */
4818 return _lstOut;
4819}
4820
4821PROTECTED_FUNCTION_STATIC modelica_metatype omc_ResolveLoops_getArrayEntryAndAppend(threadData_t *threadData, modelica_integer _entry, modelica_metatype _m, modelica_metatype _lstIn)
4822{
4823 modelica_metatype _lstOut = NULL((void*)0);
4824 modelica_metatype _lst = NULL((void*)0);
4825 MMC_SO()mmc_check_stackoverflow(threadData);
4826 _tailrecursive: OMC_LABEL_UNUSED__attribute__((unused))
4827 // _lstOut has no default value.
4828 // _lst has no default value.
4829#line 1907 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
4830 _lst = arrayGet(_m, _entry)nobox_arrayGet(threadData,_m,_entry);
4831#line 4831 OMC_FILE"/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/boot/build/tmp/ResolveLoops.c"
4832
4833#line 1908 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
4834 _lstOut = listAppend(_lst, _lstIn);
4835#line 4835 OMC_FILE"/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/boot/build/tmp/ResolveLoops.c"
4836 _return: OMC_LABEL_UNUSED__attribute__((unused))
4837 return _lstOut;
4838}
4839PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_ResolveLoops_getArrayEntryAndAppend(threadData_t *threadData, modelica_metatype _entry, modelica_metatype _m, modelica_metatype _lstIn)
4840{
4841 modelica_integer tmp1;
4842 modelica_metatype _lstOut = NULL((void*)0);
4843 tmp1 = mmc_unbox_integer(_entry)(((mmc_sint_t) (_entry)) >> 1);
4844 _lstOut = omc_ResolveLoops_getArrayEntryAndAppend(threadData, tmp1, _m, _lstIn);
4845 /* skip box _lstOut; list<#Integer> */
4846 return _lstOut;
4847}
4848
4849PROTECTED_FUNCTION_STATIC modelica_boolean omc_ResolveLoops_arrayGetIsNegative(threadData_t *threadData, modelica_integer _idx, modelica_metatype _arrayIn)
4850{
4851 modelica_boolean _isNonZero;
4852 MMC_SO()mmc_check_stackoverflow(threadData);
4853 _tailrecursive: OMC_LABEL_UNUSED__attribute__((unused))
4854 // _isNonZero has no default value.
4855#line 1896 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
4856 _isNonZero = (mmc_unbox_integer(arrayGet(_arrayIn, _idx))(((mmc_sint_t) (nobox_arrayGet(threadData,_arrayIn,_idx))) >>
1)
< ((modelica_integer) 0));
4857#line 4857 OMC_FILE"/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/boot/build/tmp/ResolveLoops.c"
4858 _return: OMC_LABEL_UNUSED__attribute__((unused))
4859 return _isNonZero;
4860}
4861PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_ResolveLoops_arrayGetIsNegative(threadData_t *threadData, modelica_metatype _idx, modelica_metatype _arrayIn)
4862{
4863 modelica_integer tmp1;
4864 modelica_boolean _isNonZero;
4865 modelica_metatype out_isNonZero;
4866 tmp1 = mmc_unbox_integer(_idx)(((mmc_sint_t) (_idx)) >> 1);
4867 _isNonZero = omc_ResolveLoops_arrayGetIsNegative(threadData, tmp1, _arrayIn);
4868 out_isNonZero = mmc_mk_icon(_isNonZero);
4869 return out_isNonZero;
4870}
4871
4872PROTECTED_FUNCTION_STATIC modelica_boolean omc_ResolveLoops_arrayGetIsNotPositive(threadData_t *threadData, modelica_integer _idx, modelica_metatype _arrayIn)
4873{
4874 modelica_boolean _isNonZero;
4875 MMC_SO()mmc_check_stackoverflow(threadData);
4876 _tailrecursive: OMC_LABEL_UNUSED__attribute__((unused))
4877 // _isNonZero has no default value.
4878#line 1888 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
4879 _isNonZero = (mmc_unbox_integer(arrayGet(_arrayIn, _idx))(((mmc_sint_t) (nobox_arrayGet(threadData,_arrayIn,_idx))) >>
1)
<= ((modelica_integer) 0));
4880#line 4880 OMC_FILE"/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/boot/build/tmp/ResolveLoops.c"
4881 _return: OMC_LABEL_UNUSED__attribute__((unused))
4882 return _isNonZero;
4883}
4884PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_ResolveLoops_arrayGetIsNotPositive(threadData_t *threadData, modelica_metatype _idx, modelica_metatype _arrayIn)
4885{
4886 modelica_integer tmp1;
4887 modelica_boolean _isNonZero;
4888 modelica_metatype out_isNonZero;
4889 tmp1 = mmc_unbox_integer(_idx)(((mmc_sint_t) (_idx)) >> 1);
4890 _isNonZero = omc_ResolveLoops_arrayGetIsNotPositive(threadData, tmp1, _arrayIn);
4891 out_isNonZero = mmc_mk_icon(_isNonZero);
4892 return out_isNonZero;
4893}
4894
4895PROTECTED_FUNCTION_STATIC modelica_integer omc_ResolveLoops_colorNodePartitions(threadData_t *threadData, modelica_metatype _m, modelica_metatype _mT, modelica_metatype _checkNextIn, modelica_metatype _markEqs, modelica_metatype _markVars, modelica_integer _currNumberIn, modelica_metatype _partitionsIn, modelica_metatype *out_partitionsOut)
4896{
4897 modelica_integer _currNumberOut;
4898 modelica_metatype _partitionsOut = NULL((void*)0);
4899 modelica_boolean _hasChanged;
4900 modelica_integer _eq;
4901 modelica_integer _currNumber;
4902 modelica_metatype _markNodes = NULL((void*)0);
4903 modelica_metatype _rest = NULL((void*)0);
4904 modelica_metatype _vars = NULL((void*)0);
4905 modelica_metatype _addEqs = NULL((void*)0);
4906 modelica_metatype _eqs = NULL((void*)0);
4907 modelica_metatype _part = NULL((void*)0);
4908 modelica_metatype _restPart = NULL((void*)0);
4909 modelica_metatype _partitions = NULL((void*)0);
4910 modelica_integer tmp1_c0 __attribute__((unused)) = 0;
4911 modelica_metatype tmpMeta[5] __attribute__((unused)) = {0};
4912 MMC_SO()mmc_check_stackoverflow(threadData);
4913 _tailrecursive: OMC_LABEL_UNUSED__attribute__((unused))
4914 // _currNumberOut has no default value.
4915 // _partitionsOut has no default value.
4916 // _hasChanged has no default value.
4917 // _eq has no default value.
4918 // _currNumber has no default value.
4919 // _markNodes has no default value.
4920 // _rest has no default value.
4921 // _vars has no default value.
4922 // _addEqs has no default value.
4923 // _eqs has no default value.
4924 // _part has no default value.
4925 // _restPart has no default value.
4926 // _partitions has no default value.
4927#line 1828 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
4928
4929#line 1828 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
4930
4931#line 4931 OMC_FILE"/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/boot/build/tmp/ResolveLoops.c"
4932 { /* match expression */
4933 modelica_metatype tmp4_1;modelica_metatype tmp4_2;
4934 tmp4_1 = _checkNextIn;
4935 tmp4_2 = _partitionsIn;
4936 {
4937 volatile mmc_switch_type tmp4;
4938 int tmp5;
4939 tmp4 = 0;
4940 for (; tmp4 < 3; tmp4++) {
4941 switch (MMC_SWITCH_CAST(tmp4)(tmp4)) {
4942 case 0: {
4943 modelica_integer tmp6;
4944 if (listEmpty(tmp4_1)((*(mmc_uint_t*)((void*)((char*)(tmp4_1) - 3))) == (((0) <<
10) + (((0) & 255) << 2)))
) goto tmp3_end;
4945 tmpMeta[2] = MMC_CAR(tmp4_1)(*(void**)(((void*)((void**)(((void*)((char*)(tmp4_1) - 3))) +
(1)))))
;
4946 tmpMeta[3] = MMC_CDR(tmp4_1)(*(void**)(((void*)((void**)(((void*)((char*)(tmp4_1) - 3))) +
(2)))))
;
4947 tmp6 = mmc_unbox_integer(tmpMeta[2])(((mmc_sint_t) (tmpMeta[2])) >> 1);
4948 if (0 != tmp6) goto tmp3_end;
4949 if (!listEmpty(tmpMeta[3])((*(mmc_uint_t*)((void*)((char*)(tmpMeta[3]) - 3))) == (((0) <<
10) + (((0) & 255) << 2)))
) goto tmp3_end;
4950
4951 /* Pattern matching succeeded */
4952#line 1833 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
4953 _currNumber = ((modelica_integer) -1) + _currNumberIn;
4954#line 4954 OMC_FILE"/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/boot/build/tmp/ResolveLoops.c"
4955#line 1834 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
4956 tmp1_c0 = _currNumber;
4957#line 1834 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
4958 tmpMeta[0+1] = _partitionsIn;
4959#line 4959 OMC_FILE"/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/boot/build/tmp/ResolveLoops.c"
4960 goto tmp3_done;
4961 }
4962 case 1: {
4963 modelica_integer tmp7;
4964 modelica_boolean tmp8;
4965 if (listEmpty(tmp4_1)((*(mmc_uint_t*)((void*)((char*)(tmp4_1) - 3))) == (((0) <<
10) + (((0) & 255) << 2)))
) goto tmp3_end;
4966 tmpMeta[2] = MMC_CAR(tmp4_1)(*(void**)(((void*)((void**)(((void*)((char*)(tmp4_1) - 3))) +
(1)))))
;
4967 tmpMeta[3] = MMC_CDR(tmp4_1)(*(void**)(((void*)((void**)(((void*)((char*)(tmp4_1) - 3))) +
(2)))))
;
4968 tmp7 = mmc_unbox_integer(tmpMeta[2])(((mmc_sint_t) (tmpMeta[2])) >> 1);
4969
4970 _eq = tmp7 /* pattern as ty=Integer */;
4971 _rest = tmpMeta[3];
4972 _partitions = tmp4_2;
4973 /* Pattern matching succeeded */
4974#line 1839 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
4975 if(omc_ResolveLoops_arrayGetIsNotPositive(threadData, _eq, _markEqs))
4976#line 1839 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
4977 {
4978#line 1841 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
4979 arrayUpdate(_markEqs, _eq, mmc_mk_integer(_currNumberIn))boxptr_arrayUpdate(threadData,_markEqs,mmc_mk_icon(_eq),mmc_mk_icon
(_currNumberIn))
;
4980#line 4980 OMC_FILE"/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/boot/build/tmp/ResolveLoops.c"
4981
4982#line 1842 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
4983 if(listEmpty(_partitions)((*(mmc_uint_t*)((void*)((char*)(_partitions) - 3))) == (((0)
<< 10) + (((0) & 255) << 2)))
)
4984#line 1842 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
4985 {
4986#line 1843 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
4987 tmpMeta[3] = mmc_mk_cons(mmc_mk_integermmc_mk_icon(_eq), MMC_REFSTRUCTLIT(mmc_nil)((void*)((char*)(&(mmc_nil).header) + 3)));
4988#line 1843 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
4989 tmpMeta[2] = mmc_mk_cons(tmpMeta[3], MMC_REFSTRUCTLIT(mmc_nil)((void*)((char*)(&(mmc_nil).header) + 3)));
4990#line 1843 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
4991 _partitions = tmpMeta[2];
4992#line 4992 OMC_FILE"/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/boot/build/tmp/ResolveLoops.c"
4993 }
4994 else
4995 {
4996#line 1845 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
4997 /* Pattern-matching assignment */
4998#line 1845 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
4999 tmpMeta[2] = _partitions;
5000#line 1845 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
5001 if (listEmpty(tmpMeta[2])((*(mmc_uint_t*)((void*)((char*)(tmpMeta[2]) - 3))) == (((0) <<
10) + (((0) & 255) << 2)))
) goto goto_2;
5002#line 1845 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
5003 tmpMeta[3] = MMC_CAR(tmpMeta[2])(*(void**)(((void*)((void**)(((void*)((char*)(tmpMeta[2]) - 3
))) + (1)))))
;
5004#line 1845 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
5005 tmpMeta[4] = MMC_CDR(tmpMeta[2])(*(void**)(((void*)((void**)(((void*)((char*)(tmpMeta[2]) - 3
))) + (2)))))
;
5006#line 1845 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
5007 _part = tmpMeta[3];
5008#line 1845 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
5009 _restPart = tmpMeta[4];
5010#line 5010 OMC_FILE"/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/boot/build/tmp/ResolveLoops.c"
5011
5012#line 1846 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
5013 tmpMeta[2] = mmc_mk_cons(mmc_mk_integermmc_mk_icon(_eq), _part);
5014#line 1846 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
5015 _part = tmpMeta[2];
5016#line 5016 OMC_FILE"/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/boot/build/tmp/ResolveLoops.c"
5017
5018#line 1847 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
5019 tmpMeta[2] = mmc_mk_cons(_part, _restPart);
5020#line 1847 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
5021 _partitions = tmpMeta[2];
5022#line 5022 OMC_FILE"/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/boot/build/tmp/ResolveLoops.c"
5023 }
5024
5025#line 1851 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
5026 _vars = arrayGet(_m, _eq)nobox_arrayGet(threadData,_m,_eq);
5027#line 5027 OMC_FILE"/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/boot/build/tmp/ResolveLoops.c"
5028
5029#line 1852 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
5030 /* Pattern-matching assignment */
5031#line 1852 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
5032 tmp8 = (!listEmpty(_vars)((*(mmc_uint_t*)((void*)((char*)(_vars) - 3))) == (((0) <<
10) + (((0) & 255) << 2)))
);
5033#line 1852 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
5034 if (1 != tmp8) goto goto_2;
5035#line 5035 OMC_FILE"/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/boot/build/tmp/ResolveLoops.c"
5036
5037#line 1855 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
5038 _vars = omc_List_filter1OnTrue(threadData, _vars, boxvar_ResolveLoops_arrayGetIsNotPositive((void*)((char*)(&(boxvar_lit_ResolveLoops_arrayGetIsNotPositive
).header) + 3))
, _markVars);
5039#line 5039 OMC_FILE"/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/boot/build/tmp/ResolveLoops.c"
5040
5041#line 1856 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
5042 omc_List_map2__0(threadData, _vars, boxvar_Array_updateIndexFirst((void*)((char*)(&(boxvar_lit_Array_updateIndexFirst).header
) + 3))
, mmc_mk_integermmc_mk_icon(_currNumberIn), _markVars);
5043#line 5043 OMC_FILE"/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/boot/build/tmp/ResolveLoops.c"
5044
5045#line 1859 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
5046 tmpMeta[2] = MMC_REFSTRUCTLIT(mmc_nil)((void*)((char*)(&(mmc_nil).header) + 3));
5047#line 1859 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
5048 _eqs = omc_List_fold1(threadData, _vars, boxvar_ResolveLoops_getArrayEntryAndAppend((void*)((char*)(&(boxvar_lit_ResolveLoops_getArrayEntryAndAppend
).header) + 3))
, _mT, tmpMeta[2]);
5049#line 5049 OMC_FILE"/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/boot/build/tmp/ResolveLoops.c"
5050
5051#line 1860 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
5052 _eqs = omc_List_filter1OnTrue(threadData, _eqs, boxvar_ResolveLoops_arrayGetIsNegative((void*)((char*)(&(boxvar_lit_ResolveLoops_arrayGetIsNegative
).header) + 3))
, _markEqs);
5053#line 5053 OMC_FILE"/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/boot/build/tmp/ResolveLoops.c"
5054
5055#line 1861 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
5056 omc_List_map2__0(threadData, _eqs, boxvar_Array_updateIndexFirst((void*)((char*)(&(boxvar_lit_Array_updateIndexFirst).header
) + 3))
, mmc_mk_integermmc_mk_icon(((modelica_integer) 0)), _markEqs);
5057#line 5057 OMC_FILE"/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/boot/build/tmp/ResolveLoops.c"
5058
5059#line 1864 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
5060 /* Pattern-matching assignment */
5061#line 1864 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
5062 tmpMeta[2] = listAppend(_rest, _eqs);
5063#line 1864 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
5064 _rest = tmpMeta[2];
5065#line 5065 OMC_FILE"/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/boot/build/tmp/ResolveLoops.c"
5066 }
5067 else
5068 {
5069#line 1867 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
5070 _partitions = _partitionsIn;
5071#line 5071 OMC_FILE"/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/boot/build/tmp/ResolveLoops.c"
5072 }
5073#line 1869 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
5074 /* Tail recursive call */
5075#line 1869 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
5076 _checkNextIn = _rest;
5077#line 1869 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
5078 _partitionsIn = _partitions;
5079#line 1869 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
5080 goto _tailrecursive;
5081#line 1869 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
5082 /* TODO: Make sure any eventual dead code below is never generated */
5083#line 5083 OMC_FILE"/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/boot/build/tmp/ResolveLoops.c"
5084 goto tmp3_done;
5085 }
5086 case 2: {
5087 if (!listEmpty(tmp4_1)((*(mmc_uint_t*)((void*)((char*)(tmp4_1) - 3))) == (((0) <<
10) + (((0) & 255) << 2)))
) goto tmp3_end;
5088
5089 /* Pattern matching succeeded */
5090#line 1876 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
5091 _eq = omc_Array_position(threadData, _markEqs, mmc_mk_integermmc_mk_icon(((modelica_integer) -1)), arrayLength(_markEqs));
5092#line 5092 OMC_FILE"/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/boot/build/tmp/ResolveLoops.c"
5093#line 1877 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
5094 tmpMeta[2] = mmc_mk_cons(mmc_mk_integermmc_mk_icon(_eq), MMC_REFSTRUCTLIT(mmc_nil)((void*)((char*)(&(mmc_nil).header) + 3)));
5095#line 1877 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
5096 tmpMeta[4] = MMC_REFSTRUCTLIT(mmc_nil)((void*)((char*)(&(mmc_nil).header) + 3));
5097#line 1877 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
5098 tmpMeta[3] = mmc_mk_cons(tmpMeta[4], _partitionsIn);
5099#line 1877 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
5100 /* Tail recursive call */
5101#line 1877 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
5102 _checkNextIn = tmpMeta[2];
5103#line 1877 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
5104 _currNumberIn = ((modelica_integer) 1) + _currNumberIn;
5105#line 1877 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
5106 _partitionsIn = tmpMeta[3];
5107#line 1877 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
5108 goto _tailrecursive;
5109#line 1877 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
5110 /* TODO: Make sure any eventual dead code below is never generated */
5111#line 5111 OMC_FILE"/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/boot/build/tmp/ResolveLoops.c"
5112 goto tmp3_done;
5113 }
5114 }
5115 goto tmp3_end;
5116 tmp3_end: ;
5117 }
5118 goto goto_2;
5119 goto_2:;
5120 MMC_THROW_INTERNAL(){longjmp(*threadData->mmc_jumper,1);};
5121 goto tmp3_done;
5122 tmp3_done:;
5123 }
5124 }
5125 _currNumberOut = tmp1_c0;
5126 _partitionsOut = tmpMeta[0+1];
5127 _return: OMC_LABEL_UNUSED__attribute__((unused))
5128 if (out_partitionsOut) { *out_partitionsOut = _partitionsOut; }
5129 return _currNumberOut;
5130}
5131PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_ResolveLoops_colorNodePartitions(threadData_t *threadData, modelica_metatype _m, modelica_metatype _mT, modelica_metatype _checkNextIn, modelica_metatype _markEqs, modelica_metatype _markVars, modelica_metatype _currNumberIn, modelica_metatype _partitionsIn, modelica_metatype *out_partitionsOut)
5132{
5133 modelica_integer tmp1;
5134 modelica_integer _currNumberOut;
5135 modelica_metatype out_currNumberOut;
5136 tmp1 = mmc_unbox_integer(_currNumberIn)(((mmc_sint_t) (_currNumberIn)) >> 1);
5137 _currNumberOut = omc_ResolveLoops_colorNodePartitions(threadData, _m, _mT, _checkNextIn, _markEqs, _markVars, tmp1, _partitionsIn, out_partitionsOut);
5138 out_currNumberOut = mmc_mk_icon(_currNumberOut);
5139 /* skip box _partitionsOut; list<list<#Integer>> */
5140 return out_currNumberOut;
5141}
5142
5143DLLExport
5144modelica_metatype omc_ResolveLoops_partitionBipartiteGraph(threadData_t *threadData, modelica_metatype _m, modelica_metatype _mT)
5145{
5146 modelica_metatype _partitionsOut = NULL((void*)0);
5147 modelica_integer _numEqs;
5148 modelica_integer _numVars;
5149 modelica_metatype _markEqs = NULL((void*)0);
5150 modelica_metatype _markVars = NULL((void*)0);
5151 modelica_metatype _partitions = NULL((void*)0);
5152 modelica_metatype tmpMeta[1] __attribute__((unused)) = {0};
5153 MMC_SO()mmc_check_stackoverflow(threadData);
5154 _tailrecursive: OMC_LABEL_UNUSED__attribute__((unused))
5155 // _partitionsOut has no default value.
5156 // _numEqs has no default value.
5157 // _numVars has no default value.
5158 // _markEqs has no default value.
5159 // _markVars has no default value.
5160 // _partitions has no default value.
5161#line 1797 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
5162 _numEqs = arrayLength(_m);
5163#line 5163 OMC_FILE"/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/boot/build/tmp/ResolveLoops.c"
5164
5165#line 1798 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
5166 _numVars = arrayLength(_mT);
5167#line 5167 OMC_FILE"/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/boot/build/tmp/ResolveLoops.c"
5168
5169#line 1799 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
5170 if(((_numEqs == ((modelica_integer) 0)) || (_numVars == ((modelica_integer) 0))))
5171#line 1799 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
5172 {
5173#line 1800 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
5174 tmpMeta[0] = MMC_REFSTRUCTLIT(mmc_nil)((void*)((char*)(&(mmc_nil).header) + 3));
5175#line 1800 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
5176 _partitionsOut = arrayCreate(((modelica_integer) 1), tmpMeta[0]);
5177#line 5177 OMC_FILE"/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/boot/build/tmp/ResolveLoops.c"
5178 }
5179 else
5180 {
5181#line 1802 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
5182 _markEqs = arrayCreate(_numEqs, mmc_mk_integermmc_mk_icon(((modelica_integer) -1)));
5183#line 5183 OMC_FILE"/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/boot/build/tmp/ResolveLoops.c"
5184
5185#line 1803 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
5186 _markVars = arrayCreate(_numVars, mmc_mk_integermmc_mk_icon(((modelica_integer) -1)));
5187#line 5187 OMC_FILE"/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/boot/build/tmp/ResolveLoops.c"
5188
5189#line 1804 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
5190 tmpMeta[0] = MMC_REFSTRUCTLIT(mmc_nil)((void*)((char*)(&(mmc_nil).header) + 3));
5191#line 1804 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
5192 omc_ResolveLoops_colorNodePartitions(threadData, _m, _mT, _OMC_LIT54((void*)((char*)(&(_OMC_LIT_STRUCT54).header) + 3)), _markEqs, _markVars, ((modelica_integer) 1), tmpMeta[0] ,&_partitions);
5193#line 5193 OMC_FILE"/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/boot/build/tmp/ResolveLoops.c"
5194
5195#line 1805 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
5196 _partitionsOut = listArray(_partitions);
5197#line 5197 OMC_FILE"/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/boot/build/tmp/ResolveLoops.c"
5198 }
5199 _return: OMC_LABEL_UNUSED__attribute__((unused))
5200 return _partitionsOut;
5201}
5202
5203PROTECTED_FUNCTION_STATIC modelica_boolean omc_ResolveLoops_listLengthIs(threadData_t *threadData, modelica_metatype _lst, modelica_integer _value)
5204{
5205 modelica_boolean _bOut;
5206 MMC_SO()mmc_check_stackoverflow(threadData);
5207 _tailrecursive: OMC_LABEL_UNUSED__attribute__((unused))
5208 // _bOut has no default value.
5209#line 1783 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
5210 _bOut = (listLength(_lst) == _value);
5211#line 5211 OMC_FILE"/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/boot/build/tmp/ResolveLoops.c"
5212 _return: OMC_LABEL_UNUSED__attribute__((unused))
5213 return _bOut;
5214}
5215PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_ResolveLoops_listLengthIs(threadData_t *threadData, modelica_metatype _lst, modelica_metatype _value)
5216{
5217 modelica_integer tmp1;
5218 modelica_boolean _bOut;
5219 modelica_metatype out_bOut;
5220 tmp1 = mmc_unbox_integer(_value)(((mmc_sint_t) (_value)) >> 1);
5221 _bOut = omc_ResolveLoops_listLengthIs(threadData, _lst, tmp1);
5222 out_bOut = mmc_mk_icon(_bOut);
5223 return out_bOut;
5224}
5225
5226PROTECTED_FUNCTION_STATIC modelica_boolean omc_ResolveLoops_expIsCref(threadData_t *threadData, modelica_metatype _expIn, modelica_metatype _crefIn, modelica_boolean *out_algSign)
5227{
5228 modelica_boolean _isInExp;
5229 modelica_boolean _algSign;
5230 modelica_boolean tmp1_c0 __attribute__((unused)) = 0;
5231 modelica_boolean tmp1_c1 __attribute__((unused)) = 0;
5232 modelica_metatype tmpMeta[6] __attribute__((unused)) = {0};
5233 MMC_SO()mmc_check_stackoverflow(threadData);
5234 _tailrecursive: OMC_LABEL_UNUSED__attribute__((unused))
5235 // _isInExp has no default value.
5236 // _algSign has no default value.
5237#line 1710 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
5238
5239#line 1710 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
5240
5241#line 5241 OMC_FILE"/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/boot/build/tmp/ResolveLoops.c"
5242 { /* match expression */
5243 modelica_metatype tmp4_1;
5244 tmp4_1 = _expIn;
5245 {
5246 modelica_real _r;
5247 modelica_boolean _sameCref;
5248 modelica_boolean _sign;
5249 modelica_boolean _sign1;
5250 modelica_boolean _sign2;
5251 modelica_boolean _exists;
5252 modelica_boolean _exists1;
5253 modelica_boolean _exists2;
5254 modelica_metatype _cref = NULL((void*)0);
5255 modelica_metatype _exp1 = NULL((void*)0);
5256 modelica_metatype _exp2 = NULL((void*)0);
5257 volatile mmc_switch_type tmp4;
5258 int tmp5;
5259 // _r has no default value.
5260 // _sameCref has no default value.
5261 // _sign has no default value.
5262 // _sign1 has no default value.
5263 // _sign2 has no default value.
5264 // _exists has no default value.
5265 // _exists1 has no default value.
5266 // _exists2 has no default value.
5267 // _cref has no default value.
5268 // _exp1 has no default value.
5269 // _exp2 has no default value.
5270 tmp4 = 0;
5271 for (; tmp4 < 8; tmp4++) {
5272 switch (MMC_SWITCH_CAST(tmp4)(tmp4)) {
5273 case 0: {
5274 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;
5275 tmpMeta[2] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_1), 2))(*(void**)(((void*)((void**)(((void*)((char*)(tmp4_1) - 3))) +
(2)))))
;
5276
5277 _cref = tmpMeta[2];
5278 /* Pattern matching succeeded */
5279#line 1720 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
5280 _sameCref = omc_ComponentReference_crefEqualNoStringCompare(threadData, _crefIn, _cref);
5281#line 5281 OMC_FILE"/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/boot/build/tmp/ResolveLoops.c"
5282#line 1721 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
5283 tmp1_c0 = _sameCref;
5284#line 1721 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
5285 tmp1_c1 = 1;
5286#line 5286 OMC_FILE"/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/boot/build/tmp/ResolveLoops.c"
5287 goto tmp3_done;
5288 }
5289 case 1: {
5290 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;
5291 tmpMeta[2] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_1), 2))(*(void**)(((void*)((void**)(((void*)((char*)(tmp4_1) - 3))) +
(2)))))
;
5292 tmpMeta[3] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_1), 3))(*(void**)(((void*)((void**)(((void*)((char*)(tmp4_1) - 3))) +
(3)))))
;
5293 if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[3],1,1)((*(mmc_uint_t*)((void*)((char*)(tmpMeta[3]) - 3)))==(((1 +1)
<< 10) + (((1 +3) & 255) << 2)))
== 0) goto tmp3_end;
5294 tmpMeta[4] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_1), 4))(*(void**)(((void*)((void**)(((void*)((char*)(tmp4_1) - 3))) +
(4)))))
;
5295 _exp1 = tmpMeta[2];
5296 _exp2 = tmpMeta[4];
5297 /* Pattern matching succeeded */
5298#line 1726 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
5299 _exists1 = omc_ResolveLoops_expIsCref(threadData, _exp1, _crefIn ,&_sign1);
5300#line 5300 OMC_FILE"/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/boot/build/tmp/ResolveLoops.c"
5301
5302#line 1727 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
5303 _exists2 = omc_ResolveLoops_expIsCref(threadData, _exp2, _crefIn ,&_sign2);
5304#line 5304 OMC_FILE"/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/boot/build/tmp/ResolveLoops.c"
5305
5306#line 1728 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
5307 _sign2 = (!_sign2);
5308#line 5308 OMC_FILE"/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/boot/build/tmp/ResolveLoops.c"
5309
5310#line 1729 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
5311 _exists = (_exists1 || _exists2);
5312#line 5312 OMC_FILE"/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/boot/build/tmp/ResolveLoops.c"
5313
5314#line 1730 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
5315 _sign = (_exists1 && _sign1);
5316#line 5316 OMC_FILE"/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/boot/build/tmp/ResolveLoops.c"
5317
5318#line 1731 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
5319 _sign = (_exists2?_sign2:_sign);
5320#line 5320 OMC_FILE"/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/boot/build/tmp/ResolveLoops.c"
5321#line 1732 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
5322 tmp1_c0 = _exists;
5323#line 1732 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
5324 tmp1_c1 = _sign;
5325#line 5325 OMC_FILE"/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/boot/build/tmp/ResolveLoops.c"
5326 goto tmp3_done;
5327 }
5328 case 2: {
5329 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;
5330 tmpMeta[2] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_1), 2))(*(void**)(((void*)((void**)(((void*)((char*)(tmp4_1) - 3))) +
(2)))))
;
5331 tmpMeta[3] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_1), 3))(*(void**)(((void*)((void**)(((void*)((char*)(tmp4_1) - 3))) +
(3)))))
;
5332 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 tmp3_end;
5333 tmpMeta[4] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_1), 4))(*(void**)(((void*)((void**)(((void*)((char*)(tmp4_1) - 3))) +
(4)))))
;
5334 _exp1 = tmpMeta[2];
5335 _exp2 = tmpMeta[4];
5336 /* Pattern matching succeeded */
5337#line 1737 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
5338 _exists1 = omc_ResolveLoops_expIsCref(threadData, _exp1, _crefIn ,&_sign1);
5339#line 5339 OMC_FILE"/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/boot/build/tmp/ResolveLoops.c"
5340
5341#line 1738 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
5342 _exists2 = omc_ResolveLoops_expIsCref(threadData, _exp2, _crefIn ,&_sign2);
5343#line 5343 OMC_FILE"/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/boot/build/tmp/ResolveLoops.c"
5344
5345#line 1739 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
5346 _exists = (_exists1 || _exists2);
5347#line 5347 OMC_FILE"/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/boot/build/tmp/ResolveLoops.c"
5348
5349#line 1740 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
5350 _sign = (_exists1 && _sign1);
5351#line 5351 OMC_FILE"/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/boot/build/tmp/ResolveLoops.c"
5352
5353#line 1741 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
5354 _sign = (_exists2?_sign2:_sign);
5355#line 5355 OMC_FILE"/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/boot/build/tmp/ResolveLoops.c"
5356#line 1742 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
5357 tmp1_c0 = _exists;
5358#line 1742 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
5359 tmp1_c1 = _sign;
5360#line 5360 OMC_FILE"/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/boot/build/tmp/ResolveLoops.c"
5361 goto tmp3_done;
5362 }
5363 case 3: {
5364 modelica_real tmp6;
5365 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;
5366 tmpMeta[2] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_1), 2))(*(void**)(((void*)((void**)(((void*)((char*)(tmp4_1) - 3))) +
(2)))))
;
5367 if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[2],6,2)((*(mmc_uint_t*)((void*)((char*)(tmpMeta[2]) - 3)))==(((2 +1)
<< 10) + (((6 +3) & 255) << 2)))
== 0) goto tmp3_end;
5368 tmpMeta[3] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_1), 3))(*(void**)(((void*)((void**)(((void*)((char*)(tmp4_1) - 3))) +
(3)))))
;
5369 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 tmp3_end;
5370 tmpMeta[4] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_1), 4))(*(void**)(((void*)((void**)(((void*)((char*)(tmp4_1) - 3))) +
(4)))))
;
5371 if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[4],1,1)((*(mmc_uint_t*)((void*)((char*)(tmpMeta[4]) - 3)))==(((1 +1)
<< 10) + (((1 +3) & 255) << 2)))
== 0) goto tmp3_end;
5372 tmpMeta[5] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[4]), 2))(*(void**)(((void*)((void**)(((void*)((char*)(tmpMeta[4]) - 3
))) + (2)))))
;
5373 tmp6 = mmc_unbox_real(tmpMeta[5])mmc_prim_get_real(tmpMeta[5]);
5374 _exp1 = tmpMeta[2];
5375 _r = tmp6 /* pattern as ty=Real */;
5376 /* Pattern matching succeeded */
5377#line 1747 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
5378 _exists = omc_ResolveLoops_expIsCref(threadData, _exp1, _crefIn, NULL((void*)0));
5379#line 5379 OMC_FILE"/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/boot/build/tmp/ResolveLoops.c"
5380
5381#line 1748 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
5382 _sign = (_r > 0.0);
5383#line 5383 OMC_FILE"/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/boot/build/tmp/ResolveLoops.c"
5384#line 1749 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
5385 tmp1_c0 = _exists;
5386#line 1749 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/BackEnd/ResolveLoops.mo"
5387 tmp1_c1 = _sign;
5388#line 5388 OMC_FILE"/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/boot/build/tmp/ResolveLoops.c"
5389 goto tmp3_done;
5390 }
5391 case 4: {
5392 modelica_real tmp7;
5393 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;
5394 tmpMeta[2] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_1), 2))(*(void**)(((void*)((void**)(((void*)((char*)(tmp4_1) - 3))) +
(2)))))
;
5395 if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[2],1,1)((*(mmc_uint_t*)((void*)((char*)(tmpMeta[2]) - 3)))==(((1 +1)
<< 10) + (((1 +3) & 255) << 2)))
== 0) goto tmp3_end;
5396 tmpMeta[3] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[2]), 2))(*(void**)(((void*)((void**)(((void*)((char*)(tmpMeta[2]) - 3
))) + (2)))))
;
5397 tmp7 = mmc_unbox_real(tmpMeta[3])mmc_prim_get_real(tmpMeta[3]);
5398 tmpMeta[4] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_1), 3))(*(void**)(((void*)((void**)(((void*)((char*)(tmp4_1) - 3))) +
(3)))))
;
5399 if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[4],2,1)((*(mmc_uint_t*)((void*)((char*)(tmpMeta[4]) - 3)))==(((1 +1)
<< 10) + (((2 +3) & 255) << 2)))
== 0) goto tmp3_end;
5400 tmpMeta[5] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_1), 4))(*(void**)(((void*)((void**)(((void*)((char*)(tmp4_1) - 3))) +
(4)))))
;
5401 if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[5],6,2)((*(mmc_uint_t*)((void*)((char*)(tmpMeta[5]) - 3)))==(((2 +1)
<< 10) + (((6 +3) & 255) << 2)))
== 0) goto tmp3_end;
5402
5403 _exp1 = tmpMeta[2];
5404 _r = tmp7 /* pattern as ty=Real */;