Bug Summary

File:OMCompiler/Compiler/boot/build/ExpressionSolve.c
Warning:line 1292, column 9
Value stored to '_op' 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/ExpressionSolve.c" OMC_BASE_FILE
3#else
4 #define OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/ExpressionSolve.c" "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/ExpressionSolve.c"
5#endif
6#include "omc_simulation_settings.h"
7#include "ExpressionSolve.h"
8#define _OMC_LIT0_data"abs" "abs"
9static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT0,3,_OMC_LIT0_data)struct { mmc_uint_t header; const char data[(3)+1]; } _OMC_LIT_STRUCT0
= { ((((mmc_uint_t)3)<<(3))+((1<<(3+3))+5)), "abs"
}
;
10#define _OMC_LIT0((void*)((char*)(&(_OMC_LIT_STRUCT0).header) + 3)) MMC_REFSTRINGLIT(_OMC_LIT_STRUCT0)((void*)((char*)(&(_OMC_LIT_STRUCT0).header) + 3))
11static const MMC_DEFREALLIT(_OMC_LIT_STRUCT1,6.283185307179586)struct mmc_real_lit _OMC_LIT_STRUCT1 = {0,(((8/8) << 10
) + 9),6.283185307179586}
;
12#define _OMC_LIT1((void*)((char*)(&(_OMC_LIT_STRUCT1).header) + 3)) MMC_REFREALLIT(_OMC_LIT_STRUCT1)((void*)((char*)(&(_OMC_LIT_STRUCT1).header) + 3))
13static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2,2,4)struct { mmc_uint_t header; const void *data[2]; } _OMC_LIT_STRUCT2
= { (((2) << 10) + (((4) & 255) << 2)),
{&DAE_Exp_RCONST__desc,_OMC_LIT1((void*)((char*)(&(_OMC_LIT_STRUCT1).header) + 3))}};
14#define _OMC_LIT2((void*)((char*)(&(_OMC_LIT_STRUCT2).header) + 3)) MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2)((void*)((char*)(&(_OMC_LIT_STRUCT2).header) + 3))
15static const MMC_DEFREALLIT(_OMC_LIT_STRUCT3,3.141592653589793)struct mmc_real_lit _OMC_LIT_STRUCT3 = {0,(((8/8) << 10
) + 9),3.141592653589793}
;
16#define _OMC_LIT3((void*)((char*)(&(_OMC_LIT_STRUCT3).header) + 3)) MMC_REFREALLIT(_OMC_LIT_STRUCT3)((void*)((char*)(&(_OMC_LIT_STRUCT3).header) + 3))
17static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT4,2,4)struct { mmc_uint_t header; const void *data[2]; } _OMC_LIT_STRUCT4
= { (((2) << 10) + (((4) & 255) << 2)),
{&DAE_Exp_RCONST__desc,_OMC_LIT3((void*)((char*)(&(_OMC_LIT_STRUCT3).header) + 3))}};
18#define _OMC_LIT4((void*)((char*)(&(_OMC_LIT_STRUCT4).header) + 3)) MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT4)((void*)((char*)(&(_OMC_LIT_STRUCT4).header) + 3))
19static const MMC_DEFREALLIT(_OMC_LIT_STRUCT5,0.5)struct mmc_real_lit _OMC_LIT_STRUCT5 = {0,(((8/8) << 10
) + 9),0.5}
;
20#define _OMC_LIT5((void*)((char*)(&(_OMC_LIT_STRUCT5).header) + 3)) MMC_REFREALLIT(_OMC_LIT_STRUCT5)((void*)((char*)(&(_OMC_LIT_STRUCT5).header) + 3))
21static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT6,2,4)struct { mmc_uint_t header; const void *data[2]; } _OMC_LIT_STRUCT6
= { (((2) << 10) + (((4) & 255) << 2)),
{&DAE_Exp_RCONST__desc,_OMC_LIT5((void*)((char*)(&(_OMC_LIT_STRUCT5).header) + 3))}};
22#define _OMC_LIT6((void*)((char*)(&(_OMC_LIT_STRUCT6).header) + 3)) MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT6)((void*)((char*)(&(_OMC_LIT_STRUCT6).header) + 3))
23#define _OMC_LIT7_data"$_round" "$_round"
24static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT7,7,_OMC_LIT7_data)struct { mmc_uint_t header; const char data[(7)+1]; } _OMC_LIT_STRUCT7
= { ((((mmc_uint_t)7)<<(3))+((1<<(3+3))+5)), "$_round"
}
;
25#define _OMC_LIT7((void*)((char*)(&(_OMC_LIT_STRUCT7).header) + 3)) MMC_REFSTRINGLIT(_OMC_LIT_STRUCT7)((void*)((char*)(&(_OMC_LIT_STRUCT7).header) + 3))
26static const MMC_DEFREALLIT(_OMC_LIT_STRUCT8,0.0)struct mmc_real_lit _OMC_LIT_STRUCT8 = {0,(((8/8) << 10
) + 9),0.0}
;
27#define _OMC_LIT8((void*)((char*)(&(_OMC_LIT_STRUCT8).header) + 3)) MMC_REFREALLIT(_OMC_LIT_STRUCT8)((void*)((char*)(&(_OMC_LIT_STRUCT8).header) + 3))
28static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT9,2,4)struct { mmc_uint_t header; const void *data[2]; } _OMC_LIT_STRUCT9
= { (((2) << 10) + (((4) & 255) << 2)),
{&DAE_Exp_RCONST__desc,_OMC_LIT8((void*)((char*)(&(_OMC_LIT_STRUCT8).header) + 3))}};
29#define _OMC_LIT9((void*)((char*)(&(_OMC_LIT_STRUCT9).header) + 3)) MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT9)((void*)((char*)(&(_OMC_LIT_STRUCT9).header) + 3))
30static const MMC_DEFREALLIT(_OMC_LIT_STRUCT10,-999999999.9999999)struct mmc_real_lit _OMC_LIT_STRUCT10 = {0,(((8/8) << 10
) + 9),-999999999.9999999}
;
31#define _OMC_LIT10((void*)((char*)(&(_OMC_LIT_STRUCT10).header) + 3)) MMC_REFREALLIT(_OMC_LIT_STRUCT10)((void*)((char*)(&(_OMC_LIT_STRUCT10).header) + 3))
32static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT11,2,4)struct { mmc_uint_t header; const void *data[2]; } _OMC_LIT_STRUCT11
= { (((2) << 10) + (((4) & 255) << 2)),
{&DAE_Exp_RCONST__desc,_OMC_LIT10((void*)((char*)(&(_OMC_LIT_STRUCT10).header) + 3))}};
33#define _OMC_LIT11((void*)((char*)(&(_OMC_LIT_STRUCT11).header) + 3)) MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT11)((void*)((char*)(&(_OMC_LIT_STRUCT11).header) + 3))
34static const MMC_DEFREALLIT(_OMC_LIT_STRUCT12,1.0)struct mmc_real_lit _OMC_LIT_STRUCT12 = {0,(((8/8) << 10
) + 9),1.0}
;
35#define _OMC_LIT12((void*)((char*)(&(_OMC_LIT_STRUCT12).header) + 3)) MMC_REFREALLIT(_OMC_LIT_STRUCT12)((void*)((char*)(&(_OMC_LIT_STRUCT12).header) + 3))
36static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT13,2,4)struct { mmc_uint_t header; const void *data[2]; } _OMC_LIT_STRUCT13
= { (((2) << 10) + (((4) & 255) << 2)),
{&DAE_Exp_RCONST__desc,_OMC_LIT12((void*)((char*)(&(_OMC_LIT_STRUCT12).header) + 3))}};
37#define _OMC_LIT13((void*)((char*)(&(_OMC_LIT_STRUCT13).header) + 3)) MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT13)((void*)((char*)(&(_OMC_LIT_STRUCT13).header) + 3))
38#define _OMC_LIT14_data"log" "log"
39static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT14,3,_OMC_LIT14_data)struct { mmc_uint_t header; const char data[(3)+1]; } _OMC_LIT_STRUCT14
= { ((((mmc_uint_t)3)<<(3))+((1<<(3+3))+5)), "log"
}
;
40#define _OMC_LIT14((void*)((char*)(&(_OMC_LIT_STRUCT14).header) + 3)) MMC_REFSTRINGLIT(_OMC_LIT_STRUCT14)((void*)((char*)(&(_OMC_LIT_STRUCT14).header) + 3))
41#define _OMC_LIT15_data"log10" "log10"
42static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT15,5,_OMC_LIT15_data)struct { mmc_uint_t header; const char data[(5)+1]; } _OMC_LIT_STRUCT15
= { ((((mmc_uint_t)5)<<(3))+((1<<(3+3))+5)), "log10"
}
;
43#define _OMC_LIT15((void*)((char*)(&(_OMC_LIT_STRUCT15).header) + 3)) MMC_REFSTRINGLIT(_OMC_LIT_STRUCT15)((void*)((char*)(&(_OMC_LIT_STRUCT15).header) + 3))
44#define _OMC_LIT16_data"sqrt" "sqrt"
45static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT16,4,_OMC_LIT16_data)struct { mmc_uint_t header; const char data[(4)+1]; } _OMC_LIT_STRUCT16
= { ((((mmc_uint_t)4)<<(3))+((1<<(3+3))+5)), "sqrt"
}
;
46#define _OMC_LIT16((void*)((char*)(&(_OMC_LIT_STRUCT16).header) + 3)) MMC_REFSTRINGLIT(_OMC_LIT_STRUCT16)((void*)((char*)(&(_OMC_LIT_STRUCT16).header) + 3))
47#define _OMC_LIT17_data"initial" "initial"
48static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT17,7,_OMC_LIT17_data)struct { mmc_uint_t header; const char data[(7)+1]; } _OMC_LIT_STRUCT17
= { ((((mmc_uint_t)7)<<(3))+((1<<(3+3))+5)), "initial"
}
;
49#define _OMC_LIT17((void*)((char*)(&(_OMC_LIT_STRUCT17).header) + 3)) MMC_REFSTRINGLIT(_OMC_LIT_STRUCT17)((void*)((char*)(&(_OMC_LIT_STRUCT17).header) + 3))
50#define _OMC_LIT18_data"pre" "pre"
51static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT18,3,_OMC_LIT18_data)struct { mmc_uint_t header; const char data[(3)+1]; } _OMC_LIT_STRUCT18
= { ((((mmc_uint_t)3)<<(3))+((1<<(3+3))+5)), "pre"
}
;
52#define _OMC_LIT18((void*)((char*)(&(_OMC_LIT_STRUCT18).header) + 3)) MMC_REFSTRINGLIT(_OMC_LIT_STRUCT18)((void*)((char*)(&(_OMC_LIT_STRUCT18).header) + 3))
53#define _OMC_LIT19_data"$TMP$VAR$" "$TMP$VAR$"
54static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT19,9,_OMC_LIT19_data)struct { mmc_uint_t header; const char data[(9)+1]; } _OMC_LIT_STRUCT19
= { ((((mmc_uint_t)9)<<(3))+((1<<(3+3))+5)), "$TMP$VAR$"
}
;
55#define _OMC_LIT19((void*)((char*)(&(_OMC_LIT_STRUCT19).header) + 3)) MMC_REFSTRINGLIT(_OMC_LIT_STRUCT19)((void*)((char*)(&(_OMC_LIT_STRUCT19).header) + 3))
56#define _OMC_LIT20_data"$" "$"
57static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT20,1,_OMC_LIT20_data)struct { mmc_uint_t header; const char data[(1)+1]; } _OMC_LIT_STRUCT20
= { ((((mmc_uint_t)1)<<(3))+((1<<(3+3))+5)), "$"
}
;
58#define _OMC_LIT20((void*)((char*)(&(_OMC_LIT_STRUCT20).header) + 3)) MMC_REFSTRINGLIT(_OMC_LIT_STRUCT20)((void*)((char*)(&(_OMC_LIT_STRUCT20).header) + 3))
59#define _OMC_LIT21_data"" ""
60static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT21,0,_OMC_LIT21_data)struct { mmc_uint_t header; const char data[(0)+1]; } _OMC_LIT_STRUCT21
= { ((((mmc_uint_t)0)<<(3))+((1<<(3+3))+5)), "" }
;
61#define _OMC_LIT21((void*)((char*)(&(_OMC_LIT_STRUCT21).header) + 3)) MMC_REFSTRINGLIT(_OMC_LIT_STRUCT21)((void*)((char*)(&(_OMC_LIT_STRUCT21).header) + 3))
62static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT22,8,3)struct { mmc_uint_t header; const void *data[8]; } _OMC_LIT_STRUCT22
= { (((8) << 10) + (((3) & 255) << 2)),
{&SourceInfo_SOURCEINFO__desc,_OMC_LIT21((void*)((char*)(&(_OMC_LIT_STRUCT21).header) + 3)),MMC_IMMEDIATE(MMC_TAGFIXNUM(0))((void*)(((((mmc_uint_t) (0)) << 1)+0))),MMC_IMMEDIATE(MMC_TAGFIXNUM(0))((void*)(((((mmc_uint_t) (0)) << 1)+0))),MMC_IMMEDIATE(MMC_TAGFIXNUM(0))((void*)(((((mmc_uint_t) (0)) << 1)+0))),MMC_IMMEDIATE(MMC_TAGFIXNUM(0))((void*)(((((mmc_uint_t) (0)) << 1)+0))),MMC_IMMEDIATE(MMC_TAGFIXNUM(0))((void*)(((((mmc_uint_t) (0)) << 1)+0))),_OMC_LIT8((void*)((char*)(&(_OMC_LIT_STRUCT8).header) + 3))}};
63#define _OMC_LIT22((void*)((char*)(&(_OMC_LIT_STRUCT22).header) + 3)) MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT22)((void*)((char*)(&(_OMC_LIT_STRUCT22).header) + 3))
64static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT23,1,4)struct { mmc_uint_t header; const void *data[1]; } _OMC_LIT_STRUCT23
= { (((1) << 10) + (((4) & 255) << 2)),
{&DAE_ComponentPrefix_NOCOMPPRE__desc,}};
65#define _OMC_LIT23((void*)((char*)(&(_OMC_LIT_STRUCT23).header) + 3)) MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT23)((void*)((char*)(&(_OMC_LIT_STRUCT23).header) + 3))
66static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT24,8,3)struct { mmc_uint_t header; const void *data[8]; } _OMC_LIT_STRUCT24
= { (((8) << 10) + (((3) & 255) << 2)),
{&DAE_ElementSource_SOURCE__desc,_OMC_LIT22((void*)((char*)(&(_OMC_LIT_STRUCT22).header) + 3)),MMC_REFSTRUCTLIT(mmc_nil)((void*)((char*)(&(mmc_nil).header) + 3)),_OMC_LIT23((void*)((char*)(&(_OMC_LIT_STRUCT23).header) + 3)),MMC_REFSTRUCTLIT(mmc_nil)((void*)((char*)(&(mmc_nil).header) + 3)),MMC_REFSTRUCTLIT(mmc_nil)((void*)((char*)(&(mmc_nil).header) + 3)),MMC_REFSTRUCTLIT(mmc_nil)((void*)((char*)(&(mmc_nil).header) + 3)),MMC_REFSTRUCTLIT(mmc_nil)((void*)((char*)(&(mmc_nil).header) + 3))}};
67#define _OMC_LIT24((void*)((char*)(&(_OMC_LIT_STRUCT24).header) + 3)) MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT24)((void*)((char*)(&(_OMC_LIT_STRUCT24).header) + 3))
68static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT25,1,9)struct { mmc_uint_t header; const void *data[1]; } _OMC_LIT_STRUCT25
= { (((1) << 10) + (((9) & 255) << 2)),
{&BackendDAE_EquationKind_UNKNOWN__EQUATION__KIND__desc,}};
69#define _OMC_LIT25((void*)((char*)(&(_OMC_LIT_STRUCT25).header) + 3)) MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT25)((void*)((char*)(&(_OMC_LIT_STRUCT25).header) + 3))
70static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT26,5,3)struct { mmc_uint_t header; const void *data[5]; } _OMC_LIT_STRUCT26
= { (((5) << 10) + (((3) & 255) << 2)),
{&BackendDAE_EvaluationStages_EVALUATION__STAGES__desc,MMC_IMMEDIATE(MMC_TAGFIXNUM(0))((void*)(((((mmc_uint_t) (0)) << 1)+0))),MMC_IMMEDIATE(MMC_TAGFIXNUM(0))((void*)(((((mmc_uint_t) (0)) << 1)+0))),MMC_IMMEDIATE(MMC_TAGFIXNUM(0))((void*)(((((mmc_uint_t) (0)) << 1)+0))),MMC_IMMEDIATE(MMC_TAGFIXNUM(0))((void*)(((((mmc_uint_t) (0)) << 1)+0)))}};
71#define _OMC_LIT26((void*)((char*)(&(_OMC_LIT_STRUCT26).header) + 3)) MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT26)((void*)((char*)(&(_OMC_LIT_STRUCT26).header) + 3))
72static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT27,4,3)struct { mmc_uint_t header; const void *data[4]; } _OMC_LIT_STRUCT27
= { (((4) << 10) + (((3) & 255) << 2)),
{&BackendDAE_EquationAttributes_EQUATION__ATTRIBUTES__desc,MMC_IMMEDIATE(MMC_TAGFIXNUM(0))((void*)(((((mmc_uint_t) (0)) << 1)+0))),_OMC_LIT25((void*)((char*)(&(_OMC_LIT_STRUCT25).header) + 3)),_OMC_LIT26((void*)((char*)(&(_OMC_LIT_STRUCT26).header) + 3))}};
73#define _OMC_LIT27((void*)((char*)(&(_OMC_LIT_STRUCT27).header) + 3)) MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT27)((void*)((char*)(&(_OMC_LIT_STRUCT27).header) + 3))
74#define _OMC_LIT28_data"\n-ExpressionSolve.solve failed:" "\n-ExpressionSolve.solve failed:"
75static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT28,31,_OMC_LIT28_data)struct { mmc_uint_t header; const char data[(31)+1]; } _OMC_LIT_STRUCT28
= { ((((mmc_uint_t)31)<<(3))+((1<<(3+3))+5)), "\n-ExpressionSolve.solve failed:"
}
;
76#define _OMC_LIT28((void*)((char*)(&(_OMC_LIT_STRUCT28).header) + 3)) MMC_REFSTRINGLIT(_OMC_LIT_STRUCT28)((void*)((char*)(&(_OMC_LIT_STRUCT28).header) + 3))
77#define _OMC_LIT29_data" with respect to: " " with respect to: "
78static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT29,18,_OMC_LIT29_data)struct { mmc_uint_t header; const char data[(18)+1]; } _OMC_LIT_STRUCT29
= { ((((mmc_uint_t)18)<<(3))+((1<<(3+3))+5)), " with respect to: "
}
;
79#define _OMC_LIT29((void*)((char*)(&(_OMC_LIT_STRUCT29).header) + 3)) MMC_REFSTRINGLIT(_OMC_LIT_STRUCT29)((void*)((char*)(&(_OMC_LIT_STRUCT29).header) + 3))
80#define _OMC_LIT30_data" not support!" " not support!"
81static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT30,13,_OMC_LIT30_data)struct { mmc_uint_t header; const char data[(13)+1]; } _OMC_LIT_STRUCT30
= { ((((mmc_uint_t)13)<<(3))+((1<<(3+3))+5)), " not support!"
}
;
82#define _OMC_LIT30((void*)((char*)(&(_OMC_LIT_STRUCT30).header) + 3)) MMC_REFSTRINGLIT(_OMC_LIT_STRUCT30)((void*)((char*)(&(_OMC_LIT_STRUCT30).header) + 3))
83#define _OMC_LIT31_data"\n" "\n"
84static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT31,1,_OMC_LIT31_data)struct { mmc_uint_t header; const char data[(1)+1]; } _OMC_LIT_STRUCT31
= { ((((mmc_uint_t)1)<<(3))+((1<<(3+3))+5)), "\n"
}
;
85#define _OMC_LIT31((void*)((char*)(&(_OMC_LIT_STRUCT31).header) + 3)) MMC_REFSTRINGLIT(_OMC_LIT_STRUCT31)((void*)((char*)(&(_OMC_LIT_STRUCT31).header) + 3))
86#define _OMC_LIT32_data"failtrace" "failtrace"
87static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT32,9,_OMC_LIT32_data)struct { mmc_uint_t header; const char data[(9)+1]; } _OMC_LIT_STRUCT32
= { ((((mmc_uint_t)9)<<(3))+((1<<(3+3))+5)), "failtrace"
}
;
88#define _OMC_LIT32((void*)((char*)(&(_OMC_LIT_STRUCT32).header) + 3)) MMC_REFSTRINGLIT(_OMC_LIT_STRUCT32)((void*)((char*)(&(_OMC_LIT_STRUCT32).header) + 3))
89#define _OMC_LIT33_data"Sets whether to print a failtrace or not." "Sets whether to print a failtrace or not."
90static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT33,41,_OMC_LIT33_data)struct { mmc_uint_t header; const char data[(41)+1]; } _OMC_LIT_STRUCT33
= { ((((mmc_uint_t)41)<<(3))+((1<<(3+3))+5)), "Sets whether to print a failtrace or not."
}
;
91#define _OMC_LIT33((void*)((char*)(&(_OMC_LIT_STRUCT33).header) + 3)) MMC_REFSTRINGLIT(_OMC_LIT_STRUCT33)((void*)((char*)(&(_OMC_LIT_STRUCT33).header) + 3))
92static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT34,2,3)struct { mmc_uint_t header; const void *data[2]; } _OMC_LIT_STRUCT34
= { (((2) << 10) + (((3) & 255) << 2)),
{&Gettext_TranslatableContent_gettext__desc,_OMC_LIT33((void*)((char*)(&(_OMC_LIT_STRUCT33).header) + 3))}};
93#define _OMC_LIT34((void*)((char*)(&(_OMC_LIT_STRUCT34).header) + 3)) MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT34)((void*)((char*)(&(_OMC_LIT_STRUCT34).header) + 3))
94static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT35,5,3)struct { mmc_uint_t header; const void *data[5]; } _OMC_LIT_STRUCT35
= { (((5) << 10) + (((3) & 255) << 2)),
{&Flags_DebugFlag_DEBUG__FLAG__desc,MMC_IMMEDIATE(MMC_TAGFIXNUM(1))((void*)(((((mmc_uint_t) (1)) << 1)+0))),_OMC_LIT32((void*)((char*)(&(_OMC_LIT_STRUCT32).header) + 3)),MMC_IMMEDIATE(MMC_TAGFIXNUM(0))((void*)(((((mmc_uint_t) (0)) << 1)+0))),_OMC_LIT34((void*)((char*)(&(_OMC_LIT_STRUCT34).header) + 3))}};
95#define _OMC_LIT35((void*)((char*)(&(_OMC_LIT_STRUCT35).header) + 3)) MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT35)((void*)((char*)(&(_OMC_LIT_STRUCT35).header) + 3))
96#define _OMC_LIT36_data"der" "der"
97static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT36,3,_OMC_LIT36_data)struct { mmc_uint_t header; const char data[(3)+1]; } _OMC_LIT_STRUCT36
= { ((((mmc_uint_t)3)<<(3))+((1<<(3+3))+5)), "der"
}
;
98#define _OMC_LIT36((void*)((char*)(&(_OMC_LIT_STRUCT36).header) + 3)) MMC_REFSTRINGLIT(_OMC_LIT_STRUCT36)((void*)((char*)(&(_OMC_LIT_STRUCT36).header) + 3))
99static const MMC_DEFREALLIT(_OMC_LIT_STRUCT37,2.0)struct mmc_real_lit _OMC_LIT_STRUCT37 = {0,(((8/8) << 10
) + 9),2.0}
;
100#define _OMC_LIT37((void*)((char*)(&(_OMC_LIT_STRUCT37).header) + 3)) MMC_REFREALLIT(_OMC_LIT_STRUCT37)((void*)((char*)(&(_OMC_LIT_STRUCT37).header) + 3))
101static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT38,2,4)struct { mmc_uint_t header; const void *data[2]; } _OMC_LIT_STRUCT38
= { (((2) << 10) + (((4) & 255) << 2)),
{&DAE_Exp_RCONST__desc,_OMC_LIT37((void*)((char*)(&(_OMC_LIT_STRUCT37).header) + 3))}};
102#define _OMC_LIT38((void*)((char*)(&(_OMC_LIT_STRUCT38).header) + 3)) MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT38)((void*)((char*)(&(_OMC_LIT_STRUCT38).header) + 3))
103#define _OMC_LIT39_data"a$QE" "a$QE"
104static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT39,4,_OMC_LIT39_data)struct { mmc_uint_t header; const char data[(4)+1]; } _OMC_LIT_STRUCT39
= { ((((mmc_uint_t)4)<<(3))+((1<<(3+3))+5)), "a$QE"
}
;
105#define _OMC_LIT39((void*)((char*)(&(_OMC_LIT_STRUCT39).header) + 3)) MMC_REFSTRINGLIT(_OMC_LIT_STRUCT39)((void*)((char*)(&(_OMC_LIT_STRUCT39).header) + 3))
106#define _OMC_LIT40_data"b$QE" "b$QE"
107static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT40,4,_OMC_LIT40_data)struct { mmc_uint_t header; const char data[(4)+1]; } _OMC_LIT_STRUCT40
= { ((((mmc_uint_t)4)<<(3))+((1<<(3+3))+5)), "b$QE"
}
;
108#define _OMC_LIT40((void*)((char*)(&(_OMC_LIT_STRUCT40).header) + 3)) MMC_REFSTRINGLIT(_OMC_LIT_STRUCT40)((void*)((char*)(&(_OMC_LIT_STRUCT40).header) + 3))
109#define _OMC_LIT41_data"$_signNoNull" "$_signNoNull"
110static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT41,12,_OMC_LIT41_data)struct { mmc_uint_t header; const char data[(12)+1]; } _OMC_LIT_STRUCT41
= { ((((mmc_uint_t)12)<<(3))+((1<<(3+3))+5)), "$_signNoNull"
}
;
111#define _OMC_LIT41((void*)((char*)(&(_OMC_LIT_STRUCT41).header) + 3)) MMC_REFSTRINGLIT(_OMC_LIT_STRUCT41)((void*)((char*)(&(_OMC_LIT_STRUCT41).header) + 3))
112#define _OMC_LIT42_data"bPow2$QE" "bPow2$QE"
113static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT42,8,_OMC_LIT42_data)struct { mmc_uint_t header; const char data[(8)+1]; } _OMC_LIT_STRUCT42
= { ((((mmc_uint_t)8)<<(3))+((1<<(3+3))+5)), "bPow2$QE"
}
;
114#define _OMC_LIT42((void*)((char*)(&(_OMC_LIT_STRUCT42).header) + 3)) MMC_REFSTRINGLIT(_OMC_LIT_STRUCT42)((void*)((char*)(&(_OMC_LIT_STRUCT42).header) + 3))
115#define _OMC_LIT43_data"c$QE" "c$QE"
116static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT43,4,_OMC_LIT43_data)struct { mmc_uint_t header; const char data[(4)+1]; } _OMC_LIT_STRUCT43
= { ((((mmc_uint_t)4)<<(3))+((1<<(3+3))+5)), "c$QE"
}
;
117#define _OMC_LIT43((void*)((char*)(&(_OMC_LIT_STRUCT43).header) + 3)) MMC_REFSTRINGLIT(_OMC_LIT_STRUCT43)((void*)((char*)(&(_OMC_LIT_STRUCT43).header) + 3))
118static const MMC_DEFREALLIT(_OMC_LIT_STRUCT44,4.0)struct mmc_real_lit _OMC_LIT_STRUCT44 = {0,(((8/8) << 10
) + 9),4.0}
;
119#define _OMC_LIT44((void*)((char*)(&(_OMC_LIT_STRUCT44).header) + 3)) MMC_REFREALLIT(_OMC_LIT_STRUCT44)((void*)((char*)(&(_OMC_LIT_STRUCT44).header) + 3))
120static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT45,2,4)struct { mmc_uint_t header; const void *data[2]; } _OMC_LIT_STRUCT45
= { (((2) << 10) + (((4) & 255) << 2)),
{&DAE_Exp_RCONST__desc,_OMC_LIT44((void*)((char*)(&(_OMC_LIT_STRUCT44).header) + 3))}};
121#define _OMC_LIT45((void*)((char*)(&(_OMC_LIT_STRUCT45).header) + 3)) MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT45)((void*)((char*)(&(_OMC_LIT_STRUCT45).header) + 3))
122#define _OMC_LIT46_data"a1$QE" "a1$QE"
123static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT46,5,_OMC_LIT46_data)struct { mmc_uint_t header; const char data[(5)+1]; } _OMC_LIT_STRUCT46
= { ((((mmc_uint_t)5)<<(3))+((1<<(3+3))+5)), "a1$QE"
}
;
124#define _OMC_LIT46((void*)((char*)(&(_OMC_LIT_STRUCT46).header) + 3)) MMC_REFSTRINGLIT(_OMC_LIT_STRUCT46)((void*)((char*)(&(_OMC_LIT_STRUCT46).header) + 3))
125static const MMC_DEFREALLIT(_OMC_LIT_STRUCT47,-0.5)struct mmc_real_lit _OMC_LIT_STRUCT47 = {0,(((8/8) << 10
) + 9),-0.5}
;
126#define _OMC_LIT47((void*)((char*)(&(_OMC_LIT_STRUCT47).header) + 3)) MMC_REFREALLIT(_OMC_LIT_STRUCT47)((void*)((char*)(&(_OMC_LIT_STRUCT47).header) + 3))
127static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT48,2,4)struct { mmc_uint_t header; const void *data[2]; } _OMC_LIT_STRUCT48
= { (((2) << 10) + (((4) & 255) << 2)),
{&DAE_Exp_RCONST__desc,_OMC_LIT47((void*)((char*)(&(_OMC_LIT_STRUCT47).header) + 3))}};
128#define _OMC_LIT48((void*)((char*)(&(_OMC_LIT_STRUCT48).header) + 3)) MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT48)((void*)((char*)(&(_OMC_LIT_STRUCT48).header) + 3))
129#define _OMC_LIT49_data"x1$QE" "x1$QE"
130static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT49,5,_OMC_LIT49_data)struct { mmc_uint_t header; const char data[(5)+1]; } _OMC_LIT_STRUCT49
= { ((((mmc_uint_t)5)<<(3))+((1<<(3+3))+5)), "x1$QE"
}
;
131#define _OMC_LIT49((void*)((char*)(&(_OMC_LIT_STRUCT49).header) + 3)) MMC_REFSTRINGLIT(_OMC_LIT_STRUCT49)((void*)((char*)(&(_OMC_LIT_STRUCT49).header) + 3))
132#define _OMC_LIT50_data"x2$QE" "x2$QE"
133static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT50,5,_OMC_LIT50_data)struct { mmc_uint_t header; const char data[(5)+1]; } _OMC_LIT_STRUCT50
= { ((((mmc_uint_t)5)<<(3))+((1<<(3+3))+5)), "x2$QE"
}
;
134#define _OMC_LIT50((void*)((char*)(&(_OMC_LIT_STRUCT50).header) + 3)) MMC_REFSTRINGLIT(_OMC_LIT_STRUCT50)((void*)((char*)(&(_OMC_LIT_STRUCT50).header) + 3))
135#define _OMC_LIT51_data"prex$QE" "prex$QE"
136static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT51,7,_OMC_LIT51_data)struct { mmc_uint_t header; const char data[(7)+1]; } _OMC_LIT_STRUCT51
= { ((((mmc_uint_t)7)<<(3))+((1<<(3+3))+5)), "prex$QE"
}
;
137#define _OMC_LIT51((void*)((char*)(&(_OMC_LIT_STRUCT51).header) + 3)) MMC_REFSTRINGLIT(_OMC_LIT_STRUCT51)((void*)((char*)(&(_OMC_LIT_STRUCT51).header) + 3))
138#define _OMC_LIT52_data"x$QE" "x$QE"
139static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT52,4,_OMC_LIT52_data)struct { mmc_uint_t header; const char data[(4)+1]; } _OMC_LIT_STRUCT52
= { ((((mmc_uint_t)4)<<(3))+((1<<(3+3))+5)), "x$QE"
}
;
140#define _OMC_LIT52((void*)((char*)(&(_OMC_LIT_STRUCT52).header) + 3)) MMC_REFSTRINGLIT(_OMC_LIT_STRUCT52)((void*)((char*)(&(_OMC_LIT_STRUCT52).header) + 3))
141static const MMC_DEFREALLIT(_OMC_LIT_STRUCT53,-1.0)struct mmc_real_lit _OMC_LIT_STRUCT53 = {0,(((8/8) << 10
) + 9),-1.0}
;
142#define _OMC_LIT53((void*)((char*)(&(_OMC_LIT_STRUCT53).header) + 3)) MMC_REFREALLIT(_OMC_LIT_STRUCT53)((void*)((char*)(&(_OMC_LIT_STRUCT53).header) + 3))
143static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT54,2,4)struct { mmc_uint_t header; const void *data[2]; } _OMC_LIT_STRUCT54
= { (((2) << 10) + (((4) & 255) << 2)),
{&DAE_Exp_RCONST__desc,_OMC_LIT53((void*)((char*)(&(_OMC_LIT_STRUCT53).header) + 3))}};
144#define _OMC_LIT54((void*)((char*)(&(_OMC_LIT_STRUCT54).header) + 3)) MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT54)((void*)((char*)(&(_OMC_LIT_STRUCT54).header) + 3))
145#define _OMC_LIT55_data"Y$TANH" "Y$TANH"
146static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT55,6,_OMC_LIT55_data)struct { mmc_uint_t header; const char data[(6)+1]; } _OMC_LIT_STRUCT55
= { ((((mmc_uint_t)6)<<(3))+((1<<(3+3))+5)), "Y$TANH"
}
;
147#define _OMC_LIT55((void*)((char*)(&(_OMC_LIT_STRUCT55).header) + 3)) MMC_REFSTRINGLIT(_OMC_LIT_STRUCT55)((void*)((char*)(&(_OMC_LIT_STRUCT55).header) + 3))
148static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT56,2,4)struct { mmc_uint_t header; const void *data[2]; } _OMC_LIT_STRUCT56
= { (((2) << 10) + (((4) & 255) << 2)),
{&DAE_Type_T__REAL__desc,MMC_REFSTRUCTLIT(mmc_nil)((void*)((char*)(&(mmc_nil).header) + 3))}};
149#define _OMC_LIT56((void*)((char*)(&(_OMC_LIT_STRUCT56).header) + 3)) MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT56)((void*)((char*)(&(_OMC_LIT_STRUCT56).header) + 3))
150#define _OMC_LIT57_data"Y$SINH" "Y$SINH"
151static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT57,6,_OMC_LIT57_data)struct { mmc_uint_t header; const char data[(6)+1]; } _OMC_LIT_STRUCT57
= { ((((mmc_uint_t)6)<<(3))+((1<<(3+3))+5)), "Y$SINH"
}
;
152#define _OMC_LIT57((void*)((char*)(&(_OMC_LIT_STRUCT57).header) + 3)) MMC_REFSTRINGLIT(_OMC_LIT_STRUCT57)((void*)((char*)(&(_OMC_LIT_STRUCT57).header) + 3))
153#define _OMC_LIT58_data"SIGN$SINH" "SIGN$SINH"
154static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT58,9,_OMC_LIT58_data)struct { mmc_uint_t header; const char data[(9)+1]; } _OMC_LIT_STRUCT58
= { ((((mmc_uint_t)9)<<(3))+((1<<(3+3))+5)), "SIGN$SINH"
}
;
155#define _OMC_LIT58((void*)((char*)(&(_OMC_LIT_STRUCT58).header) + 3)) MMC_REFSTRINGLIT(_OMC_LIT_STRUCT58)((void*)((char*)(&(_OMC_LIT_STRUCT58).header) + 3))
156#define _OMC_LIT59_data"Y$COS" "Y$COS"
157static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT59,5,_OMC_LIT59_data)struct { mmc_uint_t header; const char data[(5)+1]; } _OMC_LIT_STRUCT59
= { ((((mmc_uint_t)5)<<(3))+((1<<(3+3))+5)), "Y$COS"
}
;
158#define _OMC_LIT59((void*)((char*)(&(_OMC_LIT_STRUCT59).header) + 3)) MMC_REFSTRINGLIT(_OMC_LIT_STRUCT59)((void*)((char*)(&(_OMC_LIT_STRUCT59).header) + 3))
159#define _OMC_LIT60_data"acos" "acos"
160static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT60,4,_OMC_LIT60_data)struct { mmc_uint_t header; const char data[(4)+1]; } _OMC_LIT_STRUCT60
= { ((((mmc_uint_t)4)<<(3))+((1<<(3+3))+5)), "acos"
}
;
161#define _OMC_LIT60((void*)((char*)(&(_OMC_LIT_STRUCT60).header) + 3)) MMC_REFSTRINGLIT(_OMC_LIT_STRUCT60)((void*)((char*)(&(_OMC_LIT_STRUCT60).header) + 3))
162#define _OMC_LIT61_data"ACOS$COS" "ACOS$COS"
163static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT61,8,_OMC_LIT61_data)struct { mmc_uint_t header; const char data[(8)+1]; } _OMC_LIT_STRUCT61
= { ((((mmc_uint_t)8)<<(3))+((1<<(3+3))+5)), "ACOS$COS"
}
;
164#define _OMC_LIT61((void*)((char*)(&(_OMC_LIT_STRUCT61).header) + 3)) MMC_REFSTRINGLIT(_OMC_LIT_STRUCT61)((void*)((char*)(&(_OMC_LIT_STRUCT61).header) + 3))
165#define _OMC_LIT62_data"PREX$COS" "PREX$COS"
166static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT62,8,_OMC_LIT62_data)struct { mmc_uint_t header; const char data[(8)+1]; } _OMC_LIT_STRUCT62
= { ((((mmc_uint_t)8)<<(3))+((1<<(3+3))+5)), "PREX$COS"
}
;
167#define _OMC_LIT62((void*)((char*)(&(_OMC_LIT_STRUCT62).header) + 3)) MMC_REFSTRINGLIT(_OMC_LIT_STRUCT62)((void*)((char*)(&(_OMC_LIT_STRUCT62).header) + 3))
168#define _OMC_LIT63_data"k1$COS" "k1$COS"
169static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT63,6,_OMC_LIT63_data)struct { mmc_uint_t header; const char data[(6)+1]; } _OMC_LIT_STRUCT63
= { ((((mmc_uint_t)6)<<(3))+((1<<(3+3))+5)), "k1$COS"
}
;
170#define _OMC_LIT63((void*)((char*)(&(_OMC_LIT_STRUCT63).header) + 3)) MMC_REFSTRINGLIT(_OMC_LIT_STRUCT63)((void*)((char*)(&(_OMC_LIT_STRUCT63).header) + 3))
171#define _OMC_LIT64_data"k2$COS" "k2$COS"
172static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT64,6,_OMC_LIT64_data)struct { mmc_uint_t header; const char data[(6)+1]; } _OMC_LIT_STRUCT64
= { ((((mmc_uint_t)6)<<(3))+((1<<(3+3))+5)), "k2$COS"
}
;
173#define _OMC_LIT64((void*)((char*)(&(_OMC_LIT_STRUCT64).header) + 3)) MMC_REFSTRINGLIT(_OMC_LIT_STRUCT64)((void*)((char*)(&(_OMC_LIT_STRUCT64).header) + 3))
174#define _OMC_LIT65_data"x1$COS" "x1$COS"
175static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT65,6,_OMC_LIT65_data)struct { mmc_uint_t header; const char data[(6)+1]; } _OMC_LIT_STRUCT65
= { ((((mmc_uint_t)6)<<(3))+((1<<(3+3))+5)), "x1$COS"
}
;
176#define _OMC_LIT65((void*)((char*)(&(_OMC_LIT_STRUCT65).header) + 3)) MMC_REFSTRINGLIT(_OMC_LIT_STRUCT65)((void*)((char*)(&(_OMC_LIT_STRUCT65).header) + 3))
177#define _OMC_LIT66_data"x2$COS" "x2$COS"
178static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT66,6,_OMC_LIT66_data)struct { mmc_uint_t header; const char data[(6)+1]; } _OMC_LIT_STRUCT66
= { ((((mmc_uint_t)6)<<(3))+((1<<(3+3))+5)), "x2$COS"
}
;
179#define _OMC_LIT66((void*)((char*)(&(_OMC_LIT_STRUCT66).header) + 3)) MMC_REFSTRINGLIT(_OMC_LIT_STRUCT66)((void*)((char*)(&(_OMC_LIT_STRUCT66).header) + 3))
180#define _OMC_LIT67_data"Y$SIN" "Y$SIN"
181static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT67,5,_OMC_LIT67_data)struct { mmc_uint_t header; const char data[(5)+1]; } _OMC_LIT_STRUCT67
= { ((((mmc_uint_t)5)<<(3))+((1<<(3+3))+5)), "Y$SIN"
}
;
182#define _OMC_LIT67((void*)((char*)(&(_OMC_LIT_STRUCT67).header) + 3)) MMC_REFSTRINGLIT(_OMC_LIT_STRUCT67)((void*)((char*)(&(_OMC_LIT_STRUCT67).header) + 3))
183#define _OMC_LIT68_data"asin" "asin"
184static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT68,4,_OMC_LIT68_data)struct { mmc_uint_t header; const char data[(4)+1]; } _OMC_LIT_STRUCT68
= { ((((mmc_uint_t)4)<<(3))+((1<<(3+3))+5)), "asin"
}
;
185#define _OMC_LIT68((void*)((char*)(&(_OMC_LIT_STRUCT68).header) + 3)) MMC_REFSTRINGLIT(_OMC_LIT_STRUCT68)((void*)((char*)(&(_OMC_LIT_STRUCT68).header) + 3))
186#define _OMC_LIT69_data"ASIN$SIN" "ASIN$SIN"
187static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT69,8,_OMC_LIT69_data)struct { mmc_uint_t header; const char data[(8)+1]; } _OMC_LIT_STRUCT69
= { ((((mmc_uint_t)8)<<(3))+((1<<(3+3))+5)), "ASIN$SIN"
}
;
188#define _OMC_LIT69((void*)((char*)(&(_OMC_LIT_STRUCT69).header) + 3)) MMC_REFSTRINGLIT(_OMC_LIT_STRUCT69)((void*)((char*)(&(_OMC_LIT_STRUCT69).header) + 3))
189#define _OMC_LIT70_data"PREX$SIN" "PREX$SIN"
190static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT70,8,_OMC_LIT70_data)struct { mmc_uint_t header; const char data[(8)+1]; } _OMC_LIT_STRUCT70
= { ((((mmc_uint_t)8)<<(3))+((1<<(3+3))+5)), "PREX$SIN"
}
;
191#define _OMC_LIT70((void*)((char*)(&(_OMC_LIT_STRUCT70).header) + 3)) MMC_REFSTRINGLIT(_OMC_LIT_STRUCT70)((void*)((char*)(&(_OMC_LIT_STRUCT70).header) + 3))
192#define _OMC_LIT71_data"k1$SIN" "k1$SIN"
193static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT71,6,_OMC_LIT71_data)struct { mmc_uint_t header; const char data[(6)+1]; } _OMC_LIT_STRUCT71
= { ((((mmc_uint_t)6)<<(3))+((1<<(3+3))+5)), "k1$SIN"
}
;
194#define _OMC_LIT71((void*)((char*)(&(_OMC_LIT_STRUCT71).header) + 3)) MMC_REFSTRINGLIT(_OMC_LIT_STRUCT71)((void*)((char*)(&(_OMC_LIT_STRUCT71).header) + 3))
195#define _OMC_LIT72_data"k2$SIN" "k2$SIN"
196static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT72,6,_OMC_LIT72_data)struct { mmc_uint_t header; const char data[(6)+1]; } _OMC_LIT_STRUCT72
= { ((((mmc_uint_t)6)<<(3))+((1<<(3+3))+5)), "k2$SIN"
}
;
197#define _OMC_LIT72((void*)((char*)(&(_OMC_LIT_STRUCT72).header) + 3)) MMC_REFSTRINGLIT(_OMC_LIT_STRUCT72)((void*)((char*)(&(_OMC_LIT_STRUCT72).header) + 3))
198#define _OMC_LIT73_data"x1$SIN" "x1$SIN"
199static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT73,6,_OMC_LIT73_data)struct { mmc_uint_t header; const char data[(6)+1]; } _OMC_LIT_STRUCT73
= { ((((mmc_uint_t)6)<<(3))+((1<<(3+3))+5)), "x1$SIN"
}
;
200#define _OMC_LIT73((void*)((char*)(&(_OMC_LIT_STRUCT73).header) + 3)) MMC_REFSTRINGLIT(_OMC_LIT_STRUCT73)((void*)((char*)(&(_OMC_LIT_STRUCT73).header) + 3))
201#define _OMC_LIT74_data"x2$SIN" "x2$SIN"
202static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT74,6,_OMC_LIT74_data)struct { mmc_uint_t header; const char data[(6)+1]; } _OMC_LIT_STRUCT74
= { ((((mmc_uint_t)6)<<(3))+((1<<(3+3))+5)), "x2$SIN"
}
;
203#define _OMC_LIT74((void*)((char*)(&(_OMC_LIT_STRUCT74).header) + 3)) MMC_REFSTRINGLIT(_OMC_LIT_STRUCT74)((void*)((char*)(&(_OMC_LIT_STRUCT74).header) + 3))
204#define _OMC_LIT75_data"Y$TAN" "Y$TAN"
205static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT75,5,_OMC_LIT75_data)struct { mmc_uint_t header; const char data[(5)+1]; } _OMC_LIT_STRUCT75
= { ((((mmc_uint_t)5)<<(3))+((1<<(3+3))+5)), "Y$TAN"
}
;
206#define _OMC_LIT75((void*)((char*)(&(_OMC_LIT_STRUCT75).header) + 3)) MMC_REFSTRINGLIT(_OMC_LIT_STRUCT75)((void*)((char*)(&(_OMC_LIT_STRUCT75).header) + 3))
207#define _OMC_LIT76_data"atan" "atan"
208static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT76,4,_OMC_LIT76_data)struct { mmc_uint_t header; const char data[(4)+1]; } _OMC_LIT_STRUCT76
= { ((((mmc_uint_t)4)<<(3))+((1<<(3+3))+5)), "atan"
}
;
209#define _OMC_LIT76((void*)((char*)(&(_OMC_LIT_STRUCT76).header) + 3)) MMC_REFSTRINGLIT(_OMC_LIT_STRUCT76)((void*)((char*)(&(_OMC_LIT_STRUCT76).header) + 3))
210#define _OMC_LIT77_data"ATAN$TAN" "ATAN$TAN"
211static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT77,8,_OMC_LIT77_data)struct { mmc_uint_t header; const char data[(8)+1]; } _OMC_LIT_STRUCT77
= { ((((mmc_uint_t)8)<<(3))+((1<<(3+3))+5)), "ATAN$TAN"
}
;
212#define _OMC_LIT77((void*)((char*)(&(_OMC_LIT_STRUCT77).header) + 3)) MMC_REFSTRINGLIT(_OMC_LIT_STRUCT77)((void*)((char*)(&(_OMC_LIT_STRUCT77).header) + 3))
213#define _OMC_LIT78_data"PREX$TAN" "PREX$TAN"
214static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT78,8,_OMC_LIT78_data)struct { mmc_uint_t header; const char data[(8)+1]; } _OMC_LIT_STRUCT78
= { ((((mmc_uint_t)8)<<(3))+((1<<(3+3))+5)), "PREX$TAN"
}
;
215#define _OMC_LIT78((void*)((char*)(&(_OMC_LIT_STRUCT78).header) + 3)) MMC_REFSTRINGLIT(_OMC_LIT_STRUCT78)((void*)((char*)(&(_OMC_LIT_STRUCT78).header) + 3))
216#define _OMC_LIT79_data"X$ABS" "X$ABS"
217static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT79,5,_OMC_LIT79_data)struct { mmc_uint_t header; const char data[(5)+1]; } _OMC_LIT_STRUCT79
= { ((((mmc_uint_t)5)<<(3))+((1<<(3+3))+5)), "X$ABS"
}
;
218#define _OMC_LIT79((void*)((char*)(&(_OMC_LIT_STRUCT79).header) + 3)) MMC_REFSTRINGLIT(_OMC_LIT_STRUCT79)((void*)((char*)(&(_OMC_LIT_STRUCT79).header) + 3))
219#define _OMC_LIT80_data"__OMC_DT" "__OMC_DT"
220static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT80,8,_OMC_LIT80_data)struct { mmc_uint_t header; const char data[(8)+1]; } _OMC_LIT_STRUCT80
= { ((((mmc_uint_t)8)<<(3))+((1<<(3+3))+5)), "__OMC_DT"
}
;
221#define _OMC_LIT80((void*)((char*)(&(_OMC_LIT_STRUCT80).header) + 3)) MMC_REFSTRINGLIT(_OMC_LIT_STRUCT80)((void*)((char*)(&(_OMC_LIT_STRUCT80).header) + 3))
222#define _OMC_LIT81_data"tanh" "tanh"
223static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT81,4,_OMC_LIT81_data)struct { mmc_uint_t header; const char data[(4)+1]; } _OMC_LIT_STRUCT81
= { ((((mmc_uint_t)4)<<(3))+((1<<(3+3))+5)), "tanh"
}
;
224#define _OMC_LIT81((void*)((char*)(&(_OMC_LIT_STRUCT81).header) + 3)) MMC_REFSTRINGLIT(_OMC_LIT_STRUCT81)((void*)((char*)(&(_OMC_LIT_STRUCT81).header) + 3))
225#define _OMC_LIT82_data"sinh" "sinh"
226static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT82,4,_OMC_LIT82_data)struct { mmc_uint_t header; const char data[(4)+1]; } _OMC_LIT_STRUCT82
= { ((((mmc_uint_t)4)<<(3))+((1<<(3+3))+5)), "sinh"
}
;
227#define _OMC_LIT82((void*)((char*)(&(_OMC_LIT_STRUCT82).header) + 3)) MMC_REFSTRINGLIT(_OMC_LIT_STRUCT82)((void*)((char*)(&(_OMC_LIT_STRUCT82).header) + 3))
228#define _OMC_LIT83_data"cosh" "cosh"
229static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT83,4,_OMC_LIT83_data)struct { mmc_uint_t header; const char data[(4)+1]; } _OMC_LIT_STRUCT83
= { ((((mmc_uint_t)4)<<(3))+((1<<(3+3))+5)), "cosh"
}
;
230#define _OMC_LIT83((void*)((char*)(&(_OMC_LIT_STRUCT83).header) + 3)) MMC_REFSTRINGLIT(_OMC_LIT_STRUCT83)((void*)((char*)(&(_OMC_LIT_STRUCT83).header) + 3))
231#define _OMC_LIT84_data"cos" "cos"
232static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT84,3,_OMC_LIT84_data)struct { mmc_uint_t header; const char data[(3)+1]; } _OMC_LIT_STRUCT84
= { ((((mmc_uint_t)3)<<(3))+((1<<(3+3))+5)), "cos"
}
;
233#define _OMC_LIT84((void*)((char*)(&(_OMC_LIT_STRUCT84).header) + 3)) MMC_REFSTRINGLIT(_OMC_LIT_STRUCT84)((void*)((char*)(&(_OMC_LIT_STRUCT84).header) + 3))
234#define _OMC_LIT85_data"sin" "sin"
235static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT85,3,_OMC_LIT85_data)struct { mmc_uint_t header; const char data[(3)+1]; } _OMC_LIT_STRUCT85
= { ((((mmc_uint_t)3)<<(3))+((1<<(3+3))+5)), "sin"
}
;
236#define _OMC_LIT85((void*)((char*)(&(_OMC_LIT_STRUCT85).header) + 3)) MMC_REFSTRINGLIT(_OMC_LIT_STRUCT85)((void*)((char*)(&(_OMC_LIT_STRUCT85).header) + 3))
237#define _OMC_LIT86_data"tan" "tan"
238static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT86,3,_OMC_LIT86_data)struct { mmc_uint_t header; const char data[(3)+1]; } _OMC_LIT_STRUCT86
= { ((((mmc_uint_t)3)<<(3))+((1<<(3+3))+5)), "tan"
}
;
239#define _OMC_LIT86((void*)((char*)(&(_OMC_LIT_STRUCT86).header) + 3)) MMC_REFSTRINGLIT(_OMC_LIT_STRUCT86)((void*)((char*)(&(_OMC_LIT_STRUCT86).header) + 3))
240#define _OMC_LIT87_data"$_DF$DER" "$_DF$DER"
241static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT87,8,_OMC_LIT87_data)struct { mmc_uint_t header; const char data[(8)+1]; } _OMC_LIT_STRUCT87
= { ((((mmc_uint_t)8)<<(3))+((1<<(3+3))+5)), "$_DF$DER"
}
;
242#define _OMC_LIT87((void*)((char*)(&(_OMC_LIT_STRUCT87).header) + 3)) MMC_REFSTRINGLIT(_OMC_LIT_STRUCT87)((void*)((char*)(&(_OMC_LIT_STRUCT87).header) + 3))
243static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT88,1,3)struct { mmc_uint_t header; const void *data[1]; } _OMC_LIT_STRUCT88
= { (((1) << 10) + (((3) & 255) << 2)),
{&DAE_InlineType_NORM__INLINE__desc,}};
244#define _OMC_LIT88((void*)((char*)(&(_OMC_LIT_STRUCT88).header) + 3)) MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT88)((void*)((char*)(&(_OMC_LIT_STRUCT88).header) + 3))
245static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT89,1,6)struct { mmc_uint_t header; const void *data[1]; } _OMC_LIT_STRUCT89
= { (((1) << 10) + (((6) & 255) << 2)),
{&DAE_InlineType_DEFAULT__INLINE__desc,}};
246#define _OMC_LIT89((void*)((char*)(&(_OMC_LIT_STRUCT89).header) + 3)) MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT89)((void*)((char*)(&(_OMC_LIT_STRUCT89).header) + 3))
247static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT90,2,1)struct { mmc_uint_t header; const void *data[2]; } _OMC_LIT_STRUCT90
= { (((2) << 10) + (((1) & 255) << 2)),
{_OMC_LIT89((void*)((char*)(&(_OMC_LIT_STRUCT89).header) + 3)),MMC_REFSTRUCTLIT(mmc_nil)((void*)((char*)(&(mmc_nil).header) + 3))}};
248#define _OMC_LIT90((void*)((char*)(&(_OMC_LIT_STRUCT90).header) + 3)) MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT90)((void*)((char*)(&(_OMC_LIT_STRUCT90).header) + 3))
249static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT91,2,1)struct { mmc_uint_t header; const void *data[2]; } _OMC_LIT_STRUCT91
= { (((2) << 10) + (((1) & 255) << 2)),
{_OMC_LIT88((void*)((char*)(&(_OMC_LIT_STRUCT88).header) + 3)),_OMC_LIT90((void*)((char*)(&(_OMC_LIT_STRUCT90).header) + 3))}};
250#define _OMC_LIT91((void*)((char*)(&(_OMC_LIT_STRUCT91).header) + 3)) MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT91)((void*)((char*)(&(_OMC_LIT_STRUCT91).header) + 3))
251static const MMC_DEFREALLIT(_OMC_LIT_STRUCT92,10.0)struct mmc_real_lit _OMC_LIT_STRUCT92 = {0,(((8/8) << 10
) + 9),10.0}
;
252#define _OMC_LIT92((void*)((char*)(&(_OMC_LIT_STRUCT92).header) + 3)) MMC_REFREALLIT(_OMC_LIT_STRUCT92)((void*)((char*)(&(_OMC_LIT_STRUCT92).header) + 3))
253static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT93,2,4)struct { mmc_uint_t header; const void *data[2]; } _OMC_LIT_STRUCT93
= { (((2) << 10) + (((4) & 255) << 2)),
{&DAE_Exp_RCONST__desc,_OMC_LIT92((void*)((char*)(&(_OMC_LIT_STRUCT92).header) + 3))}};
254#define _OMC_LIT93((void*)((char*)(&(_OMC_LIT_STRUCT93).header) + 3)) MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT93)((void*)((char*)(&(_OMC_LIT_STRUCT93).header) + 3))
255#define _OMC_LIT94_data"exp" "exp"
256static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT94,3,_OMC_LIT94_data)struct { mmc_uint_t header; const char data[(3)+1]; } _OMC_LIT_STRUCT94
= { ((((mmc_uint_t)3)<<(3))+((1<<(3+3))+5)), "exp"
}
;
257#define _OMC_LIT94((void*)((char*)(&(_OMC_LIT_STRUCT94).header) + 3)) MMC_REFSTRINGLIT(_OMC_LIT_STRUCT94)((void*)((char*)(&(_OMC_LIT_STRUCT94).header) + 3))
258#define _OMC_LIT95_data"semiLinear" "semiLinear"
259static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT95,10,_OMC_LIT95_data)struct { mmc_uint_t header; const char data[(10)+1]; } _OMC_LIT_STRUCT95
= { ((((mmc_uint_t)10)<<(3))+((1<<(3+3))+5)), "semiLinear"
}
;
260#define _OMC_LIT95((void*)((char*)(&(_OMC_LIT_STRUCT95).header) + 3)) MMC_REFSTRINGLIT(_OMC_LIT_STRUCT95)((void*)((char*)(&(_OMC_LIT_STRUCT95).header) + 3))
261#define _OMC_LIT96_data"sign" "sign"
262static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT96,4,_OMC_LIT96_data)struct { mmc_uint_t header; const char data[(4)+1]; } _OMC_LIT_STRUCT96
= { ((((mmc_uint_t)4)<<(3))+((1<<(3+3))+5)), "sign"
}
;
263#define _OMC_LIT96((void*)((char*)(&(_OMC_LIT_STRUCT96).header) + 3)) MMC_REFSTRINGLIT(_OMC_LIT_STRUCT96)((void*)((char*)(&(_OMC_LIT_STRUCT96).header) + 3))
264#define _OMC_LIT97_data"Cpp" "Cpp"
265static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT97,3,_OMC_LIT97_data)struct { mmc_uint_t header; const char data[(3)+1]; } _OMC_LIT_STRUCT97
= { ((((mmc_uint_t)3)<<(3))+((1<<(3+3))+5)), "Cpp"
}
;
266#define _OMC_LIT97((void*)((char*)(&(_OMC_LIT_STRUCT97).header) + 3)) MMC_REFSTRINGLIT(_OMC_LIT_STRUCT97)((void*)((char*)(&(_OMC_LIT_STRUCT97).header) + 3))
267#define _OMC_LIT98_data"." "."
268static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT98,1,_OMC_LIT98_data)struct { mmc_uint_t header; const char data[(1)+1]; } _OMC_LIT_STRUCT98
= { ((((mmc_uint_t)1)<<(3))+((1<<(3+3))+5)), "."
}
;
269#define _OMC_LIT98((void*)((char*)(&(_OMC_LIT_STRUCT98).header) + 3)) MMC_REFSTRINGLIT(_OMC_LIT_STRUCT98)((void*)((char*)(&(_OMC_LIT_STRUCT98).header) + 3))
270#define _OMC_LIT99_data"Expression for " "Expression for "
271static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT99,15,_OMC_LIT99_data)struct { mmc_uint_t header; const char data[(15)+1]; } _OMC_LIT_STRUCT99
= { ((((mmc_uint_t)15)<<(3))+((1<<(3+3))+5)), "Expression for "
}
;
272#define _OMC_LIT99((void*)((char*)(&(_OMC_LIT_STRUCT99).header) + 3)) MMC_REFSTRINGLIT(_OMC_LIT_STRUCT99)((void*)((char*)(&(_OMC_LIT_STRUCT99).header) + 3))
273#define _OMC_LIT100_data" out of min(" " out of min("
274static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT100,12,_OMC_LIT100_data)struct { mmc_uint_t header; const char data[(12)+1]; } _OMC_LIT_STRUCT100
= { ((((mmc_uint_t)12)<<(3))+((1<<(3+3))+5)), " out of min("
}
;
275#define _OMC_LIT100((void*)((char*)(&(_OMC_LIT_STRUCT100).header) + 3)) MMC_REFSTRINGLIT(_OMC_LIT_STRUCT100)((void*)((char*)(&(_OMC_LIT_STRUCT100).header) + 3))
276#define _OMC_LIT101_data")/max(" ")/max("
277static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT101,6,_OMC_LIT101_data)struct { mmc_uint_t header; const char data[(6)+1]; } _OMC_LIT_STRUCT101
= { ((((mmc_uint_t)6)<<(3))+((1<<(3+3))+5)), ")/max("
}
;
278#define _OMC_LIT101((void*)((char*)(&(_OMC_LIT_STRUCT101).header) + 3)) MMC_REFSTRINGLIT(_OMC_LIT_STRUCT101)((void*)((char*)(&(_OMC_LIT_STRUCT101).header) + 3))
279#define _OMC_LIT102_data") = " ") = "
280static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT102,4,_OMC_LIT102_data)struct { mmc_uint_t header; const char data[(4)+1]; } _OMC_LIT_STRUCT102
= { ((((mmc_uint_t)4)<<(3))+((1<<(3+3))+5)), ") = "
}
;
281#define _OMC_LIT102((void*)((char*)(&(_OMC_LIT_STRUCT102).header) + 3)) MMC_REFSTRINGLIT(_OMC_LIT_STRUCT102)((void*)((char*)(&(_OMC_LIT_STRUCT102).header) + 3))
282static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT103,2,3)struct { mmc_uint_t header; const void *data[2]; } _OMC_LIT_STRUCT103
= { (((2) << 10) + (((3) & 255) << 2)),
{&DAE_Type_T__INTEGER__desc,MMC_REFSTRUCTLIT(mmc_nil)((void*)((char*)(&(mmc_nil).header) + 3))}};
283#define _OMC_LIT103((void*)((char*)(&(_OMC_LIT_STRUCT103).header) + 3)) MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT103)((void*)((char*)(&(_OMC_LIT_STRUCT103).header) + 3))
284static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT104,2,31)struct { mmc_uint_t header; const void *data[2]; } _OMC_LIT_STRUCT104
= { (((2) << 10) + (((31) & 255) << 2)),
{&DAE_Operator_GREATEREQ__desc,_OMC_LIT103((void*)((char*)(&(_OMC_LIT_STRUCT103).header) + 3))}};
285#define _OMC_LIT104((void*)((char*)(&(_OMC_LIT_STRUCT104).header) + 3)) MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT104)((void*)((char*)(&(_OMC_LIT_STRUCT104).header) + 3))
286static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT105,2,6)struct { mmc_uint_t header; const void *data[2]; } _OMC_LIT_STRUCT105
= { (((2) << 10) + (((6) & 255) << 2)),
{&DAE_Type_T__BOOL__desc,MMC_REFSTRUCTLIT(mmc_nil)((void*)((char*)(&(mmc_nil).header) + 3))}};
287#define _OMC_LIT105((void*)((char*)(&(_OMC_LIT_STRUCT105).header) + 3)) MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT105)((void*)((char*)(&(_OMC_LIT_STRUCT105).header) + 3))
288static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT106,2,25)struct { mmc_uint_t header; const void *data[2]; } _OMC_LIT_STRUCT106
= { (((2) << 10) + (((25) & 255) << 2)),
{&DAE_Operator_AND__desc,_OMC_LIT105((void*)((char*)(&(_OMC_LIT_STRUCT105).header) + 3))}};
289#define _OMC_LIT106((void*)((char*)(&(_OMC_LIT_STRUCT106).header) + 3)) MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT106)((void*)((char*)(&(_OMC_LIT_STRUCT106).header) + 3))
290static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT107,2,29)struct { mmc_uint_t header; const void *data[2]; } _OMC_LIT_STRUCT107
= { (((2) << 10) + (((29) & 255) << 2)),
{&DAE_Operator_LESSEQ__desc,_OMC_LIT103((void*)((char*)(&(_OMC_LIT_STRUCT103).header) + 3))}};
291#define _OMC_LIT107((void*)((char*)(&(_OMC_LIT_STRUCT107).header) + 3)) MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT107)((void*)((char*)(&(_OMC_LIT_STRUCT107).header) + 3))
292#define _OMC_LIT108_data"String" "String"
293static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT108,6,_OMC_LIT108_data)struct { mmc_uint_t header; const char data[(6)+1]; } _OMC_LIT_STRUCT108
= { ((((mmc_uint_t)6)<<(3))+((1<<(3+3))+5)), "String"
}
;
294#define _OMC_LIT108((void*)((char*)(&(_OMC_LIT_STRUCT108).header) + 3)) MMC_REFSTRINGLIT(_OMC_LIT_STRUCT108)((void*)((char*)(&(_OMC_LIT_STRUCT108).header) + 3))
295#define _OMC_LIT109_data"d" "d"
296static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT109,1,_OMC_LIT109_data)struct { mmc_uint_t header; const char data[(1)+1]; } _OMC_LIT_STRUCT109
= { ((((mmc_uint_t)1)<<(3))+((1<<(3+3))+5)), "d"
}
;
297#define _OMC_LIT109((void*)((char*)(&(_OMC_LIT_STRUCT109).header) + 3)) MMC_REFSTRINGLIT(_OMC_LIT_STRUCT109)((void*)((char*)(&(_OMC_LIT_STRUCT109).header) + 3))
298static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT110,2,5)struct { mmc_uint_t header; const void *data[2]; } _OMC_LIT_STRUCT110
= { (((2) << 10) + (((5) & 255) << 2)),
{&DAE_Exp_SCONST__desc,_OMC_LIT109((void*)((char*)(&(_OMC_LIT_STRUCT109).header) + 3))}};
299#define _OMC_LIT110((void*)((char*)(&(_OMC_LIT_STRUCT110).header) + 3)) MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT110)((void*)((char*)(&(_OMC_LIT_STRUCT110).header) + 3))
300static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT111,2,5)struct { mmc_uint_t header; const void *data[2]; } _OMC_LIT_STRUCT111
= { (((2) << 10) + (((5) & 255) << 2)),
{&DAE_Type_T__STRING__desc,MMC_REFSTRUCTLIT(mmc_nil)((void*)((char*)(&(mmc_nil).header) + 3))}};
301#define _OMC_LIT111((void*)((char*)(&(_OMC_LIT_STRUCT111).header) + 3)) MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT111)((void*)((char*)(&(_OMC_LIT_STRUCT111).header) + 3))
302static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT112,2,3)struct { mmc_uint_t header; const void *data[2]; } _OMC_LIT_STRUCT112
= { (((2) << 10) + (((3) & 255) << 2)),
{&DAE_Operator_ADD__desc,_OMC_LIT111((void*)((char*)(&(_OMC_LIT_STRUCT111).header) + 3))}};
303#define _OMC_LIT112((void*)((char*)(&(_OMC_LIT_STRUCT112).header) + 3)) MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT112)((void*)((char*)(&(_OMC_LIT_STRUCT112).header) + 3))
304#define _OMC_LIT113_data"AssertionLevel" "AssertionLevel"
305static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT113,14,_OMC_LIT113_data)struct { mmc_uint_t header; const char data[(14)+1]; } _OMC_LIT_STRUCT113
= { ((((mmc_uint_t)14)<<(3))+((1<<(3+3))+5)), "AssertionLevel"
}
;
306#define _OMC_LIT113((void*)((char*)(&(_OMC_LIT_STRUCT113).header) + 3)) MMC_REFSTRINGLIT(_OMC_LIT_STRUCT113)((void*)((char*)(&(_OMC_LIT_STRUCT113).header) + 3))
307#define _OMC_LIT114_data"error" "error"
308static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT114,5,_OMC_LIT114_data)struct { mmc_uint_t header; const char data[(5)+1]; } _OMC_LIT_STRUCT114
= { ((((mmc_uint_t)5)<<(3))+((1<<(3+3))+5)), "error"
}
;
309#define _OMC_LIT114((void*)((char*)(&(_OMC_LIT_STRUCT114).header) + 3)) MMC_REFSTRINGLIT(_OMC_LIT_STRUCT114)((void*)((char*)(&(_OMC_LIT_STRUCT114).header) + 3))
310static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT115,2,4)struct { mmc_uint_t header; const void *data[2]; } _OMC_LIT_STRUCT115
= { (((2) << 10) + (((4) & 255) << 2)),
{&Absyn_Path_IDENT__desc,_OMC_LIT114((void*)((char*)(&(_OMC_LIT_STRUCT114).header) + 3))}};
311#define _OMC_LIT115((void*)((char*)(&(_OMC_LIT_STRUCT115).header) + 3)) MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT115)((void*)((char*)(&(_OMC_LIT_STRUCT115).header) + 3))
312static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT116,3,3)struct { mmc_uint_t header; const void *data[3]; } _OMC_LIT_STRUCT116
= { (((3) << 10) + (((3) & 255) << 2)),
{&Absyn_Path_QUALIFIED__desc,_OMC_LIT113((void*)((char*)(&(_OMC_LIT_STRUCT113).header) + 3)),_OMC_LIT115((void*)((char*)(&(_OMC_LIT_STRUCT115).header) + 3))}};
313#define _OMC_LIT116((void*)((char*)(&(_OMC_LIT_STRUCT116).header) + 3)) MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT116)((void*)((char*)(&(_OMC_LIT_STRUCT116).header) + 3))
314static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT117,3,8)struct { mmc_uint_t header; const void *data[3]; } _OMC_LIT_STRUCT117
= { (((3) << 10) + (((8) & 255) << 2)),
{&DAE_Exp_ENUM__LITERAL__desc,_OMC_LIT116((void*)((char*)(&(_OMC_LIT_STRUCT116).header) + 3)),MMC_IMMEDIATE(MMC_TAGFIXNUM(1))((void*)(((((mmc_uint_t) (1)) << 1)+0)))}};
315#define _OMC_LIT117((void*)((char*)(&(_OMC_LIT_STRUCT117).header) + 3)) MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT117)((void*)((char*)(&(_OMC_LIT_STRUCT117).header) + 3))
316#define _OMC_LIT118_data"Integer" "Integer"
317static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT118,7,_OMC_LIT118_data)struct { mmc_uint_t header; const char data[(7)+1]; } _OMC_LIT_STRUCT118
= { ((((mmc_uint_t)7)<<(3))+((1<<(3+3))+5)), "Integer"
}
;
318#define _OMC_LIT118((void*)((char*)(&(_OMC_LIT_STRUCT118).header) + 3)) MMC_REFSTRINGLIT(_OMC_LIT_STRUCT118)((void*)((char*)(&(_OMC_LIT_STRUCT118).header) + 3))
319#define _OMC_LIT119_data"\n-ExpressionSolve.solveLin failed:\n" "\n-ExpressionSolve.solveLin failed:\n"
320static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT119,35,_OMC_LIT119_data)struct { mmc_uint_t header; const char data[(35)+1]; } _OMC_LIT_STRUCT119
= { ((((mmc_uint_t)35)<<(3))+((1<<(3+3))+5)), "\n-ExpressionSolve.solveLin failed:\n"
}
;
321#define _OMC_LIT119((void*)((char*)(&(_OMC_LIT_STRUCT119).header) + 3)) MMC_REFSTRINGLIT(_OMC_LIT_STRUCT119)((void*)((char*)(&(_OMC_LIT_STRUCT119).header) + 3))
322#define _OMC_LIT120_data" = " " = "
323static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT120,3,_OMC_LIT120_data)struct { mmc_uint_t header; const char data[(3)+1]; } _OMC_LIT_STRUCT120
= { ((((mmc_uint_t)3)<<(3))+((1<<(3+3))+5)), " = "
}
;
324#define _OMC_LIT120((void*)((char*)(&(_OMC_LIT_STRUCT120).header) + 3)) MMC_REFSTRINGLIT(_OMC_LIT_STRUCT120)((void*)((char*)(&(_OMC_LIT_STRUCT120).header) + 3))
325#define _OMC_LIT121_data"\n-ExpressionSolve.preprocessingSolve failed:\n" "\n-ExpressionSolve.preprocessingSolve failed:\n"
326static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT121,45,_OMC_LIT121_data)struct { mmc_uint_t header; const char data[(45)+1]; } _OMC_LIT_STRUCT121
= { ((((mmc_uint_t)45)<<(3))+((1<<(3+3))+5)), "\n-ExpressionSolve.preprocessingSolve failed:\n"
}
;
327#define _OMC_LIT121((void*)((char*)(&(_OMC_LIT_STRUCT121).header) + 3)) MMC_REFSTRINGLIT(_OMC_LIT_STRUCT121)((void*)((char*)(&(_OMC_LIT_STRUCT121).header) + 3))
328#define _OMC_LIT122_data"Failed to solve \"" "Failed to solve \""
329static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT122,17,_OMC_LIT122_data)struct { mmc_uint_t header; const char data[(17)+1]; } _OMC_LIT_STRUCT122
= { ((((mmc_uint_t)17)<<(3))+((1<<(3+3))+5)), "Failed to solve \""
}
;
330#define _OMC_LIT122((void*)((char*)(&(_OMC_LIT_STRUCT122).header) + 3)) MMC_REFSTRINGLIT(_OMC_LIT_STRUCT122)((void*)((char*)(&(_OMC_LIT_STRUCT122).header) + 3))
331#define _OMC_LIT123_data"\" w.r.t. \"" "\" w.r.t. \""
332static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT123,10,_OMC_LIT123_data)struct { mmc_uint_t header; const char data[(10)+1]; } _OMC_LIT_STRUCT123
= { ((((mmc_uint_t)10)<<(3))+((1<<(3+3))+5)), "\" w.r.t. \""
}
;
333#define _OMC_LIT123((void*)((char*)(&(_OMC_LIT_STRUCT123).header) + 3)) MMC_REFSTRINGLIT(_OMC_LIT_STRUCT123)((void*)((char*)(&(_OMC_LIT_STRUCT123).header) + 3))
334#define _OMC_LIT124_data"\"" "\""
335static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT124,1,_OMC_LIT124_data)struct { mmc_uint_t header; const char data[(1)+1]; } _OMC_LIT_STRUCT124
= { ((((mmc_uint_t)1)<<(3))+((1<<(3+3))+5)), "\""
}
;
336#define _OMC_LIT124((void*)((char*)(&(_OMC_LIT_STRUCT124).header) + 3)) MMC_REFSTRINGLIT(_OMC_LIT_STRUCT124)((void*)((char*)(&(_OMC_LIT_STRUCT124).header) + 3))
337#define _OMC_LIT125_data"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/ExpressionSolve.mo" "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/ExpressionSolve.mo"
338static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT125,100,_OMC_LIT125_data)struct { mmc_uint_t header; const char data[(100)+1]; } _OMC_LIT_STRUCT125
= { ((((mmc_uint_t)100)<<(3))+((1<<(3+3))+5)), "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/ExpressionSolve.mo"
}
;
339#define _OMC_LIT125((void*)((char*)(&(_OMC_LIT_STRUCT125).header) + 3)) MMC_REFSTRINGLIT(_OMC_LIT_STRUCT125)((void*)((char*)(&(_OMC_LIT_STRUCT125).header) + 3))
340static const MMC_DEFREALLIT(_OMC_LIT_STRUCT126_6,1588090879.0)struct mmc_real_lit _OMC_LIT_STRUCT126_6 = {0,(((8/8) <<
10) + 9),1588090879.0}
;
341#define _OMC_LIT126_6((void*)((char*)(&(_OMC_LIT_STRUCT126_6).header) + 3)) MMC_REFREALLIT(_OMC_LIT_STRUCT126_6)((void*)((char*)(&(_OMC_LIT_STRUCT126_6).header) + 3))
342static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT126,8,3)struct { mmc_uint_t header; const void *data[8]; } _OMC_LIT_STRUCT126
= { (((8) << 10) + (((3) & 255) << 2)),
{&SourceInfo_SOURCEINFO__desc,_OMC_LIT125((void*)((char*)(&(_OMC_LIT_STRUCT125).header) + 3)),MMC_IMMEDIATE(MMC_TAGFIXNUM(0))((void*)(((((mmc_uint_t) (0)) << 1)+0))),MMC_IMMEDIATE(MMC_TAGFIXNUM(256))((void*)(((((mmc_uint_t) (256)) << 1)+0))),MMC_IMMEDIATE(MMC_TAGFIXNUM(9))((void*)(((((mmc_uint_t) (9)) << 1)+0))),MMC_IMMEDIATE(MMC_TAGFIXNUM(256))((void*)(((((mmc_uint_t) (256)) << 1)+0))),MMC_IMMEDIATE(MMC_TAGFIXNUM(210))((void*)(((((mmc_uint_t) (210)) << 1)+0))),_OMC_LIT126_6((void*)((char*)(&(_OMC_LIT_STRUCT126_6).header) + 3))}};
343#define _OMC_LIT126((void*)((char*)(&(_OMC_LIT_STRUCT126).header) + 3)) MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT126)((void*)((char*)(&(_OMC_LIT_STRUCT126).header) + 3))
344static const MMC_DEFREALLIT(_OMC_LIT_STRUCT127_6,1588090879.0)struct mmc_real_lit _OMC_LIT_STRUCT127_6 = {0,(((8/8) <<
10) + 9),1588090879.0}
;
345#define _OMC_LIT127_6((void*)((char*)(&(_OMC_LIT_STRUCT127_6).header) + 3)) MMC_REFREALLIT(_OMC_LIT_STRUCT127_6)((void*)((char*)(&(_OMC_LIT_STRUCT127_6).header) + 3))
346static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT127,8,3)struct { mmc_uint_t header; const void *data[8]; } _OMC_LIT_STRUCT127
= { (((8) << 10) + (((3) & 255) << 2)),
{&SourceInfo_SOURCEINFO__desc,_OMC_LIT125((void*)((char*)(&(_OMC_LIT_STRUCT125).header) + 3)),MMC_IMMEDIATE(MMC_TAGFIXNUM(0))((void*)(((((mmc_uint_t) (0)) << 1)+0))),MMC_IMMEDIATE(MMC_TAGFIXNUM(216))((void*)(((((mmc_uint_t) (216)) << 1)+0))),MMC_IMMEDIATE(MMC_TAGFIXNUM(9))((void*)(((((mmc_uint_t) (9)) << 1)+0))),MMC_IMMEDIATE(MMC_TAGFIXNUM(216))((void*)(((((mmc_uint_t) (216)) << 1)+0))),MMC_IMMEDIATE(MMC_TAGFIXNUM(210))((void*)(((((mmc_uint_t) (210)) << 1)+0))),_OMC_LIT127_6((void*)((char*)(&(_OMC_LIT_STRUCT127_6).header) + 3))}};
347#define _OMC_LIT127((void*)((char*)(&(_OMC_LIT_STRUCT127).header) + 3)) MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT127)((void*)((char*)(&(_OMC_LIT_STRUCT127).header) + 3))
348static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT128,1,5)struct { mmc_uint_t header; const void *data[1]; } _OMC_LIT_STRUCT128
= { (((1) << 10) + (((5) & 255) << 2)),
{&BackendDAE_Jacobian_EMPTY__JACOBIAN__desc,}};
349#define _OMC_LIT128((void*)((char*)(&(_OMC_LIT_STRUCT128).header) + 3)) MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT128)((void*)((char*)(&(_OMC_LIT_STRUCT128).header) + 3))
350static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT129,1,5)struct { mmc_uint_t header; const void *data[1]; } _OMC_LIT_STRUCT129
= { (((1) << 10) + (((5) & 255) << 2)),
{&BackendDAE_JacobianType_JAC__NONLINEAR__desc,}};
351#define _OMC_LIT129((void*)((char*)(&(_OMC_LIT_STRUCT129).header) + 3)) MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT129)((void*)((char*)(&(_OMC_LIT_STRUCT129).header) + 3))
352#include "util/modelica.h"
353
354#include "ExpressionSolve_includes.h"
355
356
357/* default, do not make protected functions static */
358#if !defined(PROTECTED_FUNCTION_STATIC)
359#define PROTECTED_FUNCTION_STATIC
360#endif
361PROTECTED_FUNCTION_STATIC modelica_metatype omc_ExpressionSolve_absDiff(threadData_t *threadData, modelica_metatype _x, modelica_metatype _y, modelica_metatype _tp);
362static const MMC_DEFSTRUCTLIT(boxvar_lit_ExpressionSolve_absDiff,2,0)struct { mmc_uint_t header; const void *data[2]; } boxvar_lit_ExpressionSolve_absDiff
= { (((2) << 10) + (((0) & 255) << 2)),
{(void*) boxptr_ExpressionSolve_absDiffomc_ExpressionSolve_absDiff,0}};
363#define boxvar_ExpressionSolve_absDiff((void*)((char*)(&(boxvar_lit_ExpressionSolve_absDiff).header
) + 3))
MMC_REFSTRUCTLIT(boxvar_lit_ExpressionSolve_absDiff)((void*)((char*)(&(boxvar_lit_ExpressionSolve_absDiff).header
) + 3))
364PROTECTED_FUNCTION_STATIC modelica_metatype omc_ExpressionSolve_helpInvCos3(threadData_t *threadData, modelica_metatype _x1, modelica_metatype _x2, modelica_metatype _x, modelica_metatype _tp);
365static const MMC_DEFSTRUCTLIT(boxvar_lit_ExpressionSolve_helpInvCos3,2,0)struct { mmc_uint_t header; const void *data[2]; } boxvar_lit_ExpressionSolve_helpInvCos3
= { (((2) << 10) + (((0) & 255) << 2)),
{(void*) boxptr_ExpressionSolve_helpInvCos3omc_ExpressionSolve_helpInvCos3,0}};
366#define boxvar_ExpressionSolve_helpInvCos3((void*)((char*)(&(boxvar_lit_ExpressionSolve_helpInvCos3
).header) + 3))
MMC_REFSTRUCTLIT(boxvar_lit_ExpressionSolve_helpInvCos3)((void*)((char*)(&(boxvar_lit_ExpressionSolve_helpInvCos3
).header) + 3))
367PROTECTED_FUNCTION_STATIC modelica_metatype omc_ExpressionSolve_helpInvSin2(threadData_t *threadData, modelica_metatype _k, modelica_metatype _asiny, modelica_metatype _tp, modelica_boolean _neg);
368PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_ExpressionSolve_helpInvSin2(threadData_t *threadData, modelica_metatype _k, modelica_metatype _asiny, modelica_metatype _tp, modelica_metatype _neg);
369static const MMC_DEFSTRUCTLIT(boxvar_lit_ExpressionSolve_helpInvSin2,2,0)struct { mmc_uint_t header; const void *data[2]; } boxvar_lit_ExpressionSolve_helpInvSin2
= { (((2) << 10) + (((0) & 255) << 2)),
{(void*) boxptr_ExpressionSolve_helpInvSin2,0}};
370#define boxvar_ExpressionSolve_helpInvSin2((void*)((char*)(&(boxvar_lit_ExpressionSolve_helpInvSin2
).header) + 3))
MMC_REFSTRUCTLIT(boxvar_lit_ExpressionSolve_helpInvSin2)((void*)((char*)(&(boxvar_lit_ExpressionSolve_helpInvSin2
).header) + 3))
371PROTECTED_FUNCTION_STATIC modelica_metatype omc_ExpressionSolve_helpInvCos2(threadData_t *threadData, modelica_metatype _k, modelica_metatype _acosy, modelica_metatype _tp, modelica_boolean _neg);
372PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_ExpressionSolve_helpInvCos2(threadData_t *threadData, modelica_metatype _k, modelica_metatype _acosy, modelica_metatype _tp, modelica_metatype _neg);
373static const MMC_DEFSTRUCTLIT(boxvar_lit_ExpressionSolve_helpInvCos2,2,0)struct { mmc_uint_t header; const void *data[2]; } boxvar_lit_ExpressionSolve_helpInvCos2
= { (((2) << 10) + (((0) & 255) << 2)),
{(void*) boxptr_ExpressionSolve_helpInvCos2,0}};
374#define boxvar_ExpressionSolve_helpInvCos2((void*)((char*)(&(boxvar_lit_ExpressionSolve_helpInvCos2
).header) + 3))
MMC_REFSTRUCTLIT(boxvar_lit_ExpressionSolve_helpInvCos2)((void*)((char*)(&(boxvar_lit_ExpressionSolve_helpInvCos2
).header) + 3))
375PROTECTED_FUNCTION_STATIC modelica_metatype omc_ExpressionSolve_helpInvSin(threadData_t *threadData, modelica_metatype _asiny, modelica_metatype _x, modelica_metatype _tp, modelica_boolean _neg);
376PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_ExpressionSolve_helpInvSin(threadData_t *threadData, modelica_metatype _asiny, modelica_metatype _x, modelica_metatype _tp, modelica_metatype _neg);
377static const MMC_DEFSTRUCTLIT(boxvar_lit_ExpressionSolve_helpInvSin,2,0)struct { mmc_uint_t header; const void *data[2]; } boxvar_lit_ExpressionSolve_helpInvSin
= { (((2) << 10) + (((0) & 255) << 2)),
{(void*) boxptr_ExpressionSolve_helpInvSin,0}};
378#define boxvar_ExpressionSolve_helpInvSin((void*)((char*)(&(boxvar_lit_ExpressionSolve_helpInvSin)
.header) + 3))
MMC_REFSTRUCTLIT(boxvar_lit_ExpressionSolve_helpInvSin)((void*)((char*)(&(boxvar_lit_ExpressionSolve_helpInvSin)
.header) + 3))
379PROTECTED_FUNCTION_STATIC modelica_metatype omc_ExpressionSolve_helpInvCos(threadData_t *threadData, modelica_metatype _acosy, modelica_metatype _x, modelica_metatype _tp, modelica_boolean _neg);
380PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_ExpressionSolve_helpInvCos(threadData_t *threadData, modelica_metatype _acosy, modelica_metatype _x, modelica_metatype _tp, modelica_metatype _neg);
381static const MMC_DEFSTRUCTLIT(boxvar_lit_ExpressionSolve_helpInvCos,2,0)struct { mmc_uint_t header; const void *data[2]; } boxvar_lit_ExpressionSolve_helpInvCos
= { (((2) << 10) + (((0) & 255) << 2)),
{(void*) boxptr_ExpressionSolve_helpInvCos,0}};
382#define boxvar_ExpressionSolve_helpInvCos((void*)((char*)(&(boxvar_lit_ExpressionSolve_helpInvCos)
.header) + 3))
MMC_REFSTRUCTLIT(boxvar_lit_ExpressionSolve_helpInvCos)((void*)((char*)(&(boxvar_lit_ExpressionSolve_helpInvCos)
.header) + 3))
383PROTECTED_FUNCTION_STATIC modelica_metatype omc_ExpressionSolve_makeInitialGuess3(threadData_t *threadData, modelica_metatype _iExp, modelica_metatype _tp);
384static const MMC_DEFSTRUCTLIT(boxvar_lit_ExpressionSolve_makeInitialGuess3,2,0)struct { mmc_uint_t header; const void *data[2]; } boxvar_lit_ExpressionSolve_makeInitialGuess3
= { (((2) << 10) + (((0) & 255) << 2)),
{(void*) boxptr_ExpressionSolve_makeInitialGuess3omc_ExpressionSolve_makeInitialGuess3,0}};
385#define boxvar_ExpressionSolve_makeInitialGuess3((void*)((char*)(&(boxvar_lit_ExpressionSolve_makeInitialGuess3
).header) + 3))
MMC_REFSTRUCTLIT(boxvar_lit_ExpressionSolve_makeInitialGuess3)((void*)((char*)(&(boxvar_lit_ExpressionSolve_makeInitialGuess3
).header) + 3))
386PROTECTED_FUNCTION_STATIC modelica_metatype omc_ExpressionSolve_makeInitialGuess2(threadData_t *threadData, modelica_metatype _iExp, modelica_metatype _itpl, modelica_metatype *out_otpl);
387static const MMC_DEFSTRUCTLIT(boxvar_lit_ExpressionSolve_makeInitialGuess2,2,0)struct { mmc_uint_t header; const void *data[2]; } boxvar_lit_ExpressionSolve_makeInitialGuess2
= { (((2) << 10) + (((0) & 255) << 2)),
{(void*) boxptr_ExpressionSolve_makeInitialGuess2omc_ExpressionSolve_makeInitialGuess2,0}};
388#define boxvar_ExpressionSolve_makeInitialGuess2((void*)((char*)(&(boxvar_lit_ExpressionSolve_makeInitialGuess2
).header) + 3))
MMC_REFSTRUCTLIT(boxvar_lit_ExpressionSolve_makeInitialGuess2)((void*)((char*)(&(boxvar_lit_ExpressionSolve_makeInitialGuess2
).header) + 3))
389PROTECTED_FUNCTION_STATIC modelica_metatype omc_ExpressionSolve_makeInitialGuess(threadData_t *threadData, modelica_metatype _tp, modelica_metatype _iExp1, modelica_metatype _iExp2);
390static const MMC_DEFSTRUCTLIT(boxvar_lit_ExpressionSolve_makeInitialGuess,2,0)struct { mmc_uint_t header; const void *data[2]; } boxvar_lit_ExpressionSolve_makeInitialGuess
= { (((2) << 10) + (((0) & 255) << 2)),
{(void*) boxptr_ExpressionSolve_makeInitialGuessomc_ExpressionSolve_makeInitialGuess,0}};
391#define boxvar_ExpressionSolve_makeInitialGuess((void*)((char*)(&(boxvar_lit_ExpressionSolve_makeInitialGuess
).header) + 3))
MMC_REFSTRUCTLIT(boxvar_lit_ExpressionSolve_makeInitialGuess)((void*)((char*)(&(boxvar_lit_ExpressionSolve_makeInitialGuess
).header) + 3))
392PROTECTED_FUNCTION_STATIC modelica_metatype omc_ExpressionSolve_makeTmpEqnAndCrefFromExp(threadData_t *threadData, modelica_metatype _iExp, modelica_metatype _tp, modelica_string _name, modelica_integer _index1, modelica_integer _index2, modelica_metatype _ieqnForNewVars, modelica_metatype _inewVarsCrefs, modelica_boolean _need, modelica_metatype *out_oeqnForNewVars, modelica_metatype *out_onewVarsCrefs);
393PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_ExpressionSolve_makeTmpEqnAndCrefFromExp(threadData_t *threadData, modelica_metatype _iExp, modelica_metatype _tp, modelica_metatype _name, modelica_metatype _index1, modelica_metatype _index2, modelica_metatype _ieqnForNewVars, modelica_metatype _inewVarsCrefs, modelica_metatype _need, modelica_metatype *out_oeqnForNewVars, modelica_metatype *out_onewVarsCrefs);
394static const MMC_DEFSTRUCTLIT(boxvar_lit_ExpressionSolve_makeTmpEqnAndCrefFromExp,2,0)struct { mmc_uint_t header; const void *data[2]; } boxvar_lit_ExpressionSolve_makeTmpEqnAndCrefFromExp
= { (((2) << 10) + (((0) & 255) << 2)),
{(void*) boxptr_ExpressionSolve_makeTmpEqnAndCrefFromExp,0}};
395#define boxvar_ExpressionSolve_makeTmpEqnAndCrefFromExp((void*)((char*)(&(boxvar_lit_ExpressionSolve_makeTmpEqnAndCrefFromExp
).header) + 3))
MMC_REFSTRUCTLIT(boxvar_lit_ExpressionSolve_makeTmpEqnAndCrefFromExp)((void*)((char*)(&(boxvar_lit_ExpressionSolve_makeTmpEqnAndCrefFromExp
).header) + 3))
396PROTECTED_FUNCTION_STATIC modelica_metatype omc_ExpressionSolve_makeProductLstSort2(threadData_t *threadData, modelica_metatype _inExpLst, modelica_metatype _tp);
397static const MMC_DEFSTRUCTLIT(boxvar_lit_ExpressionSolve_makeProductLstSort2,2,0)struct { mmc_uint_t header; const void *data[2]; } boxvar_lit_ExpressionSolve_makeProductLstSort2
= { (((2) << 10) + (((0) & 255) << 2)),
{(void*) boxptr_ExpressionSolve_makeProductLstSort2omc_ExpressionSolve_makeProductLstSort2,0}};
398#define boxvar_ExpressionSolve_makeProductLstSort2((void*)((char*)(&(boxvar_lit_ExpressionSolve_makeProductLstSort2
).header) + 3))
MMC_REFSTRUCTLIT(boxvar_lit_ExpressionSolve_makeProductLstSort2)((void*)((char*)(&(boxvar_lit_ExpressionSolve_makeProductLstSort2
).header) + 3))
399PROTECTED_FUNCTION_STATIC modelica_metatype omc_ExpressionSolve_makeProductLstSort(threadData_t *threadData, modelica_metatype _inExpLst);
400static const MMC_DEFSTRUCTLIT(boxvar_lit_ExpressionSolve_makeProductLstSort,2,0)struct { mmc_uint_t header; const void *data[2]; } boxvar_lit_ExpressionSolve_makeProductLstSort
= { (((2) << 10) + (((0) & 255) << 2)),
{(void*) boxptr_ExpressionSolve_makeProductLstSortomc_ExpressionSolve_makeProductLstSort,0}};
401#define boxvar_ExpressionSolve_makeProductLstSort((void*)((char*)(&(boxvar_lit_ExpressionSolve_makeProductLstSort
).header) + 3))
MMC_REFSTRUCTLIT(boxvar_lit_ExpressionSolve_makeProductLstSort)((void*)((char*)(&(boxvar_lit_ExpressionSolve_makeProductLstSort
).header) + 3))
402PROTECTED_FUNCTION_STATIC modelica_boolean omc_ExpressionSolve_expHasCref(threadData_t *threadData, modelica_metatype _inExp1, modelica_metatype _inExp3);
403PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_ExpressionSolve_expHasCref(threadData_t *threadData, modelica_metatype _inExp1, modelica_metatype _inExp3);
404static const MMC_DEFSTRUCTLIT(boxvar_lit_ExpressionSolve_expHasCref,2,0)struct { mmc_uint_t header; const void *data[2]; } boxvar_lit_ExpressionSolve_expHasCref
= { (((2) << 10) + (((0) & 255) << 2)),
{(void*) boxptr_ExpressionSolve_expHasCref,0}};
405#define boxvar_ExpressionSolve_expHasCref((void*)((char*)(&(boxvar_lit_ExpressionSolve_expHasCref)
.header) + 3))
MMC_REFSTRUCTLIT(boxvar_lit_ExpressionSolve_expHasCref)((void*)((char*)(&(boxvar_lit_ExpressionSolve_expHasCref)
.header) + 3))
406PROTECTED_FUNCTION_STATIC modelica_boolean omc_ExpressionSolve_hasOnlyFactors(threadData_t *threadData, modelica_metatype _e1, modelica_metatype _e2);
407PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_ExpressionSolve_hasOnlyFactors(threadData_t *threadData, modelica_metatype _e1, modelica_metatype _e2);
408static const MMC_DEFSTRUCTLIT(boxvar_lit_ExpressionSolve_hasOnlyFactors,2,0)struct { mmc_uint_t header; const void *data[2]; } boxvar_lit_ExpressionSolve_hasOnlyFactors
= { (((2) << 10) + (((0) & 255) << 2)),
{(void*) boxptr_ExpressionSolve_hasOnlyFactors,0}};
409#define boxvar_ExpressionSolve_hasOnlyFactors((void*)((char*)(&(boxvar_lit_ExpressionSolve_hasOnlyFactors
).header) + 3))
MMC_REFSTRUCTLIT(boxvar_lit_ExpressionSolve_hasOnlyFactors)((void*)((char*)(&(boxvar_lit_ExpressionSolve_hasOnlyFactors
).header) + 3))
410PROTECTED_FUNCTION_STATIC modelica_metatype omc_ExpressionSolve_solveLinearSystem(threadData_t *threadData, modelica_metatype _inExp1, modelica_metatype _inExp2, modelica_metatype _inExp3, modelica_metatype _functions, modelica_integer _idepth, modelica_metatype *out_outAsserts, modelica_metatype *out_eqnForNewVars, modelica_metatype *out_newVarsCrefs, modelica_integer *out_odepth);
411PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_ExpressionSolve_solveLinearSystem(threadData_t *threadData, modelica_metatype _inExp1, modelica_metatype _inExp2, modelica_metatype _inExp3, modelica_metatype _functions, modelica_metatype _idepth, modelica_metatype *out_outAsserts, modelica_metatype *out_eqnForNewVars, modelica_metatype *out_newVarsCrefs, modelica_metatype *out_odepth);
412static const MMC_DEFSTRUCTLIT(boxvar_lit_ExpressionSolve_solveLinearSystem,2,0)struct { mmc_uint_t header; const void *data[2]; } boxvar_lit_ExpressionSolve_solveLinearSystem
= { (((2) << 10) + (((0) & 255) << 2)),
{(void*) boxptr_ExpressionSolve_solveLinearSystem,0}};
413#define boxvar_ExpressionSolve_solveLinearSystem((void*)((char*)(&(boxvar_lit_ExpressionSolve_solveLinearSystem
).header) + 3))
MMC_REFSTRUCTLIT(boxvar_lit_ExpressionSolve_solveLinearSystem)((void*)((char*)(&(boxvar_lit_ExpressionSolve_solveLinearSystem
).header) + 3))
414PROTECTED_FUNCTION_STATIC modelica_metatype omc_ExpressionSolve_solveIfExp(threadData_t *threadData, modelica_metatype _inExp1, modelica_metatype _inExp2, modelica_metatype _inExp3, modelica_metatype _functions, modelica_metatype _uniqueEqIndex, modelica_integer _idepth, modelica_boolean _doInline, modelica_boolean _isContinuousIntegration, modelica_metatype *out_outAsserts, modelica_metatype *out_eqnForNewVars, modelica_metatype *out_newVarsCrefs, modelica_integer *out_odepth);
415PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_ExpressionSolve_solveIfExp(threadData_t *threadData, modelica_metatype _inExp1, modelica_metatype _inExp2, modelica_metatype _inExp3, modelica_metatype _functions, modelica_metatype _uniqueEqIndex, modelica_metatype _idepth, modelica_metatype _doInline, modelica_metatype _isContinuousIntegration, modelica_metatype *out_outAsserts, modelica_metatype *out_eqnForNewVars, modelica_metatype *out_newVarsCrefs, modelica_metatype *out_odepth);
416static const MMC_DEFSTRUCTLIT(boxvar_lit_ExpressionSolve_solveIfExp,2,0)struct { mmc_uint_t header; const void *data[2]; } boxvar_lit_ExpressionSolve_solveIfExp
= { (((2) << 10) + (((0) & 255) << 2)),
{(void*) boxptr_ExpressionSolve_solveIfExp,0}};
417#define boxvar_ExpressionSolve_solveIfExp((void*)((char*)(&(boxvar_lit_ExpressionSolve_solveIfExp)
.header) + 3))
MMC_REFSTRUCTLIT(boxvar_lit_ExpressionSolve_solveIfExp)((void*)((char*)(&(boxvar_lit_ExpressionSolve_solveIfExp)
.header) + 3))
418PROTECTED_FUNCTION_STATIC modelica_metatype omc_ExpressionSolve_solveQE(threadData_t *threadData, modelica_metatype _e1, modelica_metatype _e2, modelica_metatype _e3, modelica_metatype _e4, modelica_metatype _e5, modelica_metatype _e6, modelica_metatype _inExp2, modelica_metatype _inExp3, modelica_metatype _ieqnForNewVars, modelica_metatype _inewVarsCrefs, modelica_integer _uniqueEqIndex, modelica_integer _idepth, modelica_metatype *out_lhs, modelica_metatype *out_eqnForNewVars, modelica_metatype *out_newVarsCrefs);
419PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_ExpressionSolve_solveQE(threadData_t *threadData, modelica_metatype _e1, modelica_metatype _e2, modelica_metatype _e3, modelica_metatype _e4, modelica_metatype _e5, modelica_metatype _e6, modelica_metatype _inExp2, modelica_metatype _inExp3, modelica_metatype _ieqnForNewVars, modelica_metatype _inewVarsCrefs, modelica_metatype _uniqueEqIndex, modelica_metatype _idepth, modelica_metatype *out_lhs, modelica_metatype *out_eqnForNewVars, modelica_metatype *out_newVarsCrefs);
420static const MMC_DEFSTRUCTLIT(boxvar_lit_ExpressionSolve_solveQE,2,0)struct { mmc_uint_t header; const void *data[2]; } boxvar_lit_ExpressionSolve_solveQE
= { (((2) << 10) + (((0) & 255) << 2)),
{(void*) boxptr_ExpressionSolve_solveQE,0}};
421#define boxvar_ExpressionSolve_solveQE((void*)((char*)(&(boxvar_lit_ExpressionSolve_solveQE).header
) + 3))
MMC_REFSTRUCTLIT(boxvar_lit_ExpressionSolve_solveQE)((void*)((char*)(&(boxvar_lit_ExpressionSolve_solveQE).header
) + 3))
422PROTECTED_FUNCTION_STATIC modelica_metatype omc_ExpressionSolve_simplifyBinaryMulCoeff(threadData_t *threadData, modelica_metatype _inExp);
423static const MMC_DEFSTRUCTLIT(boxvar_lit_ExpressionSolve_simplifyBinaryMulCoeff,2,0)struct { mmc_uint_t header; const void *data[2]; } boxvar_lit_ExpressionSolve_simplifyBinaryMulCoeff
= { (((2) << 10) + (((0) & 255) << 2)),
{(void*) boxptr_ExpressionSolve_simplifyBinaryMulCoeffomc_ExpressionSolve_simplifyBinaryMulCoeff,0}};
424#define boxvar_ExpressionSolve_simplifyBinaryMulCoeff((void*)((char*)(&(boxvar_lit_ExpressionSolve_simplifyBinaryMulCoeff
).header) + 3))
MMC_REFSTRUCTLIT(boxvar_lit_ExpressionSolve_simplifyBinaryMulCoeff)((void*)((char*)(&(boxvar_lit_ExpressionSolve_simplifyBinaryMulCoeff
).header) + 3))
425PROTECTED_FUNCTION_STATIC modelica_metatype omc_ExpressionSolve_preprocessingSolveTmpVarsWork(threadData_t *threadData, modelica_metatype _inExp1, modelica_metatype _inExp2, modelica_metatype _inExp3, modelica_integer _uniqueEqIndex, modelica_metatype _ieqnForNewVars, modelica_metatype _inewVarsCrefs, modelica_integer _idepth, modelica_metatype *out_y, modelica_boolean *out_new_x, modelica_metatype *out_eqnForNewVars, modelica_metatype *out_newVarsCrefs, modelica_integer *out_odepth);
426PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_ExpressionSolve_preprocessingSolveTmpVarsWork(threadData_t *threadData, modelica_metatype _inExp1, modelica_metatype _inExp2, modelica_metatype _inExp3, modelica_metatype _uniqueEqIndex, modelica_metatype _ieqnForNewVars, modelica_metatype _inewVarsCrefs, modelica_metatype _idepth, modelica_metatype *out_y, modelica_metatype *out_new_x, modelica_metatype *out_eqnForNewVars, modelica_metatype *out_newVarsCrefs, modelica_metatype *out_odepth);
427static const MMC_DEFSTRUCTLIT(boxvar_lit_ExpressionSolve_preprocessingSolveTmpVarsWork,2,0)struct { mmc_uint_t header; const void *data[2]; } boxvar_lit_ExpressionSolve_preprocessingSolveTmpVarsWork
= { (((2) << 10) + (((0) & 255) << 2)),
{(void*) boxptr_ExpressionSolve_preprocessingSolveTmpVarsWork,0}};
428#define boxvar_ExpressionSolve_preprocessingSolveTmpVarsWork((void*)((char*)(&(boxvar_lit_ExpressionSolve_preprocessingSolveTmpVarsWork
).header) + 3))
MMC_REFSTRUCTLIT(boxvar_lit_ExpressionSolve_preprocessingSolveTmpVarsWork)((void*)((char*)(&(boxvar_lit_ExpressionSolve_preprocessingSolveTmpVarsWork
).header) + 3))
429PROTECTED_FUNCTION_STATIC modelica_metatype omc_ExpressionSolve_preprocessingSolveTmpVars(threadData_t *threadData, modelica_metatype _inExp1, modelica_metatype _inExp2, modelica_metatype _inExp3, modelica_metatype _uniqueEqIndex, modelica_metatype _ieqnForNewVars, modelica_metatype _inewVarsCrefs, modelica_integer _idepth, modelica_metatype *out_y, modelica_boolean *out_new_x, modelica_metatype *out_eqnForNewVars, modelica_metatype *out_newVarsCrefs, modelica_integer *out_odepth);
430PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_ExpressionSolve_preprocessingSolveTmpVars(threadData_t *threadData, modelica_metatype _inExp1, modelica_metatype _inExp2, modelica_metatype _inExp3, modelica_metatype _uniqueEqIndex, modelica_metatype _ieqnForNewVars, modelica_metatype _inewVarsCrefs, modelica_metatype _idepth, modelica_metatype *out_y, modelica_metatype *out_new_x, modelica_metatype *out_eqnForNewVars, modelica_metatype *out_newVarsCrefs, modelica_metatype *out_odepth);
431static const MMC_DEFSTRUCTLIT(boxvar_lit_ExpressionSolve_preprocessingSolveTmpVars,2,0)struct { mmc_uint_t header; const void *data[2]; } boxvar_lit_ExpressionSolve_preprocessingSolveTmpVars
= { (((2) << 10) + (((0) & 255) << 2)),
{(void*) boxptr_ExpressionSolve_preprocessingSolveTmpVars,0}};
432#define boxvar_ExpressionSolve_preprocessingSolveTmpVars((void*)((char*)(&(boxvar_lit_ExpressionSolve_preprocessingSolveTmpVars
).header) + 3))
MMC_REFSTRUCTLIT(boxvar_lit_ExpressionSolve_preprocessingSolveTmpVars)((void*)((char*)(&(boxvar_lit_ExpressionSolve_preprocessingSolveTmpVars
).header) + 3))
433PROTECTED_FUNCTION_STATIC modelica_metatype omc_ExpressionSolve_inlineCallX(threadData_t *threadData, modelica_metatype _inExp, modelica_metatype _iT, modelica_boolean *out_cont, modelica_metatype *out_oT);
434PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_ExpressionSolve_inlineCallX(threadData_t *threadData, modelica_metatype _inExp, modelica_metatype _iT, modelica_metatype *out_cont, modelica_metatype *out_oT);
435static const MMC_DEFSTRUCTLIT(boxvar_lit_ExpressionSolve_inlineCallX,2,0)struct { mmc_uint_t header; const void *data[2]; } boxvar_lit_ExpressionSolve_inlineCallX
= { (((2) << 10) + (((0) & 255) << 2)),
{(void*) boxptr_ExpressionSolve_inlineCallX,0}};
436#define boxvar_ExpressionSolve_inlineCallX((void*)((char*)(&(boxvar_lit_ExpressionSolve_inlineCallX
).header) + 3))
MMC_REFSTRUCTLIT(boxvar_lit_ExpressionSolve_inlineCallX)((void*)((char*)(&(boxvar_lit_ExpressionSolve_inlineCallX
).header) + 3))
437PROTECTED_FUNCTION_STATIC modelica_metatype omc_ExpressionSolve_removeSimpleCalls2(threadData_t *threadData, modelica_metatype _inExp1, modelica_metatype _inExp2, modelica_metatype _inExp3, modelica_metatype *out_outRhs, modelica_boolean *out_con);
438PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_ExpressionSolve_removeSimpleCalls2(threadData_t *threadData, modelica_metatype _inExp1, modelica_metatype _inExp2, modelica_metatype _inExp3, modelica_metatype *out_outRhs, modelica_metatype *out_con);
439static const MMC_DEFSTRUCTLIT(boxvar_lit_ExpressionSolve_removeSimpleCalls2,2,0)struct { mmc_uint_t header; const void *data[2]; } boxvar_lit_ExpressionSolve_removeSimpleCalls2
= { (((2) << 10) + (((0) & 255) << 2)),
{(void*) boxptr_ExpressionSolve_removeSimpleCalls2,0}};
440#define boxvar_ExpressionSolve_removeSimpleCalls2((void*)((char*)(&(boxvar_lit_ExpressionSolve_removeSimpleCalls2
).header) + 3))
MMC_REFSTRUCTLIT(boxvar_lit_ExpressionSolve_removeSimpleCalls2)((void*)((char*)(&(boxvar_lit_ExpressionSolve_removeSimpleCalls2
).header) + 3))
441PROTECTED_FUNCTION_STATIC modelica_metatype omc_ExpressionSolve_removeSimpleCalls(threadData_t *threadData, modelica_metatype _inExp1, modelica_metatype _inExp2, modelica_metatype _inExp3, modelica_metatype *out_outRhs, modelica_boolean *out_con);
442PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_ExpressionSolve_removeSimpleCalls(threadData_t *threadData, modelica_metatype _inExp1, modelica_metatype _inExp2, modelica_metatype _inExp3, modelica_metatype *out_outRhs, modelica_metatype *out_con);
443static const MMC_DEFSTRUCTLIT(boxvar_lit_ExpressionSolve_removeSimpleCalls,2,0)struct { mmc_uint_t header; const void *data[2]; } boxvar_lit_ExpressionSolve_removeSimpleCalls
= { (((2) << 10) + (((0) & 255) << 2)),
{(void*) boxptr_ExpressionSolve_removeSimpleCalls,0}};
444#define boxvar_ExpressionSolve_removeSimpleCalls((void*)((char*)(&(boxvar_lit_ExpressionSolve_removeSimpleCalls
).header) + 3))
MMC_REFSTRUCTLIT(boxvar_lit_ExpressionSolve_removeSimpleCalls)((void*)((char*)(&(boxvar_lit_ExpressionSolve_removeSimpleCalls
).header) + 3))
445PROTECTED_FUNCTION_STATIC modelica_metatype omc_ExpressionSolve_solveFunCalls(threadData_t *threadData, modelica_metatype _inExp1, modelica_metatype _inExp3, modelica_metatype _functions, modelica_boolean *out_con);
446PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_ExpressionSolve_solveFunCalls(threadData_t *threadData, modelica_metatype _inExp1, modelica_metatype _inExp3, modelica_metatype _functions, modelica_metatype *out_con);
447static const MMC_DEFSTRUCTLIT(boxvar_lit_ExpressionSolve_solveFunCalls,2,0)struct { mmc_uint_t header; const void *data[2]; } boxvar_lit_ExpressionSolve_solveFunCalls
= { (((2) << 10) + (((0) & 255) << 2)),
{(void*) boxptr_ExpressionSolve_solveFunCalls,0}};
448#define boxvar_ExpressionSolve_solveFunCalls((void*)((char*)(&(boxvar_lit_ExpressionSolve_solveFunCalls
).header) + 3))
MMC_REFSTRUCTLIT(boxvar_lit_ExpressionSolve_solveFunCalls)((void*)((char*)(&(boxvar_lit_ExpressionSolve_solveFunCalls
).header) + 3))
449PROTECTED_FUNCTION_STATIC modelica_metatype omc_ExpressionSolve_unifyFunCallsWork(threadData_t *threadData, modelica_metatype _inExp, modelica_metatype _iT, modelica_boolean *out_cont, modelica_metatype *out_oT);
450PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_ExpressionSolve_unifyFunCallsWork(threadData_t *threadData, modelica_metatype _inExp, modelica_metatype _iT, modelica_metatype *out_cont, modelica_metatype *out_oT);
451static const MMC_DEFSTRUCTLIT(boxvar_lit_ExpressionSolve_unifyFunCallsWork,2,0)struct { mmc_uint_t header; const void *data[2]; } boxvar_lit_ExpressionSolve_unifyFunCallsWork
= { (((2) << 10) + (((0) & 255) << 2)),
{(void*) boxptr_ExpressionSolve_unifyFunCallsWork,0}};
452#define boxvar_ExpressionSolve_unifyFunCallsWork((void*)((char*)(&(boxvar_lit_ExpressionSolve_unifyFunCallsWork
).header) + 3))
MMC_REFSTRUCTLIT(boxvar_lit_ExpressionSolve_unifyFunCallsWork)((void*)((char*)(&(boxvar_lit_ExpressionSolve_unifyFunCallsWork
).header) + 3))
453PROTECTED_FUNCTION_STATIC modelica_metatype omc_ExpressionSolve_unifyFunCalls(threadData_t *threadData, modelica_metatype _inExp1, modelica_metatype _inExp3, modelica_boolean *out_newX);
454PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_ExpressionSolve_unifyFunCalls(threadData_t *threadData, modelica_metatype _inExp1, modelica_metatype _inExp3, modelica_metatype *out_newX);
455static const MMC_DEFSTRUCTLIT(boxvar_lit_ExpressionSolve_unifyFunCalls,2,0)struct { mmc_uint_t header; const void *data[2]; } boxvar_lit_ExpressionSolve_unifyFunCalls
= { (((2) << 10) + (((0) & 255) << 2)),
{(void*) boxptr_ExpressionSolve_unifyFunCalls,0}};
456#define boxvar_ExpressionSolve_unifyFunCalls((void*)((char*)(&(boxvar_lit_ExpressionSolve_unifyFunCalls
).header) + 3))
MMC_REFSTRUCTLIT(boxvar_lit_ExpressionSolve_unifyFunCalls)((void*)((char*)(&(boxvar_lit_ExpressionSolve_unifyFunCalls
).header) + 3))
457PROTECTED_FUNCTION_STATIC modelica_metatype omc_ExpressionSolve_preprocessingSolve5(threadData_t *threadData, modelica_metatype _inExp1, modelica_metatype _inExp3, modelica_boolean _expand, modelica_metatype *out_outRhs);
458PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_ExpressionSolve_preprocessingSolve5(threadData_t *threadData, modelica_metatype _inExp1, modelica_metatype _inExp3, modelica_metatype _expand, modelica_metatype *out_outRhs);
459static const MMC_DEFSTRUCTLIT(boxvar_lit_ExpressionSolve_preprocessingSolve5,2,0)struct { mmc_uint_t header; const void *data[2]; } boxvar_lit_ExpressionSolve_preprocessingSolve5
= { (((2) << 10) + (((0) & 255) << 2)),
{(void*) boxptr_ExpressionSolve_preprocessingSolve5,0}};
460#define boxvar_ExpressionSolve_preprocessingSolve5((void*)((char*)(&(boxvar_lit_ExpressionSolve_preprocessingSolve5
).header) + 3))
MMC_REFSTRUCTLIT(boxvar_lit_ExpressionSolve_preprocessingSolve5)((void*)((char*)(&(boxvar_lit_ExpressionSolve_preprocessingSolve5
).header) + 3))
461PROTECTED_FUNCTION_STATIC modelica_metatype omc_ExpressionSolve_expAddX2(threadData_t *threadData, modelica_metatype _inExp1, modelica_metatype _inExp2, modelica_metatype _inExp3);
462static const MMC_DEFSTRUCTLIT(boxvar_lit_ExpressionSolve_expAddX2,2,0)struct { mmc_uint_t header; const void *data[2]; } boxvar_lit_ExpressionSolve_expAddX2
= { (((2) << 10) + (((0) & 255) << 2)),
{(void*) boxptr_ExpressionSolve_expAddX2omc_ExpressionSolve_expAddX2,0}};
463#define boxvar_ExpressionSolve_expAddX2((void*)((char*)(&(boxvar_lit_ExpressionSolve_expAddX2).header
) + 3))
MMC_REFSTRUCTLIT(boxvar_lit_ExpressionSolve_expAddX2)((void*)((char*)(&(boxvar_lit_ExpressionSolve_expAddX2).header
) + 3))
464PROTECTED_FUNCTION_STATIC modelica_metatype omc_ExpressionSolve_expAddX(threadData_t *threadData, modelica_metatype _inExp1, modelica_metatype _inExp2, modelica_metatype _inExp3);
465static const MMC_DEFSTRUCTLIT(boxvar_lit_ExpressionSolve_expAddX,2,0)struct { mmc_uint_t header; const void *data[2]; } boxvar_lit_ExpressionSolve_expAddX
= { (((2) << 10) + (((0) & 255) << 2)),
{(void*) boxptr_ExpressionSolve_expAddXomc_ExpressionSolve_expAddX,0}};
466#define boxvar_ExpressionSolve_expAddX((void*)((char*)(&(boxvar_lit_ExpressionSolve_expAddX).header
) + 3))
MMC_REFSTRUCTLIT(boxvar_lit_ExpressionSolve_expAddX)((void*)((char*)(&(boxvar_lit_ExpressionSolve_expAddX).header
) + 3))
467PROTECTED_FUNCTION_STATIC modelica_metatype omc_ExpressionSolve_preprocessingSolve4(threadData_t *threadData, modelica_metatype _inExp1, modelica_metatype _inExp2, modelica_metatype _inExp3, modelica_metatype *out_oExp2, modelica_boolean *out_newX);
468PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_ExpressionSolve_preprocessingSolve4(threadData_t *threadData, modelica_metatype _inExp1, modelica_metatype _inExp2, modelica_metatype _inExp3, modelica_metatype *out_oExp2, modelica_metatype *out_newX);
469static const MMC_DEFSTRUCTLIT(boxvar_lit_ExpressionSolve_preprocessingSolve4,2,0)struct { mmc_uint_t header; const void *data[2]; } boxvar_lit_ExpressionSolve_preprocessingSolve4
= { (((2) << 10) + (((0) & 255) << 2)),
{(void*) boxptr_ExpressionSolve_preprocessingSolve4,0}};
470#define boxvar_ExpressionSolve_preprocessingSolve4((void*)((char*)(&(boxvar_lit_ExpressionSolve_preprocessingSolve4
).header) + 3))
MMC_REFSTRUCTLIT(boxvar_lit_ExpressionSolve_preprocessingSolve4)((void*)((char*)(&(boxvar_lit_ExpressionSolve_preprocessingSolve4
).header) + 3))
471PROTECTED_FUNCTION_STATIC modelica_metatype omc_ExpressionSolve_preprocessingSolve3(threadData_t *threadData, modelica_metatype _inExp1, modelica_metatype _inExp2, modelica_metatype _inExp3, modelica_metatype *out_orhs, modelica_boolean *out_con);
472PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_ExpressionSolve_preprocessingSolve3(threadData_t *threadData, modelica_metatype _inExp1, modelica_metatype _inExp2, modelica_metatype _inExp3, modelica_metatype *out_orhs, modelica_metatype *out_con);
473static const MMC_DEFSTRUCTLIT(boxvar_lit_ExpressionSolve_preprocessingSolve3,2,0)struct { mmc_uint_t header; const void *data[2]; } boxvar_lit_ExpressionSolve_preprocessingSolve3
= { (((2) << 10) + (((0) & 255) << 2)),
{(void*) boxptr_ExpressionSolve_preprocessingSolve3,0}};
474#define boxvar_ExpressionSolve_preprocessingSolve3((void*)((char*)(&(boxvar_lit_ExpressionSolve_preprocessingSolve3
).header) + 3))
MMC_REFSTRUCTLIT(boxvar_lit_ExpressionSolve_preprocessingSolve3)((void*)((char*)(&(boxvar_lit_ExpressionSolve_preprocessingSolve3
).header) + 3))
475PROTECTED_FUNCTION_STATIC modelica_metatype omc_ExpressionSolve_preprocessingSolve2(threadData_t *threadData, modelica_metatype _inExp1, modelica_metatype _inExp2, modelica_metatype _inExp3, modelica_metatype *out_orhs, modelica_boolean *out_con);
476PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_ExpressionSolve_preprocessingSolve2(threadData_t *threadData, modelica_metatype _inExp1, modelica_metatype _inExp2, modelica_metatype _inExp3, modelica_metatype *out_orhs, modelica_metatype *out_con);
477static const MMC_DEFSTRUCTLIT(boxvar_lit_ExpressionSolve_preprocessingSolve2,2,0)struct { mmc_uint_t header; const void *data[2]; } boxvar_lit_ExpressionSolve_preprocessingSolve2
= { (((2) << 10) + (((0) & 255) << 2)),
{(void*) boxptr_ExpressionSolve_preprocessingSolve2,0}};
478#define boxvar_ExpressionSolve_preprocessingSolve2((void*)((char*)(&(boxvar_lit_ExpressionSolve_preprocessingSolve2
).header) + 3))
MMC_REFSTRUCTLIT(boxvar_lit_ExpressionSolve_preprocessingSolve2)((void*)((char*)(&(boxvar_lit_ExpressionSolve_preprocessingSolve2
).header) + 3))
479PROTECTED_FUNCTION_STATIC modelica_metatype omc_ExpressionSolve_generateAssertType(threadData_t *threadData, modelica_metatype _tp, modelica_metatype _cr, modelica_metatype _iExp, modelica_metatype _inAsserts);
480static const MMC_DEFSTRUCTLIT(boxvar_lit_ExpressionSolve_generateAssertType,2,0)struct { mmc_uint_t header; const void *data[2]; } boxvar_lit_ExpressionSolve_generateAssertType
= { (((2) << 10) + (((0) & 255) << 2)),
{(void*) boxptr_ExpressionSolve_generateAssertTypeomc_ExpressionSolve_generateAssertType,0}};
481#define boxvar_ExpressionSolve_generateAssertType((void*)((char*)(&(boxvar_lit_ExpressionSolve_generateAssertType
).header) + 3))
MMC_REFSTRUCTLIT(boxvar_lit_ExpressionSolve_generateAssertType)((void*)((char*)(&(boxvar_lit_ExpressionSolve_generateAssertType
).header) + 3))
482PROTECTED_FUNCTION_STATIC modelica_metatype omc_ExpressionSolve_solveSimple(threadData_t *threadData, modelica_metatype _inExp1, modelica_metatype _inExp2, modelica_metatype _inExp3, modelica_integer _idepth, modelica_metatype *out_outAsserts, modelica_metatype *out_eqnForNewVars, modelica_metatype *out_newVarsCrefs, modelica_integer *out_odepth);
483PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_ExpressionSolve_solveSimple(threadData_t *threadData, modelica_metatype _inExp1, modelica_metatype _inExp2, modelica_metatype _inExp3, modelica_metatype _idepth, modelica_metatype *out_outAsserts, modelica_metatype *out_eqnForNewVars, modelica_metatype *out_newVarsCrefs, modelica_metatype *out_odepth);
484static const MMC_DEFSTRUCTLIT(boxvar_lit_ExpressionSolve_solveSimple,2,0)struct { mmc_uint_t header; const void *data[2]; } boxvar_lit_ExpressionSolve_solveSimple
= { (((2) << 10) + (((0) & 255) << 2)),
{(void*) boxptr_ExpressionSolve_solveSimple,0}};
485#define boxvar_ExpressionSolve_solveSimple((void*)((char*)(&(boxvar_lit_ExpressionSolve_solveSimple
).header) + 3))
MMC_REFSTRUCTLIT(boxvar_lit_ExpressionSolve_solveSimple)((void*)((char*)(&(boxvar_lit_ExpressionSolve_solveSimple
).header) + 3))
486PROTECTED_FUNCTION_STATIC modelica_metatype omc_ExpressionSolve_solveWork(threadData_t *threadData, modelica_metatype _inExp1, modelica_metatype _inExp2, modelica_metatype _inExp3, modelica_metatype _functions, modelica_metatype _uniqueEqIndex, modelica_integer _idepth, modelica_boolean _doInline, modelica_boolean _isContinuousIntegration, modelica_metatype *out_outAsserts, modelica_metatype *out_eqnForNewVars, modelica_metatype *out_newVarsCrefs, modelica_integer *out_depth);
487PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_ExpressionSolve_solveWork(threadData_t *threadData, modelica_metatype _inExp1, modelica_metatype _inExp2, modelica_metatype _inExp3, modelica_metatype _functions, modelica_metatype _uniqueEqIndex, modelica_metatype _idepth, modelica_metatype _doInline, modelica_metatype _isContinuousIntegration, modelica_metatype *out_outAsserts, modelica_metatype *out_eqnForNewVars, modelica_metatype *out_newVarsCrefs, modelica_metatype *out_depth);
488static const MMC_DEFSTRUCTLIT(boxvar_lit_ExpressionSolve_solveWork,2,0)struct { mmc_uint_t header; const void *data[2]; } boxvar_lit_ExpressionSolve_solveWork
= { (((2) << 10) + (((0) & 255) << 2)),
{(void*) boxptr_ExpressionSolve_solveWork,0}};
489#define boxvar_ExpressionSolve_solveWork((void*)((char*)(&(boxvar_lit_ExpressionSolve_solveWork).
header) + 3))
MMC_REFSTRUCTLIT(boxvar_lit_ExpressionSolve_solveWork)((void*)((char*)(&(boxvar_lit_ExpressionSolve_solveWork).
header) + 3))
490PROTECTED_FUNCTION_STATIC modelica_metatype omc_ExpressionSolve_solveSimpleEquationsWork(threadData_t *threadData, modelica_metatype _D_24in_eqn, modelica_metatype _var, modelica_metatype _shared, modelica_boolean *out_solved);
491PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_ExpressionSolve_solveSimpleEquationsWork(threadData_t *threadData, modelica_metatype _D_24in_eqn, modelica_metatype _var, modelica_metatype _shared, modelica_metatype *out_solved);
492static const MMC_DEFSTRUCTLIT(boxvar_lit_ExpressionSolve_solveSimpleEquationsWork,2,0)struct { mmc_uint_t header; const void *data[2]; } boxvar_lit_ExpressionSolve_solveSimpleEquationsWork
= { (((2) << 10) + (((0) & 255) << 2)),
{(void*) boxptr_ExpressionSolve_solveSimpleEquationsWork,0}};
493#define boxvar_ExpressionSolve_solveSimpleEquationsWork((void*)((char*)(&(boxvar_lit_ExpressionSolve_solveSimpleEquationsWork
).header) + 3))
MMC_REFSTRUCTLIT(boxvar_lit_ExpressionSolve_solveSimpleEquationsWork)((void*)((char*)(&(boxvar_lit_ExpressionSolve_solveSimpleEquationsWork
).header) + 3))
494
495PROTECTED_FUNCTION_STATIC modelica_metatype omc_ExpressionSolve_absDiff(threadData_t *threadData, modelica_metatype _x, modelica_metatype _y, modelica_metatype _tp)
496{
497 modelica_metatype _z = NULL((void*)0);
498 modelica_metatype tmpMeta[1] __attribute__((unused)) = {0};
499 MMC_SO()mmc_check_stackoverflow(threadData);
500 _tailrecursive: OMC_LABEL_UNUSED__attribute__((unused))
501 // _z has no default value.
502#line 2115 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/ExpressionSolve.mo"
503 _z = omc_Expression_expSub(threadData, _x, _y);
504#line 504 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/ExpressionSolve.c"
505
506#line 2116 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/ExpressionSolve.mo"
507 tmpMeta[0] = mmc_mk_cons(_z, MMC_REFSTRUCTLIT(mmc_nil)((void*)((char*)(&(mmc_nil).header) + 3)));
508#line 2116 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/ExpressionSolve.mo"
509 _z = omc_Expression_makePureBuiltinCall(threadData, _OMC_LIT0((void*)((char*)(&(_OMC_LIT_STRUCT0).header) + 3)), tmpMeta[0], _tp);
510#line 510 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/ExpressionSolve.c"
511 _return: OMC_LABEL_UNUSED__attribute__((unused))
512 return _z;
513}
514
515PROTECTED_FUNCTION_STATIC modelica_metatype omc_ExpressionSolve_helpInvCos3(threadData_t *threadData, modelica_metatype _x1, modelica_metatype _x2, modelica_metatype _x, modelica_metatype _tp)
516{
517 modelica_metatype _y = NULL((void*)0);
518 modelica_metatype _diffx1 = NULL((void*)0);
519 modelica_metatype _diffx2 = NULL((void*)0);
520 modelica_metatype _con = NULL((void*)0);
521 modelica_metatype tmpMeta[3] __attribute__((unused)) = {0};
522 MMC_SO()mmc_check_stackoverflow(threadData);
523 _tailrecursive: OMC_LABEL_UNUSED__attribute__((unused))
524 // _y has no default value.
525 _diffx1 = omc_ExpressionSolve_absDiff(threadData, _x1, _x, _tp);
526 _diffx2 = omc_ExpressionSolve_absDiff(threadData, _x2, _x, _tp);
527 tmpMeta[0] = mmc_mk_box2(28, &DAE_Operator_LESS__desc, _tp);
528 tmpMeta[1] = mmc_mk_box6(14, &DAE_Exp_RELATION__desc, _diffx1, tmpMeta[0], _diffx2, mmc_mk_integermmc_mk_icon(((modelica_integer) -1)), mmc_mk_none()((void*)((char*)(&(mmc_none).header) + 3)));
529 _con = tmpMeta[1];
530#line 2105 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/ExpressionSolve.mo"
531 _con = omc_Expression_makeNoEvent(threadData, _con);
532#line 532 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/ExpressionSolve.c"
533
534#line 2106 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/ExpressionSolve.mo"
535 tmpMeta[2] = mmc_mk_box4(15, &DAE_Exp_IFEXP__desc, _con, _x1, _x2);
536#line 2106 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/ExpressionSolve.mo"
537 _y = tmpMeta[2];
538#line 538 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/ExpressionSolve.c"
539 _return: OMC_LABEL_UNUSED__attribute__((unused))
540 return _y;
541}
542
543PROTECTED_FUNCTION_STATIC modelica_metatype omc_ExpressionSolve_helpInvSin2(threadData_t *threadData, modelica_metatype _k, modelica_metatype _asiny, modelica_metatype _tp, modelica_boolean _neg)
544{
545 modelica_metatype _x = NULL((void*)0);
546 modelica_metatype _pi2 = NULL((void*)0);
547 modelica_metatype _p = NULL((void*)0);
548 modelica_metatype _e = NULL((void*)0);
549 MMC_SO()mmc_check_stackoverflow(threadData);
550 _tailrecursive: OMC_LABEL_UNUSED__attribute__((unused))
551 // _x has no default value.
552 _pi2 = _OMC_LIT2((void*)((char*)(&(_OMC_LIT_STRUCT2).header) + 3));
553 _p = _OMC_LIT4((void*)((char*)(&(_OMC_LIT_STRUCT4).header) + 3));
554 // _e has no default value.
555#line 2088 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/ExpressionSolve.mo"
556 _x = (_neg?omc_Expression_negate(threadData, _asiny):_asiny);
557#line 557 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/ExpressionSolve.c"
558
559#line 2089 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/ExpressionSolve.mo"
560 _e = (_neg?omc_Expression_expAdd(threadData, omc_Expression_expMul(threadData, _k, _pi2), _p):omc_Expression_expMul(threadData, _k, _pi2));
561#line 561 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/ExpressionSolve.c"
562
563#line 2090 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/ExpressionSolve.mo"
564 _x = omc_Expression_expAdd(threadData, _x, _e);
565#line 565 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/ExpressionSolve.c"
566 _return: OMC_LABEL_UNUSED__attribute__((unused))
567 return _x;
568}
569PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_ExpressionSolve_helpInvSin2(threadData_t *threadData, modelica_metatype _k, modelica_metatype _asiny, modelica_metatype _tp, modelica_metatype _neg)
570{
571 modelica_integer tmp1;
572 modelica_metatype _x = NULL((void*)0);
573 tmp1 = mmc_unbox_integer(_neg)(((mmc_sint_t) (_neg)) >> 1);
574 _x = omc_ExpressionSolve_helpInvSin2(threadData, _k, _asiny, _tp, tmp1);
575 /* skip box _x; DAE.Exp */
576 return _x;
577}
578
579PROTECTED_FUNCTION_STATIC modelica_metatype omc_ExpressionSolve_helpInvCos2(threadData_t *threadData, modelica_metatype _k, modelica_metatype _acosy, modelica_metatype _tp, modelica_boolean _neg)
580{
581 modelica_metatype _x = NULL((void*)0);
582 modelica_metatype _pi2 = NULL((void*)0);
583 MMC_SO()mmc_check_stackoverflow(threadData);
584 _tailrecursive: OMC_LABEL_UNUSED__attribute__((unused))
585 // _x has no default value.
586 _pi2 = _OMC_LIT2((void*)((char*)(&(_OMC_LIT_STRUCT2).header) + 3));
587#line 2071 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/ExpressionSolve.mo"
588 _x = (_neg?omc_Expression_negate(threadData, _acosy):_acosy);
589#line 589 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/ExpressionSolve.c"
590
591#line 2072 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/ExpressionSolve.mo"
592 _x = omc_Expression_expAdd(threadData, _x, omc_Expression_expMul(threadData, _k, _pi2));
593#line 593 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/ExpressionSolve.c"
594 _return: OMC_LABEL_UNUSED__attribute__((unused))
595 return _x;
596}
597PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_ExpressionSolve_helpInvCos2(threadData_t *threadData, modelica_metatype _k, modelica_metatype _acosy, modelica_metatype _tp, modelica_metatype _neg)
598{
599 modelica_integer tmp1;
600 modelica_metatype _x = NULL((void*)0);
601 tmp1 = mmc_unbox_integer(_neg)(((mmc_sint_t) (_neg)) >> 1);
602 _x = omc_ExpressionSolve_helpInvCos2(threadData, _k, _acosy, _tp, tmp1);
603 /* skip box _x; DAE.Exp */
604 return _x;
605}
606
607PROTECTED_FUNCTION_STATIC modelica_metatype omc_ExpressionSolve_helpInvSin(threadData_t *threadData, modelica_metatype _asiny, modelica_metatype _x, modelica_metatype _tp, modelica_boolean _neg)
608{
609 modelica_metatype _k = NULL((void*)0);
610 modelica_metatype _pi2 = NULL((void*)0);
611 modelica_metatype tmpMeta[1] __attribute__((unused)) = {0};
612 MMC_SO()mmc_check_stackoverflow(threadData);
613 _tailrecursive: OMC_LABEL_UNUSED__attribute__((unused))
614 // _k has no default value.
615 _pi2 = _OMC_LIT2((void*)((char*)(&(_OMC_LIT_STRUCT2).header) + 3));
616#line 2050 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/ExpressionSolve.mo"
617 _k = (_neg?omc_Expression_expAdd(threadData, _x, _asiny):omc_Expression_expSub(threadData, _x, _asiny));
618#line 618 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/ExpressionSolve.c"
619
620#line 2054 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/ExpressionSolve.mo"
621 _k = omc_Expression_makeDiv(threadData, _k, _pi2);
622#line 622 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/ExpressionSolve.c"
623
624#line 2055 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/ExpressionSolve.mo"
625 if(_neg)
626#line 2055 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/ExpressionSolve.mo"
627 {
628#line 2056 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/ExpressionSolve.mo"
629 _k = omc_Expression_expSub(threadData, _k, _OMC_LIT6((void*)((char*)(&(_OMC_LIT_STRUCT6).header) + 3)));
630#line 630 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/ExpressionSolve.c"
631 }
632
633#line 2058 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/ExpressionSolve.mo"
634 tmpMeta[0] = mmc_mk_cons(_k, MMC_REFSTRUCTLIT(mmc_nil)((void*)((char*)(&(mmc_nil).header) + 3)));
635#line 2058 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/ExpressionSolve.mo"
636 _k = omc_Expression_makePureBuiltinCall(threadData, _OMC_LIT7((void*)((char*)(&(_OMC_LIT_STRUCT7).header) + 3)), tmpMeta[0], _tp);
637#line 637 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/ExpressionSolve.c"
638 _return: OMC_LABEL_UNUSED__attribute__((unused))
639 return _k;
640}
641PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_ExpressionSolve_helpInvSin(threadData_t *threadData, modelica_metatype _asiny, modelica_metatype _x, modelica_metatype _tp, modelica_metatype _neg)
642{
643 modelica_integer tmp1;
644 modelica_metatype _k = NULL((void*)0);
645 tmp1 = mmc_unbox_integer(_neg)(((mmc_sint_t) (_neg)) >> 1);
646 _k = omc_ExpressionSolve_helpInvSin(threadData, _asiny, _x, _tp, tmp1);
647 /* skip box _k; DAE.Exp */
648 return _k;
649}
650
651PROTECTED_FUNCTION_STATIC modelica_metatype omc_ExpressionSolve_helpInvCos(threadData_t *threadData, modelica_metatype _acosy, modelica_metatype _x, modelica_metatype _tp, modelica_boolean _neg)
652{
653 modelica_metatype _k = NULL((void*)0);
654 modelica_metatype _pi2 = NULL((void*)0);
655 modelica_metatype tmpMeta[1] __attribute__((unused)) = {0};
656 MMC_SO()mmc_check_stackoverflow(threadData);
657 _tailrecursive: OMC_LABEL_UNUSED__attribute__((unused))
658 // _k has no default value.
659 _pi2 = _OMC_LIT2((void*)((char*)(&(_OMC_LIT_STRUCT2).header) + 3));
660#line 2032 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/ExpressionSolve.mo"
661 _k = (_neg?omc_Expression_expAdd(threadData, _x, _acosy):omc_Expression_expSub(threadData, _x, _acosy));
662#line 662 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/ExpressionSolve.c"
663
664#line 2036 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/ExpressionSolve.mo"
665 _k = omc_Expression_makeDiv(threadData, _k, _pi2);
666#line 666 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/ExpressionSolve.c"
667
668#line 2037 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/ExpressionSolve.mo"
669 tmpMeta[0] = mmc_mk_cons(_k, MMC_REFSTRUCTLIT(mmc_nil)((void*)((char*)(&(mmc_nil).header) + 3)));
670#line 2037 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/ExpressionSolve.mo"
671 _k = omc_Expression_makePureBuiltinCall(threadData, _OMC_LIT7((void*)((char*)(&(_OMC_LIT_STRUCT7).header) + 3)), tmpMeta[0], _tp);
672#line 672 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/ExpressionSolve.c"
673 _return: OMC_LABEL_UNUSED__attribute__((unused))
674 return _k;
675}
676PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_ExpressionSolve_helpInvCos(threadData_t *threadData, modelica_metatype _acosy, modelica_metatype _x, modelica_metatype _tp, modelica_metatype _neg)
677{
678 modelica_integer tmp1;
679 modelica_metatype _k = NULL((void*)0);
680 tmp1 = mmc_unbox_integer(_neg)(((mmc_sint_t) (_neg)) >> 1);
681 _k = omc_ExpressionSolve_helpInvCos(threadData, _acosy, _x, _tp, tmp1);
682 /* skip box _k; DAE.Exp */
683 return _k;
684}
685
686PROTECTED_FUNCTION_STATIC modelica_metatype omc_ExpressionSolve_makeInitialGuess3(threadData_t *threadData, modelica_metatype _iExp, modelica_metatype _tp)
687{
688 modelica_metatype _oExp = NULL((void*)0);
689 modelica_metatype tmpMeta[6] __attribute__((unused)) = {0};
690 MMC_SO()mmc_check_stackoverflow(threadData);
691 _tailrecursive: OMC_LABEL_UNUSED__attribute__((unused))
692 // _oExp has no default value.
693#line 693 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/ExpressionSolve.c"
694 { /* match expression */
695 modelica_metatype tmp3_1;
696 tmp3_1 = _iExp;
697 {
698 modelica_metatype _e = NULL((void*)0);
699 modelica_metatype _con = NULL((void*)0);
700 modelica_metatype _o = NULL((void*)0);
701 volatile mmc_switch_type tmp3;
702 int tmp4;
703 // _e has no default value.
704 // _con has no default value.
705 // _o has no default value.
706 tmp3 = 0;
707 for (; tmp3 < 5; tmp3++) {
708 switch (MMC_SWITCH_CAST(tmp3)(tmp3)) {
709 case 0: {
710 if (mmc__uniontype__metarecord__typedef__equal(tmp3_1,13,3)((*(mmc_uint_t*)((void*)((char*)(tmp3_1) - 3)))==(((3 +1) <<
10) + (((13 +3) & 255) << 2)))
== 0) goto tmp2_end;
711 tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_1), 2))(*(void**)(((void*)((void**)(((void*)((char*)(tmp3_1) - 3))) +
(2)))))
;
712 if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[1],1,1)((*(mmc_uint_t*)((void*)((char*)(tmpMeta[1]) - 3)))==(((1 +1)
<< 10) + (((1 +3) & 255) << 2)))
== 0) goto tmp2_end;
713 tmpMeta[2] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[1]), 2))(*(void**)(((void*)((void**)(((void*)((char*)(tmpMeta[1]) - 3
))) + (2)))))
;
714 if (3 != MMC_STRLEN(tmpMeta[2])(((((*(mmc_uint_t*)((void*)((char*)(tmpMeta[2]) - 3)))) >>
(3)) - 8))
|| strcmp(MMC_STRINGDATA(_OMC_LIT14)(((struct mmc_string*)((void*)((char*)(((void*)((char*)(&
(_OMC_LIT_STRUCT14).header) + 3))) - 3)))->data)
, MMC_STRINGDATA(tmpMeta[2])(((struct mmc_string*)((void*)((char*)(tmpMeta[2]) - 3)))->
data)
) != 0) goto tmp2_end;
715 tmpMeta[3] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_1), 3))(*(void**)(((void*)((void**)(((void*)((char*)(tmp3_1) - 3))) +
(3)))))
;
716 if (listEmpty(tmpMeta[3])((*(mmc_uint_t*)((void*)((char*)(tmpMeta[3]) - 3))) == (((0) <<
10) + (((0) & 255) << 2)))
) goto tmp2_end;
717 tmpMeta[4] = MMC_CAR(tmpMeta[3])(*(void**)(((void*)((void**)(((void*)((char*)(tmpMeta[3]) - 3
))) + (1)))))
;
718 tmpMeta[5] = MMC_CDR(tmpMeta[3])(*(void**)(((void*)((void**)(((void*)((char*)(tmpMeta[3]) - 3
))) + (2)))))
;
719 if (!listEmpty(tmpMeta[5])((*(mmc_uint_t*)((void*)((char*)(tmpMeta[5]) - 3))) == (((0) <<
10) + (((0) & 255) << 2)))
) goto tmp2_end;
720
721 _e = tmpMeta[4];
722 /* Pattern matching succeeded */
723#line 1995 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/ExpressionSolve.mo"
724 tmpMeta[1] = mmc_mk_box2(29, &DAE_Operator_LESSEQ__desc, _tp);
725#line 1995 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/ExpressionSolve.mo"
726 tmpMeta[2] = mmc_mk_box6(14, &DAE_Exp_RELATION__desc, _e, tmpMeta[1], _OMC_LIT9((void*)((char*)(&(_OMC_LIT_STRUCT9).header) + 3)), mmc_mk_integermmc_mk_icon(((modelica_integer) -1)), mmc_mk_none()((void*)((char*)(&(mmc_none).header) + 3)));
727#line 1995 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/ExpressionSolve.mo"
728 _con = tmpMeta[2];
729#line 729 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/ExpressionSolve.c"
730
731#line 1996 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/ExpressionSolve.mo"
732 tmpMeta[1] = mmc_mk_box4(15, &DAE_Exp_IFEXP__desc, _con, _OMC_LIT11((void*)((char*)(&(_OMC_LIT_STRUCT11).header) + 3)), _iExp);
733#line 1996 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/ExpressionSolve.mo"
734 _o = tmpMeta[1];
735#line 735 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/ExpressionSolve.c"
736#line 1997 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/ExpressionSolve.mo"
737 tmpMeta[0] = mmc_mk_some(_o);
738#line 738 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/ExpressionSolve.c"
739 goto tmp2_done;
740 }
741 case 1: {
742 if (mmc__uniontype__metarecord__typedef__equal(tmp3_1,13,3)((*(mmc_uint_t*)((void*)((char*)(tmp3_1) - 3)))==(((3 +1) <<
10) + (((13 +3) & 255) << 2)))
== 0) goto tmp2_end;
743 tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_1), 2))(*(void**)(((void*)((void**)(((void*)((char*)(tmp3_1) - 3))) +
(2)))))
;
744 if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[1],1,1)((*(mmc_uint_t*)((void*)((char*)(tmpMeta[1]) - 3)))==(((1 +1)
<< 10) + (((1 +3) & 255) << 2)))
== 0) goto tmp2_end;
745 tmpMeta[2] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[1]), 2))(*(void**)(((void*)((void**)(((void*)((char*)(tmpMeta[1]) - 3
))) + (2)))))
;
746 if (5 != MMC_STRLEN(tmpMeta[2])(((((*(mmc_uint_t*)((void*)((char*)(tmpMeta[2]) - 3)))) >>
(3)) - 8))
|| strcmp(MMC_STRINGDATA(_OMC_LIT15)(((struct mmc_string*)((void*)((char*)(((void*)((char*)(&
(_OMC_LIT_STRUCT15).header) + 3))) - 3)))->data)
, MMC_STRINGDATA(tmpMeta[2])(((struct mmc_string*)((void*)((char*)(tmpMeta[2]) - 3)))->
data)
) != 0) goto tmp2_end;
747 tmpMeta[3] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_1), 3))(*(void**)(((void*)((void**)(((void*)((char*)(tmp3_1) - 3))) +
(3)))))
;
748 if (listEmpty(tmpMeta[3])((*(mmc_uint_t*)((void*)((char*)(tmpMeta[3]) - 3))) == (((0) <<
10) + (((0) & 255) << 2)))
) goto tmp2_end;
749 tmpMeta[4] = MMC_CAR(tmpMeta[3])(*(void**)(((void*)((void**)(((void*)((char*)(tmpMeta[3]) - 3
))) + (1)))))
;
750 tmpMeta[5] = MMC_CDR(tmpMeta[3])(*(void**)(((void*)((void**)(((void*)((char*)(tmpMeta[3]) - 3
))) + (2)))))
;
751 if (!listEmpty(tmpMeta[5])((*(mmc_uint_t*)((void*)((char*)(tmpMeta[5]) - 3))) == (((0) <<
10) + (((0) & 255) << 2)))
) goto tmp2_end;
752
753 _e = tmpMeta[4];
754 /* Pattern matching succeeded */
755#line 2001 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/ExpressionSolve.mo"
756 tmpMeta[1] = mmc_mk_box2(29, &DAE_Operator_LESSEQ__desc, _tp);
757#line 2001 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/ExpressionSolve.mo"
758 tmpMeta[2] = mmc_mk_box6(14, &DAE_Exp_RELATION__desc, _e, tmpMeta[1], _OMC_LIT9((void*)((char*)(&(_OMC_LIT_STRUCT9).header) + 3)), mmc_mk_integermmc_mk_icon(((modelica_integer) -1)), mmc_mk_none()((void*)((char*)(&(mmc_none).header) + 3)));
759#line 2001 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/ExpressionSolve.mo"
760 _con = tmpMeta[2];
761#line 761 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/ExpressionSolve.c"
762
763#line 2002 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/ExpressionSolve.mo"
764 tmpMeta[1] = mmc_mk_box4(15, &DAE_Exp_IFEXP__desc, _con, _OMC_LIT11((void*)((char*)(&(_OMC_LIT_STRUCT11).header) + 3)), _iExp);
765#line 2002 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/ExpressionSolve.mo"
766 _o = tmpMeta[1];
767#line 767 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/ExpressionSolve.c"
768#line 2003 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/ExpressionSolve.mo"
769 tmpMeta[0] = mmc_mk_some(_o);
770#line 770 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/ExpressionSolve.c"
771 goto tmp2_done;
772 }
773 case 2: {
774 if (mmc__uniontype__metarecord__typedef__equal(tmp3_1,13,3)((*(mmc_uint_t*)((void*)((char*)(tmp3_1) - 3)))==(((3 +1) <<
10) + (((13 +3) & 255) << 2)))
== 0) goto tmp2_end;
775 tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_1), 2))(*(void**)(((void*)((void**)(((void*)((char*)(tmp3_1) - 3))) +
(2)))))
;
776 if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[1],1,1)((*(mmc_uint_t*)((void*)((char*)(tmpMeta[1]) - 3)))==(((1 +1)
<< 10) + (((1 +3) & 255) << 2)))
== 0) goto tmp2_end;
777 tmpMeta[2] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[1]), 2))(*(void**)(((void*)((void**)(((void*)((char*)(tmpMeta[1]) - 3
))) + (2)))))
;
778 if (4 != MMC_STRLEN(tmpMeta[2])(((((*(mmc_uint_t*)((void*)((char*)(tmpMeta[2]) - 3)))) >>
(3)) - 8))
|| strcmp(MMC_STRINGDATA(_OMC_LIT16)(((struct mmc_string*)((void*)((char*)(((void*)((char*)(&
(_OMC_LIT_STRUCT16).header) + 3))) - 3)))->data)
, MMC_STRINGDATA(tmpMeta[2])(((struct mmc_string*)((void*)((char*)(tmpMeta[2]) - 3)))->
data)
) != 0) goto tmp2_end;
779 tmpMeta[3] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_1), 3))(*(void**)(((void*)((void**)(((void*)((char*)(tmp3_1) - 3))) +
(3)))))
;
780 if (listEmpty(tmpMeta[3])((*(mmc_uint_t*)((void*)((char*)(tmpMeta[3]) - 3))) == (((0) <<
10) + (((0) & 255) << 2)))
) goto tmp2_end;
781 tmpMeta[4] = MMC_CAR(tmpMeta[3])(*(void**)(((void*)((void**)(((void*)((char*)(tmpMeta[3]) - 3
))) + (1)))))
;
782 tmpMeta[5] = MMC_CDR(tmpMeta[3])(*(void**)(((void*)((void**)(((void*)((char*)(tmpMeta[3]) - 3
))) + (2)))))
;
783 if (!listEmpty(tmpMeta[5])((*(mmc_uint_t*)((void*)((char*)(tmpMeta[5]) - 3))) == (((0) <<
10) + (((0) & 255) << 2)))
) goto tmp2_end;
784
785 _e = tmpMeta[4];
786 /* Pattern matching succeeded */
787#line 2007 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/ExpressionSolve.mo"
788 tmpMeta[1] = mmc_mk_box2(29, &DAE_Operator_LESSEQ__desc, _tp);
789#line 2007 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/ExpressionSolve.mo"
790 tmpMeta[2] = mmc_mk_box6(14, &DAE_Exp_RELATION__desc, _e, tmpMeta[1], _OMC_LIT9((void*)((char*)(&(_OMC_LIT_STRUCT9).header) + 3)), mmc_mk_integermmc_mk_icon(((modelica_integer) -1)), mmc_mk_none()((void*)((char*)(&(mmc_none).header) + 3)));
791#line 2007 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/ExpressionSolve.mo"
792 _con = tmpMeta[2];
793#line 793 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/ExpressionSolve.c"
794
795#line 2008 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/ExpressionSolve.mo"
796 tmpMeta[1] = mmc_mk_box4(15, &DAE_Exp_IFEXP__desc, _con, _OMC_LIT9((void*)((char*)(&(_OMC_LIT_STRUCT9).header) + 3)), _iExp);
797#line 2008 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/ExpressionSolve.mo"
798 _o = tmpMeta[1];
799#line 799 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/ExpressionSolve.c"
800#line 2009 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/ExpressionSolve.mo"
801 tmpMeta[0] = mmc_mk_some(_o);
802#line 802 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/ExpressionSolve.c"
803 goto tmp2_done;
804 }
805 case 3: {
806 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;
807 tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_1), 4))(*(void**)(((void*)((void**)(((void*)((char*)(tmp3_1) - 3))) +
(4)))))
;
808 _e = tmpMeta[1];
809 /* Pattern matching succeeded */
810#line 2013 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/ExpressionSolve.mo"
811 tmpMeta[1] = mmc_mk_box2(32, &DAE_Operator_EQUAL__desc, _tp);
812#line 2013 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/ExpressionSolve.mo"
813 tmpMeta[2] = mmc_mk_box6(14, &DAE_Exp_RELATION__desc, _e, tmpMeta[1], _OMC_LIT9((void*)((char*)(&(_OMC_LIT_STRUCT9).header) + 3)), mmc_mk_integermmc_mk_icon(((modelica_integer) -1)), mmc_mk_none()((void*)((char*)(&(mmc_none).header) + 3)));
814#line 2013 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/ExpressionSolve.mo"
815 _con = tmpMeta[2];
816#line 816 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/ExpressionSolve.c"
817
818#line 2014 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/ExpressionSolve.mo"
819 tmpMeta[1] = mmc_mk_box4(15, &DAE_Exp_IFEXP__desc, _con, _OMC_LIT13((void*)((char*)(&(_OMC_LIT_STRUCT13).header) + 3)), _iExp);
820#line 2014 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/ExpressionSolve.mo"
821 _o = tmpMeta[1];
822#line 822 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/ExpressionSolve.c"
823#line 2015 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/ExpressionSolve.mo"
824 tmpMeta[0] = mmc_mk_some(_o);
825#line 825 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/ExpressionSolve.c"
826 goto tmp2_done;
827 }
828 case 4: {
829
830 /* Pattern matching succeeded */
831#line 2017 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/ExpressionSolve.mo"
832 tmpMeta[0] = mmc_mk_none()((void*)((char*)(&(mmc_none).header) + 3));
833#line 833 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/ExpressionSolve.c"
834 goto tmp2_done;
835 }
836 }
837 goto tmp2_end;
838 tmp2_end: ;
839 }
840 goto goto_1;
841 goto_1:;
842 MMC_THROW_INTERNAL(){longjmp(*threadData->mmc_jumper,1);};
843 goto tmp2_done;
844 tmp2_done:;
845 }
846 }
847 _oExp = tmpMeta[0];
848 _return: OMC_LABEL_UNUSED__attribute__((unused))
849 return _oExp;
850}
851
852PROTECTED_FUNCTION_STATIC modelica_metatype omc_ExpressionSolve_makeInitialGuess2(threadData_t *threadData, modelica_metatype _iExp, modelica_metatype _itpl, modelica_metatype *out_otpl)
853{
854 modelica_metatype _oExp = NULL((void*)0);
855 modelica_metatype _otpl = NULL((void*)0);
856 modelica_metatype tmpMeta[6] __attribute__((unused)) = {0};
857 MMC_SO()mmc_check_stackoverflow(threadData);
858 _tailrecursive: OMC_LABEL_UNUSED__attribute__((unused))
859 // _oExp has no default value.
860 _otpl = _itpl;
861#line 861 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/ExpressionSolve.c"
862 { /* match expression */
863 modelica_metatype tmp3_1;modelica_metatype tmp3_2;
864 tmp3_1 = _iExp;
865 tmp3_2 = _itpl;
866 {
867 modelica_metatype _cr1 = NULL((void*)0);
868 modelica_metatype _cr2 = NULL((void*)0);
869 modelica_metatype _tp = NULL((void*)0);
870 modelica_string _fun = NULL((void*)0);
871 modelica_metatype _e = NULL((void*)0);
872 volatile mmc_switch_type tmp3;
873 int tmp4;
874 // _cr1 has no default value.
875 // _cr2 has no default value.
876 // _tp has no default value.
877 // _fun has no default value.
878 // _e has no default value.
879 tmp3 = 0;
880 for (; tmp3 < 3; tmp3++) {
881 switch (MMC_SWITCH_CAST(tmp3)(tmp3)) {
882 case 0: {
883 if (mmc__uniontype__metarecord__typedef__equal(tmp3_1,6,2)((*(mmc_uint_t*)((void*)((char*)(tmp3_1) - 3)))==(((2 +1) <<
10) + (((6 +3) & 255) << 2)))
== 0) goto tmp2_end;
884 tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_1), 2))(*(void**)(((void*)((void**)(((void*)((char*)(tmp3_1) - 3))) +
(2)))))
;
885 tmpMeta[2] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_2), 1))(*(void**)(((void*)((void**)(((void*)((char*)(tmp3_2) - 3))) +
(1)))))
;
886 if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[2],6,2)((*(mmc_uint_t*)((void*)((char*)(tmpMeta[2]) - 3)))==(((2 +1)
<< 10) + (((6 +3) & 255) << 2)))
== 0) goto tmp2_end;
887 tmpMeta[3] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[2]), 2))(*(void**)(((void*)((void**)(((void*)((char*)(tmpMeta[2]) - 3
))) + (2)))))
;
888 tmpMeta[4] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_2), 2))(*(void**)(((void*)((void**)(((void*)((char*)(tmp3_2) - 3))) +
(2)))))
;
889 tmpMeta[5] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_2), 3))(*(void**)(((void*)((void**)(((void*)((char*)(tmp3_2) - 3))) +
(3)))))
;
890
891 _cr1 = tmpMeta[1];
892 _cr2 = tmpMeta[3];
893 _fun = tmpMeta[4];
894 _tp = tmpMeta[5];
895 /* Pattern matching succeeded */
896 /* Check guard condition after assignments */
897 if (!omc_ComponentReference_crefEqual(threadData, _cr1, _cr2)) goto tmp2_end;
898#line 1970 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/ExpressionSolve.mo"
899 tmpMeta[1] = mmc_mk_cons(_iExp, MMC_REFSTRUCTLIT(mmc_nil)((void*)((char*)(&(mmc_nil).header) + 3)));
900#line 1970 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/ExpressionSolve.mo"
901 tmpMeta[0] = omc_Expression_makePureBuiltinCall(threadData, _fun, tmpMeta[1], _tp);
902#line 902 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/ExpressionSolve.c"
903 goto tmp2_done;
904 }
905 case 1: {
906 modelica_integer tmp5;
907 tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_2), 3))(*(void**)(((void*)((void**)(((void*)((char*)(tmp3_2) - 3))) +
(3)))))
;
908 tmpMeta[2] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_2), 4))(*(void**)(((void*)((void**)(((void*)((char*)(tmp3_2) - 3))) +
(4)))))
;
909 tmp5 = mmc_unbox_integer(tmpMeta[2])(((mmc_sint_t) (tmpMeta[2])) >> 1);
910 if (1 != tmp5) goto tmp2_end;
911
912 _tp = tmpMeta[1];
913 /* Pattern matching succeeded */
914#line 914 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/ExpressionSolve.c"
915 { /* matchcontinue expression */
916 {
917 volatile mmc_switch_type tmp8;
918 int tmp9;
919 tmp8 = 0;
920 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) {
921 tmp7_top:
922 threadData->mmc_jumper = &new_mmc_jumper;
923 for (; tmp8 < 2; tmp8++) {
924 switch (MMC_SWITCH_CAST(tmp8)(tmp8)) {
925 case 0: {
926 /* Pattern matching succeeded */
927#line 1975 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/ExpressionSolve.mo"
928 /* Pattern-matching assignment */
929#line 1975 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/ExpressionSolve.mo"
930 tmpMeta[1] = omc_ExpressionSolve_makeInitialGuess3(threadData, _iExp, _tp);
931#line 1975 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/ExpressionSolve.mo"
932 if (optionNone(tmpMeta[1])(0==((((((*(mmc_uint_t*)((void*)((char*)(tmpMeta[1]) - 3)))) &
(7)) == 5)) ? ((((*(mmc_uint_t*)((void*)((char*)(tmpMeta[1])
- 3)))) >> (3+3))) : (((*(mmc_uint_t*)((void*)((char*)
(tmpMeta[1]) - 3)))) >> 10)) ? 1 : 0)
) goto goto_6;
933#line 1975 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/ExpressionSolve.mo"
934 tmpMeta[2] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[1]), 1))(*(void**)(((void*)((void**)(((void*)((char*)(tmpMeta[1]) - 3
))) + (1)))))
;
935#line 1975 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/ExpressionSolve.mo"
936 _e = tmpMeta[2];
937#line 937 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/ExpressionSolve.c"
938#line 938 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/ExpressionSolve.c"
939 goto tmp7_done;
940 }
941 case 1: {
942 /* Pattern matching succeeded */
943#line 1977 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/ExpressionSolve.mo"
944 _e = _iExp;
945#line 945 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/ExpressionSolve.c"
946#line 946 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/ExpressionSolve.c"
947 goto tmp7_done;
948 }
949 }
950 goto tmp7_end;
951 tmp7_end: ;
952 }
953 goto goto_6;
954 tmp7_done:
955 (void)tmp8;
956 MMC_RESTORE_INTERNAL(mmc_jumper)threadData->mmc_jumper = old_jumper;;
957 goto tmp7_done2;
958 goto_6:;
959 MMC_CATCH_INTERNAL(mmc_jumper)} threadData->mmc_jumper = old_jumper;mmc_catch_dummy_fn()
;}
;
960 if (++tmp8 < 2) {
961 goto tmp7_top;
962 }
963 goto goto_1;
964 tmp7_done2:;
965 }
966 }
967 ;
968#line 1979 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/ExpressionSolve.mo"
969 tmpMeta[0] = _e;
970#line 970 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/ExpressionSolve.c"
971 goto tmp2_done;
972 }
973 case 2: {
974
975 /* Pattern matching succeeded */
976#line 1981 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/ExpressionSolve.mo"
977 tmpMeta[0] = _iExp;
978#line 978 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/ExpressionSolve.c"
979 goto tmp2_done;
980 }
981 }
982 goto tmp2_end;
983 tmp2_end: ;
984 }
985 goto goto_1;
986 goto_1:;
987 MMC_THROW_INTERNAL(){longjmp(*threadData->mmc_jumper,1);};
988 goto tmp2_done;
989 tmp2_done:;
990 }
991 }
992 _oExp = tmpMeta[0];
993 _return: OMC_LABEL_UNUSED__attribute__((unused))
994 if (out_otpl) { *out_otpl = _otpl; }
995 return _oExp;
996}
997
998PROTECTED_FUNCTION_STATIC modelica_metatype omc_ExpressionSolve_makeInitialGuess(threadData_t *threadData, modelica_metatype _tp, modelica_metatype _iExp1, modelica_metatype _iExp2)
999{
1000 modelica_metatype _oExp = NULL((void*)0);
1001 modelica_metatype _con = NULL((void*)0);
1002 modelica_metatype _e = NULL((void*)0);
1003 modelica_metatype tmpMeta[1] __attribute__((unused)) = {0};
1004 MMC_SO()mmc_check_stackoverflow(threadData);
1005 _tailrecursive: OMC_LABEL_UNUSED__attribute__((unused))
1006 // _oExp has no default value.
1007 // _con has no default value.
1008 // _e has no default value.
1009#line 1949 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/ExpressionSolve.mo"
1010 tmpMeta[0] = MMC_REFSTRUCTLIT(mmc_nil)((void*)((char*)(&(mmc_nil).header) + 3));
1011#line 1949 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/ExpressionSolve.mo"
1012 _con = omc_Expression_makePureBuiltinCall(threadData, _OMC_LIT17((void*)((char*)(&(_OMC_LIT_STRUCT17).header) + 3)), tmpMeta[0], _tp);
1013#line 1013 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/ExpressionSolve.c"
1014
1015#line 1950 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/ExpressionSolve.mo"
1016 tmpMeta[0] = mmc_mk_box4(0, _iExp1, _OMC_LIT18((void*)((char*)(&(_OMC_LIT_STRUCT18).header) + 3)), _tp, mmc_mk_boolean(1)((1) != 0 ? (mmc_mk_icon(1)) : (mmc_mk_icon(0))));
1017#line 1950 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/ExpressionSolve.mo"
1018 _e = omc_Expression_traverseExpBottomUp(threadData, _iExp2, boxvar_ExpressionSolve_makeInitialGuess2((void*)((char*)(&(boxvar_lit_ExpressionSolve_makeInitialGuess2
).header) + 3))
, tmpMeta[0], NULL((void*)0));
1019#line 1019 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/ExpressionSolve.c"
1020
1021#line 1951 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/ExpressionSolve.mo"
1022 tmpMeta[0] = mmc_mk_box4(0, _iExp1, _OMC_LIT18((void*)((char*)(&(_OMC_LIT_STRUCT18).header) + 3)), _tp, mmc_mk_boolean(0)((0) != 0 ? (mmc_mk_icon(1)) : (mmc_mk_icon(0))));
1023#line 1951 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/ExpressionSolve.mo"
1024 _oExp = omc_Expression_traverseExpBottomUp(threadData, _iExp2, boxvar_ExpressionSolve_makeInitialGuess2((void*)((char*)(&(boxvar_lit_ExpressionSolve_makeInitialGuess2
).header) + 3))
, tmpMeta[0], NULL((void*)0));
1025#line 1025 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/ExpressionSolve.c"
1026
1027#line 1952 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/ExpressionSolve.mo"
1028 tmpMeta[0] = mmc_mk_box4(15, &DAE_Exp_IFEXP__desc, _con, _e, _oExp);
1029#line 1952 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/ExpressionSolve.mo"
1030 _oExp = tmpMeta[0];
1031#line 1031 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/ExpressionSolve.c"
1032 _return: OMC_LABEL_UNUSED__attribute__((unused))
1033 return _oExp;
1034}
1035
1036PROTECTED_FUNCTION_STATIC modelica_metatype omc_ExpressionSolve_makeTmpEqnAndCrefFromExp(threadData_t *threadData, modelica_metatype _iExp, modelica_metatype _tp, modelica_string _name, modelica_integer _index1, modelica_integer _index2, modelica_metatype _ieqnForNewVars, modelica_metatype _inewVarsCrefs, modelica_boolean _need, modelica_metatype *out_oeqnForNewVars, modelica_metatype *out_onewVarsCrefs)
1037{
1038 modelica_metatype _oExp = NULL((void*)0);
1039 modelica_metatype _oeqnForNewVars = NULL((void*)0);
1040 modelica_metatype _onewVarsCrefs = NULL((void*)0);
1041 modelica_metatype _cr = NULL((void*)0);
1042 modelica_metatype _eqn = NULL((void*)0);
1043 modelica_metatype tmpMeta[6] __attribute__((unused)) = {0};
1044 MMC_SO()mmc_check_stackoverflow(threadData);
1045 _tailrecursive: OMC_LABEL_UNUSED__attribute__((unused))
1046 // _oExp has no default value.
1047 // _oeqnForNewVars has no default value.
1048 // _onewVarsCrefs has no default value.
1049 tmpMeta[0] = stringAppend(_OMC_LIT19((void*)((char*)(&(_OMC_LIT_STRUCT19).header) + 3)),intString(_index1));
1050 tmpMeta[1] = stringAppend(tmpMeta[0],_OMC_LIT20((void*)((char*)(&(_OMC_LIT_STRUCT20).header) + 3)));
1051 tmpMeta[2] = stringAppend(tmpMeta[1],intString(_index2));
1052 tmpMeta[3] = stringAppend(tmpMeta[2],_name);
1053 tmpMeta[4] = MMC_REFSTRUCTLIT(mmc_nil)((void*)((char*)(&(mmc_nil).header) + 3));
1054 _cr = omc_ComponentReference_makeCrefIdent(threadData, tmpMeta[3], _tp, tmpMeta[4]);
1055 // _eqn has no default value.
1056#line 1929 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/ExpressionSolve.mo"
1057 _oExp = omc_ExpressionSimplify_simplify1(threadData, _iExp, NULL((void*)0));
1058#line 1058 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/ExpressionSolve.c"
1059
1060#line 1930 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/ExpressionSolve.mo"
1061 if((_need || (!(omc_Expression_isCref(threadData, _oExp) || omc_Expression_isConst(threadData, _oExp)))))
1062#line 1930 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/ExpressionSolve.mo"
1063 {
1064#line 1931 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/ExpressionSolve.mo"
1065 tmpMeta[5] = mmc_mk_box5(5, &BackendDAE_Equation_SOLVED__EQUATION__desc, _cr, _oExp, _OMC_LIT24((void*)((char*)(&(_OMC_LIT_STRUCT24).header) + 3)), _OMC_LIT27((void*)((char*)(&(_OMC_LIT_STRUCT27).header) + 3)));
1066#line 1931 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/ExpressionSolve.mo"
1067 _eqn = tmpMeta[5];
1068#line 1068 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/ExpressionSolve.c"
1069
1070#line 1932 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/ExpressionSolve.mo"
1071 _oExp = omc_Expression_crefExp(threadData, _cr);
1072#line 1072 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/ExpressionSolve.c"
1073
1074#line 1933 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/ExpressionSolve.mo"
1075 tmpMeta[5] = mmc_mk_cons(_eqn, _ieqnForNewVars);
1076#line 1933 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/ExpressionSolve.mo"
1077 _oeqnForNewVars = tmpMeta[5];
1078#line 1078 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/ExpressionSolve.c"
1079
1080#line 1934 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/ExpressionSolve.mo"
1081 tmpMeta[5] = mmc_mk_cons(_cr, _inewVarsCrefs);
1082#line 1934 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/ExpressionSolve.mo"
1083 _onewVarsCrefs = tmpMeta[5];
1084#line 1084 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/ExpressionSolve.c"
1085 }
1086 else
1087 {
1088#line 1936 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/ExpressionSolve.mo"
1089 _oeqnForNewVars = _ieqnForNewVars;
1090#line 1090 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/ExpressionSolve.c"
1091
1092#line 1937 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/ExpressionSolve.mo"
1093 _onewVarsCrefs = _inewVarsCrefs;
1094#line 1094 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/ExpressionSolve.c"
1095 }
1096 _return: OMC_LABEL_UNUSED__attribute__((unused))
1097 if (out_oeqnForNewVars) { *out_oeqnForNewVars = _oeqnForNewVars; }
1098 if (out_onewVarsCrefs) { *out_onewVarsCrefs = _onewVarsCrefs; }
1099 return _oExp;
1100}
1101PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_ExpressionSolve_makeTmpEqnAndCrefFromExp(threadData_t *threadData, modelica_metatype _iExp, modelica_metatype _tp, modelica_metatype _name, modelica_metatype _index1, modelica_metatype _index2, modelica_metatype _ieqnForNewVars, modelica_metatype _inewVarsCrefs, modelica_metatype _need, modelica_metatype *out_oeqnForNewVars, modelica_metatype *out_onewVarsCrefs)
1102{
1103 modelica_integer tmp1;
1104 modelica_integer tmp2;
1105 modelica_integer tmp3;
1106 modelica_metatype _oExp = NULL((void*)0);
1107 tmp1 = mmc_unbox_integer(_index1)(((mmc_sint_t) (_index1)) >> 1);
1108 tmp2 = mmc_unbox_integer(_index2)(((mmc_sint_t) (_index2)) >> 1);
1109 tmp3 = mmc_unbox_integer(_need)(((mmc_sint_t) (_need)) >> 1);
1110 _oExp = omc_ExpressionSolve_makeTmpEqnAndCrefFromExp(threadData, _iExp, _tp, _name, tmp1, tmp2, _ieqnForNewVars, _inewVarsCrefs, tmp3, out_oeqnForNewVars, out_onewVarsCrefs);
1111 /* skip box _oExp; DAE.Exp */
1112 /* skip box _oeqnForNewVars; list<BackendDAE.Equation> */
1113 /* skip box _onewVarsCrefs; list<DAE.ComponentRef> */
1114 return _oExp;
1115}
1116
1117PROTECTED_FUNCTION_STATIC modelica_metatype omc_ExpressionSolve_makeProductLstSort2(threadData_t *threadData, modelica_metatype _inExpLst, modelica_metatype _tp)
1118{
1119 modelica_metatype _outExp = NULL((void*)0);
1120 modelica_metatype _rest = NULL((void*)0);
1121 modelica_metatype tmpMeta[5] __attribute__((unused)) = {0};
1122 MMC_SO()mmc_check_stackoverflow(threadData);
1123 _tailrecursive: OMC_LABEL_UNUSED__attribute__((unused))
1124 _outExp = omc_Expression_makeConstOne(threadData, _tp);
1125 // _rest has no default value.
1126#line 1900 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/ExpressionSolve.mo"
1127 _rest = omc_ExpressionSimplify_simplifyList(threadData, _inExpLst);
1128#line 1128 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/ExpressionSolve.c"
1129
1130#line 1901 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/ExpressionSolve.mo"
1131 {
1132#line 1901 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/ExpressionSolve.mo"
1133 modelica_metatype _elem;
1134#line 1901 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/ExpressionSolve.mo"
1135 for (tmpMeta[0] = _rest; !listEmpty(tmpMeta[0])((*(mmc_uint_t*)((void*)((char*)(tmpMeta[0]) - 3))) == (((0) <<
10) + (((0) & 255) << 2)))
; tmpMeta[0]=MMC_CDR(tmpMeta[0])(*(void**)(((void*)((void**)(((void*)((char*)(tmpMeta[0]) - 3
))) + (2)))))
)
1136#line 1901 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/ExpressionSolve.mo"
1137 {
1138#line 1901 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/ExpressionSolve.mo"
1139 _elem = MMC_CAR(tmpMeta[0])(*(void**)(((void*)((void**)(((void*)((char*)(tmpMeta[0]) - 3
))) + (1)))))
;
1140#line 1902 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/ExpressionSolve.mo"
1141 if((!omc_Expression_isOne(threadData, _elem)))
1142#line 1902 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/ExpressionSolve.mo"
1143 {
1144#line 1144 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/ExpressionSolve.c"
1145 { /* match expression */
1146 modelica_metatype tmp3_1;
1147 tmp3_1 = _elem;
1148 {
1149 modelica_metatype _e1 = NULL((void*)0);
1150 modelica_metatype _e2 = NULL((void*)0);
1151 modelica_metatype _e3 = NULL((void*)0);
1152 volatile mmc_switch_type tmp3;
1153 int tmp4;
1154 // _e1 has no default value.
1155 // _e2 has no default value.
1156 // _e3 has no default value.
1157 tmp3 = 0;
1158 for (; tmp3 < 2; tmp3++) {
1159 switch (MMC_SWITCH_CAST(tmp3)(tmp3)) {
1160 case 0: {
1161 if (mmc__uniontype__metarecord__typedef__equal(tmp3_1,12,3)((*(mmc_uint_t*)((void*)((char*)(tmp3_1) - 3)))==(((3 +1) <<
10) + (((12 +3) & 255) << 2)))
== 0) goto tmp2_end;
1162 tmpMeta[2] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_1), 2))(*(void**)(((void*)((void**)(((void*)((char*)(tmp3_1) - 3))) +
(2)))))
;
1163 tmpMeta[3] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_1), 3))(*(void**)(((void*)((void**)(((void*)((char*)(tmp3_1) - 3))) +
(3)))))
;
1164 tmpMeta[4] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_1), 4))(*(void**)(((void*)((void**)(((void*)((char*)(tmp3_1) - 3))) +
(4)))))
;
1165 _e1 = tmpMeta[2];
1166 _e2 = tmpMeta[3];
1167 _e3 = tmpMeta[4];
1168 /* Pattern matching succeeded */
1169#line 1906 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/ExpressionSolve.mo"
1170 tmpMeta[2] = mmc_mk_box4(15, &DAE_Exp_IFEXP__desc, _e1, omc_Expression_expMul(threadData, _outExp, _e2), omc_Expression_expMul(threadData, _outExp, _e3));
1171#line 1906 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/ExpressionSolve.mo"
1172 tmpMeta[1] = tmpMeta[2];
1173#line 1173 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/ExpressionSolve.c"
1174 goto tmp2_done;
1175 }
1176 case 1: {
1177
1178 /* Pattern matching succeeded */
1179#line 1907 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/ExpressionSolve.mo"
1180 tmpMeta[1] = omc_Expression_expMul(threadData, _outExp, _elem);
1181#line 1181 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/ExpressionSolve.c"
1182 goto tmp2_done;
1183 }
1184 }
1185 goto tmp2_end;
1186 tmp2_end: ;
1187 }
1188 goto goto_1;
1189 goto_1:;
1190 MMC_THROW_INTERNAL(){longjmp(*threadData->mmc_jumper,1);};
1191 goto tmp2_done;
1192 tmp2_done:;
1193 }
1194 }
1195 _outExp = tmpMeta[1];
1196 }
1197 }
1198 }
1199 _return: OMC_LABEL_UNUSED__attribute__((unused))
1200 return _outExp;
1201}
1202
1203PROTECTED_FUNCTION_STATIC modelica_metatype omc_ExpressionSolve_makeProductLstSort(threadData_t *threadData, modelica_metatype _inExpLst)
1204{
1205 modelica_metatype _outExp = NULL((void*)0);
1206 modelica_metatype _tp = NULL((void*)0);
1207 modelica_metatype _expLstDiv = NULL((void*)0);
1208 modelica_metatype _expLst = NULL((void*)0);
1209 modelica_metatype _expLst2 = NULL((void*)0);
1210 modelica_metatype _e = NULL((void*)0);
1211 modelica_metatype _e1 = NULL((void*)0);
1212 modelica_metatype _e2 = NULL((void*)0);
1213 modelica_metatype _op = NULL((void*)0);
1214 modelica_metatype tmpMeta[5] __attribute__((unused)) = {0};
1215 MMC_SO()mmc_check_stackoverflow(threadData);
1216 _tailrecursive: OMC_LABEL_UNUSED__attribute__((unused))
1217 // _outExp has no default value.
1218 // _tp has no default value.
1219 // _expLstDiv has no default value.
1220 // _expLst has no default value.
1221 // _expLst2 has no default value.
1222 // _e has no default value.
1223 // _e1 has no default value.
1224 // _e2 has no default value.
1225 // _op has no default value.
1226#line 1857 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/ExpressionSolve.mo"
1227 if(listEmpty(_inExpLst)((*(mmc_uint_t*)((void*)((char*)(_inExpLst) - 3))) == (((0) <<
10) + (((0) & 255) << 2)))
)
1228#line 1857 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/ExpressionSolve.mo"
1229 {
1230#line 1858 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/ExpressionSolve.mo"
1231 _outExp = _OMC_LIT13((void*)((char*)(&(_OMC_LIT_STRUCT13).header) + 3));
1232#line 1232 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/ExpressionSolve.c"
1233
1234#line 1859 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/ExpressionSolve.mo"
1235 goto _return;
1236#line 1236 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/ExpressionSolve.c"
1237 }
1238
1239#line 1862 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/ExpressionSolve.mo"
1240 _tp = omc_Expression_typeof(threadData, listHead(_inExpLst)boxptr_listHead(threadData,_inExpLst));
1241#line 1241 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/ExpressionSolve.c"
1242
1243#line 1864 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/ExpressionSolve.mo"
1244 _expLstDiv = omc_List_splitOnTrue(threadData, _inExpLst, boxvar_Expression_isDivBinary((void*)((char*)(&(boxvar_lit_Expression_isDivBinary).header
) + 3))
,&_expLst);
1245#line 1245 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/ExpressionSolve.c"
1246
1247#line 1865 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/ExpressionSolve.mo"
1248 _outExp = omc_ExpressionSolve_makeProductLstSort2(threadData, _expLst, _tp);
1249#line 1249 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/ExpressionSolve.c"
1250
1251#line 1866 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/ExpressionSolve.mo"
1252 if((!listEmpty(_expLstDiv)((*(mmc_uint_t*)((void*)((char*)(_expLstDiv) - 3))) == (((0) <<
10) + (((0) & 255) << 2)))
))
1253#line 1866 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/ExpressionSolve.mo"
1254 {
1255#line 1867 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/ExpressionSolve.mo"
1256 tmpMeta[0] = MMC_REFSTRUCTLIT(mmc_nil)((void*)((char*)(&(mmc_nil).header) + 3));
1257#line 1867 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/ExpressionSolve.mo"
1258 _expLst2 = tmpMeta[0];
1259#line 1259 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/ExpressionSolve.c"
1260
1261#line 1868 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/ExpressionSolve.mo"
1262 tmpMeta[0] = MMC_REFSTRUCTLIT(mmc_nil)((void*)((char*)(&(mmc_nil).header) + 3));
1263#line 1868 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/ExpressionSolve.mo"
1264 _expLst = tmpMeta[0];
1265#line 1265 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/ExpressionSolve.c"
1266
1267#line 1870 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/ExpressionSolve.mo"
1268 {
1269#line 1870 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/ExpressionSolve.mo"
1270 modelica_metatype _elem;
1271#line 1870 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/ExpressionSolve.mo"
1272 for (tmpMeta[0] = _expLstDiv; !listEmpty(tmpMeta[0])((*(mmc_uint_t*)((void*)((char*)(tmpMeta[0]) - 3))) == (((0) <<
10) + (((0) & 255) << 2)))
; tmpMeta[0]=MMC_CDR(tmpMeta[0])(*(void**)(((void*)((void**)(((void*)((char*)(tmpMeta[0]) - 3
))) + (2)))))
)
1273#line 1870 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/ExpressionSolve.mo"
1274 {
1275#line 1870 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/ExpressionSolve.mo"
1276 _elem = MMC_CAR(tmpMeta[0])(*(void**)(((void*)((void**)(((void*)((char*)(tmpMeta[0]) - 3
))) + (1)))))
;
1277#line 1871 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/ExpressionSolve.mo"
1278 /* Pattern-matching assignment */
1279#line 1871 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/ExpressionSolve.mo"
1280 tmpMeta[1] = _elem;
1281#line 1871 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/ExpressionSolve.mo"
1282 if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[1],7,3)((*(mmc_uint_t*)((void*)((char*)(tmpMeta[1]) - 3)))==(((3 +1)
<< 10) + (((7 +3) & 255) << 2)))
== 0) MMC_THROW_INTERNAL(){longjmp(*threadData->mmc_jumper,1);};
1283#line 1871 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/ExpressionSolve.mo"
1284 tmpMeta[2] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[1]), 2))(*(void**)(((void*)((void**)(((void*)((char*)(tmpMeta[1]) - 3
))) + (2)))))
;
1285#line 1871 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/ExpressionSolve.mo"
1286 tmpMeta[3] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[1]), 3))(*(void**)(((void*)((void**)(((void*)((char*)(tmpMeta[1]) - 3
))) + (3)))))
;
1287#line 1871 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/ExpressionSolve.mo"
1288 tmpMeta[4] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[1]), 4))(*(void**)(((void*)((void**)(((void*)((char*)(tmpMeta[1]) - 3
))) + (4)))))
;
1289#line 1871 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/ExpressionSolve.mo"
1290 _e1 = tmpMeta[2];
1291#line 1871 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/ExpressionSolve.mo"
1292 _op = tmpMeta[3];
Value stored to '_op' is never read
1293#line 1871 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/ExpressionSolve.mo"
1294 _e2 = tmpMeta[4];
1295#line 1295 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/ExpressionSolve.c"
1296
1297#line 1872 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/ExpressionSolve.mo"
1298 tmpMeta[1] = mmc_mk_cons(_e1, _expLst);
1299#line 1872 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/ExpressionSolve.mo"
1300 _expLst = tmpMeta[1];
1301#line 1301 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/ExpressionSolve.c"
1302
1303#line 1873 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/ExpressionSolve.mo"
1304 tmpMeta[1] = mmc_mk_cons(_e2, _expLst2);
1305#line 1873 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/ExpressionSolve.mo"
1306 _expLst2 = tmpMeta[1];
1307#line 1307 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/ExpressionSolve.c"
1308 }
1309 }
1310
1311#line 1876 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/ExpressionSolve.mo"
1312 if((!listEmpty(_expLst2)((*(mmc_uint_t*)((void*)((char*)(_expLst2) - 3))) == (((0) <<
10) + (((0) & 255) << 2)))
))
1313#line 1876 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/ExpressionSolve.mo"
1314 {
1315#line 1877 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/ExpressionSolve.mo"
1316 _e = omc_ExpressionSolve_makeProductLstSort(threadData, _expLst2);
1317#line 1317 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/ExpressionSolve.c"
1318
1319#line 1878 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/ExpressionSolve.mo"
1320 if((!omc_Expression_isOne(threadData, _e)))
1321#line 1878 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/ExpressionSolve.mo"
1322 {
1323#line 1879 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/ExpressionSolve.mo"
1324 _outExp = omc_Expression_makeDiv(threadData, _outExp, _e);
1325#line 1325 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/ExpressionSolve.c"
1326 }
1327 }
1328
1329#line 1883 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/ExpressionSolve.mo"
1330 if((!listEmpty(_expLst)((*(mmc_uint_t*)((void*)((char*)(_expLst) - 3))) == (((0) <<
10) + (((0) & 255) << 2)))
))
1331#line 1883 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/ExpressionSolve.mo"
1332 {
1333#line 1884 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/ExpressionSolve.mo"
1334 _e = omc_ExpressionSolve_makeProductLstSort(threadData, _expLst);
1335#line 1335 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/ExpressionSolve.c"
1336
1337#line 1885 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/ExpressionSolve.mo"
1338 _outExp = omc_Expression_expMul(threadData, _outExp, _e);
1339#line 1339 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/ExpressionSolve.c"
1340 }
1341 }
1342 _return: OMC_LABEL_UNUSED__attribute__((unused))
1343 return _outExp;
1344}
1345
1346PROTECTED_FUNCTION_STATIC modelica_boolean omc_ExpressionSolve_expHasCref(threadData_t *threadData, modelica_metatype _inExp1, modelica_metatype _inExp3)
1347{
1348 modelica_boolean _res;
1349 modelica_boolean tmp1 = 0;
1350 modelica_metatype tmpMeta[6] __attribute__((unused)) = {0};
1351 MMC_SO()mmc_check_stackoverflow(threadData);
1352 _tailrecursive: OMC_LABEL_UNUSED__attribute__((unused))
1353 // _res has no default value.
1354#line 1354 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/ExpressionSolve.c"
1355 { /* match expression */
1356 modelica_metatype tmp4_1;
1357 tmp4_1 = _inExp3;
1358 {
1359 modelica_metatype _cr = NULL((void*)0);
1360 volatile mmc_switch_type tmp4;
1361 int tmp5;
1362 // _cr has no default value.
1363 tmp4 = 0;
1364 for (; tmp4 < 3; tmp4++) {
1365 switch (MMC_SWITCH_CAST(tmp4)(tmp4)) {
1366 case 0: {
1367 if (mmc__uniontype__metarecord__typedef__equal(tmp4_1,6,2)((*(mmc_uint_t*)((void*)((char*)(tmp4_1) - 3)))==(((2 +1) <<
10) + (((6 +3) & 255) << 2)))
== 0) goto tmp3_end;
1368 tmpMeta[0] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_1), 2))(*(void**)(((void*)((void**)(((void*)((char*)(tmp4_1) - 3))) +
(2)))))
;
1369
1370 _cr = tmpMeta[0];
1371 /* Pattern matching succeeded */
1372#line 1827 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/ExpressionSolve.mo"
1373 tmp1 = omc_Expression_expHasCrefNoPreOrStart(threadData, _inExp1, _cr);
1374#line 1374 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/ExpressionSolve.c"
1375 goto tmp3_done;
1376 }
1377 case 1: {
1378 if (mmc__uniontype__metarecord__typedef__equal(tmp4_1,13,3)((*(mmc_uint_t*)((void*)((char*)(tmp4_1) - 3)))==(((3 +1) <<
10) + (((13 +3) & 255) << 2)))
== 0) goto tmp3_end;
1379 tmpMeta[0] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_1), 2))(*(void**)(((void*)((void**)(((void*)((char*)(tmp4_1) - 3))) +
(2)))))
;
1380 if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[0],1,1)((*(mmc_uint_t*)((void*)((char*)(tmpMeta[0]) - 3)))==(((1 +1)
<< 10) + (((1 +3) & 255) << 2)))
== 0) goto tmp3_end;
1381 tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[0]), 2))(*(void**)(((void*)((void**)(((void*)((char*)(tmpMeta[0]) - 3
))) + (2)))))
;
1382 if (3 != MMC_STRLEN(tmpMeta[1])(((((*(mmc_uint_t*)((void*)((char*)(tmpMeta[1]) - 3)))) >>
(3)) - 8))
|| strcmp(MMC_STRINGDATA(_OMC_LIT36)(((struct mmc_string*)((void*)((char*)(((void*)((char*)(&
(_OMC_LIT_STRUCT36).header) + 3))) - 3)))->data)
, MMC_STRINGDATA(tmpMeta[1])(((struct mmc_string*)((void*)((char*)(tmpMeta[1]) - 3)))->
data)
) != 0) goto tmp3_end;
1383 tmpMeta[2] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_1), 3))(*(void**)(((void*)((void**)(((void*)((char*)(tmp4_1) - 3))) +
(3)))))
;
1384 if (listEmpty(tmpMeta[2])((*(mmc_uint_t*)((void*)((char*)(tmpMeta[2]) - 3))) == (((0) <<
10) + (((0) & 255) << 2)))
) goto tmp3_end;
1385 tmpMeta[3] = MMC_CAR(tmpMeta[2])(*(void**)(((void*)((void**)(((void*)((char*)(tmpMeta[2]) - 3
))) + (1)))))
;
1386 tmpMeta[4] = MMC_CDR(tmpMeta[2])(*(void**)(((void*)((void**)(((void*)((char*)(tmpMeta[2]) - 3
))) + (2)))))
;
1387 if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[3],6,2)((*(mmc_uint_t*)((void*)((char*)(tmpMeta[3]) - 3)))==(((2 +1)
<< 10) + (((6 +3) & 255) << 2)))
== 0) goto tmp3_end;
1388 tmpMeta[5] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[3]), 2))(*(void**)(((void*)((void**)(((void*)((char*)(tmpMeta[3]) - 3
))) + (2)))))
;
1389 if (!listEmpty(tmpMeta[4])((*(mmc_uint_t*)((void*)((char*)(tmpMeta[4]) - 3))) == (((0) <<
10) + (((0) & 255) << 2)))
) goto tmp3_end;
1390
1391 _cr = tmpMeta[5];
1392 /* Pattern matching succeeded */
1393#line 1828 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/ExpressionSolve.mo"
1394 tmp1 = omc_Expression_expHasDerCref(threadData, _inExp1, _cr);
1395#line 1395 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/ExpressionSolve.c"
1396 goto tmp3_done;
1397 }
1398 case 2: {
1399
1400 /* Pattern matching succeeded */
1401#line 1831 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/ExpressionSolve.mo"
1402 if(omc_Flags_isSet(threadData, _OMC_LIT35((void*)((char*)(&(_OMC_LIT_STRUCT35).header) + 3))))
1403#line 1831 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/ExpressionSolve.mo"
1404 {
1405#line 1832 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/ExpressionSolve.mo"
1406 fputs(MMC_STRINGDATA(_OMC_LIT28)(((struct mmc_string*)((void*)((char*)(((void*)((char*)(&
(_OMC_LIT_STRUCT28).header) + 3))) - 3)))->data)
,stdoutstdout);
1407#line 1407 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/ExpressionSolve.c"
1408
1409#line 1833 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/ExpressionSolve.mo"
1410 fputs(MMC_STRINGDATA(_OMC_LIT29)(((struct mmc_string*)((void*)((char*)(((void*)((char*)(&
(_OMC_LIT_STRUCT29).header) + 3))) - 3)))->data)
,stdoutstdout);
1411#line 1411 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/ExpressionSolve.c"
1412
1413#line 1833 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/ExpressionSolve.mo"
1414 fputs(MMC_STRINGDATA(omc_ExpressionDump_printExpStr(threadData, _inExp3))(((struct mmc_string*)((void*)((char*)(omc_ExpressionDump_printExpStr
(threadData, _inExp3)) - 3)))->data)
,stdoutstdout);
1415#line 1415 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/ExpressionSolve.c"
1416
1417#line 1834 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/ExpressionSolve.mo"
1418 fputs(MMC_STRINGDATA(_OMC_LIT30)(((struct mmc_string*)((void*)((char*)(((void*)((char*)(&
(_OMC_LIT_STRUCT30).header) + 3))) - 3)))->data)
,stdoutstdout);
1419#line 1419 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/ExpressionSolve.c"
1420
1421#line 1835 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/ExpressionSolve.mo"
1422 fputs(MMC_STRINGDATA(_OMC_LIT31)(((struct mmc_string*)((void*)((char*)(((void*)((char*)(&
(_OMC_LIT_STRUCT31).header) + 3))) - 3)))->data)
,stdoutstdout);
1423#line 1423 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/ExpressionSolve.c"
1424 }
1425#line 1837 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/ExpressionSolve.mo"
1426 goto goto_2;
1427#line 1427 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/ExpressionSolve.c"
1428 goto tmp3_done;
1429 }
1430 }
1431 goto tmp3_end;
1432 tmp3_end: ;
1433 }
1434 goto goto_2;
1435 goto_2:;
1436 MMC_THROW_INTERNAL(){longjmp(*threadData->mmc_jumper,1);};
1437 goto tmp3_done;
1438 tmp3_done:;
1439 }
1440 }
1441 _res = tmp1;
1442 _return: OMC_LABEL_UNUSED__attribute__((unused))
1443 return _res;
1444}
1445PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_ExpressionSolve_expHasCref(threadData_t *threadData, modelica_metatype _inExp1, modelica_metatype _inExp3)
1446{
1447 modelica_boolean _res;
1448 modelica_metatype out_res;
1449 _res = omc_ExpressionSolve_expHasCref(threadData, _inExp1, _inExp3);
1450 out_res = mmc_mk_icon(_res);
1451 return out_res;
1452}
1453
1454PROTECTED_FUNCTION_STATIC modelica_boolean omc_ExpressionSolve_hasOnlyFactors(threadData_t *threadData, modelica_metatype _e1, modelica_metatype _e2)
1455{
1456 modelica_boolean _res;
1457 modelica_boolean tmp1 = 0;
1458 modelica_metatype tmpMeta[5] __attribute__((unused)) = {0};
1459 MMC_SO()mmc_check_stackoverflow(threadData);
1460 _tailrecursive: OMC_LABEL_UNUSED__attribute__((unused))
1461 // _res has no default value.
1462#line 1462 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/ExpressionSolve.c"
1463 { /* matchcontinue expression */
1464 {
1465 volatile mmc_switch_type tmp4;
1466 int tmp5;
1467 tmp4 = 0;
1468 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) {
1469 tmp3_top:
1470 threadData->mmc_jumper = &new_mmc_jumper;
1471 for (; tmp4 < 3; tmp4++) {
1472 switch (MMC_SWITCH_CAST(tmp4)(tmp4)) {
1473 case 0: {
1474 modelica_boolean tmp6;
1475 /* Pattern matching succeeded */
1476#line 1787 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/ExpressionSolve.mo"
1477 /* Pattern-matching assignment */
1478#line 1787 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/ExpressionSolve.mo"
1479 tmp6 = omc_Expression_isZero(threadData, _e1);
1480#line 1787 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/ExpressionSolve.mo"
1481 if (1 != tmp6) goto goto_2;
1482#line 1482 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/ExpressionSolve.c"
1483
1484#line 1789 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/ExpressionSolve.mo"
1485 /* Pattern-matching assignment */
1486#line 1789 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/ExpressionSolve.mo"
1487 tmpMeta[0] = omc_Expression_factors(threadData, _e2);
1488#line 1789 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/ExpressionSolve.mo"
1489 if (listEmpty(tmpMeta[0])((*(mmc_uint_t*)((void*)((char*)(tmpMeta[0]) - 3))) == (((0) <<
10) + (((0) & 255) << 2)))
) goto goto_2;
1490#line 1789 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/ExpressionSolve.mo"
1491 tmpMeta[1] = MMC_CAR(tmpMeta[0])(*(void**)(((void*)((void**)(((void*)((char*)(tmpMeta[0]) - 3
))) + (1)))))
;
1492#line 1789 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/ExpressionSolve.mo"
1493 tmpMeta[2] = MMC_CDR(tmpMeta[0])(*(void**)(((void*)((void**)(((void*)((char*)(tmpMeta[0]) - 3
))) + (2)))))
;
1494#line 1789 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/ExpressionSolve.mo"
1495 if (listEmpty(tmpMeta[2])((*(mmc_uint_t*)((void*)((char*)(tmpMeta[2]) - 3))) == (((0) <<
10) + (((0) & 255) << 2)))
) goto goto_2;
1496#line 1789 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/ExpressionSolve.mo"
1497 tmpMeta[3] = MMC_CAR(tmpMeta[2])(*(void**)(((void*)((void**)(((void*)((char*)(tmpMeta[2]) - 3
))) + (1)))))
;
1498#line 1789 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/ExpressionSolve.mo"
1499 tmpMeta[4] = MMC_CDR(tmpMeta[2])(*(void**)(((void*)((void**)(((void*)((char*)(tmpMeta[2]) - 3
))) + (2)))))
;
1500#line 1500 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/ExpressionSolve.c"
1501
1502#line 1791 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/ExpressionSolve.mo"
1503 /* Pattern-matching assignment */
1504#line 1791 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/ExpressionSolve.mo"
1505 tmpMeta[0] = omc_Expression_extractCrefsFromExp(threadData, _e2);
1506#line 1791 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/ExpressionSolve.mo"
1507 if (listEmpty(tmpMeta[0])((*(mmc_uint_t*)((void*)((char*)(tmpMeta[0]) - 3))) == (((0) <<
10) + (((0) & 255) << 2)))
) goto goto_2;
1508#line 1791 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/ExpressionSolve.mo"
1509 tmpMeta[1] = MMC_CAR(tmpMeta[0])(*(void**)(((void*)((void**)(((void*)((char*)(tmpMeta[0]) - 3
))) + (1)))))
;
1510#line 1791 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/ExpressionSolve.mo"
1511 tmpMeta[2] = MMC_CDR(tmpMeta[0])(*(void**)(((void*)((void**)(((void*)((char*)(tmpMeta[0]) - 3
))) + (2)))))
;
1512#line 1791 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/ExpressionSolve.mo"
1513 if (listEmpty(tmpMeta[2])((*(mmc_uint_t*)((void*)((char*)(tmpMeta[2]) - 3))) == (((0) <<
10) + (((0) & 255) << 2)))
) goto goto_2;
1514#line 1791 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/ExpressionSolve.mo"
1515 tmpMeta[3] = MMC_CAR(tmpMeta[2])(*(void**)(((void*)((void**)(((void*)((char*)(tmpMeta[2]) - 3
))) + (1)))))
;
1516#line 1791 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/ExpressionSolve.mo"
1517 tmpMeta[4] = MMC_CDR(tmpMeta[2])(*(void**)(((void*)((void**)(((void*)((char*)(tmpMeta[2]) - 3
))) + (2)))))
;
1518#line 1518 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/ExpressionSolve.c"
1519#line 1792 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/ExpressionSolve.mo"
1520 tmp1 = 1;
1521#line 1521 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/ExpressionSolve.c"
1522 goto tmp3_done;
1523 }
1524 case 1: {
1525 modelica_boolean tmp7;
1526 /* Pattern matching succeeded */
1527#line 1798 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/ExpressionSolve.mo"
1528 /* Pattern-matching assignment */
1529#line 1798 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/ExpressionSolve.mo"
1530 tmp7 = omc_Expression_isZero(threadData, _e2);
1531#line 1798 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/ExpressionSolve.mo"
1532 if (1 != tmp7) goto goto_2;
1533#line 1533 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/ExpressionSolve.c"
1534
1535#line 1799 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/ExpressionSolve.mo"
1536 /* Pattern-matching assignment */
1537#line 1799 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/ExpressionSolve.mo"
1538 tmpMeta[0] = omc_Expression_factors(threadData, _e1);
1539#line 1799 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/ExpressionSolve.mo"
1540 if (listEmpty(tmpMeta[0])((*(mmc_uint_t*)((void*)((char*)(tmpMeta[0]) - 3))) == (((0) <<
10) + (((0) & 255) << 2)))
) goto goto_2;
1541#line 1799 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/ExpressionSolve.mo"
1542 tmpMeta[1] = MMC_CAR(tmpMeta[0])(*(void**)(((void*)((void**)(((void*)((char*)(tmpMeta[0]) - 3
))) + (1)))))
;
1543#line 1799 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/ExpressionSolve.mo"
1544 tmpMeta[2] = MMC_CDR(tmpMeta[0])(*(void**)(((void*)((void**)(((void*)((char*)(tmpMeta[0]) - 3
))) + (2)))))
;
1545#line 1799 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/ExpressionSolve.mo"
1546 if (listEmpty(tmpMeta[2])((*(mmc_uint_t*)((void*)((char*)(tmpMeta[2]) - 3))) == (((0) <<
10) + (((0) & 255) << 2)))
) goto goto_2;
1547#line 1799 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/ExpressionSolve.mo"
1548 tmpMeta[3] = MMC_CAR(tmpMeta[2])(*(void**)(((void*)((void**)(((void*)((char*)(tmpMeta[2]) - 3
))) + (1)))))
;
1549#line 1799 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/ExpressionSolve.mo"
1550 tmpMeta[4] = MMC_CDR(tmpMeta[2])(*(void**)(((void*)((void**)(((void*)((char*)(tmpMeta[2]) - 3
))) + (2)))))
;
1551#line 1551 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/ExpressionSolve.c"
1552
1553#line 1800 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/ExpressionSolve.mo"
1554 /* Pattern-matching assignment */
1555#line 1800 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/ExpressionSolve.mo"
1556 tmpMeta[0] = omc_Expression_extractCrefsFromExp(threadData, _e1);
1557#line 1800 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/ExpressionSolve.mo"
1558 if (listEmpty(tmpMeta[0])((*(mmc_uint_t*)((void*)((char*)(tmpMeta[0]) - 3))) == (((0) <<
10) + (((0) & 255) << 2)))
) goto goto_2;
1559#line 1800 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/ExpressionSolve.mo"
1560 tmpMeta[1] = MMC_CAR(tmpMeta[0])(*(void**)(((void*)((void**)(((void*)((char*)(tmpMeta[0]) - 3
))) + (1)))))
;
1561#line 1800 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/ExpressionSolve.mo"
1562 tmpMeta[2] = MMC_CDR(tmpMeta[0])(*(void**)(((void*)((void**)(((void*)((char*)(tmpMeta[0]) - 3
))) + (2)))))
;
1563#line 1800 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/ExpressionSolve.mo"
1564 if (listEmpty(tmpMeta[2])((*(mmc_uint_t*)((void*)((char*)(tmpMeta[2]) - 3))) == (((0) <<
10) + (((0) & 255) << 2)))
) goto goto_2;
1565#line 1800 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/ExpressionSolve.mo"
1566 tmpMeta[3] = MMC_CAR(tmpMeta[2])(*(void**)(((void*)((void**)(((void*)((char*)(tmpMeta[2]) - 3
))) + (1)))))
;
1567#line 1800 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/ExpressionSolve.mo"
1568 tmpMeta[4] = MMC_CDR(tmpMeta[2])(*(void**)(((void*)((void**)(((void*)((char*)(tmpMeta[2]) - 3
))) + (2)))))
;
1569#line 1569 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/ExpressionSolve.c"
1570#line 1801 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/ExpressionSolve.mo"
1571 tmp1 = 1;
1572#line 1572 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/ExpressionSolve.c"
1573 goto tmp3_done;
1574 }
1575 case 2: {
1576 /* Pattern matching succeeded */
1577#line 1804 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/ExpressionSolve.mo"
1578 tmp1 = 0;
1579#line 1579 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/ExpressionSolve.c"
1580 goto tmp3_done;
1581 }
1582 }
1583 goto tmp3_end;
1584 tmp3_end: ;
1585 }
1586 goto goto_2;
1587 tmp3_done:
1588 (void)tmp4;
1589 MMC_RESTORE_INTERNAL(mmc_jumper)threadData->mmc_jumper = old_jumper;;
1590 goto tmp3_done2;
1591 goto_2:;
1592 MMC_CATCH_INTERNAL(mmc_jumper)} threadData->mmc_jumper = old_jumper;mmc_catch_dummy_fn()
;}
;
1593 if (++tmp4 < 3) {
1594 goto tmp3_top;
1595 }
1596 MMC_THROW_INTERNAL(){longjmp(*threadData->mmc_jumper,1);};
1597 tmp3_done2:;
1598 }
1599 }
1600 _res = tmp1;
1601 _return: OMC_LABEL_UNUSED__attribute__((unused))
1602 return _res;
1603}
1604PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_ExpressionSolve_hasOnlyFactors(threadData_t *threadData, modelica_metatype _e1, modelica_metatype _e2)
1605{
1606 modelica_boolean _res;
1607 modelica_metatype out_res;
1608 _res = omc_ExpressionSolve_hasOnlyFactors(threadData, _e1, _e2);
1609 out_res = mmc_mk_icon(_res);
1610 return out_res;
1611}
1612
1613PROTECTED_FUNCTION_STATIC modelica_metatype omc_ExpressionSolve_solveLinearSystem(threadData_t *threadData, modelica_metatype _inExp1, modelica_metatype _inExp2, modelica_metatype _inExp3, modelica_metatype _functions, modelica_integer _idepth, modelica_metatype *out_outAsserts, modelica_metatype *out_eqnForNewVars, modelica_metatype *out_newVarsCrefs, modelica_integer *out_odepth)
1614{
1615 modelica_metatype _outExp = NULL((void*)0);
1616 modelica_metatype _outAsserts = NULL((void*)0);
1617 modelica_metatype _eqnForNewVars = NULL((void*)0);
1618 modelica_metatype _newVarsCrefs = NULL((void*)0);
1619 modelica_integer _odepth;
1620 modelica_metatype tmpMeta[7] __attribute__((unused)) = {0};
1621 MMC_SO()mmc_check_stackoverflow(threadData);
1622 _tailrecursive: OMC_LABEL_UNUSED__attribute__((unused))
1623 // _outExp has no default value.
1624 // _outAsserts has no default value.
1625 tmpMeta[0] = MMC_REFSTRUCTLIT(mmc_nil)((void*)((char*)(&(mmc_nil).header) + 3));
1626 _eqnForNewVars = tmpMeta[0];
1627 tmpMeta[1] = MMC_REFSTRUCTLIT(mmc_nil)((void*)((char*)(&(mmc_nil).header) + 3));
1628 _newVarsCrefs = tmpMeta[1];
1629 _odepth = _idepth;
1630#line 1739 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/ExpressionSolve.mo"
1631
1632#line 1739 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/ExpressionSolve.mo"
1633
1634#line 1634 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/ExpressionSolve.c"
1635 { /* match expression */
1636 modelica_metatype tmp4_1;
1637 tmp4_1 = _inExp3;
1638 {
1639 modelica_metatype _dere = NULL((void*)0);
1640 modelica_metatype _e = NULL((void*)0);
1641 modelica_metatype _z = NULL((void*)0);
1642 modelica_metatype _cr = NULL((void*)0);
1643 modelica_metatype _rhs = NULL((void*)0);
1644 modelica_metatype _tp = NULL((void*)0);
1645 modelica_integer _i;
1646 volatile mmc_switch_type tmp4;
1647 int tmp5;
1648 // _dere has no default value.
1649 // _e has no default value.
1650 // _z has no default value.
1651 // _cr has no default value.
1652 // _rhs has no default value.
1653 // _tp has no default value.
1654 // _i has no default value.
1655 tmp4 = 0;
1656 for (; tmp4 < 1; tmp4++) {
1657 switch (MMC_SWITCH_CAST(tmp4)(tmp4)) {
1658 case 0: {
1659 modelica_boolean tmp6;
1660 modelica_boolean tmp7;
1661 modelica_boolean tmp8;
1662 modelica_integer tmp9;
1663 if (mmc__uniontype__metarecord__typedef__equal(tmp4_1,6,2)((*(mmc_uint_t*)((void*)((char*)(tmp4_1) - 3)))==(((2 +1) <<
10) + (((6 +3) & 255) << 2)))
== 0) goto tmp3_end;
1664 tmpMeta[4] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_1), 2))(*(void**)(((void*)((void**)(((void*)((char*)(tmp4_1) - 3))) +
(2)))))
;
1665
1666 _cr = tmpMeta[4];
1667 /* Pattern matching succeeded */
1668#line 1750 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/ExpressionSolve.mo"
1669 /* Pattern-matching assignment */
1670#line 1750 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/ExpressionSolve.mo"
1671 tmp6 = omc_ExpressionSolve_hasOnlyFactors(threadData, _inExp1, _inExp2);
1672#line 1750 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/ExpressionSolve.mo"
1673 if (0 != tmp6) goto goto_2;
1674#line 1674 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/ExpressionSolve.c"
1675
1676#line 1751 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/ExpressionSolve.mo"
1677 _e = omc_Expression_makeDiff(threadData, _inExp1, _inExp2);
1678#line 1678 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/ExpressionSolve.c"
1679
1680#line 1752 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/ExpressionSolve.mo"
1681 _e = omc_ExpressionSimplify_simplify1(threadData, _e, NULL((void*)0));
1682#line 1682 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/ExpressionSolve.c"
1683
1684#line 1754 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/ExpressionSolve.mo"
1685 _dere = omc_Differentiate_differentiateExpSolve(threadData, _e, _cr, _functions);
1686#line 1686 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/ExpressionSolve.c"
1687
1688#line 1756 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/ExpressionSolve.mo"
1689 _dere = omc_ExpressionSimplify_simplify(threadData, _dere, NULL((void*)0));
1690#line 1690 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/ExpressionSolve.c"
1691
1692#line 1757 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/ExpressionSolve.mo"
1693 /* Pattern-matching assignment */
1694#line 1757 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/ExpressionSolve.mo"
1695 tmp7 = omc_Expression_isZero(threadData, _dere);
1696#line 1757 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/ExpressionSolve.mo"
1697 if (0 != tmp7) goto goto_2;
1698#line 1698 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/ExpressionSolve.c"
1699
1700#line 1758 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/ExpressionSolve.mo"
1701 /* Pattern-matching assignment */
1702#line 1758 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/ExpressionSolve.mo"
1703 tmp8 = omc_Expression_expHasCrefNoPreOrStart(threadData, _dere, _cr);
1704#line 1758 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/ExpressionSolve.mo"
1705 if (0 != tmp8) goto goto_2;
1706#line 1706 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/ExpressionSolve.c"
1707
1708#line 1759 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/ExpressionSolve.mo"
1709 _tp = omc_Expression_typeof(threadData, _inExp3);
1710#line 1710 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/ExpressionSolve.c"
1711
1712#line 1760 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/ExpressionSolve.mo"
1713 _z = omc_Expression_makeZeroExpression(threadData, omc_Expression_arrayDimension(threadData, _tp), NULL((void*)0));
1714#line 1714 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/ExpressionSolve.c"
1715
1716#line 1761 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/ExpressionSolve.mo"
1717 /* Pattern-matching assignment */
1718#line 1761 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/ExpressionSolve.mo"
1719 tmpMeta[4] = omc_Expression_replaceExp(threadData, _e, _inExp3, _z);
1720#line 1761 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/ExpressionSolve.mo"
1721 tmpMeta[5] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[4]), 1))(*(void**)(((void*)((void**)(((void*)((char*)(tmpMeta[4]) - 3
))) + (1)))))
;
1722#line 1761 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/ExpressionSolve.mo"
1723 tmpMeta[6] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[4]), 2))(*(void**)(((void*)((void**)(((void*)((char*)(tmpMeta[4]) - 3
))) + (2)))))
;
1724#line 1761 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/ExpressionSolve.mo"
1725 tmp9 = mmc_unbox_integer(tmpMeta[6])(((mmc_sint_t) (tmpMeta[6])) >> 1);
1726#line 1761 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/ExpressionSolve.mo"
1727 _e = tmpMeta[5];
1728#line 1761 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/ExpressionSolve.mo"
1729 _i = tmp9 /* pattern as ty=Integer */;
1730#line 1730 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/ExpressionSolve.c"
1731
1732#line 1763 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/ExpressionSolve.mo"
1733 if((_i < ((modelica_integer) 1)))
1734#line 1763 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/ExpressionSolve.mo"
1735 {
1736#line 1764 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/ExpressionSolve.mo"
1737 goto goto_2;
1738#line 1738 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/ExpressionSolve.c"
1739 }
1740
1741#line 1766 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/ExpressionSolve.mo"
1742 _e = omc_ExpressionSimplify_simplify(threadData, _e, NULL((void*)0));
1743#line 1743 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/ExpressionSolve.c"
1744
1745#line 1767 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/ExpressionSolve.mo"
1746 _rhs = omc_Expression_negate(threadData, omc_Expression_makeDiv(threadData, _e, _dere));
1747#line 1747 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/ExpressionSolve.c"
1748#line 1768 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/ExpressionSolve.mo"
1749 tmpMeta[4] = MMC_REFSTRUCTLIT(mmc_nil)((void*)((char*)(&(mmc_nil).header) + 3));
1750#line 1768 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/ExpressionSolve.mo"
1751 tmpMeta[2+0] = _rhs;
1752#line 1768 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/ExpressionSolve.mo"
1753 tmpMeta[2+1] = tmpMeta[4];
1754#line 1754 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/ExpressionSolve.c"
1755 goto tmp3_done;
1756 }
1757 }
1758 goto tmp3_end;
1759 tmp3_end: ;
1760 }
1761 goto goto_2;
1762 goto_2:;
1763 MMC_THROW_INTERNAL(){longjmp(*threadData->mmc_jumper,1);};
1764 goto tmp3_done;
1765 tmp3_done:;
1766 }
1767 }
1768 _outExp = tmpMeta[2+0];
1769 _outAsserts = tmpMeta[2+1];
1770 _return: OMC_LABEL_UNUSED__attribute__((unused))
1771 if (out_outAsserts) { *out_outAsserts = _outAsserts; }
1772 if (out_eqnForNewVars) { *out_eqnForNewVars = _eqnForNewVars; }
1773 if (out_newVarsCrefs) { *out_newVarsCrefs = _newVarsCrefs; }
1774 if (out_odepth) { *out_odepth = _odepth; }
1775 return _outExp;
1776}
1777PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_ExpressionSolve_solveLinearSystem(threadData_t *threadData, modelica_metatype _inExp1, modelica_metatype _inExp2, modelica_metatype _inExp3, modelica_metatype _functions, modelica_metatype _idepth, modelica_metatype *out_outAsserts, modelica_metatype *out_eqnForNewVars, modelica_metatype *out_newVarsCrefs, modelica_metatype *out_odepth)
1778{
1779 modelica_integer tmp1;
1780 modelica_integer _odepth;
1781 modelica_metatype _outExp = NULL((void*)0);
1782 tmp1 = mmc_unbox_integer(_idepth)(((mmc_sint_t) (_idepth)) >> 1);
1783 _outExp = omc_ExpressionSolve_solveLinearSystem(threadData, _inExp1, _inExp2, _inExp3, _functions, tmp1, out_outAsserts, out_eqnForNewVars, out_newVarsCrefs, &_odepth);
1784 /* skip box _outExp; DAE.Exp */
1785 /* skip box _outAsserts; list<DAE.Statement> */
1786 /* skip box _eqnForNewVars; list<BackendDAE.Equation> */
1787 /* skip box _newVarsCrefs; list<DAE.ComponentRef> */
1788 if (out_odepth) { *out_odepth = mmc_mk_icon(_odepth); }
1789 return _outExp;
1790}
1791
1792PROTECTED_FUNCTION_STATIC modelica_metatype omc_ExpressionSolve_solveIfExp(threadData_t *threadData, modelica_metatype _inExp1, modelica_metatype _inExp2, modelica_metatype _inExp3, modelica_metatype _functions, modelica_metatype _uniqueEqIndex, modelica_integer _idepth, modelica_boolean _doInline, modelica_boolean _isContinuousIntegration, modelica_metatype *out_outAsserts, modelica_metatype *out_eqnForNewVars, modelica_metatype *out_newVarsCrefs, modelica_integer *out_odepth)
1793{
1794 modelica_metatype _outExp = NULL((void*)0);
1795 modelica_metatype _outAsserts = NULL((void*)0);
1796 modelica_metatype _eqnForNewVars = NULL((void*)0);
1797 modelica_metatype _newVarsCrefs = NULL((void*)0);
1798 modelica_integer _odepth;
1799 modelica_integer tmp1_c4 __attribute__((unused)) = 0;
1800 modelica_metatype tmpMeta[8] __attribute__((unused)) = {0};
1801 MMC_SO()mmc_check_stackoverflow(threadData);
1802 _tailrecursive: OMC_LABEL_UNUSED__attribute__((unused))
1803 // _outExp has no default value.
1804 // _outAsserts has no default value.
1805 // _eqnForNewVars has no default value.
1806 // _newVarsCrefs has no default value.
1807 // _odepth has no default value.
1808#line 1690 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/ExpressionSolve.mo"
1809
1810#line 1690 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/ExpressionSolve.mo"
1811
1812#line 1690 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/ExpressionSolve.mo"
1813
1814#line 1690 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/ExpressionSolve.mo"
1815
1816#line 1690 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/ExpressionSolve.mo"
1817
1818#line 1818 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/ExpressionSolve.c"
1819 { /* match expression */
1820 modelica_metatype tmp4_1;
1821 tmp4_1 = _inExp1;
1822 {
1823 modelica_metatype _e1 = NULL((void*)0);
1824 modelica_metatype _e2 = NULL((void*)0);
1825 modelica_metatype _e3 = NULL((void*)0);
1826 modelica_metatype _res = NULL((void*)0);
1827 modelica_metatype _lhs = NULL((void*)0);
1828 modelica_metatype _rhs = NULL((void*)0);
1829 modelica_metatype _asserts = NULL((void*)0);
1830 modelica_metatype _asserts1 = NULL((void*)0);
1831 modelica_metatype _eqns = NULL((void*)0);
1832 modelica_metatype _eqns1 = NULL((void*)0);
1833 modelica_metatype _var = NULL((void*)0);
1834 modelica_metatype _var1 = NULL((void*)0);
1835 modelica_integer _depth;
1836 volatile mmc_switch_type tmp4;
1837 int tmp5;
1838 // _e1 has no default value.
1839 // _e2 has no default value.
1840 // _e3 has no default value.
1841 // _res has no default value.
1842 // _lhs has no default value.
1843 // _rhs has no default value.
1844 // _asserts has no default value.
1845 // _asserts1 has no default value.
1846 // _eqns has no default value.
1847 // _eqns1 has no default value.
1848 // _var has no default value.
1849 // _var1 has no default value.
1850 // _depth has no default value.
1851 tmp4 = 0;
1852 for (; tmp4 < 1; tmp4++) {
1853 switch (MMC_SWITCH_CAST(tmp4)(tmp4)) {
1854 case 0: {
1855 if (mmc__uniontype__metarecord__typedef__equal(tmp4_1,12,3)((*(mmc_uint_t*)((void*)((char*)(tmp4_1) - 3)))==(((3 +1) <<
10) + (((12 +3) & 255) << 2)))
== 0) goto tmp3_end;
1856 tmpMeta[5] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_1), 2))(*(void**)(((void*)((void**)(((void*)((char*)(tmp4_1) - 3))) +
(2)))))
;
1857 tmpMeta[6] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_1), 3))(*(void**)(((void*)((void**)(((void*)((char*)(tmp4_1) - 3))) +
(3)))))
;
1858 tmpMeta[7] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_1), 4))(*(void**)(((void*)((void**)(((void*)((char*)(tmp4_1) - 3))) +
(4)))))
;
1859 _e1 = tmpMeta[5];
1860 _e2 = tmpMeta[6];
1861 _e3 = tmpMeta[7];
1862 /* Pattern matching succeeded */
1863 /* Check guard condition after assignments */
1864 if (!(_isContinuousIntegration || (!omc_ExpressionSolve_expHasCref(threadData, _e1, _inExp3)))) goto tmp3_end;
1865#line 1707 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/ExpressionSolve.mo"
1866 _lhs = omc_ExpressionSolve_solveWork(threadData, _e2, _inExp2, _inExp3, _functions, _uniqueEqIndex, _idepth, _doInline, _isContinuousIntegration ,&_asserts1 ,&_eqns ,&_var ,&_depth);
1867#line 1867 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/ExpressionSolve.c"
1868
1869#line 1708 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/ExpressionSolve.mo"
1870 _rhs = omc_ExpressionSolve_solveWork(threadData, _e3, _inExp2, _inExp3, _functions, _uniqueEqIndex, _depth, _doInline, _isContinuousIntegration ,NULL((void*)0) ,&_eqns1 ,&_var1 ,&_depth);
1871#line 1871 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/ExpressionSolve.c"
1872
1873#line 1710 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/ExpressionSolve.mo"
1874 tmpMeta[5] = mmc_mk_box4(15, &DAE_Exp_IFEXP__desc, _e1, _lhs, _rhs);
1875#line 1710 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/ExpressionSolve.mo"
1876 _res = tmpMeta[5];
1877#line 1877 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/ExpressionSolve.c"
1878
1879#line 1711 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/ExpressionSolve.mo"
1880 _asserts = listAppend(_asserts1, _asserts1);
1881#line 1881 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/ExpressionSolve.c"
1882#line 1712 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/ExpressionSolve.mo"
1883 tmpMeta[0+0] = _res;
1884#line 1712 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/ExpressionSolve.mo"
1885 tmpMeta[0+1] = _asserts;
1886#line 1712 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/ExpressionSolve.mo"
1887 tmpMeta[0+2] = listAppend(_eqns1, _eqns);
1888#line 1712 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/ExpressionSolve.mo"
1889 tmpMeta[0+3] = listAppend(_var1, _var);
1890#line 1712 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/ExpressionSolve.mo"
1891 tmp1_c4 = _depth;
1892#line 1892 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/ExpressionSolve.c"
1893 goto tmp3_done;
1894 }
1895 }
1896 goto tmp3_end;
1897 tmp3_end: ;
1898 }
1899 goto goto_2;
1900 goto_2:;
1901 MMC_THROW_INTERNAL(){longjmp(*threadData->mmc_jumper,1);};
1902 goto tmp3_done;
1903 tmp3_done:;
1904 }
1905 }
1906 _outExp = tmpMeta[0+0];
1907 _outAsserts = tmpMeta[0+1];
1908 _eqnForNewVars = tmpMeta[0+2];
1909 _newVarsCrefs = tmpMeta[0+3];
1910 _odepth = tmp1_c4;
1911 _return: OMC_LABEL_UNUSED__attribute__((unused))
1912 if (out_outAsserts) { *out_outAsserts = _outAsserts; }
1913 if (out_eqnForNewVars) { *out_eqnForNewVars = _eqnForNewVars; }
1914 if (out_newVarsCrefs) { *out_newVarsCrefs = _newVarsCrefs; }
1915 if (out_odepth) { *out_odepth = _odepth; }
1916 return _outExp;
1917}
1918PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_ExpressionSolve_solveIfExp(threadData_t *threadData, modelica_metatype _inExp1, modelica_metatype _inExp2, modelica_metatype _inExp3, modelica_metatype _functions, modelica_metatype _uniqueEqIndex, modelica_metatype _idepth, modelica_metatype _doInline, modelica_metatype _isContinuousIntegration, modelica_metatype *out_outAsserts, modelica_metatype *out_eqnForNewVars, modelica_metatype *out_newVarsCrefs, modelica_metatype *out_odepth)
1919{
1920 modelica_integer tmp1;
1921 modelica_integer tmp2;
1922 modelica_integer tmp3;
1923 modelica_integer _odepth;
1924 modelica_metatype _outExp = NULL((void*)0);
1925 tmp1 = mmc_unbox_integer(_idepth)(((mmc_sint_t) (_idepth)) >> 1);
1926 tmp2 = mmc_unbox_integer(_doInline)(((mmc_sint_t) (_doInline)) >> 1);
1927 tmp3 = mmc_unbox_integer(_isContinuousIntegration)(((mmc_sint_t) (_isContinuousIntegration)) >> 1);
1928 _outExp = omc_ExpressionSolve_solveIfExp(threadData, _inExp1, _inExp2, _inExp3, _functions, _uniqueEqIndex, tmp1, tmp2, tmp3, out_outAsserts, out_eqnForNewVars, out_newVarsCrefs, &_odepth);
1929 /* skip box _outExp; DAE.Exp */
1930 /* skip box _outAsserts; list<DAE.Statement> */
1931 /* skip box _eqnForNewVars; list<BackendDAE.Equation> */
1932 /* skip box _newVarsCrefs; list<DAE.ComponentRef> */
1933 if (out_odepth) { *out_odepth = mmc_mk_icon(_odepth); }
1934 return _outExp;
1935}
1936
1937PROTECTED_FUNCTION_STATIC modelica_metatype omc_ExpressionSolve_solveQE(threadData_t *threadData, modelica_metatype _e1, modelica_metatype _e2, modelica_metatype _e3, modelica_metatype _e4, modelica_metatype _e5, modelica_metatype _e6, modelica_metatype _inExp2, modelica_metatype _inExp3, modelica_metatype _ieqnForNewVars, modelica_metatype _inewVarsCrefs, modelica_integer _uniqueEqIndex, modelica_integer _idepth, modelica_metatype *out_lhs, modelica_metatype *out_eqnForNewVars, modelica_metatype *out_newVarsCrefs)
1938{
1939 modelica_metatype _rhs = NULL((void*)0);
1940 modelica_metatype _lhs = NULL((void*)0);
1941 modelica_metatype _eqnForNewVars = NULL((void*)0);
1942 modelica_metatype _newVarsCrefs = NULL((void*)0);
1943 modelica_metatype _e = NULL((void*)0);
1944 modelica_metatype _e7 = NULL((void*)0);
1945 modelica_metatype _con = NULL((void*)0);
1946 modelica_metatype _invExp = NULL((void*)0);
1947 modelica_metatype _x1 = NULL((void*)0);
1948 modelica_metatype _x2 = NULL((void*)0);
1949 modelica_metatype _x = NULL((void*)0);
1950 modelica_metatype _exP = NULL((void*)0);
1951 modelica_metatype _a = NULL((void*)0);
1952 modelica_metatype _b = NULL((void*)0);
1953 modelica_metatype _c = NULL((void*)0);
1954 modelica_metatype _n = NULL((void*)0);
1955 modelica_metatype _sgnb = NULL((void*)0);
1956 modelica_metatype _b2 = NULL((void*)0);
1957 modelica_metatype _ac = NULL((void*)0);
1958 modelica_metatype _sExp1 = NULL((void*)0);
1959 modelica_metatype _sExp2 = NULL((void*)0);
1960 modelica_metatype _cr = NULL((void*)0);
1961 modelica_metatype _tp = NULL((void*)0);
1962 modelica_metatype _eqn = NULL((void*)0);
1963 modelica_boolean _b1;
1964 modelica_boolean _b3;
1965 modelica_boolean tmp1;
1966 modelica_boolean tmp2;
1967 modelica_boolean tmp3;
1968 modelica_boolean tmp4;
1969 modelica_boolean tmp5;
1970 modelica_boolean tmp6;
1971 modelica_boolean tmp7;
1972 modelica_boolean tmp8;
1973 modelica_boolean tmp9;
1974 modelica_boolean tmp10;
1975 modelica_metatype tmpMeta[3] __attribute__((unused)) = {0};
1976 MMC_SO()mmc_check_stackoverflow(threadData);
1977 _tailrecursive: OMC_LABEL_UNUSED__attribute__((unused))
1978 // _rhs has no default value.
1979 // _lhs has no default value.
1980 // _eqnForNewVars has no default value.
1981 // _newVarsCrefs has no default value.
1982 // _e has no default value.
1983 // _e7 has no default value.
1984 // _con has no default value.
1985 // _invExp has no default value.
1986 // _x1 has no default value.
1987 // _x2 has no default value.
1988 // _x has no default value.
1989 // _exP has no default value.
1990 // _a has no default value.
1991 // _b has no default value.
1992 // _c has no default value.
1993 // _n has no default value.
1994 // _sgnb has no default value.
1995 // _b2 has no default value.
1996 // _ac has no default value.
1997 // _sExp1 has no default value.
1998 // _sExp2 has no default value.
1999 // _cr has no default value.
2000 // _tp has no default value.
2001 // _eqn has no default value.
2002 // _b1 has no default value.
2003 // _b3 has no default value.
2004#line 1593 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/ExpressionSolve.mo"
2005 /* Pattern-matching assignment */
2006#line 1593 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/ExpressionSolve.mo"
2007 tmp1 = (omc_Expression_isZero(threadData, _e1) && omc_Expression_isZero(threadData, _e2));
2008#line 1593 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/ExpressionSolve.mo"
2009 if (0 != tmp1) MMC_THROW_INTERNAL(){longjmp(*threadData->mmc_jumper,1);};
2010#line 2010 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/ExpressionSolve.c"
2011
2012#line 1594 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/ExpressionSolve.mo"
2013 /* Pattern-matching assignment */
2014#line 1594 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/ExpressionSolve.mo"
2015 tmp2 = omc_Expression_expEqual(threadData, _e2, _e5);
2016#line 1594 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/ExpressionSolve.mo"
2017 if (1 != tmp2) MMC_THROW_INTERNAL(){longjmp(*threadData->mmc_jumper,1);};
2018#line 2018 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/ExpressionSolve.c"
2019
2020#line 1595 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/ExpressionSolve.mo"
2021 _b1 = omc_Expression_expEqual(threadData, _e3, omc_Expression_expMul(threadData, _OMC_LIT38((void*)((char*)(&(_OMC_LIT_STRUCT38).header) + 3)), _e6));
2022#line 2022 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/ExpressionSolve.c"
2023
2024#line 1596 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/ExpressionSolve.mo"
2025 _b3 = omc_Expression_expEqual(threadData, _e6, omc_Expression_expMul(threadData, _OMC_LIT38((void*)((char*)(&(_OMC_LIT_STRUCT38).header) + 3)), _e3));
2026#line 2026 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/ExpressionSolve.c"
2027
2028#line 1598 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/ExpressionSolve.mo"
2029 /* Pattern-matching assignment */
2030#line 1598 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/ExpressionSolve.mo"
2031 tmp3 = (_b1 || _b3);
2032#line 1598 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/ExpressionSolve.mo"
2033 if (1 != tmp3) MMC_THROW_INTERNAL(){longjmp(*threadData->mmc_jumper,1);};
2034#line 2034 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/ExpressionSolve.c"
2035
2036#line 1599 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/ExpressionSolve.mo"
2037 /* Pattern-matching assignment */
2038#line 1599 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/ExpressionSolve.mo"
2039 tmp4 = omc_ExpressionSolve_expHasCref(threadData, _e1, _inExp3);
2040#line 1599 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/ExpressionSolve.mo"
2041 if (0 != tmp4) MMC_THROW_INTERNAL(){longjmp(*threadData->mmc_jumper,1);};
2042#line 2042 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/ExpressionSolve.c"
2043
2044#line 1600 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/ExpressionSolve.mo"
2045 /* Pattern-matching assignment */
2046#line 1600 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/ExpressionSolve.mo"
2047 tmp5 = omc_ExpressionSolve_expHasCref(threadData, _e2, _inExp3);
2048#line 1600 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/ExpressionSolve.mo"
2049 if (1 != tmp5) MMC_THROW_INTERNAL(){longjmp(*threadData->mmc_jumper,1);};
2050#line 2050 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/ExpressionSolve.c"
2051
2052#line 1601 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/ExpressionSolve.mo"
2053 /* Pattern-matching assignment */
2054#line 1601 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/ExpressionSolve.mo"
2055 tmp6 = omc_ExpressionSolve_expHasCref(threadData, _e3, _inExp3);
2056#line 1601 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/ExpressionSolve.mo"
2057 if (0 != tmp6) MMC_THROW_INTERNAL(){longjmp(*threadData->mmc_jumper,1);};
2058#line 2058 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/ExpressionSolve.c"
2059
2060#line 1602 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/ExpressionSolve.mo"
2061 /* Pattern-matching assignment */
2062#line 1602 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/ExpressionSolve.mo"
2063 tmp7 = omc_ExpressionSolve_expHasCref(threadData, _e4, _inExp3);
2064#line 1602 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/ExpressionSolve.mo"
2065 if (0 != tmp7) MMC_THROW_INTERNAL(){longjmp(*threadData->mmc_jumper,1);};
2066#line 2066 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/ExpressionSolve.c"
2067
2068#line 1603 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/ExpressionSolve.mo"
2069 /* Pattern-matching assignment */
2070#line 1603 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/ExpressionSolve.mo"
2071 tmp8 = omc_ExpressionSolve_expHasCref(threadData, _e5, _inExp3);
2072#line 1603 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/ExpressionSolve.mo"
2073 if (1 != tmp8) MMC_THROW_INTERNAL(){longjmp(*threadData->mmc_jumper,1);};
2074#line 2074 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/ExpressionSolve.c"
2075
2076#line 1604 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/ExpressionSolve.mo"
2077 /* Pattern-matching assignment */
2078#line 1604 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/ExpressionSolve.mo"
2079 tmp9 = omc_ExpressionSolve_expHasCref(threadData, _e6, _inExp3);
2080#line 1604 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/ExpressionSolve.mo"
2081 if (0 != tmp9) MMC_THROW_INTERNAL(){longjmp(*threadData->mmc_jumper,1);};
2082#line 2082 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/ExpressionSolve.c"
2083
2084#line 1605 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/ExpressionSolve.mo"
2085 /* Pattern-matching assignment */
2086#line 1605 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/ExpressionSolve.mo"
2087 tmp10 = omc_ExpressionSolve_expHasCref(threadData, _inExp2, _inExp3);
2088#line 1605 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/ExpressionSolve.mo"
2089 if (0 != tmp10) MMC_THROW_INTERNAL(){longjmp(*threadData->mmc_jumper,1);};
2090#line 2090 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/ExpressionSolve.c"
2091
2092#line 1608 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/ExpressionSolve.mo"
2093 _a = (_b1?_e1:_e4);
2094#line 2094 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/ExpressionSolve.c"
2095
2096#line 1609 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/ExpressionSolve.mo"
2097 _b = (_b1?_e4:_e1);
2098#line 2098 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/ExpressionSolve.c"
2099
2100#line 1610 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/ExpressionSolve.mo"
2101 _c = omc_Expression_negate(threadData, _inExp2);
2102#line 2102 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/ExpressionSolve.c"
2103
2104#line 1611 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/ExpressionSolve.mo"
2105 _n = (_b1?_e6:_e3);
2106#line 2106 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/ExpressionSolve.c"
2107
2108#line 1613 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/ExpressionSolve.mo"
2109 _tp = omc_Expression_typeof(threadData, _a);
2110#line 2110 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/ExpressionSolve.c"
2111
2112#line 1614 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/ExpressionSolve.mo"
2113 _a = omc_ExpressionSolve_makeTmpEqnAndCrefFromExp(threadData, _a, _tp, _OMC_LIT39((void*)((char*)(&(_OMC_LIT_STRUCT39).header) + 3)), _uniqueEqIndex, _idepth, _ieqnForNewVars, _inewVarsCrefs, 0 ,&_eqnForNewVars ,&_newVarsCrefs);
2114#line 2114 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/ExpressionSolve.c"
2115
2116#line 1615 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/ExpressionSolve.mo"
2117 tmpMeta[0] = mmc_mk_box2(32, &DAE_Operator_EQUAL__desc, _tp);
2118#line 1615 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/ExpressionSolve.mo"
2119 tmpMeta[1] = mmc_mk_box6(14, &DAE_Exp_RELATION__desc, _a, tmpMeta[0], _OMC_LIT9((void*)((char*)(&(_OMC_LIT_STRUCT9).header) + 3)), mmc_mk_integermmc_mk_icon(((modelica_integer) -1)), mmc_mk_none()((void*)((char*)(&(mmc_none).header) + 3)));
2120#line 1615 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/ExpressionSolve.mo"
2121 _con = tmpMeta[1];
2122#line 2122 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/ExpressionSolve.c"
2123
2124#line 1617 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/ExpressionSolve.mo"
2125 _tp = omc_Expression_typeof(threadData, _b);
2126#line 2126 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/ExpressionSolve.c"
2127
2128#line 1618 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/ExpressionSolve.mo"
2129 _b = omc_ExpressionSolve_makeTmpEqnAndCrefFromExp(threadData, _b, _tp, _OMC_LIT40((void*)((char*)(&(_OMC_LIT_STRUCT40).header) + 3)), _uniqueEqIndex, _idepth, _eqnForNewVars, _newVarsCrefs, 0 ,&_eqnForNewVars ,&_newVarsCrefs);
2130#line 2130 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/ExpressionSolve.c"
2131
2132#line 1619 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/ExpressionSolve.mo"
2133 tmpMeta[0] = mmc_mk_cons(_b, MMC_REFSTRUCTLIT(mmc_nil)((void*)((char*)(&(mmc_nil).header) + 3)));
2134#line 1619 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/ExpressionSolve.mo"
2135 _sgnb = omc_Expression_makePureBuiltinCall(threadData, _OMC_LIT41((void*)((char*)(&(_OMC_LIT_STRUCT41).header) + 3)), tmpMeta[0], _tp);
2136#line 2136 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/ExpressionSolve.c"
2137
2138#line 1620 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/ExpressionSolve.mo"
2139 _b2 = omc_Expression_expPow(threadData, _b, _OMC_LIT38((void*)((char*)(&(_OMC_LIT_STRUCT38).header) + 3)));
2140#line 2140 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/ExpressionSolve.c"
2141
2142#line 1621 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/ExpressionSolve.mo"
2143 _b2 = omc_ExpressionSolve_makeTmpEqnAndCrefFromExp(threadData, _b2, _tp, _OMC_LIT42((void*)((char*)(&(_OMC_LIT_STRUCT42).header) + 3)), _uniqueEqIndex, _idepth, _eqnForNewVars, _newVarsCrefs, 0 ,&_eqnForNewVars ,&_newVarsCrefs);
2144#line 2144 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/ExpressionSolve.c"
2145
2146#line 1623 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/ExpressionSolve.mo"
2147 _tp = omc_Expression_typeof(threadData, _c);
2148#line 2148 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/ExpressionSolve.c"
2149
2150#line 1624 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/ExpressionSolve.mo"
2151 _c = omc_ExpressionSolve_makeTmpEqnAndCrefFromExp(threadData, _c, _tp, _OMC_LIT43((void*)((char*)(&(_OMC_LIT_STRUCT43).header) + 3)), _uniqueEqIndex, _idepth, _eqnForNewVars, _newVarsCrefs, 0 ,&_eqnForNewVars ,&_newVarsCrefs);
2152#line 2152 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/ExpressionSolve.c"
2153
2154#line 1625 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/ExpressionSolve.mo"
2155 _ac = omc_Expression_expMul(threadData, _a, _c);
2156#line 2156 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/ExpressionSolve.c"
2157
2158#line 1626 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/ExpressionSolve.mo"
2159 _ac = omc_Expression_expMul(threadData, _OMC_LIT45((void*)((char*)(&(_OMC_LIT_STRUCT45).header) + 3)), _ac);
2160#line 2160 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/ExpressionSolve.c"
2161
2162#line 1628 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/ExpressionSolve.mo"
2163 _sExp1 = omc_Expression_expSub(threadData, _b2, _ac);
2164#line 2164 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/ExpressionSolve.c"
2165
2166#line 1629 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/ExpressionSolve.mo"
2167 tmpMeta[0] = mmc_mk_cons(_sExp1, MMC_REFSTRUCTLIT(mmc_nil)((void*)((char*)(&(mmc_nil).header) + 3)));
2168#line 1629 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/ExpressionSolve.mo"
2169 _sExp2 = omc_Expression_makePureBuiltinCall(threadData, _OMC_LIT16((void*)((char*)(&(_OMC_LIT_STRUCT16).header) + 3)), tmpMeta[0], _tp);
2170#line 2170 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/ExpressionSolve.c"
2171
2172#line 1630 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/ExpressionSolve.mo"
2173 _sExp2 = omc_Expression_expMul(threadData, _sgnb, _sExp2);
2174#line 2174 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/ExpressionSolve.c"
2175
2176#line 1633 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/ExpressionSolve.mo"
2177 tmpMeta[0] = mmc_mk_box4(15, &DAE_Exp_IFEXP__desc, _con, omc_Expression_makeConstOne(threadData, _tp), _a);
2178#line 1633 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/ExpressionSolve.mo"
2179 _a = tmpMeta[0];
2180#line 2180 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/ExpressionSolve.c"
2181
2182#line 1634 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/ExpressionSolve.mo"
2183 _a = omc_ExpressionSolve_makeTmpEqnAndCrefFromExp(threadData, _a, _tp, _OMC_LIT46((void*)((char*)(&(_OMC_LIT_STRUCT46).header) + 3)), _uniqueEqIndex, _idepth, _eqnForNewVars, _newVarsCrefs, 0 ,&_eqnForNewVars ,&_newVarsCrefs);
2184#line 2184 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/ExpressionSolve.c"
2185
2186#line 1636 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/ExpressionSolve.mo"
2187 _x1 = omc_Expression_expAdd(threadData, _b, _sExp2);
2188#line 2188 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/ExpressionSolve.c"
2189
2190#line 1637 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/ExpressionSolve.mo"
2191 _x1 = omc_Expression_makeDiv(threadData, _x1, _a);
2192#line 2192 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/ExpressionSolve.c"
2193
2194#line 1638 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/ExpressionSolve.mo"
2195 _x1 = omc_Expression_expMul(threadData, _OMC_LIT48((void*)((char*)(&(_OMC_LIT_STRUCT48).header) + 3)), _x1);
2196#line 2196 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/ExpressionSolve.c"
2197
2198#line 1639 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/ExpressionSolve.mo"
2199 _tp = omc_Expression_typeof(threadData, _x1);
2200#line 2200 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/ExpressionSolve.c"
2201
2202#line 1640 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/ExpressionSolve.mo"
2203 tmpMeta[0] = mmc_mk_box4(15, &DAE_Exp_IFEXP__desc, _con, omc_Expression_makeConstOne(threadData, _tp), _x1);
2204#line 1640 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/ExpressionSolve.mo"
2205 _x1 = tmpMeta[0];
2206#line 2206 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/ExpressionSolve.c"
2207
2208#line 1641 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/ExpressionSolve.mo"
2209 _x1 = omc_ExpressionSolve_makeTmpEqnAndCrefFromExp(threadData, _x1, _tp, _OMC_LIT49((void*)((char*)(&(_OMC_LIT_STRUCT49).header) + 3)), _uniqueEqIndex, _idepth, _eqnForNewVars, _newVarsCrefs, 0 ,&_eqnForNewVars ,&_newVarsCrefs);
2210#line 2210 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/ExpressionSolve.c"
2211
2212#line 1644 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/ExpressionSolve.mo"
2213 _x2 = omc_Expression_expMul(threadData, _a, _x1);
2214#line 2214 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/ExpressionSolve.c"
2215
2216#line 1645 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/ExpressionSolve.mo"
2217 _x2 = omc_Expression_makeDiv(threadData, _c, _x2);
2218#line 2218 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/ExpressionSolve.c"
2219
2220#line 1646 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/ExpressionSolve.mo"
2221 tmpMeta[0] = mmc_mk_box4(15, &DAE_Exp_IFEXP__desc, _con, omc_Expression_makeConstOne(threadData, _tp), _x2);
2222#line 1646 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/ExpressionSolve.mo"
2223 _x2 = tmpMeta[0];
2224#line 2224 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/ExpressionSolve.c"
2225
2226#line 1647 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/ExpressionSolve.mo"
2227 tmpMeta[0] = mmc_mk_box2(32, &DAE_Operator_EQUAL__desc, _tp);
2228#line 1647 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/ExpressionSolve.mo"
2229 tmpMeta[1] = mmc_mk_box6(14, &DAE_Exp_RELATION__desc, _x1, tmpMeta[0], _OMC_LIT9((void*)((char*)(&(_OMC_LIT_STRUCT9).header) + 3)), mmc_mk_integermmc_mk_icon(((modelica_integer) -1)), mmc_mk_none()((void*)((char*)(&(mmc_none).header) + 3)));
2230#line 1647 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/ExpressionSolve.mo"
2231 tmpMeta[2] = mmc_mk_box4(15, &DAE_Exp_IFEXP__desc, tmpMeta[1], _OMC_LIT9((void*)((char*)(&(_OMC_LIT_STRUCT9).header) + 3)), _x2);
2232#line 1647 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/ExpressionSolve.mo"
2233 _x2 = tmpMeta[2];
2234#line 2234 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/ExpressionSolve.c"
2235
2236#line 1648 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/ExpressionSolve.mo"
2237 _x2 = omc_ExpressionSolve_makeTmpEqnAndCrefFromExp(threadData, _x2, _tp, _OMC_LIT50((void*)((char*)(&(_OMC_LIT_STRUCT50).header) + 3)), _uniqueEqIndex, _idepth, _eqnForNewVars, _newVarsCrefs, 0 ,&_eqnForNewVars ,&_newVarsCrefs);
2238#line 2238 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/ExpressionSolve.c"
2239
2240#line 1650 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/ExpressionSolve.mo"
2241 _tp = omc_Expression_typeof(threadData, _e2);
2242#line 2242 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/ExpressionSolve.c"
2243
2244#line 1651 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/ExpressionSolve.mo"
2245 _exP = omc_ExpressionSolve_makeInitialGuess(threadData, _tp, _inExp3, _e2);
2246#line 2246 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/ExpressionSolve.c"
2247
2248#line 1652 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/ExpressionSolve.mo"
2249 _exP = omc_ExpressionSolve_makeTmpEqnAndCrefFromExp(threadData, _exP, _tp, _OMC_LIT51((void*)((char*)(&(_OMC_LIT_STRUCT51).header) + 3)), _uniqueEqIndex, _idepth, _eqnForNewVars, _newVarsCrefs, 0 ,&_eqnForNewVars ,&_newVarsCrefs);
2250#line 2250 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/ExpressionSolve.c"
2251
2252#line 1654 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/ExpressionSolve.mo"
2253 _x = omc_ExpressionSolve_helpInvCos3(threadData, _x1, _x2, _exP, _tp);
2254#line 2254 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/ExpressionSolve.c"
2255
2256#line 1655 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/ExpressionSolve.mo"
2257 _x = omc_ExpressionSolve_makeTmpEqnAndCrefFromExp(threadData, _x, _tp, _OMC_LIT52((void*)((char*)(&(_OMC_LIT_STRUCT52).header) + 3)), _uniqueEqIndex, _idepth, _eqnForNewVars, _newVarsCrefs, 0 ,&_eqnForNewVars ,&_newVarsCrefs);
2258#line 2258 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/ExpressionSolve.c"
2259
2260#line 1658 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/ExpressionSolve.mo"
2261 _e7 = omc_Expression_makeDiv(threadData, _inExp2, _b);
2262#line 2262 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/ExpressionSolve.c"
2263
2264#line 1659 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/ExpressionSolve.mo"
2265 _invExp = omc_Expression_inverseFactors(threadData, _n);
2266#line 2266 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/ExpressionSolve.c"
2267
2268#line 1660 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/ExpressionSolve.mo"
2269 _invExp = omc_ExpressionSimplify_simplify1(threadData, _invExp, NULL((void*)0));
2270#line 2270 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/ExpressionSolve.c"
2271
2272#line 1661 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/ExpressionSolve.mo"
2273 _e7 = omc_Expression_expPow(threadData, _e7, _invExp);
2274#line 2274 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/ExpressionSolve.c"
2275
2276#line 1664 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/ExpressionSolve.mo"
2277 tmpMeta[0] = mmc_mk_box4(15, &DAE_Exp_IFEXP__desc, _con, _e7, _x);
2278#line 1664 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/ExpressionSolve.mo"
2279 _rhs = tmpMeta[0];
2280#line 2280 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/ExpressionSolve.c"
2281
2282#line 1666 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/ExpressionSolve.mo"
2283 _lhs = (_b1?omc_Expression_expPow(threadData, _e2, _e6):omc_Expression_expPow(threadData, _e2, _e3));
2284#line 2284 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/ExpressionSolve.c"
2285 _return: OMC_LABEL_UNUSED__attribute__((unused))
2286 if (out_lhs) { *out_lhs = _lhs; }
2287 if (out_eqnForNewVars) { *out_eqnForNewVars = _eqnForNewVars; }
2288 if (out_newVarsCrefs) { *out_newVarsCrefs = _newVarsCrefs; }
2289 return _rhs;
2290}
2291PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_ExpressionSolve_solveQE(threadData_t *threadData, modelica_metatype _e1, modelica_metatype _e2, modelica_metatype _e3, modelica_metatype _e4, modelica_metatype _e5, modelica_metatype _e6, modelica_metatype _inExp2, modelica_metatype _inExp3, modelica_metatype _ieqnForNewVars, modelica_metatype _inewVarsCrefs, modelica_metatype _uniqueEqIndex, modelica_metatype _idepth, modelica_metatype *out_lhs, modelica_metatype *out_eqnForNewVars, modelica_metatype *out_newVarsCrefs)
2292{
2293 modelica_integer tmp1;
2294 modelica_integer tmp2;
2295 modelica_metatype _rhs = NULL((void*)0);
2296 tmp1 = mmc_unbox_integer(_uniqueEqIndex)(((mmc_sint_t) (_uniqueEqIndex)) >> 1);
2297 tmp2 = mmc_unbox_integer(_idepth)(((mmc_sint_t) (_idepth)) >> 1);
2298 _rhs = omc_ExpressionSolve_solveQE(threadData, _e1, _e2, _e3, _e4, _e5, _e6, _inExp2, _inExp3, _ieqnForNewVars, _inewVarsCrefs, tmp1, tmp2, out_lhs, out_eqnForNewVars, out_newVarsCrefs);
2299 /* skip box _rhs; DAE.Exp */
2300 /* skip box _lhs; DAE.Exp */
2301 /* skip box _eqnForNewVars; list<BackendDAE.Equation> */
2302 /* skip box _newVarsCrefs; list<DAE.ComponentRef> */
2303 return _rhs;
2304}
2305
2306PROTECTED_FUNCTION_STATIC modelica_metatype omc_ExpressionSolve_simplifyBinaryMulCoeff(threadData_t *threadData, modelica_metatype _inExp)
2307{
2308 modelica_metatype _outRes = NULL((void*)0);
2309 modelica_metatype tmpMeta[6] __attribute__((unused)) = {0};
2310 MMC_SO()mmc_check_stackoverflow(threadData);
2311 _tailrecursive: OMC_LABEL_UNUSED__attribute__((unused))
2312 // _outRes has no default value.
2313#line 2313 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/ExpressionSolve.c"
2314 { /* match expression */
2315 modelica_metatype tmp3_1;
2316 tmp3_1 = _inExp;
2317 {
2318 modelica_metatype _e = NULL((void*)0);
2319 modelica_metatype _e1 = NULL((void*)0);
2320 modelica_metatype _e2 = NULL((void*)0);
2321 modelica_metatype _coeff = NULL((void*)0);
2322 volatile mmc_switch_type tmp3;
2323 int tmp4;
2324 // _e has no default value.
2325 // _e1 has no default value.
2326 // _e2 has no default value.
2327 // _coeff has no default value.
2328 tmp3 = 0;
2329 for (; tmp3 < 7; tmp3++) {
2330 switch (MMC_SWITCH_CAST(tmp3)(tmp3)) {
2331 case 0: {
2332 if (mmc__uniontype__metarecord__typedef__equal(tmp3_1,6,2)((*(mmc_uint_t*)((void*)((char*)(tmp3_1) - 3)))==(((2 +1) <<
10) + (((6 +3) & 255) << 2)))
== 0) goto tmp2_end;
2333
2334 _e = tmp3_1;
2335 /* Pattern matching succeeded */
2336#line 1539 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/ExpressionSolve.mo"
2337 tmpMeta[1] = mmc_mk_box2(0, _e, _OMC_LIT13((void*)((char*)(&(_OMC_LIT_STRUCT13).header) + 3)));
2338#line 1539 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/ExpressionSolve.mo"
2339 tmpMeta[0] = tmpMeta[1];
2340#line 2340 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/ExpressionSolve.c"
2341 goto tmp2_done;
2342 }
2343 case 1: {
2344 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;
2345 tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_1), 2))(*(void**)(((void*)((void**)(((void*)((char*)(tmp3_1) - 3))) +
(2)))))
;
2346 tmpMeta[2] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_1), 3))(*(void**)(((void*)((void**)(((void*)((char*)(tmp3_1) - 3))) +
(3)))))
;
2347 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;
2348 tmpMeta[3] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_1), 4))(*(void**)(((void*)((void**)(((void*)((char*)(tmp3_1) - 3))) +
(4)))))
;
2349 if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[3],8,2)((*(mmc_uint_t*)((void*)((char*)(tmpMeta[3]) - 3)))==(((2 +1)
<< 10) + (((8 +3) & 255) << 2)))
== 0) goto tmp2_end;
2350 tmpMeta[4] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[3]), 2))(*(void**)(((void*)((void**)(((void*)((char*)(tmpMeta[3]) - 3
))) + (2)))))
;
2351 if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[4],5,1)((*(mmc_uint_t*)((void*)((char*)(tmpMeta[4]) - 3)))==(((1 +1)
<< 10) + (((5 +3) & 255) << 2)))
== 0) goto tmp2_end;
2352 tmpMeta[5] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[3]), 3))(*(void**)(((void*)((void**)(((void*)((char*)(tmpMeta[3]) - 3
))) + (3)))))
;
2353 _e1 = tmpMeta[1];
2354 _coeff = tmpMeta[5];
2355 /* Pattern matching succeeded */
2356#line 1542 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/ExpressionSolve.mo"
2357 tmpMeta[1] = mmc_mk_box2(0, _e1, omc_Expression_negate(threadData, _coeff));
2358#line 1542 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/ExpressionSolve.mo"
2359 tmpMeta[0] = tmpMeta[1];
2360#line 2360 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/ExpressionSolve.c"
2361 goto tmp2_done;
2362 }
2363 case 2: {
2364 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;
2365 tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_1), 2))(*(void**)(((void*)((void**)(((void*)((char*)(tmp3_1) - 3))) +
(2)))))
;
2366 tmpMeta[2] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_1), 3))(*(void**)(((void*)((void**)(((void*)((char*)(tmp3_1) - 3))) +
(3)))))
;
2367 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;
2368 tmpMeta[3] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_1), 4))(*(void**)(((void*)((void**)(((void*)((char*)(tmp3_1) - 3))) +
(4)))))
;
2369 _e1 = tmpMeta[1];
2370 _coeff = tmpMeta[3];
2371 /* Pattern matching succeeded */
2372#line 1546 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/ExpressionSolve.mo"
2373 tmpMeta[1] = mmc_mk_box2(0, _e1, _coeff);
2374#line 1546 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/ExpressionSolve.mo"
2375 tmpMeta[0] = tmpMeta[1];
2376#line 2376 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/ExpressionSolve.c"
2377 goto tmp2_done;
2378 }
2379 case 3: {
2380 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;
2381 tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_1), 2))(*(void**)(((void*)((void**)(((void*)((char*)(tmp3_1) - 3))) +
(2)))))
;
2382 tmpMeta[2] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_1), 3))(*(void**)(((void*)((void**)(((void*)((char*)(tmp3_1) - 3))) +
(3)))))
;
2383 if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[2],2,1)((*(mmc_uint_t*)((void*)((char*)(tmpMeta[2]) - 3)))==(((1 +1)
<< 10) + (((2 +3) & 255) << 2)))
== 0) goto tmp2_end;
2384 tmpMeta[3] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_1), 4))(*(void**)(((void*)((void**)(((void*)((char*)(tmp3_1) - 3))) +
(4)))))
;
2385 _e1 = tmpMeta[1];
2386 _e2 = tmpMeta[3];
2387 /* Pattern matching succeeded */
2388 /* Check guard condition after assignments */
2389 if (!omc_Expression_expEqual(threadData, _e1, _e2)) goto tmp2_end;
2390#line 1550 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/ExpressionSolve.mo"
2391 tmpMeta[1] = mmc_mk_box2(0, _e1, _OMC_LIT38((void*)((char*)(&(_OMC_LIT_STRUCT38).header) + 3)));
2392#line 1550 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/ExpressionSolve.mo"
2393 tmpMeta[0] = tmpMeta[1];
2394#line 2394 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/ExpressionSolve.c"
2395 goto tmp2_done;
2396 }
2397 case 4: {
2398 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;
2399 tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_1), 2))(*(void**)(((void*)((void**)(((void*)((char*)(tmp3_1) - 3))) +
(2)))))
;
2400 tmpMeta[2] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_1), 3))(*(void**)(((void*)((void**)(((void*)((char*)(tmp3_1) - 3))) +
(3)))))
;
2401 if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[2],3,1)((*(mmc_uint_t*)((void*)((char*)(tmpMeta[2]) - 3)))==(((1 +1)
<< 10) + (((3 +3) & 255) << 2)))
== 0) goto tmp2_end;
2402 tmpMeta[3] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_1), 4))(*(void**)(((void*)((void**)(((void*)((char*)(tmp3_1) - 3))) +
(4)))))
;
2403 _e1 = tmpMeta[1];
2404 _e2 = tmpMeta[3];
2405 /* Pattern matching succeeded */
2406 /* Check guard condition after assignments */
2407 if (!omc_Expression_isOne(threadData, _e1)) goto tmp2_end;
2408#line 1555 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/ExpressionSolve.mo"
2409 tmpMeta[1] = mmc_mk_box2(0, _e2, _OMC_LIT54((void*)((char*)(&(_OMC_LIT_STRUCT54).header) + 3)));
2410#line 1555 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/ExpressionSolve.mo"
2411 tmpMeta[0] = tmpMeta[1];
2412#line 2412 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/ExpressionSolve.c"
2413 goto tmp2_done;
2414 }
2415 case 5: {
2416 if (mmc__uniontype__metarecord__typedef__equal(tmp3_1,13,3)((*(mmc_uint_t*)((void*)((char*)(tmp3_1) - 3)))==(((3 +1) <<
10) + (((13 +3) & 255) << 2)))
== 0) goto tmp2_end;
2417 tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_1), 2))(*(void**)(((void*)((void**)(((void*)((char*)(tmp3_1) - 3))) +
(2)))))
;
2418 if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[1],1,1)((*(mmc_uint_t*)((void*)((char*)(tmpMeta[1]) - 3)))==(((1 +1)
<< 10) + (((1 +3) & 255) << 2)))
== 0) goto tmp2_end;
2419 tmpMeta[2] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[1]), 2))(*(void**)(((void*)((void**)(((void*)((char*)(tmpMeta[1]) - 3
))) + (2)))))
;
2420 if (4 != MMC_STRLEN(tmpMeta[2])(((((*(mmc_uint_t*)((void*)((char*)(tmpMeta[2]) - 3)))) >>
(3)) - 8))
|| strcmp(MMC_STRINGDATA(_OMC_LIT16)(((struct mmc_string*)((void*)((char*)(((void*)((char*)(&
(_OMC_LIT_STRUCT16).header) + 3))) - 3)))->data)
, MMC_STRINGDATA(tmpMeta[2])(((struct mmc_string*)((void*)((char*)(tmpMeta[2]) - 3)))->
data)
) != 0) goto tmp2_end;
2421 tmpMeta[3] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_1), 3))(*(void**)(((void*)((void**)(((void*)((char*)(tmp3_1) - 3))) +
(3)))))
;
2422 if (listEmpty(tmpMeta[3])((*(mmc_uint_t*)((void*)((char*)(tmpMeta[3]) - 3))) == (((0) <<
10) + (((0) & 255) << 2)))
) goto tmp2_end;
2423 tmpMeta[4] = MMC_CAR(tmpMeta[3])(*(void**)(((void*)((void**)(((void*)((char*)(tmpMeta[3]) - 3
))) + (1)))))
;
2424 tmpMeta[5] = MMC_CDR(tmpMeta[3])(*(void**)(((void*)((void**)(((void*)((char*)(tmpMeta[3]) - 3
))) + (2)))))
;
2425 if (!listEmpty(tmpMeta[5])((*(mmc_uint_t*)((void*)((char*)(tmpMeta[5]) - 3))) == (((0) <<
10) + (((0) & 255) << 2)))
) goto tmp2_end;
2426
2427 _e = tmpMeta[4];
2428 /* Pattern matching succeeded */
2429#line 1558 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/ExpressionSolve.mo"
2430 tmpMeta[1] = mmc_mk_box2(0, _e, _OMC_LIT6((void*)((char*)(&(_OMC_LIT_STRUCT6).header) + 3)));
2431#line 1558 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/ExpressionSolve.mo"
2432 tmpMeta[0] = tmpMeta[1];
2433#line 2433 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/ExpressionSolve.c"
2434 goto tmp2_done;
2435 }
2436 case 6: {
2437
2438 /* Pattern matching succeeded */
2439#line 1560 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/ExpressionSolve.mo"
2440 tmpMeta[1] = mmc_mk_box2(0, _inExp, _OMC_LIT13((void*)((char*)(&(_OMC_LIT_STRUCT13).header) + 3)));
2441#line 1560 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/ExpressionSolve.mo"
2442 tmpMeta[0] = tmpMeta[1];
2443#line 2443 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/ExpressionSolve.c"
2444 goto tmp2_done;
2445 }
2446 }
2447 goto tmp2_end;
2448 tmp2_end: ;
2449 }
2450 goto goto_1;
2451 goto_1:;
2452 MMC_THROW_INTERNAL(){longjmp(*threadData->mmc_jumper,1);};
2453 goto tmp2_done;
2454 tmp2_done:;
2455 }
2456 }
2457 _outRes = tmpMeta[0];
2458 _return: OMC_LABEL_UNUSED__attribute__((unused))
2459 return _outRes;
2460}
2461
2462PROTECTED_FUNCTION_STATIC modelica_metatype omc_ExpressionSolve_preprocessingSolveTmpVarsWork(threadData_t *threadData, modelica_metatype _inExp1, modelica_metatype _inExp2, modelica_metatype _inExp3, modelica_integer _uniqueEqIndex, modelica_metatype _ieqnForNewVars, modelica_metatype _inewVarsCrefs, modelica_integer _idepth, modelica_metatype *out_y, modelica_boolean *out_new_x, modelica_metatype *out_eqnForNewVars, modelica_metatype *out_newVarsCrefs, modelica_integer *out_odepth)
2463{
2464 modelica_metatype _x = NULL((void*)0);
2465 modelica_metatype _y = NULL((void*)0);
2466 modelica_boolean _new_x;
2467 modelica_metatype _eqnForNewVars = NULL((void*)0);
2468 modelica_metatype _newVarsCrefs = NULL((void*)0);
2469 modelica_integer _odepth;
2470 modelica_boolean tmp1_c2 __attribute__((unused)) = 0;
2471 modelica_integer tmp1_c5 __attribute__((unused)) = 0;
2472 modelica_metatype tmpMeta[11] __attribute__((unused)) = {0};
2473 MMC_SO()mmc_check_stackoverflow(threadData);
2474 _tailrecursive: OMC_LABEL_UNUSED__attribute__((unused))
2475 // _x has no default value.
2476 // _y has no default value.
2477 // _new_x has no default value.
2478 // _eqnForNewVars has no default value.
2479 // _newVarsCrefs has no default value.
2480 // _odepth has no default value.
2481#line 1300 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/ExpressionSolve.mo"
2482
2483#line 1300 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/ExpressionSolve.mo"
2484
2485#line 1300 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/ExpressionSolve.mo"
2486
2487#line 1300 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/ExpressionSolve.mo"
2488
2489#line 1300 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/ExpressionSolve.mo"
2490
2491#line 1300 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/ExpressionSolve.mo"
2492
2493#line 2493 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/ExpressionSolve.c"
2494 { /* matchcontinue expression */
2495 volatile modelica_metatype tmp4_1;
2496 tmp4_1 = _inExp1;
2497 {
2498 modelica_metatype _e1 = NULL((void*)0);
2499 modelica_metatype _e_1 = NULL((void*)0);
2500 modelica_metatype _e = NULL((void*)0);
2501 modelica_metatype _e2 = NULL((void*)0);
2502 modelica_metatype _exP = NULL((void*)0);
2503 modelica_metatype _lhs = NULL((void*)0);
2504 modelica_metatype _e3 = NULL((void*)0);
2505 modelica_metatype _e5 = NULL((void*)0);
2506 modelica_metatype _e6 = NULL((void*)0);
2507 modelica_metatype _rhs = NULL((void*)0);
2508 modelica_metatype _a1 = NULL((void*)0);
2509 modelica_metatype _x1 = NULL((void*)0);
2510 modelica_metatype _a2 = NULL((void*)0);
2511 modelica_metatype _x2 = NULL((void*)0);
2512 modelica_metatype _ee1 = NULL((void*)0);
2513 modelica_metatype _ee2 = NULL((void*)0);
2514 modelica_metatype _acosy = NULL((void*)0);
2515 modelica_metatype _k1 = NULL((void*)0);
2516 modelica_metatype _k2 = NULL((void*)0);
2517 modelica_metatype _a = NULL((void*)0);
2518 modelica_metatype _c = NULL((void*)0);
2519 modelica_metatype _z1 = NULL((void*)0);
2520 modelica_metatype _z2 = NULL((void*)0);
2521 modelica_metatype _z3 = NULL((void*)0);
2522 modelica_metatype _z4 = NULL((void*)0);
2523 modelica_metatype _tp = NULL((void*)0);
2524 modelica_metatype _eqnForNewVars_ = NULL((void*)0);
2525 modelica_metatype _newVarsCrefs_ = NULL((void*)0);
2526 modelica_metatype _op1 = NULL((void*)0);
2527 volatile mmc_switch_type tmp4;
2528 int tmp5;
2529 // _e1 has no default value.
2530 // _e_1 has no default value.
2531 // _e has no default value.
2532 // _e2 has no default value.
2533 // _exP has no default value.
2534 // _lhs has no default value.
2535 // _e3 has no default value.
2536 // _e5 has no default value.
2537 // _e6 has no default value.
2538 // _rhs has no default value.
2539 // _a1 has no default value.
2540 // _x1 has no default value.
2541 // _a2 has no default value.
2542 // _x2 has no default value.
2543 // _ee1 has no default value.
2544 // _ee2 has no default value.
2545 // _acosy has no default value.
2546 // _k1 has no default value.
2547 // _k2 has no default value.
2548 // _a has no default value.
2549 // _c has no default value.
2550 // _z1 has no default value.
2551 // _z2 has no default value.
2552 // _z3 has no default value.
2553 // _z4 has no default value.
2554 // _tp has no default value.
2555 // _eqnForNewVars_ has no default value.
2556 // _newVarsCrefs_ has no default value.
2557 // _op1 has no default value.
2558 tmp4 = 0;
2559 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) {
2560 tmp3_top:
2561 threadData->mmc_jumper = &new_mmc_jumper;
2562 for (; tmp4 < 11; tmp4++) {
2563 switch (MMC_SWITCH_CAST(tmp4)(tmp4)) {
2564 case 0: {
2565 modelica_boolean tmp6;
2566 modelica_boolean tmp7;
2567 if (mmc__uniontype__metarecord__typedef__equal(tmp4_1,13,3)((*(mmc_uint_t*)((void*)((char*)(tmp4_1) - 3)))==(((3 +1) <<
10) + (((13 +3) & 255) << 2)))
== 0) goto tmp3_end;
2568 tmpMeta[6] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_1), 2))(*(void**)(((void*)((void**)(((void*)((char*)(tmp4_1) - 3))) +
(2)))))
;
2569 if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[6],1,1)((*(mmc_uint_t*)((void*)((char*)(tmpMeta[6]) - 3)))==(((1 +1)
<< 10) + (((1 +3) & 255) << 2)))
== 0) goto tmp3_end;
2570 tmpMeta[7] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[6]), 2))(*(void**)(((void*)((void**)(((void*)((char*)(tmpMeta[6]) - 3
))) + (2)))))
;
2571 if (4 != MMC_STRLEN(tmpMeta[7])(((((*(mmc_uint_t*)((void*)((char*)(tmpMeta[7]) - 3)))) >>
(3)) - 8))
|| strcmp(MMC_STRINGDATA(_OMC_LIT81)(((struct mmc_string*)((void*)((char*)(((void*)((char*)(&
(_OMC_LIT_STRUCT81).header) + 3))) - 3)))->data)
, MMC_STRINGDATA(tmpMeta[7])(((struct mmc_string*)((void*)((char*)(tmpMeta[7]) - 3)))->
data)
) != 0) goto tmp3_end;
2572 tmpMeta[8] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_1), 3))(*(void**)(((void*)((void**)(((void*)((char*)(tmp4_1) - 3))) +
(3)))))
;
2573 if (listEmpty(tmpMeta[8])((*(mmc_uint_t*)((void*)((char*)(tmpMeta[8]) - 3))) == (((0) <<
10) + (((0) & 255) << 2)))
) goto tmp3_end;
2574 tmpMeta[9] = MMC_CAR(tmpMeta[8])(*(void**)(((void*)((void**)(((void*)((char*)(tmpMeta[8]) - 3
))) + (1)))))
;
2575 tmpMeta[10] = MMC_CDR(tmpMeta[8])(*(void**)(((void*)((void**)(((void*)((char*)(tmpMeta[8]) - 3
))) + (2)))))
;
2576 if (!listEmpty(tmpMeta[10])((*(mmc_uint_t*)((void*)((char*)(tmpMeta[10]) - 3))) == (((0)
<< 10) + (((0) & 255) << 2)))
) goto tmp3_end;
2577
2578 _e1 = tmpMeta[9];
2579 tmp4 += 9; /* Pattern matching succeeded; we may skip some cases if we fail */
2580#line 1316 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/ExpressionSolve.mo"
2581 /* Pattern-matching assignment */
2582#line 1316 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/ExpressionSolve.mo"
2583 tmp6 = omc_ExpressionSolve_expHasCref(threadData, _e1, _inExp3);
2584#line 1316 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/ExpressionSolve.mo"
2585 if (1 != tmp6) goto goto_2;
2586#line 2586 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/ExpressionSolve.c"
2587
2588#line 1317 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/ExpressionSolve.mo"
2589 /* Pattern-matching assignment */
2590#line 1317 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/ExpressionSolve.mo"
2591 tmp7 = omc_ExpressionSolve_expHasCref(threadData, _inExp2, _inExp3);
2592#line 1317 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/ExpressionSolve.mo"
2593 if (0 != tmp7) goto goto_2;
2594#line 2594 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/ExpressionSolve.c"
2595
2596#line 1318 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/ExpressionSolve.mo"
2597 _tp = omc_Expression_typeof(threadData, _inExp2);
2598#line 2598 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/ExpressionSolve.c"
2599
2600#line 1319 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/ExpressionSolve.mo"
2601 _e = omc_ExpressionSolve_makeTmpEqnAndCrefFromExp(threadData, _inExp2, _tp, _OMC_LIT55((void*)((char*)(&(_OMC_LIT_STRUCT55).header) + 3)), _uniqueEqIndex, _idepth, _ieqnForNewVars, _inewVarsCrefs, 0 ,&_eqnForNewVars_ ,&_newVarsCrefs_);
2602#line 2602 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/ExpressionSolve.c"
2603
2604#line 1320 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/ExpressionSolve.mo"
2605 _e2 = omc_Expression_expAdd(threadData, _OMC_LIT13((void*)((char*)(&(_OMC_LIT_STRUCT13).header) + 3)), _e);
2606#line 2606 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/ExpressionSolve.c"
2607
2608#line 1321 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/ExpressionSolve.mo"
2609 _e3 = omc_Expression_expSub(threadData, _OMC_LIT13((void*)((char*)(&(_OMC_LIT_STRUCT13).header) + 3)), _e);
2610#line 2610 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/ExpressionSolve.c"
2611
2612#line 1322 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/ExpressionSolve.mo"
2613 _e2 = omc_Expression_makeDiv(threadData, _e2, _e3);
2614#line 2614 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/ExpressionSolve.c"
2615
2616#line 1323 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/ExpressionSolve.mo"
2617 tmpMeta[6] = mmc_mk_cons(_e2, MMC_REFSTRUCTLIT(mmc_nil)((void*)((char*)(&(mmc_nil).header) + 3)));
2618#line 1323 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/ExpressionSolve.mo"
2619 _e2 = omc_Expression_makePureBuiltinCall(threadData, _OMC_LIT14((void*)((char*)(&(_OMC_LIT_STRUCT14).header) + 3)), tmpMeta[6], _OMC_LIT56((void*)((char*)(&(_OMC_LIT_STRUCT56).header) + 3)));
2620#line 2620 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/ExpressionSolve.c"
2621
2622#line 1324 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/ExpressionSolve.mo"
2623 _e2 = omc_Expression_expMul(threadData, _OMC_LIT6((void*)((char*)(&(_OMC_LIT_STRUCT6).header) + 3)), _e2);
2624#line 2624 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/ExpressionSolve.c"
2625#line 1325 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/ExpressionSolve.mo"
2626 tmpMeta[0+0] = _e1;
2627#line 1325 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/ExpressionSolve.mo"
2628 tmpMeta[0+1] = _e2;
2629#line 1325 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/ExpressionSolve.mo"
2630 tmp1_c2 = 1;
2631#line 1325 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/ExpressionSolve.mo"
2632 tmpMeta[0+3] = _eqnForNewVars_;
2633#line 1325 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/ExpressionSolve.mo"
2634 tmpMeta[0+4] = _newVarsCrefs_;
2635#line 1325 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/ExpressionSolve.mo"
2636 tmp1_c5 = ((modelica_integer) 1) + _idepth;
2637#line 2637 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/ExpressionSolve.c"
2638 goto tmp3_done;
2639 }
2640 case 1: {
2641 modelica_boolean tmp8;
2642 modelica_boolean tmp9;
2643 if (mmc__uniontype__metarecord__typedef__equal(tmp4_1,13,3)((*(mmc_uint_t*)((void*)((char*)(tmp4_1) - 3)))==(((3 +1) <<
10) + (((13 +3) & 255) << 2)))
== 0) goto tmp3_end;
2644 tmpMeta[6] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_1), 2))(*(void**)(((void*)((void**)(((void*)((char*)(tmp4_1) - 3))) +
(2)))))
;
2645 if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[6],1,1)((*(mmc_uint_t*)((void*)((char*)(tmpMeta[6]) - 3)))==(((1 +1)
<< 10) + (((1 +3) & 255) << 2)))
== 0) goto tmp3_end;
2646 tmpMeta[7] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[6]), 2))(*(void**)(((void*)((void**)(((void*)((char*)(tmpMeta[6]) - 3
))) + (2)))))
;
2647 if (4 != MMC_STRLEN(tmpMeta[7])(((((*(mmc_uint_t*)((void*)((char*)(tmpMeta[7]) - 3)))) >>
(3)) - 8))
|| strcmp(MMC_STRINGDATA(_OMC_LIT82)(((struct mmc_string*)((void*)((char*)(((void*)((char*)(&
(_OMC_LIT_STRUCT82).header) + 3))) - 3)))->data)
, MMC_STRINGDATA(tmpMeta[7])(((struct mmc_string*)((void*)((char*)(tmpMeta[7]) - 3)))->
data)
) != 0) goto tmp3_end;
2648 tmpMeta[8] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_1), 3))(*(void**)(((void*)((void**)(((void*)((char*)(tmp4_1) - 3))) +
(3)))))
;
2649 if (listEmpty(tmpMeta[8])((*(mmc_uint_t*)((void*)((char*)(tmpMeta[8]) - 3))) == (((0) <<
10) + (((0) & 255) << 2)))
) goto tmp3_end;
2650 tmpMeta[9] = MMC_CAR(tmpMeta[8])(*(void**)(((void*)((void**)(((void*)((char*)(tmpMeta[8]) - 3
))) + (1)))))
;
2651 tmpMeta[10] = MMC_CDR(tmpMeta[8])(*(void**)(((void*)((void**)(((void*)((char*)(tmpMeta[8]) - 3
))) + (2)))))
;
2652 if (!listEmpty(tmpMeta[10])((*(mmc_uint_t*)((void*)((char*)(tmpMeta[10]) - 3))) == (((0)
<< 10) + (((0) & 255) << 2)))
) goto tmp3_end;
2653
2654 _e1 = tmpMeta[9];
2655 tmp4 += 8; /* Pattern matching succeeded; we may skip some cases if we fail */
2656#line 1330 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/ExpressionSolve.mo"
2657 /* Pattern-matching assignment */
2658#line 1330 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/ExpressionSolve.mo"
2659 tmp8 = omc_ExpressionSolve_expHasCref(threadData, _e1, _inExp3);
2660#line 1330 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/ExpressionSolve.mo"
2661 if (1 != tmp8) goto goto_2;
2662#line 2662 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/ExpressionSolve.c"
2663
2664#line 1331 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/ExpressionSolve.mo"
2665 /* Pattern-matching assignment */
2666#line 1331 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/ExpressionSolve.mo"
2667 tmp9 = omc_ExpressionSolve_expHasCref(threadData, _inExp2, _inExp3);
2668#line 1331 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/ExpressionSolve.mo"
2669 if (0 != tmp9) goto goto_2;
2670#line 2670 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/ExpressionSolve.c"
2671
2672#line 1332 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/ExpressionSolve.mo"
2673 _tp = omc_Expression_typeof(threadData, _inExp2);
2674#line 2674 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/ExpressionSolve.c"
2675
2676#line 1333 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/ExpressionSolve.mo"
2677 _e = omc_ExpressionSolve_makeTmpEqnAndCrefFromExp(threadData, _inExp2, _tp, _OMC_LIT57((void*)((char*)(&(_OMC_LIT_STRUCT57).header) + 3)), _uniqueEqIndex, _idepth, _ieqnForNewVars, _inewVarsCrefs, 0 ,&_eqnForNewVars_ ,&_newVarsCrefs_);
2678#line 2678 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/ExpressionSolve.c"
2679
2680#line 1334 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/ExpressionSolve.mo"
2681 _e2 = omc_Expression_expPow(threadData, _e, _OMC_LIT38((void*)((char*)(&(_OMC_LIT_STRUCT38).header) + 3)));
2682#line 2682 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/ExpressionSolve.c"
2683
2684#line 1335 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/ExpressionSolve.mo"
2685 _e3 = omc_Expression_expAdd(threadData, _e2, _OMC_LIT13((void*)((char*)(&(_OMC_LIT_STRUCT13).header) + 3)));
2686#line 2686 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/ExpressionSolve.c"
2687
2688#line 1336 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/ExpressionSolve.mo"
2689 tmpMeta[6] = mmc_mk_cons(_e3, MMC_REFSTRUCTLIT(mmc_nil)((void*)((char*)(&(mmc_nil).header) + 3)));
2690#line 1336 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/ExpressionSolve.mo"
2691 _e2 = omc_Expression_makePureBuiltinCall(threadData, _OMC_LIT16((void*)((char*)(&(_OMC_LIT_STRUCT16).header) + 3)), tmpMeta[6], _OMC_LIT56((void*)((char*)(&(_OMC_LIT_STRUCT56).header) + 3)));
2692#line 2692 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/ExpressionSolve.c"
2693
2694#line 1337 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/ExpressionSolve.mo"
2695 _e3 = omc_Expression_expAdd(threadData, _e, _e2);
2696#line 2696 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/ExpressionSolve.c"
2697
2698#line 1338 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/ExpressionSolve.mo"
2699 tmpMeta[6] = mmc_mk_cons(_e3, MMC_REFSTRUCTLIT(mmc_nil)((void*)((char*)(&(mmc_nil).header) + 3)));
2700#line 1338 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/ExpressionSolve.mo"
2701 _e2 = omc_Expression_makePureBuiltinCall(threadData, _OMC_LIT14((void*)((char*)(&(_OMC_LIT_STRUCT14).header) + 3)), tmpMeta[6], _OMC_LIT56((void*)((char*)(&(_OMC_LIT_STRUCT56).header) + 3)));
2702#line 2702 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/ExpressionSolve.c"
2703#line 1339 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/ExpressionSolve.mo"
2704 tmpMeta[0+0] = _e1;
2705#line 1339 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/ExpressionSolve.mo"
2706 tmpMeta[0+1] = _e2;
2707#line 1339 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/ExpressionSolve.mo"
2708 tmp1_c2 = 1;
2709#line 1339 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/ExpressionSolve.mo"
2710 tmpMeta[0+3] = _eqnForNewVars_;
2711#line 1339 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/ExpressionSolve.mo"
2712 tmpMeta[0+4] = _newVarsCrefs_;
2713#line 1339 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/ExpressionSolve.mo"
2714 tmp1_c5 = ((modelica_integer) 1) + _idepth;
2715#line 2715 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/ExpressionSolve.c"
2716 goto tmp3_done;
2717 }
2718 case 2: {
2719 modelica_boolean tmp10;
2720 modelica_boolean tmp11;
2721 if (mmc__uniontype__metarecord__typedef__equal(tmp4_1,13,3)((*(mmc_uint_t*)((void*)((char*)(tmp4_1) - 3)))==(((3 +1) <<
10) + (((13 +3) & 255) << 2)))
== 0) goto tmp3_end;
2722 tmpMeta[6] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_1), 2))(*(void**)(((void*)((void**)(((void*)((char*)(tmp4_1) - 3))) +
(2)))))
;
2723 if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[6],1,1)((*(mmc_uint_t*)((void*)((char*)(tmpMeta[6]) - 3)))==(((1 +1)
<< 10) + (((1 +3) & 255) << 2)))
== 0) goto tmp3_end;
2724 tmpMeta[7] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[6]), 2))(*(void**)(((void*)((void**)(((void*)((char*)(tmpMeta[6]) - 3
))) + (2)))))
;
2725 if (4 != MMC_STRLEN(tmpMeta[7])(((((*(mmc_uint_t*)((void*)((char*)(tmpMeta[7]) - 3)))) >>
(3)) - 8))
|| strcmp(MMC_STRINGDATA(_OMC_LIT83)(((struct mmc_string*)((void*)((char*)(((void*)((char*)(&
(_OMC_LIT_STRUCT83).header) + 3))) - 3)))->data)
, MMC_STRINGDATA(tmpMeta[7])(((struct mmc_string*)((void*)((char*)(tmpMeta[7]) - 3)))->
data)
) != 0) goto tmp3_end;
2726 tmpMeta[8] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_1), 3))(*(void**)(((void*)((void**)(((void*)((char*)(tmp4_1) - 3))) +
(3)))))
;
2727 if (listEmpty(tmpMeta[8])((*(mmc_uint_t*)((void*)((char*)(tmpMeta[8]) - 3))) == (((0) <<
10) + (((0) & 255) << 2)))
) goto tmp3_end;
2728 tmpMeta[9] = MMC_CAR(tmpMeta[8])(*(void**)(((void*)((void**)(((void*)((char*)(tmpMeta[8]) - 3
))) + (1)))))
;
2729 tmpMeta[10] = MMC_CDR(tmpMeta[8])(*(void**)(((void*)((void**)(((void*)((char*)(tmpMeta[8]) - 3
))) + (2)))))
;
2730 if (!listEmpty(tmpMeta[10])((*(mmc_uint_t*)((void*)((char*)(tmpMeta[10]) - 3))) == (((0)
<< 10) + (((0) & 255) << 2)))
) goto tmp3_end;
2731
2732 _e1 = tmpMeta[9];
2733 tmp4 += 7; /* Pattern matching succeeded; we may skip some cases if we fail */
2734#line 1344 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/ExpressionSolve.mo"
2735 /* Pattern-matching assignment */
2736#line 1344 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/ExpressionSolve.mo"
2737 tmp10 = omc_ExpressionSolve_expHasCref(threadData, _e1, _inExp3);
2738#line 1344 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/ExpressionSolve.mo"
2739 if (1 != tmp10) goto goto_2;
2740#line 2740 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/ExpressionSolve.c"
2741
2742#line 1345 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/ExpressionSolve.mo"
2743 /* Pattern-matching assignment */
2744#line 1345 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/ExpressionSolve.mo"
2745 tmp11 = omc_ExpressionSolve_expHasCref(threadData, _inExp2, _inExp3);
2746#line 1345 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/ExpressionSolve.mo"
2747 if (0 != tmp11) goto goto_2;
2748#line 2748 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/ExpressionSolve.c"
2749
2750#line 1347 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/ExpressionSolve.mo"
2751 _tp = omc_Expression_typeof(threadData, _inExp2);
2752#line 2752 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/ExpressionSolve.c"
2753
2754#line 1348 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/ExpressionSolve.mo"
2755 _rhs = omc_ExpressionSolve_makeTmpEqnAndCrefFromExp(threadData, _inExp2, _tp, _OMC_LIT57((void*)((char*)(&(_OMC_LIT_STRUCT57).header) + 3)), _uniqueEqIndex, _idepth, _ieqnForNewVars, _inewVarsCrefs, 0 ,&_eqnForNewVars_ ,&_newVarsCrefs_);
2756#line 2756 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/ExpressionSolve.c"
2757
2758#line 1350 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/ExpressionSolve.mo"
2759 _tp = omc_Expression_typeof(threadData, _e1);
2760#line 2760 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/ExpressionSolve.c"
2761
2762#line 1351 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/ExpressionSolve.mo"
2763 _exP = omc_ExpressionSolve_makeInitialGuess(threadData, _tp, _inExp3, _e1);
2764#line 2764 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/ExpressionSolve.c"
2765
2766#line 1352 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/ExpressionSolve.mo"
2767 _exP = omc_ExpressionSolve_makeTmpEqnAndCrefFromExp(threadData, _exP, _tp, _OMC_LIT58((void*)((char*)(&(_OMC_LIT_STRUCT58).header) + 3)), _uniqueEqIndex, _idepth, _eqnForNewVars_, _newVarsCrefs_, 0 ,&_eqnForNewVars_ ,&_newVarsCrefs_);
2768#line 2768 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/ExpressionSolve.c"
2769
2770#line 1355 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/ExpressionSolve.mo"
2771 tmpMeta[6] = mmc_mk_cons(_exP, MMC_REFSTRUCTLIT(mmc_nil)((void*)((char*)(&(mmc_nil).header) + 3)));
2772#line 1355 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/ExpressionSolve.mo"
2773 _e_1 = omc_Expression_makePureBuiltinCall(threadData, _OMC_LIT41((void*)((char*)(&(_OMC_LIT_STRUCT41).header) + 3)), tmpMeta[6], _tp);
2774#line 2774 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/ExpressionSolve.c"
2775
2776#line 1357 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/ExpressionSolve.mo"
2777 _e2 = omc_Expression_expPow(threadData, _rhs, _OMC_LIT38((void*)((char*)(&(_OMC_LIT_STRUCT38).header) + 3)));
2778#line 2778 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/ExpressionSolve.c"
2779
2780#line 1358 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/ExpressionSolve.mo"
2781 _e3 = omc_Expression_expSub(threadData, _e2, _OMC_LIT13((void*)((char*)(&(_OMC_LIT_STRUCT13).header) + 3)));
2782#line 2782 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/ExpressionSolve.c"
2783
2784#line 1359 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/ExpressionSolve.mo"
2785 tmpMeta[6] = mmc_mk_cons(_e3, MMC_REFSTRUCTLIT(mmc_nil)((void*)((char*)(&(mmc_nil).header) + 3)));
2786#line 1359 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/ExpressionSolve.mo"
2787 _e2 = omc_Expression_makePureBuiltinCall(threadData, _OMC_LIT16((void*)((char*)(&(_OMC_LIT_STRUCT16).header) + 3)), tmpMeta[6], _OMC_LIT56((void*)((char*)(&(_OMC_LIT_STRUCT56).header) + 3)));
2788#line 2788 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/ExpressionSolve.c"
2789
2790#line 1361 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/ExpressionSolve.mo"
2791 _e3 = omc_Expression_expAdd(threadData, _rhs, omc_Expression_expMul(threadData, _e_1, _e2));
2792#line 2792 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/ExpressionSolve.c"
2793
2794#line 1362 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/ExpressionSolve.mo"
2795 tmpMeta[6] = mmc_mk_cons(_e3, MMC_REFSTRUCTLIT(mmc_nil)((void*)((char*)(&(mmc_nil).header) + 3)));
2796#line 1362 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/ExpressionSolve.mo"
2797 _e2 = omc_Expression_makePureBuiltinCall(threadData, _OMC_LIT14((void*)((char*)(&(_OMC_LIT_STRUCT14).header) + 3)), tmpMeta[6], _OMC_LIT56((void*)((char*)(&(_OMC_LIT_STRUCT56).header) + 3)));
2798#line 2798 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/ExpressionSolve.c"
2799#line 1364 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/ExpressionSolve.mo"
2800 tmpMeta[0+0] = _e1;
2801#line 1364 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/ExpressionSolve.mo"
2802 tmpMeta[0+1] = _e2;
2803#line 1364 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/ExpressionSolve.mo"
2804 tmp1_c2 = 1;
2805#line 1364 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/ExpressionSolve.mo"
2806 tmpMeta[0+3] = _eqnForNewVars_;
2807#line 1364 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/ExpressionSolve.mo"
2808 tmpMeta[0+4] = _newVarsCrefs_;
2809#line 1364 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/ExpressionSolve.mo"
2810 tmp1_c5 = ((modelica_integer) 1) + _idepth;
2811#line 2811 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/ExpressionSolve.c"
2812 goto tmp3_done;
2813 }
2814 case 3: {
2815 modelica_boolean tmp12;
2816 modelica_boolean tmp13;
2817 if (mmc__uniontype__metarecord__typedef__equal(tmp4_1,13,3)((*(mmc_uint_t*)((void*)((char*)(tmp4_1) - 3)))==(((3 +1) <<
10) + (((13 +3) & 255) << 2)))
== 0) goto tmp3_end;
2818 tmpMeta[6] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_1), 2))(*(void**)(((void*)((void**)(((void*)((char*)(tmp4_1) - 3))) +
(2)))))
;
2819 if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[6],1,1)((*(mmc_uint_t*)((void*)((char*)(tmpMeta[6]) - 3)))==(((1 +1)
<< 10) + (((1 +3) & 255) << 2)))
== 0) goto tmp3_end;
2820 tmpMeta[7] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[6]), 2))(*(void**)(((void*)((void**)(((void*)((char*)(tmpMeta[6]) - 3
))) + (2)))))
;
2821 if (3 != MMC_STRLEN(tmpMeta[7])(((((*(mmc_uint_t*)((void*)((char*)(tmpMeta[7]) - 3)))) >>
(3)) - 8))
|| strcmp(MMC_STRINGDATA(_OMC_LIT84)(((struct mmc_string*)((void*)((char*)(((void*)((char*)(&
(_OMC_LIT_STRUCT84).header) + 3))) - 3)))->data)
, MMC_STRINGDATA(tmpMeta[7])(((struct mmc_string*)((void*)((char*)(tmpMeta[7]) - 3)))->
data)
) != 0) goto tmp3_end;
2822 tmpMeta[8] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_1), 3))(*(void**)(((void*)((void**)(((void*)((char*)(tmp4_1) - 3))) +
(3)))))
;
2823 if (listEmpty(tmpMeta[8])((*(mmc_uint_t*)((void*)((char*)(tmpMeta[8]) - 3))) == (((0) <<
10) + (((0) & 255) << 2)))
) goto tmp3_end;
2824 tmpMeta[9] = MMC_CAR(tmpMeta[8])(*(void**)(((void*)((void**)(((void*)((char*)(tmpMeta[8]) - 3
))) + (1)))))
;
2825 tmpMeta[10] = MMC_CDR(tmpMeta[8])(*(void**)(((void*)((void**)(((void*)((char*)(tmpMeta[8]) - 3
))) + (2)))))
;
2826 if (!listEmpty(tmpMeta[10])((*(mmc_uint_t*)((void*)((char*)(tmpMeta[10]) - 3))) == (((0)
<< 10) + (((0) & 255) << 2)))
) goto tmp3_end;
2827
2828 _e1 = tmpMeta[9];
2829 tmp4 += 6; /* Pattern matching succeeded; we may skip some cases if we fail */
2830#line 1369 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/ExpressionSolve.mo"
2831 /* Pattern-matching assignment */
2832#line 1369 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/ExpressionSolve.mo"
2833 tmp12 = omc_ExpressionSolve_expHasCref(threadData, _e1, _inExp3);
2834#line 1369 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/ExpressionSolve.mo"
2835 if (1 != tmp12) goto goto_2;
2836#line 2836 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/ExpressionSolve.c"
2837
2838#line 1370 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/ExpressionSolve.mo"
2839 /* Pattern-matching assignment */
2840#line 1370 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/ExpressionSolve.mo"
2841 tmp13 = omc_ExpressionSolve_expHasCref(threadData, _inExp2, _inExp3);
2842#line 1370 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/ExpressionSolve.mo"
2843 if (0 != tmp13) goto goto_2;
2844#line 2844 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/ExpressionSolve.c"
2845
2846#line 1372 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/ExpressionSolve.mo"
2847 _tp = omc_Expression_typeof(threadData, _inExp2);
2848#line 2848 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/ExpressionSolve.c"
2849
2850#line 1373 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/ExpressionSolve.mo"
2851 _rhs = omc_ExpressionSolve_makeTmpEqnAndCrefFromExp(threadData, _inExp2, _tp, _OMC_LIT59((void*)((char*)(&(_OMC_LIT_STRUCT59).header) + 3)), _uniqueEqIndex, _idepth, _ieqnForNewVars, _inewVarsCrefs, 0 ,&_eqnForNewVars_ ,&_newVarsCrefs_);
2852#line 2852 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/ExpressionSolve.c"
2853
2854#line 1375 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/ExpressionSolve.mo"
2855 tmpMeta[6] = mmc_mk_cons(_rhs, MMC_REFSTRUCTLIT(mmc_nil)((void*)((char*)(&(mmc_nil).header) + 3)));
2856#line 1375 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/ExpressionSolve.mo"
2857 _acosy = omc_Expression_makePureBuiltinCall(threadData, _OMC_LIT60((void*)((char*)(&(_OMC_LIT_STRUCT60).header) + 3)), tmpMeta[6], _tp);
2858#line 2858 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/ExpressionSolve.c"
2859
2860#line 1376 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/ExpressionSolve.mo"
2861 _acosy = omc_ExpressionSolve_makeTmpEqnAndCrefFromExp(threadData, _acosy, _tp, _OMC_LIT61((void*)((char*)(&(_OMC_LIT_STRUCT61).header) + 3)), _uniqueEqIndex, _idepth, _eqnForNewVars_, _newVarsCrefs_, 0 ,&_eqnForNewVars_ ,&_newVarsCrefs_);
2862#line 2862 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/ExpressionSolve.c"
2863
2864#line 1378 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/ExpressionSolve.mo"
2865 _exP = omc_ExpressionSolve_makeInitialGuess(threadData, _tp, _inExp3, _e1);
2866#line 2866 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/ExpressionSolve.c"
2867
2868#line 1379 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/ExpressionSolve.mo"
2869 _exP = omc_ExpressionSolve_makeTmpEqnAndCrefFromExp(threadData, _exP, _tp, _OMC_LIT62((void*)((char*)(&(_OMC_LIT_STRUCT62).header) + 3)), _uniqueEqIndex, _idepth, _eqnForNewVars_, _newVarsCrefs_, 0 ,&_eqnForNewVars_ ,&_newVarsCrefs_);
2870#line 2870 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/ExpressionSolve.c"
2871
2872#line 1381 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/ExpressionSolve.mo"
2873 _k1 = omc_ExpressionSolve_helpInvCos(threadData, _acosy, _exP, _tp, 1);
2874#line 2874 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/ExpressionSolve.c"
2875
2876#line 1382 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/ExpressionSolve.mo"
2877 _k2 = omc_ExpressionSolve_helpInvCos(threadData, _acosy, _exP, _tp, 0);
2878#line 2878 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/ExpressionSolve.c"
2879
2880#line 1383 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/ExpressionSolve.mo"
2881 _k1 = omc_ExpressionSolve_makeTmpEqnAndCrefFromExp(threadData, _k1, _tp, _OMC_LIT63((void*)((char*)(&(_OMC_LIT_STRUCT63).header) + 3)), _uniqueEqIndex, _idepth, _eqnForNewVars_, _newVarsCrefs_, 0 ,&_eqnForNewVars_ ,&_newVarsCrefs_);
2882#line 2882 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/ExpressionSolve.c"
2883
2884#line 1384 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/ExpressionSolve.mo"
2885 _k2 = omc_ExpressionSolve_makeTmpEqnAndCrefFromExp(threadData, _k2, _tp, _OMC_LIT64((void*)((char*)(&(_OMC_LIT_STRUCT64).header) + 3)), _uniqueEqIndex, _idepth, _eqnForNewVars_, _newVarsCrefs_, 0 ,&_eqnForNewVars_ ,&_newVarsCrefs_);
2886#line 2886 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/ExpressionSolve.c"
2887
2888#line 1386 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/ExpressionSolve.mo"
2889 _x1 = omc_ExpressionSolve_helpInvCos2(threadData, _k1, _acosy, _tp, 1);
2890#line 2890 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/ExpressionSolve.c"
2891
2892#line 1387 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/ExpressionSolve.mo"
2893 _x2 = omc_ExpressionSolve_helpInvCos2(threadData, _k2, _acosy, _tp, 0);
2894#line 2894 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/ExpressionSolve.c"
2895
2896#line 1388 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/ExpressionSolve.mo"
2897 _x1 = omc_ExpressionSolve_makeTmpEqnAndCrefFromExp(threadData, _x1, _tp, _OMC_LIT65((void*)((char*)(&(_OMC_LIT_STRUCT65).header) + 3)), _uniqueEqIndex, _idepth, _eqnForNewVars_, _newVarsCrefs_, 0 ,&_eqnForNewVars_ ,&_newVarsCrefs_);
2898#line 2898 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/ExpressionSolve.c"
2899
2900#line 1389 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/ExpressionSolve.mo"
2901 _x2 = omc_ExpressionSolve_makeTmpEqnAndCrefFromExp(threadData, _x2, _tp, _OMC_LIT66((void*)((char*)(&(_OMC_LIT_STRUCT66).header) + 3)), _uniqueEqIndex, _idepth, _eqnForNewVars_, _newVarsCrefs_, 0 ,&_eqnForNewVars_ ,&_newVarsCrefs_);
2902#line 2902 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/ExpressionSolve.c"
2903
2904#line 1391 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/ExpressionSolve.mo"
2905 _rhs = omc_ExpressionSolve_helpInvCos3(threadData, _x1, _x2, _exP, _tp);
2906#line 2906 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/ExpressionSolve.c"
2907#line 1393 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/ExpressionSolve.mo"
2908 tmpMeta[0+0] = _e1;
2909#line 1393 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/ExpressionSolve.mo"
2910 tmpMeta[0+1] = _rhs;
2911#line 1393 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/ExpressionSolve.mo"
2912 tmp1_c2 = 1;
2913#line 1393 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/ExpressionSolve.mo"
2914 tmpMeta[0+3] = _eqnForNewVars_;
2915#line 1393 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/ExpressionSolve.mo"
2916 tmpMeta[0+4] = _newVarsCrefs_;
2917#line 1393 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/ExpressionSolve.mo"
2918 tmp1_c5 = ((modelica_integer) 1) + _idepth;
2919#line 2919 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/ExpressionSolve.c"
2920 goto tmp3_done;
2921 }
2922 case 4: {
2923 modelica_boolean tmp14;
2924 modelica_boolean tmp15;
2925 if (mmc__uniontype__metarecord__typedef__equal(tmp4_1,13,3)((*(mmc_uint_t*)((void*)((char*)(tmp4_1) - 3)))==(((3 +1) <<
10) + (((13 +3) & 255) << 2)))
== 0) goto tmp3_end;
2926 tmpMeta[6] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_1), 2))(*(void**)(((void*)((void**)(((void*)((char*)(tmp4_1) - 3))) +
(2)))))
;
2927 if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[6],1,1)((*(mmc_uint_t*)((void*)((char*)(tmpMeta[6]) - 3)))==(((1 +1)
<< 10) + (((1 +3) & 255) << 2)))
== 0) goto tmp3_end;
2928 tmpMeta[7] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[6]), 2))(*(void**)(((void*)((void**)(((void*)((char*)(tmpMeta[6]) - 3
))) + (2)))))
;
2929 if (3 != MMC_STRLEN(tmpMeta[7])(((((*(mmc_uint_t*)((void*)((char*)(tmpMeta[7]) - 3)))) >>
(3)) - 8))
|| strcmp(MMC_STRINGDATA(_OMC_LIT85)(((struct mmc_string*)((void*)((char*)(((void*)((char*)(&
(_OMC_LIT_STRUCT85).header) + 3))) - 3)))->data)
, MMC_STRINGDATA(tmpMeta[7])(((struct mmc_string*)((void*)((char*)(tmpMeta[7]) - 3)))->
data)
) != 0) goto tmp3_end;
2930 tmpMeta[8] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_1), 3))(*(void**)(((void*)((void**)(((void*)((char*)(tmp4_1) - 3))) +
(3)))))
;
2931 if (listEmpty(tmpMeta[8])((*(mmc_uint_t*)((void*)((char*)(tmpMeta[8]) - 3))) == (((0) <<
10) + (((0) & 255) << 2)))
) goto tmp3_end;
2932 tmpMeta[9] = MMC_CAR(tmpMeta[8])(*(void**)(((void*)((void**)(((void*)((char*)(tmpMeta[8]) - 3
))) + (1)))))
;
2933 tmpMeta[10] = MMC_CDR(tmpMeta[8])(*(void**)(((void*)((void**)(((void*)((char*)(tmpMeta[8]) - 3
))) + (2)))))
;
2934 if (!listEmpty(tmpMeta[10])((*(mmc_uint_t*)((void*)((char*)(tmpMeta[10]) - 3))) == (((0)
<< 10) + (((0) & 255) << 2)))
) goto tmp3_end;
2935
2936 _e1 = tmpMeta[9];
2937 tmp4 += 5; /* Pattern matching succeeded; we may skip some cases if we fail */
2938#line 1400 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/ExpressionSolve.mo"
2939 /* Pattern-matching assignment */
2940#line 1400 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/ExpressionSolve.mo"
2941 tmp14 = omc_ExpressionSolve_expHasCref(threadData, _e1, _inExp3);
2942#line 1400 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/ExpressionSolve.mo"
2943 if (1 != tmp14) goto goto_2;
2944#line 2944 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/ExpressionSolve.c"
2945
2946#line 1401 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/ExpressionSolve.mo"
2947 /* Pattern-matching assignment */
2948#line 1401 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/ExpressionSolve.mo"
2949 tmp15 = omc_ExpressionSolve_expHasCref(threadData, _inExp2, _inExp3);
2950#line 1401 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/ExpressionSolve.mo"
2951 if (0 != tmp15) goto goto_2;
2952#line 2952 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/ExpressionSolve.c"
2953
2954#line 1403 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/ExpressionSolve.mo"
2955 _tp = omc_Expression_typeof(threadData, _inExp2);
2956#line 2956 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/ExpressionSolve.c"
2957
2958#line 1404 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/ExpressionSolve.mo"
2959 _rhs = omc_ExpressionSolve_makeTmpEqnAndCrefFromExp(threadData, _inExp2, _tp, _OMC_LIT67((void*)((char*)(&(_OMC_LIT_STRUCT67).header) + 3)), _uniqueEqIndex, _idepth, _ieqnForNewVars, _inewVarsCrefs, 0 ,&_eqnForNewVars_ ,&_newVarsCrefs_);
2960#line 2960 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/ExpressionSolve.c"
2961
2962#line 1406 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/ExpressionSolve.mo"
2963 tmpMeta[6] = mmc_mk_cons(_rhs, MMC_REFSTRUCTLIT(mmc_nil)((void*)((char*)(&(mmc_nil).header) + 3)));
2964#line 1406 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/ExpressionSolve.mo"
2965 _acosy = omc_Expression_makePureBuiltinCall(threadData, _OMC_LIT68((void*)((char*)(&(_OMC_LIT_STRUCT68).header) + 3)), tmpMeta[6], _tp);
2966#line 2966 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/ExpressionSolve.c"
2967
2968#line 1407 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/ExpressionSolve.mo"
2969 _acosy = omc_ExpressionSolve_makeTmpEqnAndCrefFromExp(threadData, _acosy, _tp, _OMC_LIT69((void*)((char*)(&(_OMC_LIT_STRUCT69).header) + 3)), _uniqueEqIndex, _idepth, _eqnForNewVars_, _newVarsCrefs_, 0 ,&_eqnForNewVars_ ,&_newVarsCrefs_);
2970#line 2970 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/ExpressionSolve.c"
2971
2972#line 1409 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/ExpressionSolve.mo"
2973 _exP = omc_ExpressionSolve_makeInitialGuess(threadData, _tp, _inExp3, _e1);
2974#line 2974 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/ExpressionSolve.c"
2975
2976#line 1410 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/ExpressionSolve.mo"
2977 _exP = omc_ExpressionSolve_makeTmpEqnAndCrefFromExp(threadData, _exP, _tp, _OMC_LIT70((void*)((char*)(&(_OMC_LIT_STRUCT70).header) + 3)), _uniqueEqIndex, _idepth, _eqnForNewVars_, _newVarsCrefs_, 0 ,&_eqnForNewVars_ ,&_newVarsCrefs_);
2978#line 2978 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/ExpressionSolve.c"
2979
2980#line 1412 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/ExpressionSolve.mo"
2981 _k1 = omc_ExpressionSolve_helpInvSin(threadData, _acosy, _e1, _tp, 1);
2982#line 2982 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/ExpressionSolve.c"
2983
2984#line 1413 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/ExpressionSolve.mo"
2985 _k2 = omc_ExpressionSolve_helpInvSin(threadData, _acosy, _e1, _tp, 0);
2986#line 2986 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/ExpressionSolve.c"
2987
2988#line 1414 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/ExpressionSolve.mo"
2989 _k1 = omc_ExpressionSolve_makeTmpEqnAndCrefFromExp(threadData, _k1, _tp, _OMC_LIT71((void*)((char*)(&(_OMC_LIT_STRUCT71).header) + 3)), _uniqueEqIndex, _idepth, _eqnForNewVars_, _newVarsCrefs_, 0 ,&_eqnForNewVars_ ,&_newVarsCrefs_);
2990#line 2990 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/ExpressionSolve.c"
2991
2992#line 1415 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/ExpressionSolve.mo"
2993 _k2 = omc_ExpressionSolve_makeTmpEqnAndCrefFromExp(threadData, _k2, _tp, _OMC_LIT72((void*)((char*)(&(_OMC_LIT_STRUCT72).header) + 3)), _uniqueEqIndex, _idepth, _eqnForNewVars_, _newVarsCrefs_, 0 ,&_eqnForNewVars_ ,&_newVarsCrefs_);
2994#line 2994 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/ExpressionSolve.c"
2995
2996#line 1417 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/ExpressionSolve.mo"
2997 _x1 = omc_ExpressionSolve_helpInvSin2(threadData, _k1, _acosy, _tp, 1);
2998#line 2998 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/ExpressionSolve.c"
2999
3000#line 1418 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/ExpressionSolve.mo"
3001 _x2 = omc_ExpressionSolve_helpInvSin2(threadData, _k2, _acosy, _tp, 0);
3002#line 3002 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/ExpressionSolve.c"
3003
3004#line 1419 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/ExpressionSolve.mo"
3005 _x1 = omc_ExpressionSolve_makeTmpEqnAndCrefFromExp(threadData, _x1, _tp, _OMC_LIT73((void*)((char*)(&(_OMC_LIT_STRUCT73).header) + 3)), _uniqueEqIndex, _idepth, _eqnForNewVars_, _newVarsCrefs_, 0 ,&_eqnForNewVars_ ,&_newVarsCrefs_);
3006#line 3006 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/ExpressionSolve.c"
3007
3008#line 1420 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/ExpressionSolve.mo"
3009 _x2 = omc_ExpressionSolve_makeTmpEqnAndCrefFromExp(threadData, _x2, _tp, _OMC_LIT74((void*)((char*)(&(_OMC_LIT_STRUCT74).header) + 3)), _uniqueEqIndex, _idepth, _eqnForNewVars_, _newVarsCrefs_, 0 ,&_eqnForNewVars_ ,&_newVarsCrefs_);
3010#line 3010 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/ExpressionSolve.c"
3011
3012#line 1422 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/ExpressionSolve.mo"
3013 _rhs = omc_ExpressionSolve_helpInvCos3(threadData, _x1, _x2, _exP, _tp);
3014#line 3014 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/ExpressionSolve.c"
3015#line 1424 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/ExpressionSolve.mo"
3016 tmpMeta[0+0] = _e1;
3017#line 1424 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/ExpressionSolve.mo"
3018 tmpMeta[0+1] = _rhs;
3019#line 1424 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/ExpressionSolve.mo"
3020 tmp1_c2 = 1;
3021#line 1424 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/ExpressionSolve.mo"
3022 tmpMeta[0+3] = _eqnForNewVars_;
3023#line 1424 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/ExpressionSolve.mo"
3024 tmpMeta[0+4] = _newVarsCrefs_;
3025#line 1424 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/ExpressionSolve.mo"
3026 tmp1_c5 = ((modelica_integer) 1) + _idepth;
3027#line 3027 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/ExpressionSolve.c"
3028 goto tmp3_done;
3029 }
3030 case 5: {
3031 modelica_boolean tmp16;
3032 modelica_boolean tmp17;
3033 if (mmc__uniontype__metarecord__typedef__equal(tmp4_1,13,3)((*(mmc_uint_t*)((void*)((char*)(tmp4_1) - 3)))==(((3 +1) <<
10) + (((13 +3) & 255) << 2)))
== 0) goto tmp3_end;
3034 tmpMeta[6] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_1), 2))(*(void**)(((void*)((void**)(((void*)((char*)(tmp4_1) - 3))) +
(2)))))
;
3035 if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[6],1,1)((*(mmc_uint_t*)((void*)((char*)(tmpMeta[6]) - 3)))==(((1 +1)
<< 10) + (((1 +3) & 255) << 2)))
== 0) goto tmp3_end;
3036 tmpMeta[7] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[6]), 2))(*(void**)(((void*)((void**)(((void*)((char*)(tmpMeta[6]) - 3
))) + (2)))))
;
3037 if (3 != MMC_STRLEN(tmpMeta[7])(((((*(mmc_uint_t*)((void*)((char*)(tmpMeta[7]) - 3)))) >>
(3)) - 8))
|| strcmp(MMC_STRINGDATA(_OMC_LIT86)(((struct mmc_string*)((void*)((char*)(((void*)((char*)(&
(_OMC_LIT_STRUCT86).header) + 3))) - 3)))->data)
, MMC_STRINGDATA(tmpMeta[7])(((struct mmc_string*)((void*)((char*)(tmpMeta[7]) - 3)))->
data)
) != 0) goto tmp3_end;
3038 tmpMeta[8] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_1), 3))(*(void**)(((void*)((void**)(((void*)((char*)(tmp4_1) - 3))) +
(3)))))
;
3039 if (listEmpty(tmpMeta[8])((*(mmc_uint_t*)((void*)((char*)(tmpMeta[8]) - 3))) == (((0) <<
10) + (((0) & 255) << 2)))
) goto tmp3_end;
3040 tmpMeta[9] = MMC_CAR(tmpMeta[8])(*(void**)(((void*)((void**)(((void*)((char*)(tmpMeta[8]) - 3
))) + (1)))))
;
3041 tmpMeta[10] = MMC_CDR(tmpMeta[8])(*(void**)(((void*)((void**)(((void*)((char*)(tmpMeta[8]) - 3
))) + (2)))))
;
3042 if (!listEmpty(tmpMeta[10])((*(mmc_uint_t*)((void*)((char*)(tmpMeta[10]) - 3))) == (((0)
<< 10) + (((0) & 255) << 2)))
) goto tmp3_end;
3043
3044 _e1 = tmpMeta[9];
3045 tmp4 += 4; /* Pattern matching succeeded; we may skip some cases if we fail */
3046#line 1429 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/ExpressionSolve.mo"
3047 /* Pattern-matching assignment */
3048#line 1429 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/ExpressionSolve.mo"
3049 tmp16 = omc_ExpressionSolve_expHasCref(threadData, _e1, _inExp3);
3050#line 1429 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/ExpressionSolve.mo"
3051 if (1 != tmp16) goto goto_2;
3052#line 3052 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/ExpressionSolve.c"
3053
3054#line 1430 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/ExpressionSolve.mo"
3055 /* Pattern-matching assignment */
3056#line 1430 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/ExpressionSolve.mo"
3057 tmp17 = omc_ExpressionSolve_expHasCref(threadData, _inExp2, _inExp3);
3058#line 1430 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/ExpressionSolve.mo"
3059 if (0 != tmp17) goto goto_2;
3060#line 3060 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/ExpressionSolve.c"
3061
3062#line 1432 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/ExpressionSolve.mo"
3063 _tp = omc_Expression_typeof(threadData, _inExp2);
3064#line 3064 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/ExpressionSolve.c"
3065
3066#line 1433 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/ExpressionSolve.mo"
3067 _rhs = omc_ExpressionSolve_makeTmpEqnAndCrefFromExp(threadData, _inExp2, _tp, _OMC_LIT75((void*)((char*)(&(_OMC_LIT_STRUCT75).header) + 3)), _uniqueEqIndex, _idepth, _ieqnForNewVars, _inewVarsCrefs, 0 ,&_eqnForNewVars_ ,&_newVarsCrefs_);
3068#line 3068 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/ExpressionSolve.c"
3069
3070#line 1435 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/ExpressionSolve.mo"
3071 tmpMeta[6] = mmc_mk_cons(_rhs, MMC_REFSTRUCTLIT(mmc_nil)((void*)((char*)(&(mmc_nil).header) + 3)));
3072#line 1435 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/ExpressionSolve.mo"
3073 _acosy = omc_Expression_makePureBuiltinCall(threadData, _OMC_LIT76((void*)((char*)(&(_OMC_LIT_STRUCT76).header) + 3)), tmpMeta[6], _tp);
3074#line 3074 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/ExpressionSolve.c"
3075
3076#line 1436 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/ExpressionSolve.mo"
3077 _acosy = omc_ExpressionSolve_makeTmpEqnAndCrefFromExp(threadData, _acosy, _tp, _OMC_LIT77((void*)((char*)(&(_OMC_LIT_STRUCT77).header) + 3)), _uniqueEqIndex, _idepth, _eqnForNewVars_, _newVarsCrefs_, 0 ,&_eqnForNewVars_ ,&_newVarsCrefs_);
3078#line 3078 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/ExpressionSolve.c"
3079
3080#line 1438 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/ExpressionSolve.mo"
3081 _exP = omc_ExpressionSolve_makeInitialGuess(threadData, _tp, _inExp3, _e1);
3082#line 3082 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/ExpressionSolve.c"
3083
3084#line 1439 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/ExpressionSolve.mo"
3085 _exP = omc_ExpressionSolve_makeTmpEqnAndCrefFromExp(threadData, _exP, _tp, _OMC_LIT78((void*)((char*)(&(_OMC_LIT_STRUCT78).header) + 3)), _uniqueEqIndex, _idepth, _eqnForNewVars_, _newVarsCrefs_, 0 ,&_eqnForNewVars_ ,&_newVarsCrefs_);
3086#line 3086 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/ExpressionSolve.c"
3087
3088#line 1440 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/ExpressionSolve.mo"
3089 _e = _OMC_LIT4((void*)((char*)(&(_OMC_LIT_STRUCT4).header) + 3));
3090#line 3090 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/ExpressionSolve.c"
3091
3092#line 1442 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/ExpressionSolve.mo"
3093 _k1 = omc_Expression_expSub(threadData, _exP, _acosy);
3094#line 3094 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/ExpressionSolve.c"
3095
3096#line 1443 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/ExpressionSolve.mo"
3097 _k1 = omc_Expression_makeDiv(threadData, _k1, _e);
3098#line 3098 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/ExpressionSolve.c"
3099
3100#line 1444 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/ExpressionSolve.mo"
3101 tmpMeta[6] = mmc_mk_cons(_k1, MMC_REFSTRUCTLIT(mmc_nil)((void*)((char*)(&(mmc_nil).header) + 3)));
3102#line 1444 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/ExpressionSolve.mo"
3103 _k1 = omc_Expression_makePureBuiltinCall(threadData, _OMC_LIT7((void*)((char*)(&(_OMC_LIT_STRUCT7).header) + 3)), tmpMeta[6], _tp);
3104#line 3104 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/ExpressionSolve.c"
3105
3106#line 1446 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/ExpressionSolve.mo"
3107 _rhs = omc_Expression_expMul(threadData, _k1, _e);
3108#line 3108 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/ExpressionSolve.c"
3109
3110#line 1447 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/ExpressionSolve.mo"
3111 _rhs = omc_Expression_expAdd(threadData, _acosy, _rhs);
3112#line 3112 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/ExpressionSolve.c"
3113#line 1449 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/ExpressionSolve.mo"
3114 tmpMeta[0+0] = _e1;
3115#line 1449 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/ExpressionSolve.mo"
3116 tmpMeta[0+1] = _rhs;
3117#line 1449 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/ExpressionSolve.mo"
3118 tmp1_c2 = 1;
3119#line 1449 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/ExpressionSolve.mo"
3120 tmpMeta[0+3] = _eqnForNewVars_;
3121#line 1449 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/ExpressionSolve.mo"
3122 tmpMeta[0+4] = _newVarsCrefs_;
3123#line 1449 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/ExpressionSolve.mo"
3124 tmp1_c5 = ((modelica_integer) 1) + _idepth;
3125#line 3125 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/ExpressionSolve.c"
3126 goto tmp3_done;
3127 }
3128 case 6: {
3129 modelica_boolean tmp18;
3130 modelica_boolean tmp19;
3131 if (mmc__uniontype__metarecord__typedef__equal(tmp4_1,13,3)((*(mmc_uint_t*)((void*)((char*)(tmp4_1) - 3)))==(((3 +1) <<
10) + (((13 +3) & 255) << 2)))
== 0) goto tmp3_end;
3132 tmpMeta[6] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_1), 2))(*(void**)(((void*)((void**)(((void*)((char*)(tmp4_1) - 3))) +
(2)))))
;
3133 if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[6],1,1)((*(mmc_uint_t*)((void*)((char*)(tmpMeta[6]) - 3)))==(((1 +1)
<< 10) + (((1 +3) & 255) << 2)))
== 0) goto tmp3_end;
3134 tmpMeta[7] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[6]), 2))(*(void**)(((void*)((void**)(((void*)((char*)(tmpMeta[6]) - 3
))) + (2)))))
;
3135 if (3 != MMC_STRLEN(tmpMeta[7])(((((*(mmc_uint_t*)((void*)((char*)(tmpMeta[7]) - 3)))) >>
(3)) - 8))
|| strcmp(MMC_STRINGDATA(_OMC_LIT0)(((struct mmc_string*)((void*)((char*)(((void*)((char*)(&
(_OMC_LIT_STRUCT0).header) + 3))) - 3)))->data)
, MMC_STRINGDATA(tmpMeta[7])(((struct mmc_string*)((void*)((char*)(tmpMeta[7]) - 3)))->
data)
) != 0) goto tmp3_end;
3136 tmpMeta[8] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_1), 3))(*(void**)(((void*)((void**)(((void*)((char*)(tmp4_1) - 3))) +
(3)))))
;
3137 if (listEmpty(tmpMeta[8])((*(mmc_uint_t*)((void*)((char*)(tmpMeta[8]) - 3))) == (((0) <<
10) + (((0) & 255) << 2)))
) goto tmp3_end;
3138 tmpMeta[9] = MMC_CAR(tmpMeta[8])(*(void**)(((void*)((void**)(((void*)((char*)(tmpMeta[8]) - 3
))) + (1)))))
;
3139 tmpMeta[10] = MMC_CDR(tmpMeta[8])(*(void**)(((void*)((void**)(((void*)((char*)(tmpMeta[8]) - 3
))) + (2)))))
;
3140 if (!listEmpty(tmpMeta[10])((*(mmc_uint_t*)((void*)((char*)(tmpMeta[10]) - 3))) == (((0)
<< 10) + (((0) & 255) << 2)))
) goto tmp3_end;
3141
3142 _e1 = tmpMeta[9];
3143 tmp4 += 3; /* Pattern matching succeeded; we may skip some cases if we fail */
3144#line 1454 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/ExpressionSolve.mo"
3145 /* Pattern-matching assignment */
3146#line 1454 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/ExpressionSolve.mo"
3147 tmp18 = omc_ExpressionSolve_expHasCref(threadData, _e1, _inExp3);
3148#line 1454 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/ExpressionSolve.mo"
3149 if (1 != tmp18) goto goto_2;
3150#line 3150 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/ExpressionSolve.c"
3151
3152#line 1455 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/ExpressionSolve.mo"
3153 /* Pattern-matching assignment */
3154#line 1455 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/ExpressionSolve.mo"
3155 tmp19 = omc_ExpressionSolve_expHasCref(threadData, _inExp2, _inExp3);
3156#line 1455 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/ExpressionSolve.mo"
3157 if (0 != tmp19) goto goto_2;
3158#line 3158 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/ExpressionSolve.c"
3159
3160#line 1457 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/ExpressionSolve.mo"
3161 _tp = omc_Expression_typeof(threadData, _e1);
3162#line 3162 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/ExpressionSolve.c"
3163
3164#line 1458 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/ExpressionSolve.mo"
3165 _exP = omc_ExpressionSolve_makeInitialGuess(threadData, _tp, _inExp3, _e1);
3166#line 3166 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/ExpressionSolve.c"
3167
3168#line 1459 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/ExpressionSolve.mo"
3169 _exP = omc_ExpressionSolve_makeTmpEqnAndCrefFromExp(threadData, _exP, _tp, _OMC_LIT79((void*)((char*)(&(_OMC_LIT_STRUCT79).header) + 3)), _uniqueEqIndex, _idepth, _ieqnForNewVars, _inewVarsCrefs, 0 ,&_eqnForNewVars_ ,&_newVarsCrefs_);
3170#line 3170 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/ExpressionSolve.c"
3171
3172#line 1460 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/ExpressionSolve.mo"
3173 tmpMeta[6] = mmc_mk_cons(_exP, MMC_REFSTRUCTLIT(mmc_nil)((void*)((char*)(&(mmc_nil).header) + 3)));
3174#line 1460 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/ExpressionSolve.mo"
3175 _e_1 = omc_Expression_makePureBuiltinCall(threadData, _OMC_LIT41((void*)((char*)(&(_OMC_LIT_STRUCT41).header) + 3)), tmpMeta[6], _tp);
3176#line 3176 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/ExpressionSolve.c"
3177
3178#line 1461 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/ExpressionSolve.mo"
3179 _lhs = omc_Expression_expMul(threadData, _e_1, _inExp2);
3180#line 3180 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/ExpressionSolve.c"
3181#line 1463 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/ExpressionSolve.mo"
3182 tmpMeta[0+0] = _e1;
3183#line 1463 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/ExpressionSolve.mo"
3184 tmpMeta[0+1] = _lhs;
3185#line 1463 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/ExpressionSolve.mo"
3186 tmp1_c2 = 1;
3187#line 1463 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/ExpressionSolve.mo"
3188 tmpMeta[0+3] = _eqnForNewVars_;
3189#line 1463 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/ExpressionSolve.mo"
3190 tmpMeta[0+4] = _newVarsCrefs_;
3191#line 1463 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/ExpressionSolve.mo"
3192 tmp1_c5 = ((modelica_integer) 1) + _idepth;
3193#line 3193 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/ExpressionSolve.c"
3194 goto tmp3_done;
3195 }
3196 case 7: {
3197 modelica_boolean tmp20;
3198 modelica_boolean tmp21;
3199 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;
3200 tmpMeta[6] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_1), 2))(*(void**)(((void*)((void**)(((void*)((char*)(tmp4_1) - 3))) +
(2)))))
;
3201 tmpMeta[7] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_1), 3))(*(void**)(((void*)((void**)(((void*)((char*)(tmp4_1) - 3))) +
(3)))))
;
3202 if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[7],4,1)((*(mmc_uint_t*)((void*)((char*)(tmpMeta[7]) - 3)))==(((1 +1)
<< 10) + (((4 +3) & 255) << 2)))
== 0) goto tmp3_end;
3203 tmpMeta[8] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[7]), 2))(*(void**)(((void*)((void**)(((void*)((char*)(tmpMeta[7]) - 3
))) + (2)))))
;
3204 tmpMeta[9] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_1), 4))(*(void**)(((void*)((void**)(((void*)((char*)(tmp4_1) - 3))) +
(4)))))
;
3205 _e1 = tmpMeta[6];
3206 _tp = tmpMeta[8];
3207 _e2 = tmpMeta[9];
3208 tmp4 += 1; /* Pattern matching succeeded; we may skip some cases if we fail */
3209#line 1468 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/ExpressionSolve.mo"
3210 /* Pattern-matching assignment */
3211#line 1468 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/ExpressionSolve.mo"
3212 tmp20 = omc_ExpressionSolve_expHasCref(threadData, _e1, _inExp3);
3213#line 1468 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/ExpressionSolve.mo"
3214 if (1 != tmp20) goto goto_2;
3215#line 3215 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/ExpressionSolve.c"
3216
3217#line 1469 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/ExpressionSolve.mo"
3218 /* Pattern-matching assignment */
3219#line 1469 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/ExpressionSolve.mo"
3220 tmp21 = omc_ExpressionSolve_expHasCref(threadData, _e2, _inExp3);
3221#line 1469 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/ExpressionSolve.mo"
3222 if (0 != tmp21) goto goto_2;
3223#line 3223 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/ExpressionSolve.c"
3224
3225#line 1470 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/ExpressionSolve.mo"
3226 _tp = omc_Expression_typeof(threadData, _e1);
3227#line 3227 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/ExpressionSolve.c"
3228
3229#line 1471 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/ExpressionSolve.mo"
3230 _exP = omc_ExpressionSolve_makeInitialGuess(threadData, _tp, _inExp3, _e1);
3231#line 3231 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/ExpressionSolve.c"
3232
3233#line 1473 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/ExpressionSolve.mo"
3234 _exP = omc_ExpressionSolve_makeTmpEqnAndCrefFromExp(threadData, _exP, _tp, _OMC_LIT79((void*)((char*)(&(_OMC_LIT_STRUCT79).header) + 3)), _uniqueEqIndex, _idepth, _ieqnForNewVars, _inewVarsCrefs, 0 ,&_eqnForNewVars_ ,&_newVarsCrefs_);
3235#line 3235 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/ExpressionSolve.c"
3236
3237#line 1474 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/ExpressionSolve.mo"
3238 tmpMeta[6] = mmc_mk_cons(_exP, MMC_REFSTRUCTLIT(mmc_nil)((void*)((char*)(&(mmc_nil).header) + 3)));
3239#line 1474 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/ExpressionSolve.mo"
3240 _e_1 = omc_Expression_makePureBuiltinCall(threadData, _OMC_LIT41((void*)((char*)(&(_OMC_LIT_STRUCT41).header) + 3)), tmpMeta[6], _tp);
3241#line 3241 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/ExpressionSolve.c"
3242
3243#line 1475 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/ExpressionSolve.mo"
3244 _lhs = omc_Expression_expPow(threadData, _inExp2, omc_Expression_inverseFactors(threadData, _e2));
3245#line 3245 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/ExpressionSolve.c"
3246
3247#line 1476 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/ExpressionSolve.mo"
3248 tmpMeta[6] = mmc_mk_cons(_lhs, MMC_REFSTRUCTLIT(mmc_nil)((void*)((char*)(&(mmc_nil).header) + 3)));
3249#line 1476 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/ExpressionSolve.mo"
3250 _lhs = omc_Expression_makePureBuiltinCall(threadData, _OMC_LIT0((void*)((char*)(&(_OMC_LIT_STRUCT0).header) + 3)), tmpMeta[6], _tp);
3251#line 3251 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/ExpressionSolve.c"
3252
3253#line 1479 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/ExpressionSolve.mo"
3254 _lhs = omc_Expression_expMul(threadData, _e_1, _lhs);
3255#line 3255 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/ExpressionSolve.c"
3256#line 1481 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/ExpressionSolve.mo"
3257 tmpMeta[0+0] = _e1;
3258#line 1481 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/ExpressionSolve.mo"
3259 tmpMeta[0+1] = _lhs;
3260#line 1481 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/ExpressionSolve.mo"
3261 tmp1_c2 = 1;
3262#line 1481 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/ExpressionSolve.mo"
3263 tmpMeta[0+3] = _eqnForNewVars_;
3264#line 1481 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/ExpressionSolve.mo"
3265 tmpMeta[0+4] = _newVarsCrefs_;
3266#line 1481 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/ExpressionSolve.mo"
3267 tmp1_c5 = ((modelica_integer) 1) + _idepth;
3268#line 3268 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/ExpressionSolve.c"
3269 goto tmp3_done;
3270 }
3271 case 8: {
3272 modelica_boolean tmp22;
3273 modelica_boolean tmp23;
3274 if (mmc__uniontype__metarecord__typedef__equal(tmp4_1,13,3)((*(mmc_uint_t*)((void*)((char*)(tmp4_1) - 3)))==(((3 +1) <<
10) + (((13 +3) & 255) << 2)))
== 0) goto tmp3_end;
3275 tmpMeta[6] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_1), 2))(*(void**)(((void*)((void**)(((void*)((char*)(tmp4_1) - 3))) +
(2)))))
;
3276 if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[6],1,1)((*(mmc_uint_t*)((void*)((char*)(tmpMeta[6]) - 3)))==(((1 +1)
<< 10) + (((1 +3) & 255) << 2)))
== 0) goto tmp3_end;
3277 tmpMeta[7] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[6]), 2))(*(void**)(((void*)((void**)(((void*)((char*)(tmpMeta[6]) - 3
))) + (2)))))
;
3278 if (8 != MMC_STRLEN(tmpMeta[7])(((((*(mmc_uint_t*)((void*)((char*)(tmpMeta[7]) - 3)))) >>
(3)) - 8))
|| strcmp(MMC_STRINGDATA(_OMC_LIT87)(((struct mmc_string*)((void*)((char*)(((void*)((char*)(&
(_OMC_LIT_STRUCT87).header) + 3))) - 3)))->data)
, MMC_STRINGDATA(tmpMeta[7])(((struct mmc_string*)((void*)((char*)(tmpMeta[7]) - 3)))->
data)
) != 0) goto tmp3_end;
3279 tmpMeta[8] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_1), 3))(*(void**)(((void*)((void**)(((void*)((char*)(tmp4_1) - 3))) +
(3)))))
;
3280 if (listEmpty(tmpMeta[8])((*(mmc_uint_t*)((void*)((char*)(tmpMeta[8]) - 3))) == (((0) <<
10) + (((0) & 255) << 2)))
) goto tmp3_end;
3281 tmpMeta[9] = MMC_CAR(tmpMeta[8])(*(void**)(((void*)((void**)(((void*)((char*)(tmpMeta[8]) - 3
))) + (1)))))
;
3282 tmpMeta[10] = MMC_CDR(tmpMeta[8])(*(void**)(((void*)((void**)(((void*)((char*)(tmpMeta[8]) - 3
))) + (2)))))
;
3283 if (!listEmpty(tmpMeta[10])((*(mmc_uint_t*)((void*)((char*)(tmpMeta[10]) - 3))) == (((0)
<< 10) + (((0) & 255) << 2)))
) goto tmp3_end;
3284
3285 _e1 = tmpMeta[9];
3286 tmp4 += 1; /* Pattern matching succeeded; we may skip some cases if we fail */
3287#line 1486 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/ExpressionSolve.mo"
3288 /* Pattern-matching assignment */
3289#line 1486 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/ExpressionSolve.mo"
3290 tmp22 = omc_ExpressionSolve_expHasCref(threadData, _e1, _inExp3);
3291#line 1486 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/ExpressionSolve.mo"
3292 if (1 != tmp22) goto goto_2;
3293#line 3293 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/ExpressionSolve.c"
3294
3295#line 1487 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/ExpressionSolve.mo"
3296 /* Pattern-matching assignment */
3297#line 1487 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/ExpressionSolve.mo"
3298 tmp23 = omc_ExpressionSolve_expHasCref(threadData, _inExp2, _inExp3);
3299#line 1487 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/ExpressionSolve.mo"
3300 if (0 != tmp23) goto goto_2;
3301#line 3301 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/ExpressionSolve.c"
3302
3303#line 1488 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/ExpressionSolve.mo"
3304 _tp = omc_Expression_typeof(threadData, _e1);
3305#line 3305 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/ExpressionSolve.c"
3306
3307#line 1489 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/ExpressionSolve.mo"
3308 tmpMeta[6] = MMC_REFSTRUCTLIT(mmc_nil)((void*)((char*)(&(mmc_nil).header) + 3));
3309#line 1489 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/ExpressionSolve.mo"
3310 _e2 = omc_Expression_crefExp(threadData, omc_ComponentReference_makeCrefIdent(threadData, _OMC_LIT80((void*)((char*)(&(_OMC_LIT_STRUCT80).header) + 3)), _OMC_LIT56((void*)((char*)(&(_OMC_LIT_STRUCT56).header) + 3)), tmpMeta[6]));
3311#line 3311 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/ExpressionSolve.c"
3312
3313#line 1490 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/ExpressionSolve.mo"
3314 tmpMeta[6] = mmc_mk_cons(_e1, MMC_REFSTRUCTLIT(mmc_nil)((void*)((char*)(&(mmc_nil).header) + 3)));
3315#line 1490 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/ExpressionSolve.mo"
3316 _lhs = omc_Expression_makePureBuiltinCall(threadData, _OMC_LIT18((void*)((char*)(&(_OMC_LIT_STRUCT18).header) + 3)), tmpMeta[6], _tp);
3317#line 3317 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/ExpressionSolve.c"
3318
3319#line 1491 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/ExpressionSolve.mo"
3320 _lhs = omc_Expression_expAdd(threadData, omc_Expression_expMul(threadData, _inExp2, _e2), _lhs);
3321#line 3321 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/ExpressionSolve.c"
3322#line 1492 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/ExpressionSolve.mo"
3323 tmpMeta[0+0] = _e1;
3324#line 1492 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/ExpressionSolve.mo"
3325 tmpMeta[0+1] = _lhs;
3326#line 1492 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/ExpressionSolve.mo"
3327 tmp1_c2 = 1;
3328#line 1492 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/ExpressionSolve.mo"
3329 tmpMeta[0+3] = _ieqnForNewVars;
3330#line 1492 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/ExpressionSolve.mo"
3331 tmpMeta[0+4] = _inewVarsCrefs;
3332#line 1492 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/ExpressionSolve.mo"
3333 tmp1_c5 = ((modelica_integer) 1) + _idepth;
3334#line 3334 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/ExpressionSolve.c"
3335 goto tmp3_done;
3336 }
3337 case 9: {
3338 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;
3339 tmpMeta[6] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_1), 2))(*(void**)(((void*)((void**)(((void*)((char*)(tmp4_1) - 3))) +
(2)))))
;
3340 tmpMeta[7] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_1), 3))(*(void**)(((void*)((void**)(((void*)((char*)(tmp4_1) - 3))) +
(3)))))
;
3341 tmpMeta[8] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_1), 4))(*(void**)(((void*)((void**)(((void*)((char*)(tmp4_1) - 3))) +
(4)))))
;
3342 _ee1 = tmpMeta[6];
3343 _op1 = tmpMeta[7];
3344 _ee2 = tmpMeta[8];
3345 /* Pattern matching succeeded */
3346 /* Check guard condition after assignments */
3347 if (!omc_Expression_isAddOrSub(threadData, _op1)) goto tmp3_end;
3348#line 1501 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/ExpressionSolve.mo"
3349 _z1 = omc_List_split1OnTrue(threadData, omc_Expression_factors(threadData, _ee1), boxvar_ExpressionSolve_expHasCref((void*)((char*)(&(boxvar_lit_ExpressionSolve_expHasCref)
.header) + 3))
, _inExp3 ,&_z2);
3350#line 3350 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/ExpressionSolve.c"
3351
3352#line 1502 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/ExpressionSolve.mo"
3353 _z3 = omc_List_split1OnTrue(threadData, omc_Expression_factors(threadData, _ee2), boxvar_ExpressionSolve_expHasCref((void*)((char*)(&(boxvar_lit_ExpressionSolve_expHasCref)
.header) + 3))
, _inExp3 ,&_z4);
3354#line 3354 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/ExpressionSolve.c"
3355
3356#line 1504 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/ExpressionSolve.mo"
3357 _x1 = omc_ExpressionSolve_makeProductLstSort(threadData, _z1);
3358#line 3358 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/ExpressionSolve.c"
3359
3360#line 1505 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/ExpressionSolve.mo"
3361 _a1 = omc_ExpressionSolve_makeProductLstSort(threadData, _z2);
3362#line 3362 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/ExpressionSolve.c"
3363
3364#line 1507 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/ExpressionSolve.mo"
3365 _x2 = omc_ExpressionSolve_makeProductLstSort(threadData, _z3);
3366#line 3366 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/ExpressionSolve.c"
3367
3368#line 1508 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/ExpressionSolve.mo"
3369 _a2 = (omc_Expression_isAdd(threadData, _op1)?omc_ExpressionSolve_makeProductLstSort(threadData, _z4):omc_Expression_negate(threadData, omc_ExpressionSolve_makeProductLstSort(threadData, _z4)));
3370#line 3370 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/ExpressionSolve.c"
3371
3372#line 1515 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/ExpressionSolve.mo"
3373 _a = omc_ExpressionSolve_simplifyBinaryMulCoeff(threadData, _x1);
3374#line 3374 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/ExpressionSolve.c"
3375
3376#line 1516 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/ExpressionSolve.mo"
3377 _c = omc_ExpressionSolve_simplifyBinaryMulCoeff(threadData, _x2);
3378#line 3378 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/ExpressionSolve.c"
3379
3380#line 1517 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/ExpressionSolve.mo"
3381 /* Pattern-matching assignment */
3382#line 1517 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/ExpressionSolve.mo"
3383 tmpMeta[6] = _a;
3384#line 1517 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/ExpressionSolve.mo"
3385 tmpMeta[7] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[6]), 1))(*(void**)(((void*)((void**)(((void*)((char*)(tmpMeta[6]) - 3
))) + (1)))))
;
3386#line 1517 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/ExpressionSolve.mo"
3387 tmpMeta[8] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[6]), 2))(*(void**)(((void*)((void**)(((void*)((char*)(tmpMeta[6]) - 3
))) + (2)))))
;
3388#line 1517 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/ExpressionSolve.mo"
3389 _e2 = tmpMeta[7];
3390#line 1517 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/ExpressionSolve.mo"
3391 _e3 = tmpMeta[8];
3392#line 3392 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/ExpressionSolve.c"
3393
3394#line 1518 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/ExpressionSolve.mo"
3395 /* Pattern-matching assignment */
3396#line 1518 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/ExpressionSolve.mo"
3397 tmpMeta[6] = _c;
3398#line 1518 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/ExpressionSolve.mo"
3399 tmpMeta[7] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[6]), 1))(*(void**)(((void*)((void**)(((void*)((char*)(tmpMeta[6]) - 3
))) + (1)))))
;
3400#line 1518 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/ExpressionSolve.mo"
3401 tmpMeta[8] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[6]), 2))(*(void**)(((void*)((void**)(((void*)((char*)(tmpMeta[6]) - 3
))) + (2)))))
;
3402#line 1518 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/ExpressionSolve.mo"
3403 _e5 = tmpMeta[7];
3404#line 1518 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/ExpressionSolve.mo"
3405 _e6 = tmpMeta[8];
3406#line 3406 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/ExpressionSolve.c"
3407
3408#line 1519 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/ExpressionSolve.mo"
3409 _lhs = omc_ExpressionSolve_solveQE(threadData, _a1, _e2, _e3, _a2, _e5, _e6, _inExp2, _inExp3, _ieqnForNewVars, _inewVarsCrefs, _uniqueEqIndex, _idepth ,&_rhs ,&_eqnForNewVars_ ,&_newVarsCrefs_);
3410#line 3410 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/ExpressionSolve.c"
3411#line 1520 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/ExpressionSolve.mo"
3412 tmpMeta[0+0] = _lhs;
3413#line 1520 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/ExpressionSolve.mo"
3414 tmpMeta[0+1] = _rhs;
3415#line 1520 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/ExpressionSolve.mo"
3416 tmp1_c2 = 1;
3417#line 1520 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/ExpressionSolve.mo"
3418 tmpMeta[0+3] = _eqnForNewVars_;
3419#line 1520 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/ExpressionSolve.mo"
3420 tmpMeta[0+4] = _newVarsCrefs_;
3421#line 1520 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/ExpressionSolve.mo"
3422 tmp1_c5 = ((modelica_integer) 1) + _idepth;
3423#line 3423 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/ExpressionSolve.c"
3424 goto tmp3_done;
3425 }
3426 case 10: {
3427
3428 /* Pattern matching succeeded */
3429#line 1522 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/ExpressionSolve.mo"
3430 tmpMeta[0+0] = _inExp1;
3431#line 1522 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/ExpressionSolve.mo"
3432 tmpMeta[0+1] = _inExp2;
3433#line 1522 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/ExpressionSolve.mo"
3434 tmp1_c2 = 0;
3435#line 1522 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/ExpressionSolve.mo"
3436 tmpMeta[0+3] = _ieqnForNewVars;
3437#line 1522 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/ExpressionSolve.mo"
3438 tmpMeta[0+4] = _inewVarsCrefs;
3439#line 1522 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/ExpressionSolve.mo"
3440 tmp1_c5 = _idepth;
3441#line 3441 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/ExpressionSolve.c"
3442 goto tmp3_done;
3443 }
3444 }
3445 goto tmp3_end;
3446 tmp3_end: ;
3447 }
3448 goto goto_2;
3449 tmp3_done:
3450 (void)tmp4;
3451 MMC_RESTORE_INTERNAL(mmc_jumper)threadData->mmc_jumper = old_jumper;;
3452 goto tmp3_done2;
3453 goto_2:;
3454 MMC_CATCH_INTERNAL(mmc_jumper)} threadData->mmc_jumper = old_jumper;mmc_catch_dummy_fn()
;}
;
3455 if (++tmp4 < 11) {
3456 goto tmp3_top;
3457 }
3458 MMC_THROW_INTERNAL(){longjmp(*threadData->mmc_jumper,1);};
3459 tmp3_done2:;
3460 }
3461 }
3462 _x = tmpMeta[0+0];
3463 _y = tmpMeta[0+1];
3464 _new_x = tmp1_c2;
3465 _eqnForNewVars = tmpMeta[0+3];
3466 _newVarsCrefs = tmpMeta[0+4];
3467 _odepth = tmp1_c5;
3468 _return: OMC_LABEL_UNUSED__attribute__((unused))
3469 if (out_y) { *out_y = _y; }
3470 if (out_new_x) { *out_new_x = _new_x; }
3471 if (out_eqnForNewVars) { *out_eqnForNewVars = _eqnForNewVars; }
3472 if (out_newVarsCrefs) { *out_newVarsCrefs = _newVarsCrefs; }
3473 if (out_odepth) { *out_odepth = _odepth; }
3474 return _x;
3475}
3476PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_ExpressionSolve_preprocessingSolveTmpVarsWork(threadData_t *threadData, modelica_metatype _inExp1, modelica_metatype _inExp2, modelica_metatype _inExp3, modelica_metatype _uniqueEqIndex, modelica_metatype _ieqnForNewVars, modelica_metatype _inewVarsCrefs, modelica_metatype _idepth, modelica_metatype *out_y, modelica_metatype *out_new_x, modelica_metatype *out_eqnForNewVars, modelica_metatype *out_newVarsCrefs, modelica_metatype *out_odepth)
3477{
3478 modelica_integer tmp1;
3479 modelica_integer tmp2;
3480 modelica_boolean _new_x;
3481 modelica_integer _odepth;
3482 modelica_metatype _x = NULL((void*)0);
3483 tmp1 = mmc_unbox_integer(_uniqueEqIndex)(((mmc_sint_t) (_uniqueEqIndex)) >> 1);
3484 tmp2 = mmc_unbox_integer(_idepth)(((mmc_sint_t) (_idepth)) >> 1);
3485 _x = omc_ExpressionSolve_preprocessingSolveTmpVarsWork(threadData, _inExp1, _inExp2, _inExp3, tmp1, _ieqnForNewVars, _inewVarsCrefs, tmp2, out_y, &_new_x, out_eqnForNewVars, out_newVarsCrefs, &_odepth);
3486 /* skip box _x; DAE.Exp */
3487 /* skip box _y; DAE.Exp */
3488 if (out_new_x) { *out_new_x = mmc_mk_icon(_new_x); }
3489 /* skip box _eqnForNewVars; list<BackendDAE.Equation> */
3490 /* skip box _newVarsCrefs; list<DAE.ComponentRef> */
3491 if (out_odepth) { *out_odepth = mmc_mk_icon(_odepth); }
3492 return _x;
3493}
3494
3495PROTECTED_FUNCTION_STATIC modelica_metatype omc_ExpressionSolve_preprocessingSolveTmpVars(threadData_t *threadData, modelica_metatype _inExp1, modelica_metatype _inExp2, modelica_metatype _inExp3, modelica_metatype _uniqueEqIndex, modelica_metatype _ieqnForNewVars, modelica_metatype _inewVarsCrefs, modelica_integer _idepth, modelica_metatype *out_y, modelica_boolean *out_new_x, modelica_metatype *out_eqnForNewVars, modelica_metatype *out_newVarsCrefs, modelica_integer *out_odepth)
3496{
3497 modelica_metatype _x = NULL((void*)0);
3498 modelica_metatype _y = NULL((void*)0);
3499 modelica_boolean _new_x;
3500 modelica_metatype _eqnForNewVars = NULL((void*)0);
3501 modelica_metatype _newVarsCrefs = NULL((void*)0);
3502 modelica_integer _odepth;
3503 modelica_boolean tmp1_c2 __attribute__((unused)) = 0;
3504 modelica_integer tmp1_c5 __attribute__((unused)) = 0;
3505 modelica_metatype tmpMeta[7] __attribute__((unused)) = {0};
3506 MMC_SO()mmc_check_stackoverflow(threadData);
3507 _tailrecursive: OMC_LABEL_UNUSED__attribute__((unused))
3508 // _x has no default value.
3509 // _y has no default value.
3510 // _new_x has no default value.
3511 // _eqnForNewVars has no default value.
3512 // _newVarsCrefs has no default value.
3513 // _odepth has no default value.
3514#line 1273 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/ExpressionSolve.mo"
3515
3516#line 1273 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/ExpressionSolve.mo"
3517
3518#line 1273 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/ExpressionSolve.mo"
3519
3520#line 1273 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/ExpressionSolve.mo"
3521
3522#line 1273 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/ExpressionSolve.mo"
3523
3524#line 1273 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/ExpressionSolve.mo"
3525
3526#line 3526 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/ExpressionSolve.c"
3527 { /* match expression */
3528 modelica_metatype tmp4_1;
3529 tmp4_1 = _uniqueEqIndex;
3530 {
3531 modelica_integer _i;
3532 volatile mmc_switch_type tmp4;
3533 int tmp5;
3534 // _i has no default value.
3535 tmp4 = 0;
3536 for (; tmp4 < 2; tmp4++) {
3537 switch (MMC_SWITCH_CAST(tmp4)(tmp4)) {
3538 case 0: {
3539 modelica_integer tmp6;
3540 if (optionNone(tmp4_1)(0==((((((*(mmc_uint_t*)((void*)((char*)(tmp4_1) - 3)))) &
(7)) == 5)) ? ((((*(mmc_uint_t*)((void*)((char*)(tmp4_1) - 3
)))) >> (3+3))) : (((*(mmc_uint_t*)((void*)((char*)(tmp4_1
) - 3)))) >> 10)) ? 1 : 0)
) goto tmp3_end;
3541 tmpMeta[6] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_1), 1))(*(void**)(((void*)((void**)(((void*)((char*)(tmp4_1) - 3))) +
(1)))))
;
3542 tmp6 = mmc_unbox_integer(tmpMeta[6])(((mmc_sint_t) (tmpMeta[6])) >> 1);
3543 _i = tmp6 /* pattern as ty=Integer */;
3544 /* Pattern matching succeeded */
3545#line 1275 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/ExpressionSolve.mo"
3546 tmpMeta[0+0] = omc_ExpressionSolve_preprocessingSolveTmpVarsWork(threadData, _inExp1, _inExp2, _inExp3, _i, _ieqnForNewVars, _inewVarsCrefs, _idepth, &tmpMeta[0+1], &tmp1_c2, &tmpMeta[0+3], &tmpMeta[0+4], &tmp1_c5);
3547#line 3547 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/ExpressionSolve.c"
3548 goto tmp3_done;
3549 }
3550 case 1: {
3551
3552 /* Pattern matching succeeded */
3553#line 1276 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/ExpressionSolve.mo"
3554 tmpMeta[0+0] = _inExp1;
3555#line 1276 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/ExpressionSolve.mo"
3556 tmpMeta[0+1] = _inExp2;
3557#line 1276 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/ExpressionSolve.mo"
3558 tmp1_c2 = 0;
3559#line 1276 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/ExpressionSolve.mo"
3560 tmpMeta[0+3] = _ieqnForNewVars;
3561#line 1276 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/ExpressionSolve.mo"
3562 tmpMeta[0+4] = _inewVarsCrefs;
3563#line 1276 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/ExpressionSolve.mo"
3564 tmp1_c5 = _idepth;
3565#line 3565 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/ExpressionSolve.c"
3566 goto tmp3_done;
3567 }
3568 }
3569 goto tmp3_end;
3570 tmp3_end: ;
3571 }
3572 goto goto_2;
3573 goto_2:;
3574 MMC_THROW_INTERNAL(){longjmp(*threadData->mmc_jumper,1);};
3575 goto tmp3_done;
3576 tmp3_done:;
3577 }
3578 }
3579 _x = tmpMeta[0+0];
3580 _y = tmpMeta[0+1];
3581 _new_x = tmp1_c2;
3582 _eqnForNewVars = tmpMeta[0+3];
3583 _newVarsCrefs = tmpMeta[0+4];
3584 _odepth = tmp1_c5;
3585 _return: OMC_LABEL_UNUSED__attribute__((unused))
3586 if (out_y) { *out_y = _y; }
3587 if (out_new_x) { *out_new_x = _new_x; }
3588 if (out_eqnForNewVars) { *out_eqnForNewVars = _eqnForNewVars; }
3589 if (out_newVarsCrefs) { *out_newVarsCrefs = _newVarsCrefs; }
3590 if (out_odepth) { *out_odepth = _odepth; }
3591 return _x;
3592}
3593PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_ExpressionSolve_preprocessingSolveTmpVars(threadData_t *threadData, modelica_metatype _inExp1, modelica_metatype _inExp2, modelica_metatype _inExp3, modelica_metatype _uniqueEqIndex, modelica_metatype _ieqnForNewVars, modelica_metatype _inewVarsCrefs, modelica_metatype _idepth, modelica_metatype *out_y, modelica_metatype *out_new_x, modelica_metatype *out_eqnForNewVars, modelica_metatype *out_newVarsCrefs, modelica_metatype *out_odepth)
3594{
3595 modelica_integer tmp1;
3596 modelica_boolean _new_x;
3597 modelica_integer _odepth;
3598 modelica_metatype _x = NULL((void*)0);
3599 tmp1 = mmc_unbox_integer(_idepth)(((mmc_sint_t) (_idepth)) >> 1);
3600 _x = omc_ExpressionSolve_preprocessingSolveTmpVars(threadData, _inExp1, _inExp2, _inExp3, _uniqueEqIndex, _ieqnForNewVars, _inewVarsCrefs, tmp1, out_y, &_new_x, out_eqnForNewVars, out_newVarsCrefs, &_odepth);
3601 /* skip box _x; DAE.Exp */
3602 /* skip box _y; DAE.Exp */
3603 if (out_new_x) { *out_new_x = mmc_mk_icon(_new_x); }
3604 /* skip box _eqnForNewVars; list<BackendDAE.Equation> */
3605 /* skip box _newVarsCrefs; list<DAE.ComponentRef> */
3606 if (out_odepth) { *out_odepth = mmc_mk_icon(_odepth); }
3607 return _x;
3608}
3609
3610PROTECTED_FUNCTION_STATIC modelica_metatype omc_ExpressionSolve_inlineCallX(threadData_t *threadData, modelica_metatype _inExp, modelica_metatype _iT, modelica_boolean *out_cont, modelica_metatype *out_oT)
3611{
3612 modelica_metatype _outExp = NULL((void*)0);
3613 modelica_boolean _cont;
3614 modelica_metatype _oT = NULL((void*)0);
3615 modelica_boolean tmp1_c1 __attribute__((unused)) = 0;
3616 modelica_metatype tmpMeta[5] __attribute__((unused)) = {0};
3617 MMC_SO()mmc_check_stackoverflow(threadData);
3618 _tailrecursive: OMC_LABEL_UNUSED__attribute__((unused))
3619 // _outExp has no default value.
3620 // _cont has no default value.
3621 // _oT has no default value.
3622#line 1233 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/ExpressionSolve.mo"
3623
3624#line 1233 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/ExpressionSolve.mo"
3625
3626#line 1233 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/ExpressionSolve.mo"
3627
3628#line 3628 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/ExpressionSolve.c"
3629 { /* matchcontinue expression */
3630 volatile modelica_metatype tmp4_1;volatile modelica_metatype tmp4_2;
3631 tmp4_1 = _inExp;
3632 tmp4_2 = _iT;
3633 {
3634 modelica_metatype _e = NULL((void*)0);
3635 modelica_metatype _X = NULL((void*)0);
3636 modelica_metatype _functions = NULL((void*)0);
3637 modelica_boolean _b;
3638 volatile mmc_switch_type tmp4;
3639 int tmp5;
3640 // _e has no default value.
3641 // _X has no default value.
3642 // _functions has no default value.
3643 // _b has no default value.
3644 tmp4 = 0;
3645 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) {
3646 tmp3_top:
3647 threadData->mmc_jumper = &new_mmc_jumper;
3648 for (; tmp4 < 2; tmp4++) {
3649 switch (MMC_SWITCH_CAST(tmp4)(tmp4)) {
3650 case 0: {
3651 if (mmc__uniontype__metarecord__typedef__equal(tmp4_1,13,3)((*(mmc_uint_t*)((void*)((char*)(tmp4_1) - 3)))==(((3 +1) <<
10) + (((13 +3) & 255) << 2)))
== 0) goto tmp3_end;
3652 tmpMeta[3] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 1))(*(void**)(((void*)((void**)(((void*)((char*)(tmp4_2) - 3))) +
(1)))))
;
3653 tmpMeta[4] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2))(*(void**)(((void*)((void**)(((void*)((char*)(tmp4_2) - 3))) +
(2)))))
;
3654 _X = tmpMeta[3];
3655 _functions = tmpMeta[4];
3656 /* Pattern matching succeeded */
3657 /* Check guard condition after assignments */
3658 if (!omc_ExpressionSolve_expHasCref(threadData, _inExp, _X)) goto tmp3_end;
3659#line 1244 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/ExpressionSolve.mo"
3660 tmpMeta[3] = mmc_mk_box2(0, _functions, _OMC_LIT91((void*)((char*)(&(_OMC_LIT_STRUCT91).header) + 3)));
3661#line 1244 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/ExpressionSolve.mo"
3662 _e = omc_Inline_forceInlineExp(threadData, _inExp, tmpMeta[3], _OMC_LIT24((void*)((char*)(&(_OMC_LIT_STRUCT24).header) + 3)) ,NULL((void*)0) ,&_b);
3663#line 3663 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/ExpressionSolve.c"
3664#line 1246 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/ExpressionSolve.mo"
3665 tmpMeta[0+0] = _e;
3666#line 1246 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/ExpressionSolve.mo"
3667 tmp1_c1 = (!_b);
3668#line 1246 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/ExpressionSolve.mo"
3669 tmpMeta[0+2] = _iT;
3670#line 3670 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/ExpressionSolve.c"
3671 goto tmp3_done;
3672 }
3673 case 1: {
3674
3675 /* Pattern matching succeeded */
3676#line 1247 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/ExpressionSolve.mo"
3677 tmpMeta[0+0] = _inExp;
3678#line 1247 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/ExpressionSolve.mo"
3679 tmp1_c1 = 1;
3680#line 1247 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/ExpressionSolve.mo"
3681 tmpMeta[0+2] = _iT;
3682#line 3682 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/ExpressionSolve.c"
3683 goto tmp3_done;
3684 }
3685 }
3686 goto tmp3_end;
3687 tmp3_end: ;
3688 }
3689 goto goto_2;
3690 tmp3_done:
3691 (void)tmp4;
3692 MMC_RESTORE_INTERNAL(mmc_jumper)threadData->mmc_jumper = old_jumper;;
3693 goto tmp3_done2;
3694 goto_2:;
3695 MMC_CATCH_INTERNAL(mmc_jumper)} threadData->mmc_jumper = old_jumper;mmc_catch_dummy_fn()
;}
;
3696 if (++tmp4 < 2) {
3697 goto tmp3_top;
3698 }
3699 MMC_THROW_INTERNAL(){longjmp(*threadData->mmc_jumper,1);};
3700 tmp3_done2:;
3701 }
3702 }
3703 _outExp = tmpMeta[0+0];
3704 _cont = tmp1_c1;
3705 _oT = tmpMeta[0+2];
3706 _return: OMC_LABEL_UNUSED__attribute__((unused))
3707 if (out_cont) { *out_cont = _cont; }
3708 if (out_oT) { *out_oT = _oT; }
3709 return _outExp;
3710}
3711PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_ExpressionSolve_inlineCallX(threadData_t *threadData, modelica_metatype _inExp, modelica_metatype _iT, modelica_metatype *out_cont, modelica_metatype *out_oT)
3712{
3713 modelica_boolean _cont;
3714 modelica_metatype _outExp = NULL((void*)0);
3715 _outExp = omc_ExpressionSolve_inlineCallX(threadData, _inExp, _iT, &_cont, out_oT);
3716 /* skip box _outExp; DAE.Exp */
3717 if (out_cont) { *out_cont = mmc_mk_icon(_cont); }
3718 /* skip box _oT; tuple<DAE.Exp, Option<DAE.AvlTreePathFunction.Tree>> */
3719 return _outExp;
3720}
3721
3722PROTECTED_FUNCTION_STATIC modelica_metatype omc_ExpressionSolve_removeSimpleCalls2(threadData_t *threadData, modelica_metatype _inExp1, modelica_metatype _inExp2, modelica_metatype _inExp3, modelica_metatype *out_outRhs, modelica_boolean *out_con)
3723{
3724 modelica_metatype _outLhs = NULL((void*)0);
3725 modelica_metatype _outRhs = NULL((void*)0);
3726 modelica_boolean _con;
3727 modelica_boolean tmp1_c2 __attribute__((unused)) = 0;
3728 modelica_metatype tmpMeta[14] __attribute__((unused)) = {0};
3729 MMC_SO()mmc_check_stackoverflow(threadData);
3730 _tailrecursive: OMC_LABEL_UNUSED__attribute__((unused))
3731 // _outLhs has no default value.
3732 // _outRhs has no default value.
3733 // _con has no default value.
3734#line 1148 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/ExpressionSolve.mo"
3735
3736#line 1148 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/ExpressionSolve.mo"
3737
3738#line 1148 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/ExpressionSolve.mo"
3739
3740#line 3740 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/ExpressionSolve.c"
3741 { /* matchcontinue expression */
3742 volatile modelica_metatype tmp4_1;volatile modelica_metatype tmp4_2;
3743 tmp4_1 = _inExp1;
3744 tmp4_2 = _inExp2;
3745 {
3746 modelica_metatype _e1 = NULL((void*)0);
3747 modelica_metatype _e2 = NULL((void*)0);
3748 modelica_metatype _e3 = NULL((void*)0);
3749 volatile mmc_switch_type tmp4;
3750 int tmp5;
3751 // _e1 has no default value.
3752 // _e2 has no default value.
3753 // _e3 has no default value.
3754 tmp4 = 0;
3755 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) {
3756 tmp3_top:
3757 threadData->mmc_jumper = &new_mmc_jumper;
3758 for (; tmp4 < 8; tmp4++) {
3759 switch (MMC_SWITCH_CAST(tmp4)(tmp4)) {
3760 case 0: {
3761 modelica_boolean tmp6;
3762 modelica_boolean tmp7;
3763 modelica_boolean tmp8;
3764 if (mmc__uniontype__metarecord__typedef__equal(tmp4_1,13,3)((*(mmc_uint_t*)((void*)((char*)(tmp4_1) - 3)))==(((3 +1) <<
10) + (((13 +3) & 255) << 2)))
== 0) goto tmp3_end;
3765 tmpMeta[3] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_1), 2))(*(void**)(((void*)((void**)(((void*)((char*)(tmp4_1) - 3))) +
(2)))))
;
3766 if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[3],1,1)((*(mmc_uint_t*)((void*)((char*)(tmpMeta[3]) - 3)))==(((1 +1)
<< 10) + (((1 +3) & 255) << 2)))
== 0) goto tmp3_end;
3767 tmpMeta[4] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[3]), 2))(*(void**)(((void*)((void**)(((void*)((char*)(tmpMeta[3]) - 3
))) + (2)))))
;
3768 if (4 != MMC_STRLEN(tmpMeta[4])(((((*(mmc_uint_t*)((void*)((char*)(tmpMeta[4]) - 3)))) >>
(3)) - 8))
|| strcmp(MMC_STRINGDATA(_OMC_LIT81)(((struct mmc_string*)((void*)((char*)(((void*)((char*)(&
(_OMC_LIT_STRUCT81).header) + 3))) - 3)))->data)
, MMC_STRINGDATA(tmpMeta[4])(((struct mmc_string*)((void*)((char*)(tmpMeta[4]) - 3)))->
data)
) != 0) goto tmp3_end;
3769 tmpMeta[5] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_1), 3))(*(void**)(((void*)((void**)(((void*)((char*)(tmp4_1) - 3))) +
(3)))))
;
3770 if (listEmpty(tmpMeta[5])((*(mmc_uint_t*)((void*)((char*)(tmpMeta[5]) - 3))) == (((0) <<
10) + (((0) & 255) << 2)))
) goto tmp3_end;
3771 tmpMeta[6] = MMC_CAR(tmpMeta[5])(*(void**)(((void*)((void**)(((void*)((char*)(tmpMeta[5]) - 3
))) + (1)))))
;
3772 tmpMeta[7] = MMC_CDR(tmpMeta[5])(*(void**)(((void*)((void**)(((void*)((char*)(tmpMeta[5]) - 3
))) + (2)))))
;
3773 if (!listEmpty(tmpMeta[7])((*(mmc_uint_t*)((void*)((char*)(tmpMeta[7]) - 3))) == (((0) <<
10) + (((0) & 255) << 2)))
) goto tmp3_end;
3774
3775 _e1 = tmpMeta[6];
3776 tmp4 += 6; /* Pattern matching succeeded; we may skip some cases if we fail */
3777#line 1156 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/ExpressionSolve.mo"
3778 /* Pattern-matching assignment */
3779#line 1156 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/ExpressionSolve.mo"
3780 tmp6 = omc_ExpressionSolve_expHasCref(threadData, _e1, _inExp3);
3781#line 1156 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/ExpressionSolve.mo"
3782 if (1 != tmp6) goto goto_2;
3783#line 3783 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/ExpressionSolve.c"
3784
3785#line 1157 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/ExpressionSolve.mo"
3786 /* Pattern-matching assignment */
3787#line 1157 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/ExpressionSolve.mo"
3788 tmp7 = omc_ExpressionSolve_expHasCref(threadData, _inExp2, _inExp3);
3789#line 1157 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/ExpressionSolve.mo"
3790 if (0 != tmp7) goto goto_2;
3791#line 3791 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/ExpressionSolve.c"
3792
3793#line 1158 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/ExpressionSolve.mo"
3794 /* Pattern-matching assignment */
3795#line 1158 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/ExpressionSolve.mo"
3796 tmp8 = (!(omc_Expression_isCref(threadData, _inExp2) || omc_Expression_isConst(threadData, _inExp2)));
3797#line 1158 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/ExpressionSolve.mo"
3798 if (1 != tmp8) goto goto_2;
3799#line 3799 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/ExpressionSolve.c"
3800
3801#line 1159 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/ExpressionSolve.mo"
3802 _e2 = omc_Expression_expAdd(threadData, _OMC_LIT13((void*)((char*)(&(_OMC_LIT_STRUCT13).header) + 3)), _inExp2);
3803#line 3803 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/ExpressionSolve.c"
3804
3805#line 1160 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/ExpressionSolve.mo"
3806 _e3 = omc_Expression_expSub(threadData, _OMC_LIT13((void*)((char*)(&(_OMC_LIT_STRUCT13).header) + 3)), _inExp2);
3807#line 3807 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/ExpressionSolve.c"
3808
3809#line 1161 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/ExpressionSolve.mo"
3810 _e2 = omc_Expression_makeDiv(threadData, _e2, _e3);
3811#line 3811 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/ExpressionSolve.c"
3812
3813#line 1162 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/ExpressionSolve.mo"
3814 tmpMeta[3] = mmc_mk_cons(_e2, MMC_REFSTRUCTLIT(mmc_nil)((void*)((char*)(&(mmc_nil).header) + 3)));
3815#line 1162 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/ExpressionSolve.mo"
3816 _e2 = omc_Expression_makePureBuiltinCall(threadData, _OMC_LIT14((void*)((char*)(&(_OMC_LIT_STRUCT14).header) + 3)), tmpMeta[3], _OMC_LIT56((void*)((char*)(&(_OMC_LIT_STRUCT56).header) + 3)));
3817#line 3817 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/ExpressionSolve.c"
3818
3819#line 1163 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/ExpressionSolve.mo"
3820 _e2 = omc_Expression_expMul(threadData, _OMC_LIT6((void*)((char*)(&(_OMC_LIT_STRUCT6).header) + 3)), _e2);
3821#line 3821 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/ExpressionSolve.c"
3822#line 1164 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/ExpressionSolve.mo"
3823 tmpMeta[0+0] = _e1;
3824#line 1164 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/ExpressionSolve.mo"
3825 tmpMeta[0+1] = _e2;
3826#line 1164 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/ExpressionSolve.mo"
3827 tmp1_c2 = 1;
3828#line 3828 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/ExpressionSolve.c"
3829 goto tmp3_done;
3830 }
3831 case 1: {
3832 modelica_boolean tmp9;
3833 modelica_boolean tmp10;
3834 modelica_boolean tmp11;
3835 if (mmc__uniontype__metarecord__typedef__equal(tmp4_1,13,3)((*(mmc_uint_t*)((void*)((char*)(tmp4_1) - 3)))==(((3 +1) <<
10) + (((13 +3) & 255) << 2)))
== 0) goto tmp3_end;
3836 tmpMeta[3] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_1), 2))(*(void**)(((void*)((void**)(((void*)((char*)(tmp4_1) - 3))) +
(2)))))
;
3837 if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[3],1,1)((*(mmc_uint_t*)((void*)((char*)(tmpMeta[3]) - 3)))==(((1 +1)
<< 10) + (((1 +3) & 255) << 2)))
== 0) goto tmp3_end;
3838 tmpMeta[4] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[3]), 2))(*(void**)(((void*)((void**)(((void*)((char*)(tmpMeta[3]) - 3
))) + (2)))))
;
3839 if (4 != MMC_STRLEN(tmpMeta[4])(((((*(mmc_uint_t*)((void*)((char*)(tmpMeta[4]) - 3)))) >>
(3)) - 8))
|| strcmp(MMC_STRINGDATA(_OMC_LIT82)(((struct mmc_string*)((void*)((char*)(((void*)((char*)(&
(_OMC_LIT_STRUCT82).header) + 3))) - 3)))->data)
, MMC_STRINGDATA(tmpMeta[4])(((struct mmc_string*)((void*)((char*)(tmpMeta[4]) - 3)))->
data)
) != 0) goto tmp3_end;
3840 tmpMeta[5] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_1), 3))(*(void**)(((void*)((void**)(((void*)((char*)(tmp4_1) - 3))) +
(3)))))
;
3841 if (listEmpty(tmpMeta[5])((*(mmc_uint_t*)((void*)((char*)(tmpMeta[5]) - 3))) == (((0) <<
10) + (((0) & 255) << 2)))
) goto tmp3_end;
3842 tmpMeta[6] = MMC_CAR(tmpMeta[5])(*(void**)(((void*)((void**)(((void*)((char*)(tmpMeta[5]) - 3
))) + (1)))))
;
3843 tmpMeta[7] = MMC_CDR(tmpMeta[5])(*(void**)(((void*)((void**)(((void*)((char*)(tmpMeta[5]) - 3
))) + (2)))))
;
3844 if (!listEmpty(tmpMeta[7])((*(mmc_uint_t*)((void*)((char*)(tmpMeta[7]) - 3))) == (((0) <<
10) + (((0) & 255) << 2)))
) goto tmp3_end;
3845
3846 _e1 = tmpMeta[6];
3847 tmp4 += 5; /* Pattern matching succeeded; we may skip some cases if we fail */
3848#line 1168 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/ExpressionSolve.mo"
3849 /* Pattern-matching assignment */
3850#line 1168 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/ExpressionSolve.mo"
3851 tmp9 = omc_ExpressionSolve_expHasCref(threadData, _e1, _inExp3);
3852#line 1168 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/ExpressionSolve.mo"
3853 if (1 != tmp9) goto goto_2;
3854#line 3854 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/ExpressionSolve.c"
3855
3856#line 1169 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/ExpressionSolve.mo"
3857 /* Pattern-matching assignment */
3858#line 1169 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/ExpressionSolve.mo"
3859 tmp10 = omc_ExpressionSolve_expHasCref(threadData, _inExp2, _inExp3);
3860#line 1169 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/ExpressionSolve.mo"
3861 if (0 != tmp10) goto goto_2;
3862#line 3862 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/ExpressionSolve.c"
3863
3864#line 1170 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/ExpressionSolve.mo"
3865 /* Pattern-matching assignment */
3866#line 1170 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/ExpressionSolve.mo"
3867 tmp11 = (!(omc_Expression_isCref(threadData, _inExp2) || omc_Expression_isConst(threadData, _inExp2)));
3868#line 1170 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/ExpressionSolve.mo"
3869 if (1 != tmp11) goto goto_2;
3870#line 3870 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/ExpressionSolve.c"
3871
3872#line 1171 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/ExpressionSolve.mo"
3873 _e2 = omc_Expression_expPow(threadData, _inExp2, _OMC_LIT38((void*)((char*)(&(_OMC_LIT_STRUCT38).header) + 3)));
3874#line 3874 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/ExpressionSolve.c"
3875
3876#line 1172 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/ExpressionSolve.mo"
3877 _e3 = omc_Expression_expAdd(threadData, _e2, _OMC_LIT13((void*)((char*)(&(_OMC_LIT_STRUCT13).header) + 3)));
3878#line 3878 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/ExpressionSolve.c"
3879
3880#line 1173 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/ExpressionSolve.mo"
3881 tmpMeta[3] = mmc_mk_cons(_e3, MMC_REFSTRUCTLIT(mmc_nil)((void*)((char*)(&(mmc_nil).header) + 3)));
3882#line 1173 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/ExpressionSolve.mo"
3883 _e2 = omc_Expression_makePureBuiltinCall(threadData, _OMC_LIT16((void*)((char*)(&(_OMC_LIT_STRUCT16).header) + 3)), tmpMeta[3], _OMC_LIT56((void*)((char*)(&(_OMC_LIT_STRUCT56).header) + 3)));
3884#line 3884 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/ExpressionSolve.c"
3885
3886#line 1174 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/ExpressionSolve.mo"
3887 _e3 = omc_Expression_expAdd(threadData, _inExp2, _e2);
3888#line 3888 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/ExpressionSolve.c"
3889
3890#line 1175 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/ExpressionSolve.mo"
3891 tmpMeta[3] = mmc_mk_cons(_e3, MMC_REFSTRUCTLIT(mmc_nil)((void*)((char*)(&(mmc_nil).header) + 3)));
3892#line 1175 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/ExpressionSolve.mo"
3893 _e2 = omc_Expression_makePureBuiltinCall(threadData, _OMC_LIT14((void*)((char*)(&(_OMC_LIT_STRUCT14).header) + 3)), tmpMeta[3], _OMC_LIT56((void*)((char*)(&(_OMC_LIT_STRUCT56).header) + 3)));
3894#line 3894 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/ExpressionSolve.c"
3895#line 1176 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/ExpressionSolve.mo"
3896 tmpMeta[0+0] = _e1;
3897#line 1176 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/ExpressionSolve.mo"
3898 tmpMeta[0+1] = _e2;
3899#line 1176 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/ExpressionSolve.mo"
3900 tmp1_c2 = 1;
3901#line 3901 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/ExpressionSolve.c"
3902 goto tmp3_done;
3903 }
3904 case 2: {
3905 modelica_boolean tmp12;
3906 modelica_boolean tmp13;
3907 if (mmc__uniontype__metarecord__typedef__equal(tmp4_1,13,3)((*(mmc_uint_t*)((void*)((char*)(tmp4_1) - 3)))==(((3 +1) <<
10) + (((13 +3) & 255) << 2)))
== 0) goto tmp3_end;
3908 tmpMeta[3] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_1), 2))(*(void**)(((void*)((void**)(((void*)((char*)(tmp4_1) - 3))) +
(2)))))
;
3909 if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[3],1,1)((*(mmc_uint_t*)((void*)((char*)(tmpMeta[3]) - 3)))==(((1 +1)
<< 10) + (((1 +3) & 255) << 2)))
== 0) goto tmp3_end;
3910 tmpMeta[4] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[3]), 2))(*(void**)(((void*)((void**)(((void*)((char*)(tmpMeta[3]) - 3
))) + (2)))))
;
3911 if (5 != MMC_STRLEN(tmpMeta[4])(((((*(mmc_uint_t*)((void*)((char*)(tmpMeta[4]) - 3)))) >>
(3)) - 8))
|| strcmp(MMC_STRINGDATA(_OMC_LIT15)(((struct mmc_string*)((void*)((char*)(((void*)((char*)(&
(_OMC_LIT_STRUCT15).header) + 3))) - 3)))->data)
, MMC_STRINGDATA(tmpMeta[4])(((struct mmc_string*)((void*)((char*)(tmpMeta[4]) - 3)))->
data)
) != 0) goto tmp3_end;
3912 tmpMeta[5] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_1), 3))(*(void**)(((void*)((void**)(((void*)((char*)(tmp4_1) - 3))) +
(3)))))
;
3913 if (listEmpty(tmpMeta[5])((*(mmc_uint_t*)((void*)((char*)(tmpMeta[5]) - 3))) == (((0) <<
10) + (((0) & 255) << 2)))
) goto tmp3_end;
3914 tmpMeta[6] = MMC_CAR(tmpMeta[5])(*(void**)(((void*)((void**)(((void*)((char*)(tmpMeta[5]) - 3
))) + (1)))))
;
3915 tmpMeta[7] = MMC_CDR(tmpMeta[5])(*(void**)(((void*)((void**)(((void*)((char*)(tmpMeta[5]) - 3
))) + (2)))))
;
3916 if (!listEmpty(tmpMeta[7])((*(mmc_uint_t*)((void*)((char*)(tmpMeta[7]) - 3))) == (((0) <<
10) + (((0) & 255) << 2)))
) goto tmp3_end;
3917
3918 _e1 = tmpMeta[6];
3919 tmp4 += 4; /* Pattern matching succeeded; we may skip some cases if we fail */
3920#line 1181 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/ExpressionSolve.mo"
3921 /* Pattern-matching assignment */
3922#line 1181 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/ExpressionSolve.mo"
3923 tmp12 = omc_ExpressionSolve_expHasCref(threadData, _e1, _inExp3);
3924#line 1181 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/ExpressionSolve.mo"
3925 if (1 != tmp12) goto goto_2;
3926#line 3926 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/ExpressionSolve.c"
3927
3928#line 1182 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/ExpressionSolve.mo"
3929 /* Pattern-matching assignment */
3930#line 1182 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/ExpressionSolve.mo"
3931 tmp13 = omc_ExpressionSolve_expHasCref(threadData, _inExp2, _inExp3);
3932#line 1182 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/ExpressionSolve.mo"
3933 if (0 != tmp13) goto goto_2;
3934#line 3934 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/ExpressionSolve.c"
3935
3936#line 1183 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/ExpressionSolve.mo"
3937 _e2 = omc_Expression_expPow(threadData, _OMC_LIT93((void*)((char*)(&(_OMC_LIT_STRUCT93).header) + 3)), _inExp2);
3938#line 3938 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/ExpressionSolve.c"
3939#line 1184 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/ExpressionSolve.mo"
3940 tmpMeta[0+0] = _e1;
3941#line 1184 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/ExpressionSolve.mo"
3942 tmpMeta[0+1] = _e2;
3943#line 1184 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/ExpressionSolve.mo"
3944 tmp1_c2 = 1;
3945#line 3945 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/ExpressionSolve.c"
3946 goto tmp3_done;
3947 }
3948 case 3: {
3949 modelica_boolean tmp14;
3950 modelica_boolean tmp15;
3951 if (mmc__uniontype__metarecord__typedef__equal(tmp4_1,13,3)((*(mmc_uint_t*)((void*)((char*)(tmp4_1) - 3)))==(((3 +1) <<
10) + (((13 +3) & 255) << 2)))
== 0) goto tmp3_end;
3952 tmpMeta[3] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_1), 2))(*(void**)(((void*)((void**)(((void*)((char*)(tmp4_1) - 3))) +
(2)))))
;
3953 if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[3],1,1)((*(mmc_uint_t*)((void*)((char*)(tmpMeta[3]) - 3)))==(((1 +1)
<< 10) + (((1 +3) & 255) << 2)))
== 0) goto tmp3_end;
3954 tmpMeta[4] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[3]), 2))(*(void**)(((void*)((void**)(((void*)((char*)(tmpMeta[3]) - 3
))) + (2)))))
;
3955 if (3 != MMC_STRLEN(tmpMeta[4])(((((*(mmc_uint_t*)((void*)((char*)(tmpMeta[4]) - 3)))) >>
(3)) - 8))
|| strcmp(MMC_STRINGDATA(_OMC_LIT14)(((struct mmc_string*)((void*)((char*)(((void*)((char*)(&
(_OMC_LIT_STRUCT14).header) + 3))) - 3)))->data)
, MMC_STRINGDATA(tmpMeta[4])(((struct mmc_string*)((void*)((char*)(tmpMeta[4]) - 3)))->
data)
) != 0) goto tmp3_end;
3956 tmpMeta[5] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_1), 3))(*(void**)(((void*)((void**)(((void*)((char*)(tmp4_1) - 3))) +
(3)))))
;
3957 if (listEmpty(tmpMeta[5])((*(mmc_uint_t*)((void*)((char*)(tmpMeta[5]) - 3))) == (((0) <<
10) + (((0) & 255) << 2)))
) goto tmp3_end;
3958 tmpMeta[6] = MMC_CAR(tmpMeta[5])(*(void**)(((void*)((void**)(((void*)((char*)(tmpMeta[5]) - 3
))) + (1)))))
;
3959 tmpMeta[7] = MMC_CDR(tmpMeta[5])(*(void**)(((void*)((void**)(((void*)((char*)(tmpMeta[5]) - 3
))) + (2)))))
;
3960 if (!listEmpty(tmpMeta[7])((*(mmc_uint_t*)((void*)((char*)(tmpMeta[7]) - 3))) == (((0) <<
10) + (((0) & 255) << 2)))
) goto tmp3_end;
3961
3962 _e1 = tmpMeta[6];
3963 tmp4 += 3; /* Pattern matching succeeded; we may skip some cases if we fail */
3964#line 1188 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/ExpressionSolve.mo"
3965 /* Pattern-matching assignment */
3966#line 1188 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/ExpressionSolve.mo"
3967 tmp14 = omc_ExpressionSolve_expHasCref(threadData, _e1, _inExp3);
3968#line 1188 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/ExpressionSolve.mo"
3969 if (1 != tmp14) goto goto_2;
3970#line 3970 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/ExpressionSolve.c"
3971
3972#line 1189 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/ExpressionSolve.mo"
3973 /* Pattern-matching assignment */
3974#line 1189 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/ExpressionSolve.mo"
3975 tmp15 = omc_ExpressionSolve_expHasCref(threadData, _inExp2, _inExp3);
3976#line 1189 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/ExpressionSolve.mo"
3977 if (0 != tmp15) goto goto_2;
3978#line 3978 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/ExpressionSolve.c"
3979
3980#line 1190 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/ExpressionSolve.mo"
3981 tmpMeta[3] = mmc_mk_cons(_inExp2, MMC_REFSTRUCTLIT(mmc_nil)((void*)((char*)(&(mmc_nil).header) + 3)));
3982#line 1190 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/ExpressionSolve.mo"
3983 _e2 = omc_Expression_makePureBuiltinCall(threadData, _OMC_LIT94((void*)((char*)(&(_OMC_LIT_STRUCT94).header) + 3)), tmpMeta[3], _OMC_LIT56((void*)((char*)(&(_OMC_LIT_STRUCT56).header) + 3)));
3984#line 3984 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/ExpressionSolve.c"
3985#line 1191 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/ExpressionSolve.mo"
3986 tmpMeta[0+0] = _e1;
3987#line 1191 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/ExpressionSolve.mo"
3988 tmpMeta[0+1] = _e2;
3989#line 1191 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/ExpressionSolve.mo"
3990 tmp1_c2 = 1;
3991#line 3991 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/ExpressionSolve.c"
3992 goto tmp3_done;
3993 }
3994 case 4: {
3995 modelica_boolean tmp16;
3996 modelica_boolean tmp17;
3997 if (mmc__uniontype__metarecord__typedef__equal(tmp4_1,13,3)((*(mmc_uint_t*)((void*)((char*)(tmp4_1) - 3)))==(((3 +1) <<
10) + (((13 +3) & 255) << 2)))
== 0) goto tmp3_end;
3998 tmpMeta[3] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_1), 2))(*(void**)(((void*)((void**)(((void*)((char*)(tmp4_1) - 3))) +
(2)))))
;
3999 if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[3],1,1)((*(mmc_uint_t*)((void*)((char*)(tmpMeta[3]) - 3)))==(((1 +1)
<< 10) + (((1 +3) & 255) << 2)))
== 0) goto tmp3_end;
4000 tmpMeta[4] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[3]), 2))(*(void**)(((void*)((void**)(((void*)((char*)(tmpMeta[3]) - 3
))) + (2)))))
;
4001 if (3 != MMC_STRLEN(tmpMeta[4])(((((*(mmc_uint_t*)((void*)((char*)(tmpMeta[4]) - 3)))) >>
(3)) - 8))
|| strcmp(MMC_STRINGDATA(_OMC_LIT94)(((struct mmc_string*)((void*)((char*)(((void*)((char*)(&
(_OMC_LIT_STRUCT94).header) + 3))) - 3)))->data)
, MMC_STRINGDATA(tmpMeta[4])(((struct mmc_string*)((void*)((char*)(tmpMeta[4]) - 3)))->
data)
) != 0) goto tmp3_end;
4002 tmpMeta[5] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_1), 3))(*(void**)(((void*)((void**)(((void*)((char*)(tmp4_1) - 3))) +
(3)))))
;
4003 if (listEmpty(tmpMeta[5])((*(mmc_uint_t*)((void*)((char*)(tmpMeta[5]) - 3))) == (((0) <<
10) + (((0) & 255) << 2)))
) goto tmp3_end;
4004 tmpMeta[6] = MMC_CAR(tmpMeta[5])(*(void**)(((void*)((void**)(((void*)((char*)(tmpMeta[5]) - 3
))) + (1)))))
;
4005 tmpMeta[7] = MMC_CDR(tmpMeta[5])(*(void**)(((void*)((void**)(((void*)((char*)(tmpMeta[5]) - 3
))) + (2)))))
;
4006 if (!listEmpty(tmpMeta[7])((*(mmc_uint_t*)((void*)((char*)(tmpMeta[7]) - 3))) == (((0) <<
10) + (((0) & 255) << 2)))
) goto tmp3_end;
4007
4008 _e1 = tmpMeta[6];
4009 tmp4 += 2; /* Pattern matching succeeded; we may skip some cases if we fail */
4010#line 1195 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/ExpressionSolve.mo"
4011 /* Pattern-matching assignment */
4012#line 1195 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/ExpressionSolve.mo"
4013 tmp16 = omc_ExpressionSolve_expHasCref(threadData, _e1, _inExp3);
4014#line 1195 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/ExpressionSolve.mo"
4015 if (1 != tmp16) goto goto_2;
4016#line 4016 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/ExpressionSolve.c"
4017
4018#line 1196 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/ExpressionSolve.mo"
4019 /* Pattern-matching assignment */
4020#line 1196 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/ExpressionSolve.mo"
4021 tmp17 = omc_ExpressionSolve_expHasCref(threadData, _inExp2, _inExp3);
4022#line 1196 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/ExpressionSolve.mo"
4023 if (0 != tmp17) goto goto_2;
4024#line 4024 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/ExpressionSolve.c"
4025
4026#line 1197 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/ExpressionSolve.mo"
4027 tmpMeta[3] = mmc_mk_cons(_inExp2, MMC_REFSTRUCTLIT(mmc_nil)((void*)((char*)(&(mmc_nil).header) + 3)));
4028#line 1197 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/ExpressionSolve.mo"
4029 _e2 = omc_Expression_makePureBuiltinCall(threadData, _OMC_LIT14((void*)((char*)(&(_OMC_LIT_STRUCT14).header) + 3)), tmpMeta[3], _OMC_LIT56((void*)((char*)(&(_OMC_LIT_STRUCT56).header) + 3)));
4030#line 4030 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/ExpressionSolve.c"
4031#line 1198 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/ExpressionSolve.mo"
4032 tmpMeta[0+0] = _e1;
4033#line 1198 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/ExpressionSolve.mo"
4034 tmpMeta[0+1] = _e2;
4035#line 1198 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/ExpressionSolve.mo"
4036 tmp1_c2 = 1;
4037#line 4037 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/ExpressionSolve.c"
4038 goto tmp3_done;
4039 }
4040 case 5: {
4041 modelica_boolean tmp18;
4042 modelica_boolean tmp19;
4043 if (mmc__uniontype__metarecord__typedef__equal(tmp4_1,13,3)((*(mmc_uint_t*)((void*)((char*)(tmp4_1) - 3)))==(((3 +1) <<
10) + (((13 +3) & 255) << 2)))
== 0) goto tmp3_end;
4044 tmpMeta[3] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_1), 2))(*(void**)(((void*)((void**)(((void*)((char*)(tmp4_1) - 3))) +
(2)))))
;
4045 if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[3],1,1)((*(mmc_uint_t*)((void*)((char*)(tmpMeta[3]) - 3)))==(((1 +1)
<< 10) + (((1 +3) & 255) << 2)))
== 0) goto tmp3_end;
4046 tmpMeta[4] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[3]), 2))(*(void**)(((void*)((void**)(((void*)((char*)(tmpMeta[3]) - 3
))) + (2)))))
;
4047 if (4 != MMC_STRLEN(tmpMeta[4])(((((*(mmc_uint_t*)((void*)((char*)(tmpMeta[4]) - 3)))) >>
(3)) - 8))
|| strcmp(MMC_STRINGDATA(_OMC_LIT16)(((struct mmc_string*)((void*)((char*)(((void*)((char*)(&
(_OMC_LIT_STRUCT16).header) + 3))) - 3)))->data)
, MMC_STRINGDATA(tmpMeta[4])(((struct mmc_string*)((void*)((char*)(tmpMeta[4]) - 3)))->
data)
) != 0) goto tmp3_end;
4048 tmpMeta[5] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_1), 3))(*(void**)(((void*)((void**)(((void*)((char*)(tmp4_1) - 3))) +
(3)))))
;
4049 if (listEmpty(tmpMeta[5])((*(mmc_uint_t*)((void*)((char*)(tmpMeta[5]) - 3))) == (((0) <<
10) + (((0) & 255) << 2)))
) goto tmp3_end;
4050 tmpMeta[6] = MMC_CAR(tmpMeta[5])(*(void**)(((void*)((void**)(((void*)((char*)(tmpMeta[5]) - 3
))) + (1)))))
;
4051 tmpMeta[7] = MMC_CDR(tmpMeta[5])(*(void**)(((void*)((void**)(((void*)((char*)(tmpMeta[5]) - 3
))) + (2)))))
;
4052 if (!listEmpty(tmpMeta[7])((*(mmc_uint_t*)((void*)((char*)(tmpMeta[7]) - 3))) == (((0) <<
10) + (((0) & 255) << 2)))
) goto tmp3_end;
4053
4054 _e1 = tmpMeta[6];
4055 tmp4 += 1; /* Pattern matching succeeded; we may skip some cases if we fail */
4056#line 1202 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/ExpressionSolve.mo"
4057 /* Pattern-matching assignment */
4058#line 1202 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/ExpressionSolve.mo"
4059 tmp18 = omc_ExpressionSolve_expHasCref(threadData, _e1, _inExp3);
4060#line 1202 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/ExpressionSolve.mo"
4061 if (1 != tmp18) goto goto_2;
4062#line 4062 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/ExpressionSolve.c"
4063
4064#line 1203 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/ExpressionSolve.mo"
4065 /* Pattern-matching assignment */
4066#line 1203 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/ExpressionSolve.mo"
4067 tmp19 = omc_ExpressionSolve_expHasCref(threadData, _inExp2, _inExp3);
4068#line 1203 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/ExpressionSolve.mo"
4069 if (0 != tmp19) goto goto_2;
4070#line 4070 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/ExpressionSolve.c"
4071
4072#line 1204 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/ExpressionSolve.mo"
4073 _e2 = _OMC_LIT38((void*)((char*)(&(_OMC_LIT_STRUCT38).header) + 3));
4074#line 4074 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/ExpressionSolve.c"
4075
4076#line 1205 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/ExpressionSolve.mo"
4077 _e2 = omc_Expression_expPow(threadData, _inExp2, _e2);
4078#line 4078 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/ExpressionSolve.c"
4079#line 1206 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/ExpressionSolve.mo"
4080 tmpMeta[0+0] = _e1;
4081#line 1206 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/ExpressionSolve.mo"
4082 tmpMeta[0+1] = _e2;
4083#line 1206 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/ExpressionSolve.mo"
4084 tmp1_c2 = 1;
4085#line 4085 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/ExpressionSolve.c"
4086 goto tmp3_done;
4087 }
4088 case 6: {
4089 modelica_real tmp20;
4090 modelica_real tmp21;
4091 if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,1,1)((*(mmc_uint_t*)((void*)((char*)(tmp4_2) - 3)))==(((1 +1) <<
10) + (((1 +3) & 255) << 2)))
== 0) goto tmp3_end;
4092 tmpMeta[3] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2))(*(void**)(((void*)((void**)(((void*)((char*)(tmp4_2) - 3))) +
(2)))))
;
4093 tmp20 = mmc_unbox_real(tmpMeta[3])mmc_prim_get_real(tmpMeta[3]);
4094 if (0.0 != tmp20) goto tmp3_end;
4095 if (mmc__uniontype__metarecord__typedef__equal(tmp4_1,13,3)((*(mmc_uint_t*)((void*)((char*)(tmp4_1) - 3)))==(((3 +1) <<
10) + (((13 +3) & 255) << 2)))
== 0) goto tmp3_end;
4096 tmpMeta[4] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_1), 2))(*(void**)(((void*)((void**)(((void*)((char*)(tmp4_1) - 3))) +
(2)))))
;
4097 if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[4],1,1)((*(mmc_uint_t*)((void*)((char*)(tmpMeta[4]) - 3)))==(((1 +1)
<< 10) + (((1 +3) & 255) << 2)))
== 0) goto tmp3_end;
4098 tmpMeta[5] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[4]), 2))(*(void**)(((void*)((void**)(((void*)((char*)(tmpMeta[4]) - 3
))) + (2)))))
;
4099 if (10 != MMC_STRLEN(tmpMeta[5])(((((*(mmc_uint_t*)((void*)((char*)(tmpMeta[5]) - 3)))) >>
(3)) - 8))
|| strcmp(MMC_STRINGDATA(_OMC_LIT95)(((struct mmc_string*)((void*)((char*)(((void*)((char*)(&
(_OMC_LIT_STRUCT95).header) + 3))) - 3)))->data)
, MMC_STRINGDATA(tmpMeta[5])(((struct mmc_string*)((void*)((char*)(tmpMeta[5]) - 3)))->
data)
) != 0) goto tmp3_end;
4100 tmpMeta[6] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_1), 3))(*(void**)(((void*)((void**)(((void*)((char*)(tmp4_1) - 3))) +
(3)))))
;
4101 if (listEmpty(tmpMeta[6])((*(mmc_uint_t*)((void*)((char*)(tmpMeta[6]) - 3))) == (((0) <<
10) + (((0) & 255) << 2)))
) goto tmp3_end;
4102 tmpMeta[7] = MMC_CAR(tmpMeta[6])(*(void**)(((void*)((void**)(((void*)((char*)(tmpMeta[6]) - 3
))) + (1)))))
;
4103 tmpMeta[8] = MMC_CDR(tmpMeta[6])(*(void**)(((void*)((void**)(((void*)((char*)(tmpMeta[6]) - 3
))) + (2)))))
;
4104 if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[7],1,1)((*(mmc_uint_t*)((void*)((char*)(tmpMeta[7]) - 3)))==(((1 +1)
<< 10) + (((1 +3) & 255) << 2)))
== 0) goto tmp3_end;
4105 tmpMeta[9] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[7]), 2))(*(void**)(((void*)((void**)(((void*)((char*)(tmpMeta[7]) - 3
))) + (2)))))
;
4106 tmp21 = mmc_unbox_real(tmpMeta[9])mmc_prim_get_real(tmpMeta[9]);
4107 if (0.0 != tmp21) goto tmp3_end;
4108 if (listEmpty(tmpMeta[8])((*(mmc_uint_t*)((void*)((char*)(tmpMeta[8]) - 3))) == (((0) <<
10) + (((0) & 255) << 2)))
) goto tmp3_end;
4109 tmpMeta[10] = MMC_CAR(tmpMeta[8])(*(void**)(((void*)((void**)(((void*)((char*)(tmpMeta[8]) - 3
))) + (1)))))
;
4110 tmpMeta[11] = MMC_CDR(tmpMeta[8])(*(void**)(((void*)((void**)(((void*)((char*)(tmpMeta[8]) - 3
))) + (2)))))
;
4111 if (listEmpty(tmpMeta[11])((*(mmc_uint_t*)((void*)((char*)(tmpMeta[11]) - 3))) == (((0)
<< 10) + (((0) & 255) << 2)))
) goto tmp3_end;
4112 tmpMeta[12] = MMC_CAR(tmpMeta[11])(*(void**)(((void*)((void**)(((void*)((char*)(tmpMeta[11]) - 3
))) + (1)))))
;
4113 tmpMeta[13] = MMC_CDR(tmpMeta[11])(*(void**)(((void*)((void**)(((void*)((char*)(tmpMeta[11]) - 3
))) + (2)))))
;
4114 if (!listEmpty(tmpMeta[13])((*(mmc_uint_t*)((void*)((char*)(tmpMeta[13]) - 3))) == (((0)
<< 10) + (((0) & 255) << 2)))
) goto tmp3_end;
4115
4116 _e1 = tmpMeta[10];
4117 _e2 = tmpMeta[12];
4118 /* Pattern matching succeeded */
4119#line 1209 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/ExpressionSolve.mo"
4120 tmpMeta[0+0] = _e1;
4121#line 1209 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/ExpressionSolve.mo"
4122 tmpMeta[0+1] = _e2;
4123#line 1209 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/ExpressionSolve.mo"
4124 tmp1_c2 = 1;
4125#line 4125 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/ExpressionSolve.c"
4126 goto tmp3_done;
4127 }
4128 case 7: {
4129
4130 /* Pattern matching succeeded */
4131#line 1217 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/ExpressionSolve.mo"
4132 tmpMeta[0+0] = _inExp1;
4133#line 1217 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/ExpressionSolve.mo"
4134 tmpMeta[0+1] = _inExp2;
4135#line 1217 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/ExpressionSolve.mo"
4136 tmp1_c2 = 0;
4137#line 4137 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/ExpressionSolve.c"
4138 goto tmp3_done;
4139 }
4140 }
4141 goto tmp3_end;
4142 tmp3_end: ;
4143 }
4144 goto goto_2;
4145 tmp3_done:
4146 (void)tmp4;
4147 MMC_RESTORE_INTERNAL(mmc_jumper)threadData->mmc_jumper = old_jumper;;
4148 goto tmp3_done2;
4149 goto_2:;
4150 MMC_CATCH_INTERNAL(mmc_jumper)} threadData->mmc_jumper = old_jumper;mmc_catch_dummy_fn()
;}
;
4151 if (++tmp4 < 8) {
4152 goto tmp3_top;
4153 }
4154 MMC_THROW_INTERNAL(){longjmp(*threadData->mmc_jumper,1);};
4155 tmp3_done2:;
4156 }
4157 }
4158 _outLhs = tmpMeta[0+0];
4159 _outRhs = tmpMeta[0+1];
4160 _con = tmp1_c2;
4161 _return: OMC_LABEL_UNUSED__attribute__((unused))
4162 if (out_outRhs) { *out_outRhs = _outRhs; }
4163 if (out_con) { *out_con = _con; }
4164 return _outLhs;
4165}
4166PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_ExpressionSolve_removeSimpleCalls2(threadData_t *threadData, modelica_metatype _inExp1, modelica_metatype _inExp2, modelica_metatype _inExp3, modelica_metatype *out_outRhs, modelica_metatype *out_con)
4167{
4168 modelica_boolean _con;
4169 modelica_metatype _outLhs = NULL((void*)0);
4170 _outLhs = omc_ExpressionSolve_removeSimpleCalls2(threadData, _inExp1, _inExp2, _inExp3, out_outRhs, &_con);
4171 /* skip box _outLhs; DAE.Exp */
4172 /* skip box _outRhs; DAE.Exp */
4173 if (out_con) { *out_con = mmc_mk_icon(_con); }
4174 return _outLhs;
4175}
4176
4177PROTECTED_FUNCTION_STATIC modelica_metatype omc_ExpressionSolve_removeSimpleCalls(threadData_t *threadData, modelica_metatype _inExp1, modelica_metatype _inExp2, modelica_metatype _inExp3, modelica_metatype *out_outRhs, modelica_boolean *out_con)
4178{
4179 modelica_metatype _outLhs = NULL((void*)0);
4180 modelica_metatype _outRhs = NULL((void*)0);
4181 modelica_boolean _con;
4182 modelica_boolean tmp1_c2 __attribute__((unused)) = 0;
4183 modelica_metatype tmpMeta[3] __attribute__((unused)) = {0};
4184 MMC_SO()mmc_check_stackoverflow(threadData);
4185 _tailrecursive: OMC_LABEL_UNUSED__attribute__((unused))
4186 // _outLhs has no default value.
4187 // _outRhs has no default value.
4188 // _con has no default value.
4189#line 1125 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/ExpressionSolve.mo"
4190
4191#line 1125 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/ExpressionSolve.mo"
4192
4193#line 1125 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/ExpressionSolve.mo"
4194
4195#line 4195 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/ExpressionSolve.c"
4196 { /* match expression */
4197 modelica_metatype tmp4_1;
4198 tmp4_1 = _inExp1;
4199 {
4200 volatile mmc_switch_type tmp4;
4201 int tmp5;
4202 tmp4 = 0;
4203 for (; tmp4 < 2; tmp4++) {
4204 switch (MMC_SWITCH_CAST(tmp4)(tmp4)) {
4205 case 0: {
4206 if (mmc__uniontype__metarecord__typedef__equal(tmp4_1,13,3)((*(mmc_uint_t*)((void*)((char*)(tmp4_1) - 3)))==(((3 +1) <<
10) + (((13 +3) & 255) << 2)))
== 0) goto tmp3_end;
4207
4208 /* Pattern matching succeeded */
4209#line 1126 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/ExpressionSolve.mo"
4210 tmpMeta[0+0] = omc_ExpressionSolve_removeSimpleCalls2(threadData, _inExp1, _inExp2, _inExp3, &tmpMeta[0+1], &tmp1_c2);
4211#line 4211 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/ExpressionSolve.c"
4212 goto tmp3_done;
4213 }
4214 case 1: {
4215
4216 /* Pattern matching succeeded */
4217#line 1127 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/ExpressionSolve.mo"
4218 tmpMeta[0+0] = _inExp1;
4219#line 1127 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/ExpressionSolve.mo"
4220 tmpMeta[0+1] = _inExp2;
4221#line 1127 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/ExpressionSolve.mo"
4222 tmp1_c2 = 0;
4223#line 4223 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/ExpressionSolve.c"
4224 goto tmp3_done;
4225 }
4226 }
4227 goto tmp3_end;
4228 tmp3_end: ;
4229 }
4230 goto goto_2;
4231 goto_2:;
4232 MMC_THROW_INTERNAL(){longjmp(*threadData->mmc_jumper,1);};
4233 goto tmp3_done;
4234 tmp3_done:;
4235 }
4236 }
4237 _outLhs = tmpMeta[0+0];
4238 _outRhs = tmpMeta[0+1];
4239 _con = tmp1_c2;
4240 _return: OMC_LABEL_UNUSED__attribute__((unused))
4241 if (out_outRhs) { *out_outRhs = _outRhs; }
4242 if (out_con) { *out_con = _con; }
4243 return _outLhs;
4244}
4245PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_ExpressionSolve_removeSimpleCalls(threadData_t *threadData, modelica_metatype _inExp1, modelica_metatype _inExp2, modelica_metatype _inExp3, modelica_metatype *out_outRhs, modelica_metatype *out_con)
4246{
4247 modelica_boolean _con;
4248 modelica_metatype _outLhs = NULL((void*)0);
4249 _outLhs = omc_ExpressionSolve_removeSimpleCalls(threadData, _inExp1, _inExp2, _inExp3, out_outRhs, &_con);
4250 /* skip box _outLhs; DAE.Exp */
4251 /* skip box _outRhs; DAE.Exp */
4252 if (out_con) { *out_con = mmc_mk_icon(_con); }
4253 return _outLhs;
4254}
4255
4256PROTECTED_FUNCTION_STATIC modelica_metatype omc_ExpressionSolve_solveFunCalls(threadData_t *threadData, modelica_metatype _inExp1, modelica_metatype _inExp3, modelica_metatype _functions, modelica_boolean *out_con)
4257{
4258 modelica_metatype _x = NULL((void*)0);
4259 modelica_boolean _con;
4260 modelica_boolean tmp1_c1 __attribute__((unused)) = 0;
4261 modelica_metatype tmpMeta[3] __attribute__((unused)) = {0};
4262 MMC_SO()mmc_check_stackoverflow(threadData);
4263 _tailrecursive: OMC_LABEL_UNUSED__attribute__((unused))
4264 // _x has no default value.
4265 // _con has no default value.
4266#line 1098 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/ExpressionSolve.mo"
4267
4268#line 1098 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/ExpressionSolve.mo"
4269
4270#line 4270 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/ExpressionSolve.c"
4271 { /* matchcontinue expression */
4272 {
4273 modelica_metatype _funX = NULL((void*)0);
4274 modelica_boolean _b;
4275 volatile mmc_switch_type tmp4;
4276 int tmp5;
4277 // _funX has no default value.
4278 // _b has no default value.
4279 tmp4 = 0;
4280 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) {
4281 tmp3_top:
4282 threadData->mmc_jumper = &new_mmc_jumper;
4283 for (; tmp4 < 2; tmp4++) {
4284 switch (MMC_SWITCH_CAST(tmp4)(tmp4)) {
4285 case 0: {
4286 /* Pattern matching succeeded */
4287#line 1102 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/ExpressionSolve.mo"
4288 tmpMeta[2] = mmc_mk_box2(0, _inExp3, _functions);
4289#line 1102 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/ExpressionSolve.mo"
4290 _funX = omc_Expression_traverseExpTopDown(threadData, _inExp1, boxvar_ExpressionSolve_inlineCallX((void*)((char*)(&(boxvar_lit_ExpressionSolve_inlineCallX
).header) + 3))
, tmpMeta[2], NULL((void*)0));
4291#line 4291 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/ExpressionSolve.c"
4292
4293#line 1103 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/ExpressionSolve.mo"
4294 _b = (!omc_Expression_expEqual(threadData, _funX, _inExp1));
4295#line 4295 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/ExpressionSolve.c"
4296#line 1104 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/ExpressionSolve.mo"
4297 tmpMeta[0+0] = _funX;
4298#line 1104 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/ExpressionSolve.mo"
4299 tmp1_c1 = _b;
4300#line 4300 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/ExpressionSolve.c"
4301 goto tmp3_done;
4302 }
4303 case 1: {
4304 /* Pattern matching succeeded */
4305#line 1105 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/ExpressionSolve.mo"
4306 tmpMeta[0+0] = _inExp1;
4307#line 1105 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/ExpressionSolve.mo"
4308 tmp1_c1 = 0;
4309#line 4309 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/ExpressionSolve.c"
4310 goto tmp3_done;
4311 }
4312 }
4313 goto tmp3_end;
4314 tmp3_end: ;
4315 }
4316 goto goto_2;
4317 tmp3_done:
4318 (void)tmp4;
4319 MMC_RESTORE_INTERNAL(mmc_jumper)threadData->mmc_jumper = old_jumper;;
4320 goto tmp3_done2;
4321 goto_2:;
4322 MMC_CATCH_INTERNAL(mmc_jumper)} threadData->mmc_jumper = old_jumper;mmc_catch_dummy_fn()
;}
;
4323 if (++tmp4 < 2) {
4324 goto tmp3_top;
4325 }
4326 MMC_THROW_INTERNAL(){longjmp(*threadData->mmc_jumper,1);};
4327 tmp3_done2:;
4328 }
4329 }
4330 _x = tmpMeta[0+0];
4331 _con = tmp1_c1;
4332 _return: OMC_LABEL_UNUSED__attribute__((unused))
4333 if (out_con) { *out_con = _con; }
4334 return _x;
4335}
4336PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_ExpressionSolve_solveFunCalls(threadData_t *threadData, modelica_metatype _inExp1, modelica_metatype _inExp3, modelica_metatype _functions, modelica_metatype *out_con)
4337{
4338 modelica_boolean _con;
4339 modelica_metatype _x = NULL((void*)0);
4340 _x = omc_ExpressionSolve_solveFunCalls(threadData, _inExp1, _inExp3, _functions, &_con);
4341 /* skip box _x; DAE.Exp */
4342 if (out_con) { *out_con = mmc_mk_icon(_con); }
4343 return _x;
4344}
4345
4346PROTECTED_FUNCTION_STATIC modelica_metatype omc_ExpressionSolve_unifyFunCallsWork(threadData_t *threadData, modelica_metatype _inExp, modelica_metatype _iT, modelica_boolean *out_cont, modelica_metatype *out_oT)
4347{
4348 modelica_metatype _outExp = NULL((void*)0);
4349 modelica_boolean _cont;
4350 modelica_metatype _oT = NULL((void*)0);
4351 modelica_boolean tmp1_c1 __attribute__((unused)) = 0;
4352 modelica_metatype tmpMeta[12] __attribute__((unused)) = {0};
4353 MMC_SO()mmc_check_stackoverflow(threadData);
4354 _tailrecursive: OMC_LABEL_UNUSED__attribute__((unused))
4355 // _outExp has no default value.
4356 // _cont has no default value.
4357 // _oT has no default value.
4358#line 1049 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/ExpressionSolve.mo"
4359
4360#line 1049 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/ExpressionSolve.mo"
4361
4362#line 1049 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/ExpressionSolve.mo"
4363
4364#line 4364 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/ExpressionSolve.c"
4365 { /* match expression */
4366 modelica_metatype tmp4_1;modelica_metatype tmp4_2;
4367 tmp4_1 = _inExp;
4368 tmp4_2 = _iT;
4369 {
4370 modelica_metatype _e = NULL((void*)0);
4371 modelica_metatype _e1 = NULL((void*)0);
4372 modelica_metatype _e2 = NULL((void*)0);
4373 modelica_metatype _e3 = NULL((void*)0);
4374 modelica_metatype _X = NULL((void*)0);
4375 modelica_metatype _tp = NULL((void*)0);
4376 volatile mmc_switch_type tmp4;
4377 int tmp5;
4378 // _e has no default value.
4379 // _e1 has no default value.
4380 // _e2 has no default value.
4381 // _e3 has no default value.
4382 // _X has no default value.
4383 // _tp has no default value.
4384 tmp4 = 0;
4385 for (; tmp4 < 3; tmp4++) {
4386 switch (MMC_SWITCH_CAST(tmp4)(tmp4)) {
4387 case 0: {
4388 if (mmc__uniontype__metarecord__typedef__equal(tmp4_1,13,3)((*(mmc_uint_t*)((void*)((char*)(tmp4_1) - 3)))==(((3 +1) <<
10) + (((13 +3) & 255) << 2)))
== 0) goto tmp3_end;
4389 tmpMeta[3] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_1), 2))(*(void**)(((void*)((void**)(((void*)((char*)(tmp4_1) - 3))) +
(2)))))
;
4390 if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[3],1,1)((*(mmc_uint_t*)((void*)((char*)(tmpMeta[3]) - 3)))==(((1 +1)
<< 10) + (((1 +3) & 255) << 2)))
== 0) goto tmp3_end;
4391 tmpMeta[4] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[3]), 2))(*(void**)(((void*)((void**)(((void*)((char*)(tmpMeta[3]) - 3
))) + (2)))))
;
4392 if (10 != MMC_STRLEN(tmpMeta[4])(((((*(mmc_uint_t*)((void*)((char*)(tmpMeta[4]) - 3)))) >>
(3)) - 8))
|| strcmp(MMC_STRINGDATA(_OMC_LIT95)(((struct mmc_string*)((void*)((char*)(((void*)((char*)(&
(_OMC_LIT_STRUCT95).header) + 3))) - 3)))->data)
, MMC_STRINGDATA(tmpMeta[4])(((struct mmc_string*)((void*)((char*)(tmpMeta[4]) - 3)))->
data)
) != 0) goto tmp3_end;
4393 tmpMeta[5] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_1), 3))(*(void**)(((void*)((void**)(((void*)((char*)(tmp4_1) - 3))) +
(3)))))
;
4394 if (listEmpty(tmpMeta[5])((*(mmc_uint_t*)((void*)((char*)(tmpMeta[5]) - 3))) == (((0) <<
10) + (((0) & 255) << 2)))
) goto tmp3_end;
4395 tmpMeta[6] = MMC_CAR(tmpMeta[5])(*(void**)(((void*)((void**)(((void*)((char*)(tmpMeta[5]) - 3
))) + (1)))))
;
4396 tmpMeta[7] = MMC_CDR(tmpMeta[5])(*(void**)(((void*)((void**)(((void*)((char*)(tmpMeta[5]) - 3
))) + (2)))))
;
4397 if (listEmpty(tmpMeta[7])((*(mmc_uint_t*)((void*)((char*)(tmpMeta[7]) - 3))) == (((0) <<
10) + (((0) & 255) << 2)))
) goto tmp3_end;
4398 tmpMeta[8] = MMC_CAR(tmpMeta[7])(*(void**)(((void*)((void**)(((void*)((char*)(tmpMeta[7]) - 3
))) + (1)))))
;
4399 tmpMeta[9] = MMC_CDR(tmpMeta[7])(*(void**)(((void*)((void**)(((void*)((char*)(tmpMeta[7]) - 3
))) + (2)))))
;
4400 if (listEmpty(tmpMeta[9])((*(mmc_uint_t*)((void*)((char*)(tmpMeta[9]) - 3))) == (((0) <<
10) + (((0) & 255) << 2)))
) goto tmp3_end;
4401 tmpMeta[10] = MMC_CAR(tmpMeta[9])(*(void**)(((void*)((void**)(((void*)((char*)(tmpMeta[9]) - 3
))) + (1)))))
;
4402 tmpMeta[11] = MMC_CDR(tmpMeta[9])(*(void**)(((void*)((void**)(((void*)((char*)(tmpMeta[9]) - 3
))) + (2)))))
;
4403 if (!listEmpty(tmpMeta[11])((*(mmc_uint_t*)((void*)((char*)(tmpMeta[11]) - 3))) == (((0)
<< 10) + (((0) & 255) << 2)))
) goto tmp3_end;
4404
4405 _e1 = tmpMeta[6];
4406 _e2 = tmpMeta[8];
4407 _e3 = tmpMeta[10];
4408 /* Pattern matching succeeded */
4409 /* Check guard condition after assignments */
4410 if (!(!omc_Expression_isZero(threadData, _e1))) goto tmp3_end;
4411#line 1065 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/ExpressionSolve.mo"
4412 _tp = omc_Expression_typeof(threadData, _e1);
4413#line 4413 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/ExpressionSolve.c"
4414
4415#line 1066 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/ExpressionSolve.mo"
4416 tmpMeta[3] = mmc_mk_box2(31, &DAE_Operator_GREATEREQ__desc, _tp);
4417#line 1066 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/ExpressionSolve.mo"
4418 tmpMeta[4] = mmc_mk_box6(14, &DAE_Exp_RELATION__desc, _e1, tmpMeta[3], omc_Expression_makeConstZero(threadData, _tp), mmc_mk_integermmc_mk_icon(((modelica_integer) -1)), mmc_mk_none()((void*)((char*)(&(mmc_none).header) + 3)));
4419#line 1066 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/ExpressionSolve.mo"
4420 tmpMeta[5] = mmc_mk_box4(15, &DAE_Exp_IFEXP__desc, tmpMeta[4], omc_Expression_expMul(threadData, _e1, _e2), omc_Expression_expMul(threadData, _e1, _e3));
4421#line 1066 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/ExpressionSolve.mo"
4422 _e = tmpMeta[5];
4423#line 4423 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/ExpressionSolve.c"
4424#line 1067 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/ExpressionSolve.mo"
4425 tmpMeta[0+0] = _e;
4426#line 1067 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/ExpressionSolve.mo"
4427 tmp1_c1 = 1;
4428#line 1067 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/ExpressionSolve.mo"
4429 tmpMeta[0+2] = _iT;
4430#line 4430 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/ExpressionSolve.c"
4431 goto tmp3_done;
4432 }
4433 case 1: {
4434 if (mmc__uniontype__metarecord__typedef__equal(tmp4_1,13,3)((*(mmc_uint_t*)((void*)((char*)(tmp4_1) - 3)))==(((3 +1) <<
10) + (((13 +3) & 255) << 2)))
== 0) goto tmp3_end;
4435 tmpMeta[3] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_1), 2))(*(void**)(((void*)((void**)(((void*)((char*)(tmp4_1) - 3))) +
(2)))))
;
4436 if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[3],1,1)((*(mmc_uint_t*)((void*)((char*)(tmpMeta[3]) - 3)))==(((1 +1)
<< 10) + (((1 +3) & 255) << 2)))
== 0) goto tmp3_end;
4437 tmpMeta[4] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[3]), 2))(*(void**)(((void*)((void**)(((void*)((char*)(tmpMeta[3]) - 3
))) + (2)))))
;
4438 if (8 != MMC_STRLEN(tmpMeta[4])(((((*(mmc_uint_t*)((void*)((char*)(tmpMeta[4]) - 3)))) >>
(3)) - 8))
|| strcmp(MMC_STRINGDATA(_OMC_LIT87)(((struct mmc_string*)((void*)((char*)(((void*)((char*)(&
(_OMC_LIT_STRUCT87).header) + 3))) - 3)))->data)
, MMC_STRINGDATA(tmpMeta[4])(((struct mmc_string*)((void*)((char*)(tmpMeta[4]) - 3)))->
data)
) != 0) goto tmp3_end;
4439 tmpMeta[5] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_1), 3))(*(void**)(((void*)((void**)(((void*)((char*)(tmp4_1) - 3))) +
(3)))))
;
4440 if (listEmpty(tmpMeta[5])((*(mmc_uint_t*)((void*)((char*)(tmpMeta[5]) - 3))) == (((0) <<
10) + (((0) & 255) << 2)))
) goto tmp3_end;
4441 tmpMeta[6] = MMC_CAR(tmpMeta[5])(*(void**)(((void*)((void**)(((void*)((char*)(tmpMeta[5]) - 3
))) + (1)))))
;
4442 tmpMeta[7] = MMC_CDR(tmpMeta[5])(*(void**)(((void*)((void**)(((void*)((char*)(tmpMeta[5]) - 3
))) + (2)))))
;
4443 if (!listEmpty(tmpMeta[7])((*(mmc_uint_t*)((void*)((char*)(tmpMeta[7]) - 3))) == (((0) <<
10) + (((0) & 255) << 2)))
) goto tmp3_end;
4444
4445 _e1 = tmpMeta[6];
4446 _X = tmp4_2;
4447 /* Pattern matching succeeded */
4448 /* Check guard condition after assignments */
4449 if (!omc_ExpressionSolve_expHasCref(threadData, _e1, _X)) goto tmp3_end;
4450#line 1073 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/ExpressionSolve.mo"
4451 _tp = omc_Expression_typeof(threadData, _e1);
4452#line 4452 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/ExpressionSolve.c"
4453
4454#line 1074 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/ExpressionSolve.mo"
4455 tmpMeta[3] = MMC_REFSTRUCTLIT(mmc_nil)((void*)((char*)(&(mmc_nil).header) + 3));
4456#line 1074 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/ExpressionSolve.mo"
4457 _e2 = omc_Expression_crefExp(threadData, omc_ComponentReference_makeCrefIdent(threadData, _OMC_LIT80((void*)((char*)(&(_OMC_LIT_STRUCT80).header) + 3)), _OMC_LIT56((void*)((char*)(&(_OMC_LIT_STRUCT56).header) + 3)), tmpMeta[3]));
4458#line 4458 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/ExpressionSolve.c"
4459
4460#line 1075 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/ExpressionSolve.mo"
4461 tmpMeta[3] = mmc_mk_cons(_e1, MMC_REFSTRUCTLIT(mmc_nil)((void*)((char*)(&(mmc_nil).header) + 3)));
4462#line 1075 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/ExpressionSolve.mo"
4463 _e3 = omc_Expression_makePureBuiltinCall(threadData, _OMC_LIT18((void*)((char*)(&(_OMC_LIT_STRUCT18).header) + 3)), tmpMeta[3], _tp);
4464#line 4464 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/ExpressionSolve.c"
4465
4466#line 1076 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/ExpressionSolve.mo"
4467 _e3 = omc_Expression_expSub(threadData, _e1, _e3);
4468#line 4468 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/ExpressionSolve.c"
4469
4470#line 1077 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/ExpressionSolve.mo"
4471 _e = omc_Expression_expDiv(threadData, _e3, _e2);
4472#line 4472 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/ExpressionSolve.c"
4473#line 1078 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/ExpressionSolve.mo"
4474 tmpMeta[0+0] = _e;
4475#line 1078 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/ExpressionSolve.mo"
4476 tmp1_c1 = 1;
4477#line 1078 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/ExpressionSolve.mo"
4478 tmpMeta[0+2] = _iT;
4479#line 4479 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/ExpressionSolve.c"
4480 goto tmp3_done;
4481 }
4482 case 2: {
4483
4484 /* Pattern matching succeeded */
4485#line 1080 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/ExpressionSolve.mo"
4486 tmpMeta[0+0] = _inExp;
4487#line 1080 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/ExpressionSolve.mo"
4488 tmp1_c1 = 1;
4489#line 1080 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/ExpressionSolve.mo"
4490 tmpMeta[0+2] = _iT;
4491#line 4491 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/ExpressionSolve.c"
4492 goto tmp3_done;
4493 }
4494 }
4495 goto tmp3_end;
4496 tmp3_end: ;
4497 }
4498 goto goto_2;
4499 goto_2:;
4500 MMC_THROW_INTERNAL(){longjmp(*threadData->mmc_jumper,1);};
4501 goto tmp3_done;
4502 tmp3_done:;
4503 }
4504 }
4505 _outExp = tmpMeta[0+0];
4506 _cont = tmp1_c1;
4507 _oT = tmpMeta[0+2];
4508 _return: OMC_LABEL_UNUSED__attribute__((unused))
4509 if (out_cont) { *out_cont = _cont; }
4510 if (out_oT) { *out_oT = _oT; }
4511 return _outExp;
4512}
4513PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_ExpressionSolve_unifyFunCallsWork(threadData_t *threadData, modelica_metatype _inExp, modelica_metatype _iT, modelica_metatype *out_cont, modelica_metatype *out_oT)
4514{
4515 modelica_boolean _cont;
4516 modelica_metatype _outExp = NULL((void*)0);
4517 _outExp = omc_ExpressionSolve_unifyFunCallsWork(threadData, _inExp, _iT, &_cont, out_oT);
4518 /* skip box _outExp; DAE.Exp */
4519 if (out_cont) { *out_cont = mmc_mk_icon(_cont); }
4520 /* skip box _oT; DAE.Exp */
4521 return _outExp;
4522}
4523
4524PROTECTED_FUNCTION_STATIC modelica_metatype omc_ExpressionSolve_unifyFunCalls(threadData_t *threadData, modelica_metatype _inExp1, modelica_metatype _inExp3, modelica_boolean *out_newX)
4525{
4526 modelica_metatype _oExp = NULL((void*)0);
4527 modelica_boolean _newX;
4528 MMC_SO()mmc_check_stackoverflow(threadData);
4529 _tailrecursive: OMC_LABEL_UNUSED__attribute__((unused))
4530 // _oExp has no default value.
4531 // _newX has no default value.
4532#line 1038 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/ExpressionSolve.mo"
4533 _oExp = omc_Expression_traverseExpTopDown(threadData, _inExp1, boxvar_ExpressionSolve_unifyFunCallsWork((void*)((char*)(&(boxvar_lit_ExpressionSolve_unifyFunCallsWork
).header) + 3))
, _inExp3, NULL((void*)0));
4534#line 4534 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/ExpressionSolve.c"
4535
4536#line 1039 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/ExpressionSolve.mo"
4537 _newX = omc_Expression_expEqual(threadData, _oExp, _inExp1);
4538#line 4538 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/ExpressionSolve.c"
4539 _return: OMC_LABEL_UNUSED__attribute__((unused))
4540 if (out_newX) { *out_newX = _newX; }
4541 return _oExp;
4542}
4543PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_ExpressionSolve_unifyFunCalls(threadData_t *threadData, modelica_metatype _inExp1, modelica_metatype _inExp3, modelica_metatype *out_newX)
4544{
4545 modelica_boolean _newX;
4546 modelica_metatype _oExp = NULL((void*)0);
4547 _oExp = omc_ExpressionSolve_unifyFunCalls(threadData, _inExp1, _inExp3, &_newX);
4548 /* skip box _oExp; DAE.Exp */
4549 if (out_newX) { *out_newX = mmc_mk_icon(_newX); }
4550 return _oExp;
4551}
4552
4553PROTECTED_FUNCTION_STATIC modelica_metatype omc_ExpressionSolve_preprocessingSolve5(threadData_t *threadData, modelica_metatype _inExp1, modelica_metatype _inExp3, modelica_boolean _expand, modelica_metatype *out_outRhs)
4554{
4555 modelica_metatype _outLhs = NULL((void*)0);
4556 modelica_metatype _outRhs = NULL((void*)0);
4557 modelica_metatype _lhs = NULL((void*)0);
4558 modelica_metatype _rhs = NULL((void*)0);
4559 modelica_metatype _tmpLhs = NULL((void*)0);
4560 modelica_metatype _e1 = NULL((void*)0);
4561 modelica_boolean _b;
4562 modelica_metatype _cr = NULL((void*)0);
4563 modelica_metatype tmpMeta[3] __attribute__((unused)) = {0};
4564 MMC_SO()mmc_check_stackoverflow(threadData);
4565 _tailrecursive: OMC_LABEL_UNUSED__attribute__((unused))
4566 // _outLhs has no default value.
4567 // _outRhs has no default value.
4568 // _lhs has no default value.
4569 // _rhs has no default value.
4570 // _tmpLhs has no default value.
4571 // _e1 has no default value.
4572 // _b has no default value.
4573 // _cr has no default value.
4574#line 989 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/ExpressionSolve.mo"
4575 if(omc_ExpressionSolve_expHasCref(threadData, _inExp1, _inExp3))
4576#line 989 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/ExpressionSolve.mo"
4577 {
4578#line 991 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/ExpressionSolve.mo"
4579 if(_expand)
4580#line 991 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/ExpressionSolve.mo"
4581 {
4582#line 992 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/ExpressionSolve.mo"
4583 _cr = omc_Expression_expOrDerCref(threadData, _inExp3 ,&_b);
4584#line 4584 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/ExpressionSolve.c"
4585
4586#line 993 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/ExpressionSolve.mo"
4587 if(_b)
4588#line 993 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/ExpressionSolve.mo"
4589 {
4590#line 994 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/ExpressionSolve.mo"
4591 _lhs = omc_Expression_allTermsForCref(threadData, _inExp1, _cr, boxvar_Expression_expHasDerCref((void*)((char*)(&(boxvar_lit_Expression_expHasDerCref).header
) + 3))
,&_rhs);
4592#line 4592 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/ExpressionSolve.c"
4593 }
4594 else
4595 {
4596#line 996 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/ExpressionSolve.mo"
4597 _lhs = omc_Expression_allTermsForCref(threadData, _inExp1, _cr, boxvar_Expression_expHasCrefNoPreOrStart((void*)((char*)(&(boxvar_lit_Expression_expHasCrefNoPreOrStart
).header) + 3))
,&_rhs);
4598#line 4598 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/ExpressionSolve.c"
4599 }
4600 }
4601 else
4602 {
4603#line 999 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/ExpressionSolve.mo"
4604 _lhs = omc_List_split1OnTrue(threadData, omc_Expression_terms(threadData, _inExp1), boxvar_ExpressionSolve_expHasCref((void*)((char*)(&(boxvar_lit_ExpressionSolve_expHasCref)
.header) + 3))
, _inExp3 ,&_rhs);
4605#line 4605 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/ExpressionSolve.c"
4606 }
4607
4608#line 1004 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/ExpressionSolve.mo"
4609 _outLhs = _OMC_LIT9((void*)((char*)(&(_OMC_LIT_STRUCT9).header) + 3));
4610#line 4610 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/ExpressionSolve.c"
4611
4612#line 1005 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/ExpressionSolve.mo"
4613 _tmpLhs = _OMC_LIT9((void*)((char*)(&(_OMC_LIT_STRUCT9).header) + 3));
4614#line 4614 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/ExpressionSolve.c"
4615
4616#line 1006 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/ExpressionSolve.mo"
4617 {
4618#line 1006 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/ExpressionSolve.mo"
4619 modelica_metatype _e;
4620#line 1006 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/ExpressionSolve.mo"
4621 for (tmpMeta[0] = _lhs; !listEmpty(tmpMeta[0])((*(mmc_uint_t*)((void*)((char*)(tmpMeta[0]) - 3))) == (((0) <<
10) + (((0) & 255) << 2)))
; tmpMeta[0]=MMC_CDR(tmpMeta[0])(*(void**)(((void*)((void**)(((void*)((char*)(tmpMeta[0]) - 3
))) + (2)))))
)
4622#line 1006 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/ExpressionSolve.mo"
4623 {
4624#line 1006 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/ExpressionSolve.mo"
4625 _e = MMC_CAR(tmpMeta[0])(*(void**)(((void*)((void**)(((void*)((char*)(tmpMeta[0]) - 3
))) + (1)))))
;
4626#line 1007 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/ExpressionSolve.mo"
4627 if(omc_Expression_isNegativeUnary(threadData, _e))
4628#line 1007 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/ExpressionSolve.mo"
4629 {
4630#line 1008 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/ExpressionSolve.mo"
4631 /* Pattern-matching assignment */
4632#line 1008 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/ExpressionSolve.mo"
4633 tmpMeta[1] = _e;
4634#line 1008 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/ExpressionSolve.mo"
4635 if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[1],8,2)((*(mmc_uint_t*)((void*)((char*)(tmpMeta[1]) - 3)))==(((2 +1)
<< 10) + (((8 +3) & 255) << 2)))
== 0) MMC_THROW_INTERNAL(){longjmp(*threadData->mmc_jumper,1);};
4636#line 1008 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/ExpressionSolve.mo"
4637 tmpMeta[2] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[1]), 3))(*(void**)(((void*)((void**)(((void*)((char*)(tmpMeta[1]) - 3
))) + (3)))))
;
4638#line 1008 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/ExpressionSolve.mo"
4639 _e1 = tmpMeta[2];
4640#line 4640 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/ExpressionSolve.c"
4641
4642#line 1009 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/ExpressionSolve.mo"
4643 _tmpLhs = omc_ExpressionSolve_expAddX(threadData, _e1, _tmpLhs, _inExp3);
4644#line 4644 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/ExpressionSolve.c"
4645 }
4646 else
4647 {
4648#line 1011 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/ExpressionSolve.mo"
4649 _outLhs = omc_ExpressionSolve_expAddX(threadData, _e, _outLhs, _inExp3);
4650#line 4650 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/ExpressionSolve.c"
4651 }
4652 }
4653 }
4654
4655#line 1014 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/ExpressionSolve.mo"
4656 _outLhs = omc_ExpressionSolve_expAddX(threadData, _outLhs, omc_Expression_negate(threadData, _tmpLhs), _inExp3);
4657#line 4657 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/ExpressionSolve.c"
4658
4659#line 1016 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/ExpressionSolve.mo"
4660 _outRhs = omc_Expression_makeSum1(threadData, _rhs, 0);
4661#line 4661 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/ExpressionSolve.c"
4662
4663#line 1017 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/ExpressionSolve.mo"
4664 _outRhs = omc_ExpressionSimplify_simplify1(threadData, _outRhs, NULL((void*)0));
4665#line 4665 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/ExpressionSolve.c"
4666
4667#line 1018 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/ExpressionSolve.mo"
4668 _outLhs = omc_ExpressionSimplify_simplify1(threadData, _outLhs, NULL((void*)0));
4669#line 4669 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/ExpressionSolve.c"
4670 }
4671 else
4672 {
4673#line 1021 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/ExpressionSolve.mo"
4674 _outLhs = _OMC_LIT9((void*)((char*)(&(_OMC_LIT_STRUCT9).header) + 3));
4675#line 4675 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/ExpressionSolve.c"
4676
4677#line 1022 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/ExpressionSolve.mo"
4678 _outRhs = _inExp1;
4679#line 4679 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/ExpressionSolve.c"
4680 }
4681 _return: OMC_LABEL_UNUSED__attribute__((unused))
4682 if (out_outRhs) { *out_outRhs = _outRhs; }
4683 return _outLhs;
4684}
4685PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_ExpressionSolve_preprocessingSolve5(threadData_t *threadData, modelica_metatype _inExp1, modelica_metatype _inExp3, modelica_metatype _expand, modelica_metatype *out_outRhs)
4686{
4687 modelica_integer tmp1;
4688 modelica_metatype _outLhs = NULL((void*)0);
4689 tmp1 = mmc_unbox_integer(_expand)(((mmc_sint_t) (_expand)) >> 1);
4690 _outLhs = omc_ExpressionSolve_preprocessingSolve5(threadData, _inExp1, _inExp3, tmp1, out_outRhs);
4691 /* skip box _outLhs; DAE.Exp */
4692 /* skip box _outRhs; DAE.Exp */
4693 return _outLhs;
4694}
4695
4696DLLExport
4697modelica_metatype omc_ExpressionSolve_collectX(threadData_t *threadData, modelica_metatype _inExp1, modelica_metatype _inExp3, modelica_boolean _expand, modelica_metatype *out_outRhs)
4698{
4699 modelica_metatype _outLhs = NULL((void*)0);
4700 modelica_metatype _outRhs = NULL((void*)0);
4701 MMC_SO()mmc_check_stackoverflow(threadData);
4702 _tailrecursive: OMC_LABEL_UNUSED__attribute__((unused))
4703 // _outLhs has no default value.
4704 // _outRhs has no default value.
4705#line 963 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/ExpressionSolve.mo"
4706 _outLhs = omc_ExpressionSolve_preprocessingSolve5(threadData, _inExp1, _inExp3, _expand ,&_outRhs);
4707#line 4707 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/ExpressionSolve.c"
4708 _return: OMC_LABEL_UNUSED__attribute__((unused))
4709 if (out_outRhs) { *out_outRhs = _outRhs; }
4710 return _outLhs;
4711}
4712modelica_metatype boxptr_ExpressionSolve_collectX(threadData_t *threadData, modelica_metatype _inExp1, modelica_metatype _inExp3, modelica_metatype _expand, modelica_metatype *out_outRhs)
4713{
4714 modelica_integer tmp1;
4715 modelica_metatype _outLhs = NULL((void*)0);
4716 tmp1 = mmc_unbox_integer(_expand)(((mmc_sint_t) (_expand)) >> 1);
4717 _outLhs = omc_ExpressionSolve_collectX(threadData, _inExp1, _inExp3, tmp1, out_outRhs);
4718 /* skip box _outLhs; DAE.Exp */
4719 /* skip box _outRhs; DAE.Exp */
4720 return _outLhs;
4721}
4722
4723PROTECTED_FUNCTION_STATIC modelica_metatype omc_ExpressionSolve_expAddX2(threadData_t *threadData, modelica_metatype _inExp1, modelica_metatype _inExp2, modelica_metatype _inExp3)
4724{
4725 modelica_metatype _ores = NULL((void*)0);
4726 modelica_metatype _f1 = NULL((void*)0);
4727 modelica_metatype _f2 = NULL((void*)0);
4728 modelica_metatype _e0 = NULL((void*)0);
4729 modelica_metatype _e1 = NULL((void*)0);
4730 modelica_metatype _e2 = NULL((void*)0);
4731 modelica_boolean _neg;
4732 modelica_metatype _factorWithX1 = NULL((void*)0);
4733 modelica_metatype _factorWithoutX1 = NULL((void*)0);
4734 modelica_metatype _factorWithX2 = NULL((void*)0);
4735 modelica_metatype _factorWithoutX2 = NULL((void*)0);
4736 modelica_metatype _pWithX1 = NULL((void*)0);
4737 modelica_metatype _pWithoutX1 = NULL((void*)0);
4738 modelica_metatype _pWithX2 = NULL((void*)0);
4739 modelica_metatype _pWithoutX2 = NULL((void*)0);
4740 modelica_boolean tmp1_c2 __attribute__((unused)) = 0;
4741 modelica_metatype tmpMeta[6] __attribute__((unused)) = {0};
4742 MMC_SO()mmc_check_stackoverflow(threadData);
4743 _tailrecursive: OMC_LABEL_UNUSED__attribute__((unused))
4744 // _ores has no default value.
4745 // _f1 has no default value.
4746 // _f2 has no default value.
4747 // _e0 has no default value.
4748 // _e1 has no default value.
4749 // _e2 has no default value.
4750 // _neg has no default value.
4751 // _factorWithX1 has no default value.
4752 // _factorWithoutX1 has no default value.
4753 // _factorWithX2 has no default value.
4754 // _factorWithoutX2 has no default value.
4755 // _pWithX1 has no default value.
4756 // _pWithoutX1 has no default value.
4757 // _pWithX2 has no default value.
4758 // _pWithoutX2 has no default value.
4759#line 907 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/ExpressionSolve.mo"
4760
4761#line 907 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/ExpressionSolve.mo"
4762
4763#line 907 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/ExpressionSolve.mo"
4764
4765#line 4765 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/ExpressionSolve.c"
4766 { /* match expression */
4767 modelica_metatype tmp4_1;
4768 tmp4_1 = _inExp1;
4769 {
4770 modelica_metatype _ee1 = NULL((void*)0);
4771 modelica_metatype _ee2 = NULL((void*)0);
4772 volatile mmc_switch_type tmp4;
4773 int tmp5;
4774 // _ee1 has no default value.
4775 // _ee2 has no default value.
4776 tmp4 = 0;
4777 for (; tmp4 < 3; tmp4++) {
4778 switch (MMC_SWITCH_CAST(tmp4)(tmp4)) {
4779 case 0: {
4780 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;
4781 tmpMeta[3] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_1), 2))(*(void**)(((void*)((void**)(((void*)((char*)(tmp4_1) - 3))) +
(2)))))
;
4782 tmpMeta[4] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_1), 3))(*(void**)(((void*)((void**)(((void*)((char*)(tmp4_1) - 3))) +
(3)))))
;
4783 if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[4],0,1)((*(mmc_uint_t*)((void*)((char*)(tmpMeta[4]) - 3)))==(((1 +1)
<< 10) + (((0 +3) & 255) << 2)))
== 0) goto tmp3_end;
4784 tmpMeta[5] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_1), 4))(*(void**)(((void*)((void**)(((void*)((char*)(tmp4_1) - 3))) +
(4)))))
;
4785 _ee1 = tmpMeta[3];
4786 _ee2 = tmpMeta[5];
4787 /* Pattern matching succeeded */
4788#line 910 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/ExpressionSolve.mo"
4789 tmpMeta[0+0] = _ee1;
4790#line 910 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/ExpressionSolve.mo"
4791 tmpMeta[0+1] = _ee2;
4792#line 910 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/ExpressionSolve.mo"
4793 tmp1_c2 = 0;
4794#line 4794 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/ExpressionSolve.c"
4795 goto tmp3_done;
4796 }
4797 case 1: {
4798 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;
4799 tmpMeta[3] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_1), 2))(*(void**)(((void*)((void**)(((void*)((char*)(tmp4_1) - 3))) +
(2)))))
;
4800 tmpMeta[4] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_1), 3))(*(void**)(((void*)((void**)(((void*)((char*)(tmp4_1) - 3))) +
(3)))))
;
4801 if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[4],1,1)((*(mmc_uint_t*)((void*)((char*)(tmpMeta[4]) - 3)))==(((1 +1)
<< 10) + (((1 +3) & 255) << 2)))
== 0) goto tmp3_end;
4802 tmpMeta[5] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_1), 4))(*(void**)(((void*)((void**)(((void*)((char*)(tmp4_1) - 3))) +
(4)))))
;
4803 _ee1 = tmpMeta[3];
4804 _ee2 = tmpMeta[5];
4805 /* Pattern matching succeeded */
4806#line 912 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/ExpressionSolve.mo"
4807 tmpMeta[0+0] = _ee1;
4808#line 912 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/ExpressionSolve.mo"
4809 tmpMeta[0+1] = _ee2;
4810#line 912 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/ExpressionSolve.mo"
4811 tmp1_c2 = 1;
4812#line 4812 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/ExpressionSolve.c"
4813 goto tmp3_done;
4814 }
4815 case 2: {
4816
4817 /* Pattern matching succeeded */
4818#line 914 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/ExpressionSolve.mo"
4819 tmpMeta[0+0] = _OMC_LIT9((void*)((char*)(&(_OMC_LIT_STRUCT9).header) + 3));
4820#line 914 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/ExpressionSolve.mo"
4821 tmpMeta[0+1] = _inExp1;
4822#line 914 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/ExpressionSolve.mo"
4823 tmp1_c2 = 0;
4824#line 4824 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/ExpressionSolve.c"
4825 goto tmp3_done;
4826 }
4827 }
4828 goto tmp3_end;
4829 tmp3_end: ;
4830 }
4831 goto goto_2;
4832 goto_2:;
4833 MMC_THROW_INTERNAL(){longjmp(*threadData->mmc_jumper,1);};
4834 goto tmp3_done;
4835 tmp3_done:;
4836 }
4837 }
4838 _e0 = tmpMeta[0+0];
4839 _e1 = tmpMeta[0+1];
4840 _neg = tmp1_c2;
4841
4842#line 917 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/ExpressionSolve.mo"
4843 _f1 = omc_Expression_expandFactors(threadData, _e1);
4844#line 4844 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/ExpressionSolve.c"
4845
4846#line 918 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/ExpressionSolve.mo"
4847 _factorWithX1 = omc_List_split1OnTrue(threadData, _f1, boxvar_ExpressionSolve_expHasCref((void*)((char*)(&(boxvar_lit_ExpressionSolve_expHasCref)
.header) + 3))
, _inExp3 ,&_factorWithoutX1);
4848#line 4848 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/ExpressionSolve.c"
4849
4850#line 919 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/ExpressionSolve.mo"
4851 _pWithX1 = omc_ExpressionSolve_makeProductLstSort(threadData, _factorWithX1);
4852#line 4852 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/ExpressionSolve.c"
4853
4854#line 920 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/ExpressionSolve.mo"
4855 _pWithoutX1 = omc_ExpressionSolve_makeProductLstSort(threadData, _factorWithoutX1);
4856#line 4856 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/ExpressionSolve.c"
4857
4858#line 921 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/ExpressionSolve.mo"
4859 _f2 = omc_Expression_expandFactors(threadData, _inExp2);
4860#line 4860 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/ExpressionSolve.c"
4861
4862#line 922 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/ExpressionSolve.mo"
4863 _factorWithX2 = omc_List_split1OnTrue(threadData, _f2, boxvar_ExpressionSolve_expHasCref((void*)((char*)(&(boxvar_lit_ExpressionSolve_expHasCref)
.header) + 3))
, _inExp3 ,&_factorWithoutX2);
4864#line 4864 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/ExpressionSolve.c"
4865
4866#line 923 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/ExpressionSolve.mo"
4867 _pWithX2 = omc_ExpressionSimplify_simplify1(threadData, omc_ExpressionSolve_makeProductLstSort(threadData, _factorWithX2), NULL((void*)0));
4868#line 4868 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/ExpressionSolve.c"
4869
4870#line 924 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/ExpressionSolve.mo"
4871 _pWithoutX2 = omc_ExpressionSolve_makeProductLstSort(threadData, _factorWithoutX2);
4872#line 4872 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/ExpressionSolve.c"
4873
4874#line 928 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/ExpressionSolve.mo"
4875 if(omc_Expression_expEqual(threadData, _pWithX2, _pWithX1))
4876#line 928 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/ExpressionSolve.mo"
4877 {
4878#line 930 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/ExpressionSolve.mo"
4879 if((!_neg))
4880#line 930 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/ExpressionSolve.mo"
4881 {
4882#line 931 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/ExpressionSolve.mo"
4883 _ores = omc_Expression_expAdd(threadData, _pWithoutX1, _pWithoutX2);
4884#line 4884 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/ExpressionSolve.c"
4885 }
4886 else
4887 {
4888#line 934 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/ExpressionSolve.mo"
4889 _ores = omc_Expression_expSub(threadData, _pWithoutX2, _pWithoutX1);
4890#line 4890 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/ExpressionSolve.c"
4891 }
4892
4893#line 936 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/ExpressionSolve.mo"
4894 _ores = omc_Expression_expMul(threadData, _ores, _pWithX2);
4895#line 4895 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/ExpressionSolve.c"
4896 }
4897 else
4898 {
4899 if(omc_Expression_expEqual(threadData, _pWithX2, omc_Expression_negate(threadData, _pWithX1)))
4900 {
4901#line 939 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/ExpressionSolve.mo"
4902 if((!_neg))
4903#line 939 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/ExpressionSolve.mo"
4904 {
4905#line 940 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/ExpressionSolve.mo"
4906 _ores = omc_Expression_expSub(threadData, _pWithoutX2, _pWithoutX1);
4907#line 4907 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/ExpressionSolve.c"
4908 }
4909 else
4910 {
4911#line 943 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/ExpressionSolve.mo"
4912 _ores = omc_Expression_expAdd(threadData, _pWithoutX1, _pWithoutX2);
4913#line 4913 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/ExpressionSolve.c"
4914 }
4915
4916#line 945 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/ExpressionSolve.mo"
4917 _ores = omc_Expression_expMul(threadData, _ores, _pWithX2);
4918#line 4918 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/ExpressionSolve.c"
4919 }
4920 else
4921 {
4922#line 947 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/ExpressionSolve.mo"
4923 _e1 = omc_Expression_expMul(threadData, _pWithoutX1, _pWithX1);
4924#line 4924 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/ExpressionSolve.c"
4925
4926#line 948 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/ExpressionSolve.mo"
4927 _e2 = omc_Expression_expMul(threadData, _pWithoutX2, _pWithX2);
4928#line 4928 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/ExpressionSolve.c"
4929
4930#line 949 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/ExpressionSolve.mo"
4931 _ores = omc_Expression_expAdd(threadData, _e1, _e2);
4932#line 4932 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/ExpressionSolve.c"
4933 }
4934 }
4935
4936#line 952 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/ExpressionSolve.mo"
4937 _ores = omc_Expression_expAdd(threadData, _e0, _ores);
4938#line 4938 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/ExpressionSolve.c"
4939 _return: OMC_LABEL_UNUSED__attribute__((unused))
4940 return _ores;
4941}
4942
4943PROTECTED_FUNCTION_STATIC modelica_metatype omc_ExpressionSolve_expAddX(threadData_t *threadData, modelica_metatype _inExp1, modelica_metatype _inExp2, modelica_metatype _inExp3)
4944{
4945 modelica_metatype _ores = NULL((void*)0);
4946 modelica_metatype tmpMeta[4] __attribute__((unused)) = {0};
4947 MMC_SO()mmc_check_stackoverflow(threadData);
4948 _tailrecursive: OMC_LABEL_UNUSED__attribute__((unused))
4949 // _ores has no default value.
4950#line 4950 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/ExpressionSolve.c"
4951 { /* matchcontinue expression */
4952 volatile modelica_metatype tmp3_1;volatile modelica_metatype tmp3_2;
4953 tmp3_1 = _inExp1;
4954 tmp3_2 = _inExp2;
4955 {
4956 modelica_metatype _e = NULL((void*)0);
4957 modelica_metatype _e1 = NULL((void*)0);
4958 modelica_metatype _e2 = NULL((void*)0);
4959 modelica_metatype _e3 = NULL((void*)0);
4960 modelica_metatype _e4 = NULL((void*)0);
4961 volatile mmc_switch_type tmp3;
4962 int tmp4;
4963 // _e has no default value.
4964 // _e1 has no default value.
4965 // _e2 has no default value.
4966 // _e3 has no default value.
4967 // _e4 has no default value.
4968 tmp3 = 0;
4969 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) {
4970 tmp2_top:
4971 threadData->mmc_jumper = &new_mmc_jumper;
4972 for (; tmp3 < 3; tmp3++) {
4973 switch (MMC_SWITCH_CAST(tmp3)(tmp3)) {
4974 case 0: {
4975 if (mmc__uniontype__metarecord__typedef__equal(tmp3_1,12,3)((*(mmc_uint_t*)((void*)((char*)(tmp3_1) - 3)))==(((3 +1) <<
10) + (((12 +3) & 255) << 2)))
== 0) goto tmp2_end;
4976 tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_1), 2))(*(void**)(((void*)((void**)(((void*)((char*)(tmp3_1) - 3))) +
(2)))))
;
4977 tmpMeta[2] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_1), 3))(*(void**)(((void*)((void**)(((void*)((char*)(tmp3_1) - 3))) +
(3)))))
;
4978 tmpMeta[3] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_1), 4))(*(void**)(((void*)((void**)(((void*)((char*)(tmp3_1) - 3))) +
(4)))))
;
4979
4980 _e = tmpMeta[1];
4981 _e1 = tmpMeta[2];
4982 _e2 = tmpMeta[3];
4983 /* Pattern matching succeeded */
4984 /* Check guard condition after assignments */
4985 if (!((omc_ExpressionSolve_expHasCref(threadData, _e1, _inExp3) && omc_ExpressionSolve_expHasCref(threadData, _e2, _inExp3)) && (!omc_ExpressionSolve_expHasCref(threadData, _e, _inExp3)))) goto tmp2_end;
4986#line 863 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/ExpressionSolve.mo"
4987 _e3 = omc_ExpressionSolve_expAddX(threadData, _inExp2, _e1, _inExp3);
4988#line 4988 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/ExpressionSolve.c"
4989
4990#line 864 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/ExpressionSolve.mo"
4991 _e4 = omc_ExpressionSolve_expAddX(threadData, _inExp2, _e2, _inExp3);
4992#line 4992 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/ExpressionSolve.c"
4993#line 866 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/ExpressionSolve.mo"
4994 tmpMeta[1] = mmc_mk_box4(15, &DAE_Exp_IFEXP__desc, _e, _e3, _e4);
4995#line 866 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/ExpressionSolve.mo"
4996 tmpMeta[0] = tmpMeta[1];
4997#line 4997 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/ExpressionSolve.c"
4998 goto tmp2_done;
4999 }
5000 case 1: {
5001 if (mmc__uniontype__metarecord__typedef__equal(tmp3_2,12,3)((*(mmc_uint_t*)((void*)((char*)(tmp3_2) - 3)))==(((3 +1) <<
10) + (((12 +3) & 255) << 2)))
== 0) goto tmp2_end;
5002 tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_2), 2))(*(void**)(((void*)((void**)(((void*)((char*)(tmp3_2) - 3))) +
(2)))))
;
5003 tmpMeta[2] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_2), 3))(*(void**)(((void*)((void**)(((void*)((char*)(tmp3_2) - 3))) +
(3)))))
;
5004 tmpMeta[3] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_2), 4))(*(void**)(((void*)((void**)(((void*)((char*)(tmp3_2) - 3))) +
(4)))))
;
5005
5006 _e = tmpMeta[1];
5007 _e1 = tmpMeta[2];
5008 _e2 = tmpMeta[3];
5009 /* Pattern matching succeeded */
5010 /* Check guard condition after assignments */
5011 if (!((omc_ExpressionSolve_expHasCref(threadData, _e1, _inExp3) && omc_ExpressionSolve_expHasCref(threadData, _e2, _inExp3)) && (!omc_ExpressionSolve_expHasCref(threadData, _e, _inExp3)))) goto tmp2_end;
5012#line 872 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/ExpressionSolve.mo"
5013 _e3 = omc_ExpressionSolve_expAddX(threadData, _inExp1, _e1, _inExp3);
5014#line 5014 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/ExpressionSolve.c"
5015
5016#line 873 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/ExpressionSolve.mo"
5017 _e4 = omc_ExpressionSolve_expAddX(threadData, _inExp1, _e2, _inExp3);
5018#line 5018 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/ExpressionSolve.c"
5019#line 875 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/ExpressionSolve.mo"
5020 tmpMeta[1] = mmc_mk_box4(15, &DAE_Exp_IFEXP__desc, _e, _e3, _e4);
5021#line 875 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/ExpressionSolve.mo"
5022 tmpMeta[0] = tmpMeta[1];
5023#line 5023 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/ExpressionSolve.c"
5024 goto tmp2_done;
5025 }
5026 case 2: {
5027
5028 /* Pattern matching succeeded */
5029#line 880 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/ExpressionSolve.mo"
5030 tmpMeta[0] = omc_ExpressionSolve_expAddX2(threadData, _inExp1, _inExp2, _inExp3);
5031#line 5031 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/ExpressionSolve.c"
5032 goto tmp2_done;
5033 }
5034 }
5035 goto tmp2_end;
5036 tmp2_end: ;
5037 }
5038 goto goto_1;
5039 tmp2_done:
5040 (void)tmp3;
5041 MMC_RESTORE_INTERNAL(mmc_jumper)threadData->mmc_jumper = old_jumper;;
5042 goto tmp2_done2;
5043 goto_1:;
5044 MMC_CATCH_INTERNAL(mmc_jumper)} threadData->mmc_jumper = old_jumper;mmc_catch_dummy_fn()
;}
;
5045 if (++tmp3 < 3) {
5046 goto tmp2_top;
5047 }
5048 MMC_THROW_INTERNAL(){longjmp(*threadData->mmc_jumper,1);};
5049 tmp2_done2:;
5050 }
5051 }
5052 _ores = tmpMeta[0];
5053 _return: OMC_LABEL_UNUSED__attribute__((unused))
5054 return _ores;
5055}
5056
5057PROTECTED_FUNCTION_STATIC modelica_metatype omc_ExpressionSolve_preprocessingSolve4(threadData_t *threadData, modelica_metatype _inExp1, modelica_metatype _inExp2, modelica_metatype _inExp3, modelica_metatype *out_oExp2, modelica_boolean *out_newX)
5058{
5059 modelica_metatype _oExp1 = NULL((void*)0);
5060 modelica_metatype _oExp2 = NULL((void*)0);
5061 modelica_boolean _newX;
5062 modelica_boolean tmp1_c2 __attribute__((unused)) = 0;
5063 modelica_metatype tmpMeta[24] __attribute__((unused)) = {0};
5064 MMC_SO()mmc_check_stackoverflow(threadData);
5065 _tailrecursive: OMC_LABEL_UNUSED__attribute__((unused))
5066 // _oExp1 has no default value.
5067 // _oExp2 has no default value.
5068 // _newX has no default value.
5069#line 753 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/ExpressionSolve.mo"
5070
5071#line 753 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/ExpressionSolve.mo"
5072
5073#line 753 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/ExpressionSolve.mo"
5074
5075#line 5075 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/ExpressionSolve.c"
5076 { /* match expression */
5077 modelica_metatype tmp4_1;modelica_metatype tmp4_2;
5078 tmp4_1 = _inExp1;
5079 tmp4_2 = _inExp2;
5080 {
5081 modelica_metatype _e1 = NULL((void*)0);
5082 modelica_metatype _e2 = NULL((void*)0);
5083 modelica_metatype _e3 = NULL((void*)0);
5084 modelica_metatype _e4 = NULL((void*)0);
5085 modelica_metatype _e = NULL((void*)0);
5086 modelica_metatype _e_1 = NULL((void*)0);
5087 modelica_metatype _e_2 = NULL((void*)0);
5088 modelica_metatype _tp = NULL((void*)0);
5089 volatile mmc_switch_type tmp4;
5090 int tmp5;
5091 // _e1 has no default value.
5092 // _e2 has no default value.
5093 // _e3 has no default value.
5094 // _e4 has no default value.
5095 // _e has no default value.
5096 // _e_1 has no default value.
5097 // _e_2 has no default value.
5098 // _tp has no default value.
5099 tmp4 = 0;
5100 for (; tmp4 < 14; tmp4++) {
5101 switch (MMC_SWITCH_CAST(tmp4)(tmp4)) {
5102 case 0: {
5103 modelica_real tmp6;
5104 if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,1,1)((*(mmc_uint_t*)((void*)((char*)(tmp4_2) - 3)))==(((1 +1) <<
10) + (((1 +3) & 255) << 2)))
== 0) goto tmp3_end;
5105 tmpMeta[3] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2))(*(void**)(((void*)((void**)(((void*)((char*)(tmp4_2) - 3))) +
(2)))))
;
5106 tmp6 = mmc_unbox_real(tmpMeta[3])mmc_prim_get_real(tmpMeta[3]);
5107 if (0.0 != tmp6) goto tmp3_end;
5108 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;
5109 tmpMeta[4] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_1), 2))(*(void**)(((void*)((void**)(((void*)((char*)(tmp4_1) - 3))) +
(2)))))
;
5110 if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[4],13,3)((*(mmc_uint_t*)((void*)((char*)(tmpMeta[4]) - 3)))==(((3 +1)
<< 10) + (((13 +3) & 255) << 2)))
== 0) goto tmp3_end;
5111 tmpMeta[5] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[4]), 2))(*(void**)(((void*)((void**)(((void*)((char*)(tmpMeta[4]) - 3
))) + (2)))))
;
5112 if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[5],1,1)((*(mmc_uint_t*)((void*)((char*)(tmpMeta[5]) - 3)))==(((1 +1)
<< 10) + (((1 +3) & 255) << 2)))
== 0) goto tmp3_end;
5113 tmpMeta[6] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[5]), 2))(*(void**)(((void*)((void**)(((void*)((char*)(tmpMeta[5]) - 3
))) + (2)))))
;
5114 if (3 != MMC_STRLEN(tmpMeta[6])(((((*(mmc_uint_t*)((void*)((char*)(tmpMeta[6]) - 3)))) >>
(3)) - 8))
|| strcmp(MMC_STRINGDATA(_OMC_LIT94)(((struct mmc_string*)((void*)((char*)(((void*)((char*)(&
(_OMC_LIT_STRUCT94).header) + 3))) - 3)))->data)
, MMC_STRINGDATA(tmpMeta[6])(((struct mmc_string*)((void*)((char*)(tmpMeta[6]) - 3)))->
data)
) != 0) goto tmp3_end;
5115 tmpMeta[7] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[4]), 3))(*(void**)(((void*)((void**)(((void*)((char*)(tmpMeta[4]) - 3
))) + (3)))))
;
5116 if (listEmpty(tmpMeta[7])((*(mmc_uint_t*)((void*)((char*)(tmpMeta[7]) - 3))) == (((0) <<
10) + (((0) & 255) << 2)))
) goto tmp3_end;
5117 tmpMeta[8] = MMC_CAR(tmpMeta[7])(*(void**)(((void*)((void**)(((void*)((char*)(tmpMeta[7]) - 3
))) + (1)))))
;
5118 tmpMeta[9] = MMC_CDR(tmpMeta[7])(*(void**)(((void*)((void**)(((void*)((char*)(tmpMeta[7]) - 3
))) + (2)))))
;
5119 if (!listEmpty(tmpMeta[9])((*(mmc_uint_t*)((void*)((char*)(tmpMeta[9]) - 3))) == (((0) <<
10) + (((0) & 255) << 2)))
) goto tmp3_end;
5120 tmpMeta[10] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_1), 3))(*(void**)(((void*)((void**)(((void*)((char*)(tmp4_1) - 3))) +
(3)))))
;
5121 if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[10],1,1)((*(mmc_uint_t*)((void*)((char*)(tmpMeta[10]) - 3)))==(((1 +1
) << 10) + (((1 +3) & 255) << 2)))
== 0) goto tmp3_end;
5122 tmpMeta[11] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_1), 4))(*(void**)(((void*)((void**)(((void*)((char*)(tmp4_1) - 3))) +
(4)))))
;
5123 if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[11],13,3)((*(mmc_uint_t*)((void*)((char*)(tmpMeta[11]) - 3)))==(((3 +1
) << 10) + (((13 +3) & 255) << 2)))
== 0) goto tmp3_end;
5124 tmpMeta[12] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[11]), 2))(*(void**)(((void*)((void**)(((void*)((char*)(tmpMeta[11]) - 3
))) + (2)))))
;
5125 if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[12],1,1)((*(mmc_uint_t*)((void*)((char*)(tmpMeta[12]) - 3)))==(((1 +1
) << 10) + (((1 +3) & 255) << 2)))
== 0) goto tmp3_end;
5126 tmpMeta[13] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[12]), 2))(*(void**)(((void*)((void**)(((void*)((char*)(tmpMeta[12]) - 3
))) + (2)))))
;
5127 if (3 != MMC_STRLEN(tmpMeta[13])(((((*(mmc_uint_t*)((void*)((char*)(tmpMeta[13]) - 3)))) >>
(3)) - 8))
|| strcmp(MMC_STRINGDATA(_OMC_LIT94)(((struct mmc_string*)((void*)((char*)(((void*)((char*)(&
(_OMC_LIT_STRUCT94).header) + 3))) - 3)))->data)
, MMC_STRINGDATA(tmpMeta[13])(((struct mmc_string*)((void*)((char*)(tmpMeta[13]) - 3)))->
data)
) != 0) goto tmp3_end;
5128 tmpMeta[14] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[11]), 3))(*(void**)(((void*)((void**)(((void*)((char*)(tmpMeta[11]) - 3
))) + (3)))))
;
5129 if (listEmpty(tmpMeta[14])((*(mmc_uint_t*)((void*)((char*)(tmpMeta[14]) - 3))) == (((0)
<< 10) + (((0) & 255) << 2)))
) goto tmp3_end;
5130 tmpMeta[15] = MMC_CAR(tmpMeta[14])(*(void**)(((void*)((void**)(((void*)((char*)(tmpMeta[14]) - 3
))) + (1)))))
;
5131 tmpMeta[16] = MMC_CDR(tmpMeta[14])(*(void**)(((void*)((void**)(((void*)((char*)(tmpMeta[14]) - 3
))) + (2)))))
;
5132 if (!listEmpty(tmpMeta[16])((*(mmc_uint_t*)((void*)((char*)(tmpMeta[16]) - 3))) == (((0)
<< 10) + (((0) & 255) << 2)))
) goto tmp3_end;
5133
5134 _e1 = tmpMeta[8];
5135 _e2 = tmpMeta[15];
5136 /* Pattern matching succeeded */
5137#line 763 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/ExpressionSolve.mo"
5138 tmpMeta[0+0] = _e1;
5139#line 763 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/ExpressionSolve.mo"
5140 tmpMeta[0+1] = _e2;
5141#line 763 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/ExpressionSolve.mo"
5142 tmp1_c2 = 1;
5143#line 5143 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/ExpressionSolve.c"
5144 goto tmp3_done;
5145 }
5146 case 1: {
5147 modelica_real tmp7;
5148 if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,1,1)((*(mmc_uint_t*)((void*)((char*)(tmp4_2) - 3)))==(((1 +1) <<
10) + (((1 +3) & 255) << 2)))
== 0) goto tmp3_end;
5149 tmpMeta[3] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2))(*(void**)(((void*)((void**)(((void*)((char*)(tmp4_2) - 3))) +
(2)))))
;
5150 tmp7 = mmc_unbox_real(tmpMeta[3])mmc_prim_get_real(tmpMeta[3]);
5151 if (0.0 != tmp7) goto tmp3_end;
5152 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;
5153 tmpMeta[4] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_1), 2))(*(void**)(((void*)((void**)(((void*)((char*)(tmp4_1) - 3))) +
(2)))))
;
5154 if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[4],13,3)((*(mmc_uint_t*)((void*)((char*)(tmpMeta[4]) - 3)))==(((3 +1)
<< 10) + (((13 +3) & 255) << 2)))
== 0) goto tmp3_end;
5155 tmpMeta[5] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[4]), 2))(*(void**)(((void*)((void**)(((void*)((char*)(tmpMeta[4]) - 3
))) + (2)))))
;
5156 if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[5],1,1)((*(mmc_uint_t*)((void*)((char*)(tmpMeta[5]) - 3)))==(((1 +1)
<< 10) + (((1 +3) & 255) << 2)))
== 0) goto tmp3_end;
5157 tmpMeta[6] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[5]), 2))(*(void**)(((void*)((void**)(((void*)((char*)(tmpMeta[5]) - 3
))) + (2)))))
;
5158 if (3 != MMC_STRLEN(tmpMeta[6])(((((*(mmc_uint_t*)((void*)((char*)(tmpMeta[6]) - 3)))) >>
(3)) - 8))
|| strcmp(MMC_STRINGDATA(_OMC_LIT14)(((struct mmc_string*)((void*)((char*)(((void*)((char*)(&
(_OMC_LIT_STRUCT14).header) + 3))) - 3)))->data)
, MMC_STRINGDATA(tmpMeta[6])(((struct mmc_string*)((void*)((char*)(tmpMeta[6]) - 3)))->
data)
) != 0) goto tmp3_end;
5159 tmpMeta[7] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[4]), 3))(*(void**)(((void*)((void**)(((void*)((char*)(tmpMeta[4]) - 3
))) + (3)))))
;
5160 if (listEmpty(tmpMeta[7])((*(mmc_uint_t*)((void*)((char*)(tmpMeta[7]) - 3))) == (((0) <<
10) + (((0) & 255) << 2)))
) goto tmp3_end;
5161 tmpMeta[8] = MMC_CAR(tmpMeta[7])(*(void**)(((void*)((void**)(((void*)((char*)(tmpMeta[7]) - 3
))) + (1)))))
;
5162 tmpMeta[9] = MMC_CDR(tmpMeta[7])(*(void**)(((void*)((void**)(((void*)((char*)(tmpMeta[7]) - 3
))) + (2)))))
;
5163 if (!listEmpty(tmpMeta[9])((*(mmc_uint_t*)((void*)((char*)(tmpMeta[9]) - 3))) == (((0) <<
10) + (((0) & 255) << 2)))
) goto tmp3_end;
5164 tmpMeta[10] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_1), 3))(*(void**)(((void*)((void**)(((void*)((char*)(tmp4_1) - 3))) +
(3)))))
;
5165 if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[10],1,1)((*(mmc_uint_t*)((void*)((char*)(tmpMeta[10]) - 3)))==(((1 +1
) << 10) + (((1 +3) & 255) << 2)))
== 0) goto tmp3_end;
5166 tmpMeta[11] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_1), 4))(*(void**)(((void*)((void**)(((void*)((char*)(tmp4_1) - 3))) +
(4)))))
;
5167 if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[11],13,3)((*(mmc_uint_t*)((void*)((char*)(tmpMeta[11]) - 3)))==(((3 +1
) << 10) + (((13 +3) & 255) << 2)))
== 0) goto tmp3_end;
5168 tmpMeta[12] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[11]), 2))(*(void**)(((void*)((void**)(((void*)((char*)(tmpMeta[11]) - 3
))) + (2)))))
;
5169 if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[12],1,1)((*(mmc_uint_t*)((void*)((char*)(tmpMeta[12]) - 3)))==(((1 +1
) << 10) + (((1 +3) & 255) << 2)))
== 0) goto tmp3_end;
5170 tmpMeta[13] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[12]), 2))(*(void**)(((void*)((void**)(((void*)((char*)(tmpMeta[12]) - 3
))) + (2)))))
;
5171 if (3 != MMC_STRLEN(tmpMeta[13])(((((*(mmc_uint_t*)((void*)((char*)(tmpMeta[13]) - 3)))) >>
(3)) - 8))
|| strcmp(MMC_STRINGDATA(_OMC_LIT14)(((struct mmc_string*)((void*)((char*)(((void*)((char*)(&
(_OMC_LIT_STRUCT14).header) + 3))) - 3)))->data)
, MMC_STRINGDATA(tmpMeta[13])(((struct mmc_string*)((void*)((char*)(tmpMeta[13]) - 3)))->
data)
) != 0) goto tmp3_end;
5172 tmpMeta[14] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[11]), 3))(*(void**)(((void*)((void**)(((void*)((char*)(tmpMeta[11]) - 3
))) + (3)))))
;
5173 if (listEmpty(tmpMeta[14])((*(mmc_uint_t*)((void*)((char*)(tmpMeta[14]) - 3))) == (((0)
<< 10) + (((0) & 255) << 2)))
) goto tmp3_end;
5174 tmpMeta[15] = MMC_CAR(tmpMeta[14])(*(void**)(((void*)((void**)(((void*)((char*)(tmpMeta[14]) - 3
))) + (1)))))
;
5175 tmpMeta[16] = MMC_CDR(tmpMeta[14])(*(void**)(((void*)((void**)(((void*)((char*)(tmpMeta[14]) - 3
))) + (2)))))
;
5176 if (!listEmpty(tmpMeta[16])((*(mmc_uint_t*)((void*)((char*)(tmpMeta[16]) - 3))) == (((0)
<< 10) + (((0) & 255) << 2)))
) goto tmp3_end;
5177
5178 _e1 = tmpMeta[8];
5179 _e2 = tmpMeta[15];
5180 /* Pattern matching succeeded */
5181#line 768 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/ExpressionSolve.mo"
5182 tmpMeta[0+0] = _e1;
5183#line 768 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/ExpressionSolve.mo"
5184 tmpMeta[0+1] = _e2;
5185#line 768 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/ExpressionSolve.mo"
5186 tmp1_c2 = 1;
5187#line 5187 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/ExpressionSolve.c"
5188 goto tmp3_done;
5189 }
5190 case 2: {
5191 modelica_real tmp8;
5192 if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,1,1)((*(mmc_uint_t*)((void*)((char*)(tmp4_2) - 3)))==(((1 +1) <<
10) + (((1 +3) & 255) << 2)))
== 0) goto tmp3_end;
5193 tmpMeta[3] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2))(*(void**)(((void*)((void**)(((void*)((char*)(tmp4_2) - 3))) +
(2)))))
;
5194 tmp8 = mmc_unbox_real(tmpMeta[3])mmc_prim_get_real(tmpMeta[3]);
5195 if (0.0 != tmp8) goto tmp3_end;
5196 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;
5197 tmpMeta[4] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_1), 2))(*(void**)(((void*)((void**)(((void*)((char*)(tmp4_1) - 3))) +
(2)))))
;
5198 if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[4],13,3)((*(mmc_uint_t*)((void*)((char*)(tmpMeta[4]) - 3)))==(((3 +1)
<< 10) + (((13 +3) & 255) << 2)))
== 0) goto tmp3_end;
5199 tmpMeta[5] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[4]), 2))(*(void**)(((void*)((void**)(((void*)((char*)(tmpMeta[4]) - 3
))) + (2)))))
;
5200 if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[5],1,1)((*(mmc_uint_t*)((void*)((char*)(tmpMeta[5]) - 3)))==(((1 +1)
<< 10) + (((1 +3) & 255) << 2)))
== 0) goto tmp3_end;
5201 tmpMeta[6] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[5]), 2))(*(void**)(((void*)((void**)(((void*)((char*)(tmpMeta[5]) - 3
))) + (2)))))
;
5202 if (5 != MMC_STRLEN(tmpMeta[6])(((((*(mmc_uint_t*)((void*)((char*)(tmpMeta[6]) - 3)))) >>
(3)) - 8))
|| strcmp(MMC_STRINGDATA(_OMC_LIT15)(((struct mmc_string*)((void*)((char*)(((void*)((char*)(&
(_OMC_LIT_STRUCT15).header) + 3))) - 3)))->data)
, MMC_STRINGDATA(tmpMeta[6])(((struct mmc_string*)((void*)((char*)(tmpMeta[6]) - 3)))->
data)
) != 0) goto tmp3_end;
5203 tmpMeta[7] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[4]), 3))(*(void**)(((void*)((void**)(((void*)((char*)(tmpMeta[4]) - 3
))) + (3)))))
;
5204 if (listEmpty(tmpMeta[7])((*(mmc_uint_t*)((void*)((char*)(tmpMeta[7]) - 3))) == (((0) <<
10) + (((0) & 255) << 2)))
) goto tmp3_end;
5205 tmpMeta[8] = MMC_CAR(tmpMeta[7])(*(void**)(((void*)((void**)(((void*)((char*)(tmpMeta[7]) - 3
))) + (1)))))
;
5206 tmpMeta[9] = MMC_CDR(tmpMeta[7])(*(void**)(((void*)((void**)(((void*)((char*)(tmpMeta[7]) - 3
))) + (2)))))
;
5207 if (!listEmpty(tmpMeta[9])((*(mmc_uint_t*)((void*)((char*)(tmpMeta[9]) - 3))) == (((0) <<
10) + (((0) & 255) << 2)))
) goto tmp3_end;
5208 tmpMeta[10] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_1), 3))(*(void**)(((void*)((void**)(((void*)((char*)(tmp4_1) - 3))) +
(3)))))
;
5209 if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[10],1,1)((*(mmc_uint_t*)((void*)((char*)(tmpMeta[10]) - 3)))==(((1 +1
) << 10) + (((1 +3) & 255) << 2)))
== 0) goto tmp3_end;
5210 tmpMeta[11] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_1), 4))(*(void**)(((void*)((void**)(((void*)((char*)(tmp4_1) - 3))) +
(4)))))
;
5211 if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[11],13,3)((*(mmc_uint_t*)((void*)((char*)(tmpMeta[11]) - 3)))==(((3 +1
) << 10) + (((13 +3) & 255) << 2)))
== 0) goto tmp3_end;
5212 tmpMeta[12] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[11]), 2))(*(void**)(((void*)((void**)(((void*)((char*)(tmpMeta[11]) - 3
))) + (2)))))
;
5213 if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[12],1,1)((*(mmc_uint_t*)((void*)((char*)(tmpMeta[12]) - 3)))==(((1 +1
) << 10) + (((1 +3) & 255) << 2)))
== 0) goto tmp3_end;
5214 tmpMeta[13] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[12]), 2))(*(void**)(((void*)((void**)(((void*)((char*)(tmpMeta[12]) - 3
))) + (2)))))
;
5215 if (5 != MMC_STRLEN(tmpMeta[13])(((((*(mmc_uint_t*)((void*)((char*)(tmpMeta[13]) - 3)))) >>
(3)) - 8))
|| strcmp(MMC_STRINGDATA(_OMC_LIT15)(((struct mmc_string*)((void*)((char*)(((void*)((char*)(&
(_OMC_LIT_STRUCT15).header) + 3))) - 3)))->data)
, MMC_STRINGDATA(tmpMeta[13])(((struct mmc_string*)((void*)((char*)(tmpMeta[13]) - 3)))->
data)
) != 0) goto tmp3_end;
5216 tmpMeta[14] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[11]), 3))(*(void**)(((void*)((void**)(((void*)((char*)(tmpMeta[11]) - 3
))) + (3)))))
;
5217 if (listEmpty(tmpMeta[14])((*(mmc_uint_t*)((void*)((char*)(tmpMeta[14]) - 3))) == (((0)
<< 10) + (((0) & 255) << 2)))
) goto tmp3_end;
5218 tmpMeta[15] = MMC_CAR(tmpMeta[14])(*(void**)(((void*)((void**)(((void*)((char*)(tmpMeta[14]) - 3
))) + (1)))))
;
5219 tmpMeta[16] = MMC_CDR(tmpMeta[14])(*(void**)(((void*)((void**)(((void*)((char*)(tmpMeta[14]) - 3
))) + (2)))))
;
5220 if (!listEmpty(tmpMeta[16])((*(mmc_uint_t*)((void*)((char*)(tmpMeta[16]) - 3))) == (((0)
<< 10) + (((0) & 255) << 2)))
) goto tmp3_end;
5221
5222 _e1 = tmpMeta[8];
5223 _e2 = tmpMeta[15];
5224 /* Pattern matching succeeded */
5225#line 773 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/ExpressionSolve.mo"
5226 tmpMeta[0+0] = _e1;
5227#line 773 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/ExpressionSolve.mo"
5228 tmpMeta[0+1] = _e2;
5229#line 773 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/ExpressionSolve.mo"
5230 tmp1_c2 = 1;
5231#line 5231 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/ExpressionSolve.c"
5232 goto tmp3_done;
5233 }
5234 case 3: {
5235 modelica_real tmp9;
5236 if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,1,1)((*(mmc_uint_t*)((void*)((char*)(tmp4_2) - 3)))==(((1 +1) <<
10) + (((1 +3) & 255) << 2)))
== 0) goto tmp3_end;
5237 tmpMeta[3] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2))(*(void**)(((void*)((void**)(((void*)((char*)(tmp4_2) - 3))) +
(2)))))
;
5238 tmp9 = mmc_unbox_real(tmpMeta[3])mmc_prim_get_real(tmpMeta[3]);
5239 if (0.0 != tmp9) goto tmp3_end;
5240 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;
5241 tmpMeta[4] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_1), 2))(*(void**)(((void*)((void**)(((void*)((char*)(tmp4_1) - 3))) +
(2)))))
;
5242 if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[4],13,3)((*(mmc_uint_t*)((void*)((char*)(tmpMeta[4]) - 3)))==(((3 +1)
<< 10) + (((13 +3) & 255) << 2)))
== 0) goto tmp3_end;
5243 tmpMeta[5] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[4]), 2))(*(void**)(((void*)((void**)(((void*)((char*)(tmpMeta[4]) - 3
))) + (2)))))
;
5244 if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[5],1,1)((*(mmc_uint_t*)((void*)((char*)(tmpMeta[5]) - 3)))==(((1 +1)
<< 10) + (((1 +3) & 255) << 2)))
== 0) goto tmp3_end;
5245 tmpMeta[6] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[5]), 2))(*(void**)(((void*)((void**)(((void*)((char*)(tmpMeta[5]) - 3
))) + (2)))))
;
5246 if (4 != MMC_STRLEN(tmpMeta[6])(((((*(mmc_uint_t*)((void*)((char*)(tmpMeta[6]) - 3)))) >>
(3)) - 8))
|| strcmp(MMC_STRINGDATA(_OMC_LIT82)(((struct mmc_string*)((void*)((char*)(((void*)((char*)(&
(_OMC_LIT_STRUCT82).header) + 3))) - 3)))->data)
, MMC_STRINGDATA(tmpMeta[6])(((struct mmc_string*)((void*)((char*)(tmpMeta[6]) - 3)))->
data)
) != 0) goto tmp3_end;
5247 tmpMeta[7] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[4]), 3))(*(void**)(((void*)((void**)(((void*)((char*)(tmpMeta[4]) - 3
))) + (3)))))
;
5248 if (listEmpty(tmpMeta[7])((*(mmc_uint_t*)((void*)((char*)(tmpMeta[7]) - 3))) == (((0) <<
10) + (((0) & 255) << 2)))
) goto tmp3_end;
5249 tmpMeta[8] = MMC_CAR(tmpMeta[7])(*(void**)(((void*)((void**)(((void*)((char*)(tmpMeta[7]) - 3
))) + (1)))))
;
5250 tmpMeta[9] = MMC_CDR(tmpMeta[7])(*(void**)(((void*)((void**)(((void*)((char*)(tmpMeta[7]) - 3
))) + (2)))))
;
5251 if (!listEmpty(tmpMeta[9])((*(mmc_uint_t*)((void*)((char*)(tmpMeta[9]) - 3))) == (((0) <<
10) + (((0) & 255) << 2)))
) goto tmp3_end;
5252 tmpMeta[10] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_1), 3))(*(void**)(((void*)((void**)(((void*)((char*)(tmp4_1) - 3))) +
(3)))))
;
5253 if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[10],1,1)((*(mmc_uint_t*)((void*)((char*)(tmpMeta[10]) - 3)))==(((1 +1
) << 10) + (((1 +3) & 255) << 2)))
== 0) goto tmp3_end;
5254 tmpMeta[11] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_1), 4))(*(void**)(((void*)((void**)(((void*)((char*)(tmp4_1) - 3))) +
(4)))))
;
5255 if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[11],13,3)((*(mmc_uint_t*)((void*)((char*)(tmpMeta[11]) - 3)))==(((3 +1
) << 10) + (((13 +3) & 255) << 2)))
== 0) goto tmp3_end;
5256 tmpMeta[12] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[11]), 2))(*(void**)(((void*)((void**)(((void*)((char*)(tmpMeta[11]) - 3
))) + (2)))))
;
5257 if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[12],1,1)((*(mmc_uint_t*)((void*)((char*)(tmpMeta[12]) - 3)))==(((1 +1
) << 10) + (((1 +3) & 255) << 2)))
== 0) goto tmp3_end;
5258 tmpMeta[13] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[12]), 2))(*(void