Bug Summary

File:OMCompiler/Compiler/boot/build/NFExpandExp.c
Warning:line 3410, column 3
Value stored to '_expl' is never read

Annotated Source Code

[?] Use j/k keys for keyboard navigation

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