Bug Summary

File:OMCompiler/Compiler/boot/build/NFFunctionDerivative.c
Warning:line 990, column 3
Value stored to '_order' 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/NFFunctionDerivative.c" OMC_BASE_FILE
3#else
4 #define OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/NFFunctionDerivative.c" "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/NFFunctionDerivative.c"
5#endif
6#include "omc_simulation_settings.h"
7#include "NFFunctionDerivative.h"
8static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT0,1,5)struct { mmc_uint_t header; const void *data[1]; } _OMC_LIT_STRUCT0
= { (((1) << 10) + (((5) & 255) << 2)),
{&ErrorTypes_MessageType_TRANSLATION__desc,}};
9#define _OMC_LIT0((void*)((char*)(&(_OMC_LIT_STRUCT0).header) + 3)) MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT0)((void*)((char*)(&(_OMC_LIT_STRUCT0).header) + 3))
10static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1,1,4)struct { mmc_uint_t header; const void *data[1]; } _OMC_LIT_STRUCT1
= { (((1) << 10) + (((4) & 255) << 2)),
{&ErrorTypes_Severity_ERROR__desc,}};
11#define _OMC_LIT1((void*)((char*)(&(_OMC_LIT_STRUCT1).header) + 3)) MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1)((void*)((char*)(&(_OMC_LIT_STRUCT1).header) + 3))
12#define _OMC_LIT2_data"‘%s‘ is not an input of function ‘%s‘." "‘%s‘ is not an input of function ‘%s‘."
13static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2,46,_OMC_LIT2_data)struct { mmc_uint_t header; const char data[(46)+1]; } _OMC_LIT_STRUCT2
= { ((((mmc_uint_t)46)<<(3))+((1<<(3+3))+5)), "‘%s‘ is not an input of function ‘%s‘."
}
;
14#define _OMC_LIT2((void*)((char*)(&(_OMC_LIT_STRUCT2).header) + 3)) MMC_REFSTRINGLIT(_OMC_LIT_STRUCT2)((void*)((char*)(&(_OMC_LIT_STRUCT2).header) + 3))
15static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT3,2,3)struct { mmc_uint_t header; const void *data[2]; } _OMC_LIT_STRUCT3
= { (((2) << 10) + (((3) & 255) << 2)),
{&Gettext_TranslatableContent_gettext__desc,_OMC_LIT2((void*)((char*)(&(_OMC_LIT_STRUCT2).header) + 3))}};
16#define _OMC_LIT3((void*)((char*)(&(_OMC_LIT_STRUCT3).header) + 3)) MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT3)((void*)((char*)(&(_OMC_LIT_STRUCT3).header) + 3))
17static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT4,5,3)struct { mmc_uint_t header; const void *data[5]; } _OMC_LIT_STRUCT4
= { (((5) << 10) + (((3) & 255) << 2)),
{&ErrorTypes_Message_MESSAGE__desc,MMC_IMMEDIATE(MMC_TAGFIXNUM(339))((void*)(((((mmc_uint_t) (339)) << 1)+0))),_OMC_LIT0((void*)((char*)(&(_OMC_LIT_STRUCT0).header) + 3)),_OMC_LIT1((void*)((char*)(&(_OMC_LIT_STRUCT1).header) + 3)),_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))
19#define _OMC_LIT5_data"." "."
20static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT5,1,_OMC_LIT5_data)struct { mmc_uint_t header; const char data[(1)+1]; } _OMC_LIT_STRUCT5
= { ((((mmc_uint_t)1)<<(3))+((1<<(3+3))+5)), "."
}
;
21#define _OMC_LIT5((void*)((char*)(&(_OMC_LIT_STRUCT5).header) + 3)) MMC_REFSTRINGLIT(_OMC_LIT_STRUCT5)((void*)((char*)(&(_OMC_LIT_STRUCT5).header) + 3))
22static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT6,1,13)struct { mmc_uint_t header; const void *data[1]; } _OMC_LIT_STRUCT6
= { (((1) << 10) + (((13) & 255) << 2)),
{&NFType_UNKNOWN__desc,}};
23#define _OMC_LIT6((void*)((char*)(&(_OMC_LIT_STRUCT6).header) + 3)) MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT6)((void*)((char*)(&(_OMC_LIT_STRUCT6).header) + 3))
24static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT7,2,31)struct { mmc_uint_t header; const void *data[2]; } _OMC_LIT_STRUCT7
= { (((2) << 10) + (((31) & 255) << 2)),
{&NFExpression_EMPTY__desc,_OMC_LIT6((void*)((char*)(&(_OMC_LIT_STRUCT6).header) + 3))}};
25#define _OMC_LIT7((void*)((char*)(&(_OMC_LIT_STRUCT7).header) + 3)) MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT7)((void*)((char*)(&(_OMC_LIT_STRUCT7).header) + 3))
26#define _OMC_LIT8_data"Duplicate modification of element %s on %s." "Duplicate modification of element %s on %s."
27static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT8,43,_OMC_LIT8_data)struct { mmc_uint_t header; const char data[(43)+1]; } _OMC_LIT_STRUCT8
= { ((((mmc_uint_t)43)<<(3))+((1<<(3+3))+5)), "Duplicate modification of element %s on %s."
}
;
28#define _OMC_LIT8((void*)((char*)(&(_OMC_LIT_STRUCT8).header) + 3)) MMC_REFSTRINGLIT(_OMC_LIT_STRUCT8)((void*)((char*)(&(_OMC_LIT_STRUCT8).header) + 3))
29static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT9,2,3)struct { mmc_uint_t header; const void *data[2]; } _OMC_LIT_STRUCT9
= { (((2) << 10) + (((3) & 255) << 2)),
{&Gettext_TranslatableContent_gettext__desc,_OMC_LIT8((void*)((char*)(&(_OMC_LIT_STRUCT8).header) + 3))}};
30#define _OMC_LIT9((void*)((char*)(&(_OMC_LIT_STRUCT9).header) + 3)) MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT9)((void*)((char*)(&(_OMC_LIT_STRUCT9).header) + 3))
31static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT10,5,3)struct { mmc_uint_t header; const void *data[5]; } _OMC_LIT_STRUCT10
= { (((5) << 10) + (((3) & 255) << 2)),
{&ErrorTypes_Message_MESSAGE__desc,MMC_IMMEDIATE(MMC_TAGFIXNUM(103))((void*)(((((mmc_uint_t) (103)) << 1)+0))),_OMC_LIT0((void*)((char*)(&(_OMC_LIT_STRUCT0).header) + 3)),_OMC_LIT1((void*)((char*)(&(_OMC_LIT_STRUCT1).header) + 3)),_OMC_LIT9((void*)((char*)(&(_OMC_LIT_STRUCT9).header) + 3))}};
32#define _OMC_LIT10((void*)((char*)(&(_OMC_LIT_STRUCT10).header) + 3)) MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT10)((void*)((char*)(&(_OMC_LIT_STRUCT10).header) + 3))
33#define _OMC_LIT11_data"derivative" "derivative"
34static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT11,10,_OMC_LIT11_data)struct { mmc_uint_t header; const char data[(10)+1]; } _OMC_LIT_STRUCT11
= { ((((mmc_uint_t)10)<<(3))+((1<<(3+3))+5)), "derivative"
}
;
35#define _OMC_LIT11((void*)((char*)(&(_OMC_LIT_STRUCT11).header) + 3)) MMC_REFSTRINGLIT(_OMC_LIT_STRUCT11)((void*)((char*)(&(_OMC_LIT_STRUCT11).header) + 3))
36static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT12,1,5)struct { mmc_uint_t header; const void *data[1]; } _OMC_LIT_STRUCT12
= { (((1) << 10) + (((5) & 255) << 2)),
{&ErrorTypes_Severity_WARNING__desc,}};
37#define _OMC_LIT12((void*)((char*)(&(_OMC_LIT_STRUCT12).header) + 3)) MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT12)((void*)((char*)(&(_OMC_LIT_STRUCT12).header) + 3))
38#define _OMC_LIT13_data"‘%s‘ is not a valid function derivative attribute." "‘%s‘ is not a valid function derivative attribute."
39static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT13,54,_OMC_LIT13_data)struct { mmc_uint_t header; const char data[(54)+1]; } _OMC_LIT_STRUCT13
= { ((((mmc_uint_t)54)<<(3))+((1<<(3+3))+5)), "‘%s‘ is not a valid function derivative attribute."
}
;
40#define _OMC_LIT13((void*)((char*)(&(_OMC_LIT_STRUCT13).header) + 3)) MMC_REFSTRINGLIT(_OMC_LIT_STRUCT13)((void*)((char*)(&(_OMC_LIT_STRUCT13).header) + 3))
41static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT14,2,3)struct { mmc_uint_t header; const void *data[2]; } _OMC_LIT_STRUCT14
= { (((2) << 10) + (((3) & 255) << 2)),
{&Gettext_TranslatableContent_gettext__desc,_OMC_LIT13((void*)((char*)(&(_OMC_LIT_STRUCT13).header) + 3))}};
42#define _OMC_LIT14((void*)((char*)(&(_OMC_LIT_STRUCT14).header) + 3)) MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT14)((void*)((char*)(&(_OMC_LIT_STRUCT14).header) + 3))
43static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT15,5,3)struct { mmc_uint_t header; const void *data[5]; } _OMC_LIT_STRUCT15
= { (((5) << 10) + (((3) & 255) << 2)),
{&ErrorTypes_Message_MESSAGE__desc,MMC_IMMEDIATE(MMC_TAGFIXNUM(338))((void*)(((((mmc_uint_t) (338)) << 1)+0))),_OMC_LIT0((void*)((char*)(&(_OMC_LIT_STRUCT0).header) + 3)),_OMC_LIT12((void*)((char*)(&(_OMC_LIT_STRUCT12).header) + 3)),_OMC_LIT14((void*)((char*)(&(_OMC_LIT_STRUCT14).header) + 3))}};
44#define _OMC_LIT15((void*)((char*)(&(_OMC_LIT_STRUCT15).header) + 3)) MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT15)((void*)((char*)(&(_OMC_LIT_STRUCT15).header) + 3))
45#define _OMC_LIT16_data"" ""
46static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT16,0,_OMC_LIT16_data)struct { mmc_uint_t header; const char data[(0)+1]; } _OMC_LIT_STRUCT16
= { ((((mmc_uint_t)0)<<(3))+((1<<(3+3))+5)), "" }
;
47#define _OMC_LIT16((void*)((char*)(&(_OMC_LIT_STRUCT16).header) + 3)) MMC_REFSTRINGLIT(_OMC_LIT_STRUCT16)((void*)((char*)(&(_OMC_LIT_STRUCT16).header) + 3))
48#define _OMC_LIT17_data" = " " = "
49static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT17,3,_OMC_LIT17_data)struct { mmc_uint_t header; const char data[(3)+1]; } _OMC_LIT_STRUCT17
= { ((((mmc_uint_t)3)<<(3))+((1<<(3+3))+5)), " = "
}
;
50#define _OMC_LIT17((void*)((char*)(&(_OMC_LIT_STRUCT17).header) + 3)) MMC_REFSTRINGLIT(_OMC_LIT_STRUCT17)((void*)((char*)(&(_OMC_LIT_STRUCT17).header) + 3))
51static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT18,10,3)struct { mmc_uint_t header; const void *data[10]; } _OMC_LIT_STRUCT18
= { (((10) << 10) + (((3) & 255) << 2)),
{&SCodeDump_SCodeDumpOptions_OPTIONS__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))),MMC_IMMEDIATE(MMC_TAGFIXNUM(1))((void*)(((((mmc_uint_t) (1)) << 1)+0))),MMC_IMMEDIATE(MMC_TAGFIXNUM(1))((void*)(((((mmc_uint_t) (1)) << 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)))}};
52#define _OMC_LIT18((void*)((char*)(&(_OMC_LIT_STRUCT18).header) + 3)) MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT18)((void*)((char*)(&(_OMC_LIT_STRUCT18).header) + 3))
53#define _OMC_LIT19_data"order" "order"
54static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT19,5,_OMC_LIT19_data)struct { mmc_uint_t header; const char data[(5)+1]; } _OMC_LIT_STRUCT19
= { ((((mmc_uint_t)5)<<(3))+((1<<(3+3))+5)), "order"
}
;
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"noDerivative" "noDerivative"
57static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT20,12,_OMC_LIT20_data)struct { mmc_uint_t header; const char data[(12)+1]; } _OMC_LIT_STRUCT20
= { ((((mmc_uint_t)12)<<(3))+((1<<(3+3))+5)), "noDerivative"
}
;
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"zeroDerivative" "zeroDerivative"
60static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT21,14,_OMC_LIT21_data)struct { mmc_uint_t header; const char data[(14)+1]; } _OMC_LIT_STRUCT21
= { ((((mmc_uint_t)14)<<(3))+((1<<(3+3))+5)), "zeroDerivative"
}
;
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,2,3)struct { mmc_uint_t header; const void *data[2]; } _OMC_LIT_STRUCT22
= { (((2) << 10) + (((3) & 255) << 2)),
{&NFExpression_INTEGER__desc,MMC_IMMEDIATE(MMC_TAGFIXNUM(1))((void*)(((((mmc_uint_t) (1)) << 1)+0)))}};
63#define _OMC_LIT22((void*)((char*)(&(_OMC_LIT_STRUCT22).header) + 3)) MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT22)((void*)((char*)(&(_OMC_LIT_STRUCT22).header) + 3))
64#define _OMC_LIT23_data"Derivative annotation for function ‘%s‘ does not specify a derivative function." "Derivative annotation for function ‘%s‘ does not specify a derivative function."
65static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT23,83,_OMC_LIT23_data)struct { mmc_uint_t header; const char data[(83)+1]; } _OMC_LIT_STRUCT23
= { ((((mmc_uint_t)83)<<(3))+((1<<(3+3))+5)), "Derivative annotation for function ‘%s‘ does not specify a derivative function."
}
;
66#define _OMC_LIT23((void*)((char*)(&(_OMC_LIT_STRUCT23).header) + 3)) MMC_REFSTRINGLIT(_OMC_LIT_STRUCT23)((void*)((char*)(&(_OMC_LIT_STRUCT23).header) + 3))
67static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT24,2,3)struct { mmc_uint_t header; const void *data[2]; } _OMC_LIT_STRUCT24
= { (((2) << 10) + (((3) & 255) << 2)),
{&Gettext_TranslatableContent_gettext__desc,_OMC_LIT23((void*)((char*)(&(_OMC_LIT_STRUCT23).header) + 3))}};
68#define _OMC_LIT24((void*)((char*)(&(_OMC_LIT_STRUCT24).header) + 3)) MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT24)((void*)((char*)(&(_OMC_LIT_STRUCT24).header) + 3))
69static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT25,5,3)struct { mmc_uint_t header; const void *data[5]; } _OMC_LIT_STRUCT25
= { (((5) << 10) + (((3) & 255) << 2)),
{&ErrorTypes_Message_MESSAGE__desc,MMC_IMMEDIATE(MMC_TAGFIXNUM(337))((void*)(((((mmc_uint_t) (337)) << 1)+0))),_OMC_LIT0((void*)((char*)(&(_OMC_LIT_STRUCT0).header) + 3)),_OMC_LIT12((void*)((char*)(&(_OMC_LIT_STRUCT12).header) + 3)),_OMC_LIT24((void*)((char*)(&(_OMC_LIT_STRUCT24).header) + 3))}};
70#define _OMC_LIT25((void*)((char*)(&(_OMC_LIT_STRUCT25).header) + 3)) MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT25)((void*)((char*)(&(_OMC_LIT_STRUCT25).header) + 3))
71#define _OMC_LIT26_data"NFFunctionDerivative.instDerivativeMod got invalid modifier" "NFFunctionDerivative.instDerivativeMod got invalid modifier"
72static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT26,59,_OMC_LIT26_data)struct { mmc_uint_t header; const char data[(59)+1]; } _OMC_LIT_STRUCT26
= { ((((mmc_uint_t)59)<<(3))+((1<<(3+3))+5)), "NFFunctionDerivative.instDerivativeMod got invalid modifier"
}
;
73#define _OMC_LIT26((void*)((char*)(&(_OMC_LIT_STRUCT26).header) + 3)) MMC_REFSTRINGLIT(_OMC_LIT_STRUCT26)((void*)((char*)(&(_OMC_LIT_STRUCT26).header) + 3))
74#define _OMC_LIT27_data"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFFunctionDerivative.mo" "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFFunctionDerivative.mo"
75static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT27,108,_OMC_LIT27_data)struct { mmc_uint_t header; const char data[(108)+1]; } _OMC_LIT_STRUCT27
= { ((((mmc_uint_t)108)<<(3))+((1<<(3+3))+5)), "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFFunctionDerivative.mo"
}
;
76#define _OMC_LIT27((void*)((char*)(&(_OMC_LIT_STRUCT27).header) + 3)) MMC_REFSTRINGLIT(_OMC_LIT_STRUCT27)((void*)((char*)(&(_OMC_LIT_STRUCT27).header) + 3))
77static const MMC_DEFREALLIT(_OMC_LIT_STRUCT28_6,1588090879.0)struct mmc_real_lit _OMC_LIT_STRUCT28_6 = {0,(((8/8) <<
10) + 9),1588090879.0}
;
78#define _OMC_LIT28_6((void*)((char*)(&(_OMC_LIT_STRUCT28_6).header) + 3)) MMC_REFREALLIT(_OMC_LIT_STRUCT28_6)((void*)((char*)(&(_OMC_LIT_STRUCT28_6).header) + 3))
79static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT28,8,3)struct { mmc_uint_t header; const void *data[8]; } _OMC_LIT_STRUCT28
= { (((8) << 10) + (((3) & 255) << 2)),
{&SourceInfo_SOURCEINFO__desc,_OMC_LIT27((void*)((char*)(&(_OMC_LIT_STRUCT27).header) + 3)),MMC_IMMEDIATE(MMC_TAGFIXNUM(0))((void*)(((((mmc_uint_t) (0)) << 1)+0))),MMC_IMMEDIATE(MMC_TAGFIXNUM(208))((void*)(((((mmc_uint_t) (208)) << 1)+0))),MMC_IMMEDIATE(MMC_TAGFIXNUM(11))((void*)(((((mmc_uint_t) (11)) << 1)+0))),MMC_IMMEDIATE(MMC_TAGFIXNUM(208))((void*)(((((mmc_uint_t) (208)) << 1)+0))),MMC_IMMEDIATE(MMC_TAGFIXNUM(92))((void*)(((((mmc_uint_t) (92)) << 1)+0))),_OMC_LIT28_6((void*)((char*)(&(_OMC_LIT_STRUCT28_6).header) + 3))}};
80#define _OMC_LIT28((void*)((char*)(&(_OMC_LIT_STRUCT28).header) + 3)) MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT28)((void*)((char*)(&(_OMC_LIT_STRUCT28).header) + 3))
81static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT29,1,3)struct { mmc_uint_t header; const void *data[1]; } _OMC_LIT_STRUCT29
= { (((1) << 10) + (((3) & 255) << 2)),
{&DAE_derivativeCond_ZERO__DERIVATIVE__desc,}};
82#define _OMC_LIT29((void*)((char*)(&(_OMC_LIT_STRUCT29).header) + 3)) MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT29)((void*)((char*)(&(_OMC_LIT_STRUCT29).header) + 3))
83static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT30,2,3)struct { mmc_uint_t header; const void *data[2]; } _OMC_LIT_STRUCT30
= { (((2) << 10) + (((3) & 255) << 2)),
{&DAE_Exp_ICONST__desc,MMC_IMMEDIATE(MMC_TAGFIXNUM(99))((void*)(((((mmc_uint_t) (99)) << 1)+0)))}};
84#define _OMC_LIT30((void*)((char*)(&(_OMC_LIT_STRUCT30).header) + 3)) MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT30)((void*)((char*)(&(_OMC_LIT_STRUCT30).header) + 3))
85static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT31,2,4)struct { mmc_uint_t header; const void *data[2]; } _OMC_LIT_STRUCT31
= { (((2) << 10) + (((4) & 255) << 2)),
{&DAE_derivativeCond_NO__DERIVATIVE__desc,_OMC_LIT30((void*)((char*)(&(_OMC_LIT_STRUCT30).header) + 3))}};
86#define _OMC_LIT31((void*)((char*)(&(_OMC_LIT_STRUCT31).header) + 3)) MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT31)((void*)((char*)(&(_OMC_LIT_STRUCT31).header) + 3))
87static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT32,1,3)struct { mmc_uint_t header; const void *data[1]; } _OMC_LIT_STRUCT32
= { (((1) << 10) + (((3) & 255) << 2)),
{&NFType_INTEGER__desc,}};
88#define _OMC_LIT32((void*)((char*)(&(_OMC_LIT_STRUCT32).header) + 3)) MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT32)((void*)((char*)(&(_OMC_LIT_STRUCT32).header) + 3))
89#define _OMC_LIT33_data"Type mismatch in binding %s = %s, expected subtype of %s, got type %s." "Type mismatch in binding %s = %s, expected subtype of %s, got type %s."
90static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT33,70,_OMC_LIT33_data)struct { mmc_uint_t header; const char data[(70)+1]; } _OMC_LIT_STRUCT33
= { ((((mmc_uint_t)70)<<(3))+((1<<(3+3))+5)), "Type mismatch in binding %s = %s, expected subtype of %s, got type %s."
}
;
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)),
{&ErrorTypes_Message_MESSAGE__desc,MMC_IMMEDIATE(MMC_TAGFIXNUM(135))((void*)(((((mmc_uint_t) (135)) << 1)+0))),_OMC_LIT0((void*)((char*)(&(_OMC_LIT_STRUCT0).header) + 3)),_OMC_LIT1((void*)((char*)(&(_OMC_LIT_STRUCT1).header) + 3)),_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"Integer" "Integer"
97static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT36,7,_OMC_LIT36_data)struct { mmc_uint_t header; const char data[(7)+1]; } _OMC_LIT_STRUCT36
= { ((((mmc_uint_t)7)<<(3))+((1<<(3+3))+5)), "Integer"
}
;
98#define _OMC_LIT36((void*)((char*)(&(_OMC_LIT_STRUCT36).header) + 3)) MMC_REFSTRINGLIT(_OMC_LIT_STRUCT36)((void*)((char*)(&(_OMC_LIT_STRUCT36).header) + 3))
99#define _OMC_LIT37_data"Component %s of variability %s has binding %s of higher variability %s." "Component %s of variability %s has binding %s of higher variability %s."
100static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT37,71,_OMC_LIT37_data)struct { mmc_uint_t header; const char data[(71)+1]; } _OMC_LIT_STRUCT37
= { ((((mmc_uint_t)71)<<(3))+((1<<(3+3))+5)), "Component %s of variability %s has binding %s of higher variability %s."
}
;
101#define _OMC_LIT37((void*)((char*)(&(_OMC_LIT_STRUCT37).header) + 3)) MMC_REFSTRINGLIT(_OMC_LIT_STRUCT37)((void*)((char*)(&(_OMC_LIT_STRUCT37).header) + 3))
102static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT38,2,3)struct { mmc_uint_t header; const void *data[2]; } _OMC_LIT_STRUCT38
= { (((2) << 10) + (((3) & 255) << 2)),
{&Gettext_TranslatableContent_gettext__desc,_OMC_LIT37((void*)((char*)(&(_OMC_LIT_STRUCT37).header) + 3))}};
103#define _OMC_LIT38((void*)((char*)(&(_OMC_LIT_STRUCT38).header) + 3)) MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT38)((void*)((char*)(&(_OMC_LIT_STRUCT38).header) + 3))
104static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT39,5,3)struct { mmc_uint_t header; const void *data[5]; } _OMC_LIT_STRUCT39
= { (((5) << 10) + (((3) & 255) << 2)),
{&ErrorTypes_Message_MESSAGE__desc,MMC_IMMEDIATE(MMC_TAGFIXNUM(130))((void*)(((((mmc_uint_t) (130)) << 1)+0))),_OMC_LIT0((void*)((char*)(&(_OMC_LIT_STRUCT0).header) + 3)),_OMC_LIT1((void*)((char*)(&(_OMC_LIT_STRUCT1).header) + 3)),_OMC_LIT38((void*)((char*)(&(_OMC_LIT_STRUCT38).header) + 3))}};
105#define _OMC_LIT39((void*)((char*)(&(_OMC_LIT_STRUCT39).header) + 3)) MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT39)((void*)((char*)(&(_OMC_LIT_STRUCT39).header) + 3))
106#include "util/modelica.h"
107
108#include "NFFunctionDerivative_includes.h"
109
110
111/* default, do not make protected functions static */
112#if !defined(PROTECTED_FUNCTION_STATIC)
113#define PROTECTED_FUNCTION_STATIC
114#endif
115PROTECTED_FUNCTION_STATIC modelica_metatype omc_NFFunctionDerivative_addLowerOrderDerivative2(threadData_t *threadData, modelica_metatype _D_24in_fn, modelica_metatype _lowerDerNode);
116static const MMC_DEFSTRUCTLIT(boxvar_lit_NFFunctionDerivative_addLowerOrderDerivative2,2,0)struct { mmc_uint_t header; const void *data[2]; } boxvar_lit_NFFunctionDerivative_addLowerOrderDerivative2
= { (((2) << 10) + (((0) & 255) << 2)),
{(void*) boxptr_NFFunctionDerivative_addLowerOrderDerivative2omc_NFFunctionDerivative_addLowerOrderDerivative2,0}};
117#define boxvar_NFFunctionDerivative_addLowerOrderDerivative2((void*)((char*)(&(boxvar_lit_NFFunctionDerivative_addLowerOrderDerivative2
).header) + 3))
MMC_REFSTRUCTLIT(boxvar_lit_NFFunctionDerivative_addLowerOrderDerivative2)((void*)((char*)(&(boxvar_lit_NFFunctionDerivative_addLowerOrderDerivative2
).header) + 3))
118PROTECTED_FUNCTION_STATIC void omc_NFFunctionDerivative_addLowerOrderDerivative(threadData_t *threadData, modelica_metatype _fnNode, modelica_metatype _lowerDerNode);
119static const MMC_DEFSTRUCTLIT(boxvar_lit_NFFunctionDerivative_addLowerOrderDerivative,2,0)struct { mmc_uint_t header; const void *data[2]; } boxvar_lit_NFFunctionDerivative_addLowerOrderDerivative
= { (((2) << 10) + (((0) & 255) << 2)),
{(void*) boxptr_NFFunctionDerivative_addLowerOrderDerivativeomc_NFFunctionDerivative_addLowerOrderDerivative,0}};
120#define boxvar_NFFunctionDerivative_addLowerOrderDerivative((void*)((char*)(&(boxvar_lit_NFFunctionDerivative_addLowerOrderDerivative
).header) + 3))
MMC_REFSTRUCTLIT(boxvar_lit_NFFunctionDerivative_addLowerOrderDerivative)((void*)((char*)(&(boxvar_lit_NFFunctionDerivative_addLowerOrderDerivative
).header) + 3))
121PROTECTED_FUNCTION_STATIC modelica_integer omc_NFFunctionDerivative_getInputIndex(threadData_t *threadData, modelica_string _name, modelica_metatype _fn, modelica_metatype _info);
122PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_NFFunctionDerivative_getInputIndex(threadData_t *threadData, modelica_metatype _name, modelica_metatype _fn, modelica_metatype _info);
123static const MMC_DEFSTRUCTLIT(boxvar_lit_NFFunctionDerivative_getInputIndex,2,0)struct { mmc_uint_t header; const void *data[2]; } boxvar_lit_NFFunctionDerivative_getInputIndex
= { (((2) << 10) + (((0) & 255) << 2)),
{(void*) boxptr_NFFunctionDerivative_getInputIndex,0}};
124#define boxvar_NFFunctionDerivative_getInputIndex((void*)((char*)(&(boxvar_lit_NFFunctionDerivative_getInputIndex
).header) + 3))
MMC_REFSTRUCTLIT(boxvar_lit_NFFunctionDerivative_getInputIndex)((void*)((char*)(&(boxvar_lit_NFFunctionDerivative_getInputIndex
).header) + 3))
125PROTECTED_FUNCTION_STATIC modelica_metatype omc_NFFunctionDerivative_getDerivativeAttributes(threadData_t *threadData, modelica_metatype _attrs, modelica_metatype _fn, modelica_metatype _scope, modelica_metatype _info, modelica_metatype *out_conditions);
126static const MMC_DEFSTRUCTLIT(boxvar_lit_NFFunctionDerivative_getDerivativeAttributes,2,0)struct { mmc_uint_t header; const void *data[2]; } boxvar_lit_NFFunctionDerivative_getDerivativeAttributes
= { (((2) << 10) + (((0) & 255) << 2)),
{(void*) boxptr_NFFunctionDerivative_getDerivativeAttributesomc_NFFunctionDerivative_getDerivativeAttributes,0}};
127#define boxvar_NFFunctionDerivative_getDerivativeAttributes((void*)((char*)(&(boxvar_lit_NFFunctionDerivative_getDerivativeAttributes
).header) + 3))
MMC_REFSTRUCTLIT(boxvar_lit_NFFunctionDerivative_getDerivativeAttributes)((void*)((char*)(&(boxvar_lit_NFFunctionDerivative_getDerivativeAttributes
).header) + 3))
128PROTECTED_FUNCTION_STATIC modelica_metatype omc_NFFunctionDerivative_instDerivativeMod(threadData_t *threadData, modelica_metatype _mod, modelica_metatype _fnNode, modelica_metatype _fn, modelica_metatype _scope, modelica_metatype _D_24in_fnDers);
129static const MMC_DEFSTRUCTLIT(boxvar_lit_NFFunctionDerivative_instDerivativeMod,2,0)struct { mmc_uint_t header; const void *data[2]; } boxvar_lit_NFFunctionDerivative_instDerivativeMod
= { (((2) << 10) + (((0) & 255) << 2)),
{(void*) boxptr_NFFunctionDerivative_instDerivativeModomc_NFFunctionDerivative_instDerivativeMod,0}};
130#define boxvar_NFFunctionDerivative_instDerivativeMod((void*)((char*)(&(boxvar_lit_NFFunctionDerivative_instDerivativeMod
).header) + 3))
MMC_REFSTRUCTLIT(boxvar_lit_NFFunctionDerivative_instDerivativeMod)((void*)((char*)(&(boxvar_lit_NFFunctionDerivative_instDerivativeMod
).header) + 3))
131PROTECTED_FUNCTION_STATIC modelica_metatype omc_NFFunctionDerivative_getDerivativeAnnotations(threadData_t *threadData, modelica_metatype _definition);
132static const MMC_DEFSTRUCTLIT(boxvar_lit_NFFunctionDerivative_getDerivativeAnnotations,2,0)struct { mmc_uint_t header; const void *data[2]; } boxvar_lit_NFFunctionDerivative_getDerivativeAnnotations
= { (((2) << 10) + (((0) & 255) << 2)),
{(void*) boxptr_NFFunctionDerivative_getDerivativeAnnotationsomc_NFFunctionDerivative_getDerivativeAnnotations,0}};
133#define boxvar_NFFunctionDerivative_getDerivativeAnnotations((void*)((char*)(&(boxvar_lit_NFFunctionDerivative_getDerivativeAnnotations
).header) + 3))
MMC_REFSTRUCTLIT(boxvar_lit_NFFunctionDerivative_getDerivativeAnnotations)((void*)((char*)(&(boxvar_lit_NFFunctionDerivative_getDerivativeAnnotations
).header) + 3))
134
135PROTECTED_FUNCTION_STATIC modelica_metatype omc_NFFunctionDerivative_addLowerOrderDerivative2(threadData_t *threadData, modelica_metatype _D_24in_fn, modelica_metatype _lowerDerNode)
136{
137 modelica_metatype _fn = NULL((void*)0);
138 modelica_metatype tmpMeta[6] __attribute__((unused)) = {0};
139 MMC_SO()mmc_check_stackoverflow(threadData);
140 _tailrecursive: OMC_LABEL_UNUSED__attribute__((unused))
141 _fn = _D_24in_fn;
142#line 303 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFFunctionDerivative.mo"
143 {
144#line 303 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFFunctionDerivative.mo"
145 modelica_metatype _D_24tmpVar1;
146#line 303 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFFunctionDerivative.mo"
147 modelica_metatype* tmp1;
148#line 303 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFFunctionDerivative.mo"
149 modelica_metatype _D_24tmpVar0;
150#line 303 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFFunctionDerivative.mo"
151 int tmp6;
152#line 303 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFFunctionDerivative.mo"
153 modelica_metatype _fn_der_loopVar = 0;
154#line 303 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFFunctionDerivative.mo"
155 modelica_metatype _fn_der;
156#line 303 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFFunctionDerivative.mo"
157 _fn_der_loopVar = (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_fn), 10))(*(void**)(((void*)((void**)(((void*)((char*)(_fn) - 3))) + (
10)))))
);
158#line 303 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFFunctionDerivative.mo"
159 tmpMeta[2] = MMC_REFSTRUCTLIT(mmc_nil)((void*)((char*)(&(mmc_nil).header) + 3));
160#line 303 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFFunctionDerivative.mo"
161 _D_24tmpVar1 = tmpMeta[2]; /* defaultValue */
162#line 303 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFFunctionDerivative.mo"
163 tmp1 = &_D_24tmpVar1;
164#line 303 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFFunctionDerivative.mo"
165 while(1) {
166#line 303 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFFunctionDerivative.mo"
167 tmp6 = 1;
168#line 303 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFFunctionDerivative.mo"
169 if (!listEmpty(_fn_der_loopVar)((*(mmc_uint_t*)((void*)((char*)(_fn_der_loopVar) - 3))) == (
((0) << 10) + (((0) & 255) << 2)))
) {
170#line 303 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFFunctionDerivative.mo"
171 _fn_der = MMC_CAR(_fn_der_loopVar)(*(void**)(((void*)((void**)(((void*)((char*)(_fn_der_loopVar
) - 3))) + (1)))))
;
172#line 303 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFFunctionDerivative.mo"
173 _fn_der_loopVar = MMC_CDR(_fn_der_loopVar)(*(void**)(((void*)((void**)(((void*)((char*)(_fn_der_loopVar
) - 3))) + (2)))))
;
174#line 303 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFFunctionDerivative.mo"
175 tmp6--;
176#line 303 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFFunctionDerivative.mo"
177 }
178#line 303 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFFunctionDerivative.mo"
179 if (tmp6 == 0) {
180#line 180 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/NFFunctionDerivative.c"
181 { /* match expression */
182 modelica_metatype tmp4_1;
183 tmp4_1 = _fn_der;
184 {
185 volatile mmc_switch_type tmp4;
186 int tmp5;
187 tmp4 = 0;
188 for (; tmp4 < 1; tmp4++) {
189 switch (MMC_SWITCH_CAST(tmp4)(tmp4)) {
190 case 0: {
191 if (mmc__uniontype__metarecord__typedef__equal(tmp4_1,0,5)((*(mmc_uint_t*)((void*)((char*)(tmp4_1) - 3)))==(((5 +1) <<
10) + (((0 +3) & 255) << 2)))
== 0) goto tmp3_end;
192
193 /* Pattern matching succeeded */
194#line 307 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFFunctionDerivative.mo"
195 tmpMeta[5] = mmc_mk_cons(_lowerDerNode, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_fn_der), 6))(*(void**)(((void*)((void**)(((void*)((char*)(_fn_der) - 3)))
+ (6)))))
));
196#line 307 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFFunctionDerivative.mo"
197 tmpMeta[4] = MMC_TAGPTR(mmc_alloc_words(7))((void*)((char*)(mmc_alloc_words(7)) + 3));
198#line 307 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFFunctionDerivative.mo"
199 memcpy(MMC_UNTAGPTR(tmpMeta[4])((void*)((char*)(tmpMeta[4]) - 3)), MMC_UNTAGPTR(_fn_der)((void*)((char*)(_fn_der) - 3)), 7*sizeof(modelica_metatype));
200#line 307 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFFunctionDerivative.mo"
201 ((modelica_metatype*)MMC_UNTAGPTR(tmpMeta[4])((void*)((char*)(tmpMeta[4]) - 3)))[6] = tmpMeta[5];
202#line 307 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFFunctionDerivative.mo"
203 _fn_der = tmpMeta[4];
204#line 204 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/NFFunctionDerivative.c"
205#line 308 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFFunctionDerivative.mo"
206 tmpMeta[3] = _fn_der;
207#line 207 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/NFFunctionDerivative.c"
208 goto tmp3_done;
209 }
210 }
211 goto tmp3_end;
212 tmp3_end: ;
213 }
214 goto goto_2;
215 goto_2:;
216 MMC_THROW_INTERNAL(){longjmp(*threadData->mmc_jumper,1);};
217 goto tmp3_done;
218 tmp3_done:;
219 }
220 }_D_24tmpVar0 = tmpMeta[3];
221 *tmp1 = mmc_mk_cons(_D_24tmpVar0,0);
222 tmp1 = &MMC_CDR(*tmp1)(*(void**)(((void*)((void**)(((void*)((char*)(*tmp1) - 3))) +
(2)))))
;
223 } else if (tmp6 == 1) {
224 break;
225 } else {
226 MMC_THROW_INTERNAL(){longjmp(*threadData->mmc_jumper,1);};
227 }
228 }
229 *tmp1 = mmc_mk_nil()((void*)((char*)(&(mmc_nil).header) + 3));
230 tmpMeta[1] = _D_24tmpVar1;
231 }
232 tmpMeta[0] = MMC_TAGPTR(mmc_alloc_words(13))((void*)((char*)(mmc_alloc_words(13)) + 3));
233 memcpy(MMC_UNTAGPTR(tmpMeta[0])((void*)((char*)(tmpMeta[0]) - 3)), MMC_UNTAGPTR(_fn)((void*)((char*)(_fn) - 3)), 13*sizeof(modelica_metatype));
234 ((modelica_metatype*)MMC_UNTAGPTR(tmpMeta[0])((void*)((char*)(tmpMeta[0]) - 3)))[10] = tmpMeta[1];
235 _fn = tmpMeta[0];
236 _return: OMC_LABEL_UNUSED__attribute__((unused))
237 return _fn;
238}
239
240static modelica_metatype closure0_NFFunctionDerivative_addLowerOrderDerivative2(threadData_t *thData, modelica_metatype closure, modelica_metatype $in_fn)
241{
242 modelica_metatype lowerDerNode = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(closure),1))(*(void**)(((void*)((void**)(((void*)((char*)(closure) - 3)))
+ (1)))))
;
243 return boxptr_NFFunctionDerivative_addLowerOrderDerivative2omc_NFFunctionDerivative_addLowerOrderDerivative2(thData, $in_fn, lowerDerNode);
244}
245PROTECTED_FUNCTION_STATIC void omc_NFFunctionDerivative_addLowerOrderDerivative(threadData_t *threadData, modelica_metatype _fnNode, modelica_metatype _lowerDerNode)
246{
247 modelica_metatype tmpMeta[1] __attribute__((unused)) = {0};
248 MMC_SO()mmc_check_stackoverflow(threadData);
249 _tailrecursive: OMC_LABEL_UNUSED__attribute__((unused))
250#line 296 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFFunctionDerivative.mo"
251 tmpMeta[0] = mmc_mk_box1(0, _lowerDerNode);
252#line 296 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFFunctionDerivative.mo"
253 omc_NFFunction_Function_mapCachedFuncs(threadData, _fnNode, (modelica_fnptr) mmc_mk_box2(0,closure0_NFFunctionDerivative_addLowerOrderDerivative2,tmpMeta[0]));
254#line 254 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/NFFunctionDerivative.c"
255 _return: OMC_LABEL_UNUSED__attribute__((unused))
256 return;
257}
258
259PROTECTED_FUNCTION_STATIC modelica_integer omc_NFFunctionDerivative_getInputIndex(threadData_t *threadData, modelica_string _name, modelica_metatype _fn, modelica_metatype _info)
260{
261 modelica_integer _index;
262 modelica_metatype tmpMeta[2] __attribute__((unused)) = {0};
263 MMC_SO()mmc_check_stackoverflow(threadData);
264 _tailrecursive: OMC_LABEL_UNUSED__attribute__((unused))
265 _index = ((modelica_integer) 1);
266#line 279 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFFunctionDerivative.mo"
267 {
268#line 279 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFFunctionDerivative.mo"
269 modelica_metatype _i;
270#line 279 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFFunctionDerivative.mo"
271 for (tmpMeta[0] = (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_fn), 4))(*(void**)(((void*)((void**)(((void*)((char*)(_fn) - 3))) + (
4)))))
); !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)))))
)
272#line 279 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFFunctionDerivative.mo"
273 {
274#line 279 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFFunctionDerivative.mo"
275 _i = MMC_CAR(tmpMeta[0])(*(void**)(((void*)((void**)(((void*)((char*)(tmpMeta[0]) - 3
))) + (1)))))
;
276#line 280 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFFunctionDerivative.mo"
277 if((stringEqual(omc_NFInstNode_InstNode_name(threadData, _i), _name)((((((*(mmc_uint_t*)((void*)((char*)(omc_NFInstNode_InstNode_name
(threadData, _i)) - 3)))) >> (3)) - 8)) == (((((*(mmc_uint_t
*)((void*)((char*)(_name) - 3)))) >> (3)) - 8)) &&
!mmc_stringCompare(omc_NFInstNode_InstNode_name(threadData, _i
),_name))
))
278#line 280 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFFunctionDerivative.mo"
279 {
280#line 281 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFFunctionDerivative.mo"
281 goto _return;
282#line 282 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/NFFunctionDerivative.c"
283 }
284
285#line 284 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFFunctionDerivative.mo"
286 _index = ((modelica_integer) 1) + _index;
287#line 287 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/NFFunctionDerivative.c"
288 }
289 }
290
291#line 287 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFFunctionDerivative.mo"
292 tmpMeta[0] = mmc_mk_cons(_name, mmc_mk_cons(omc_AbsynUtil_pathString(threadData, omc_NFFunction_Function_name(threadData, _fn), _OMC_LIT5((void*)((char*)(&(_OMC_LIT_STRUCT5).header) + 3)), 1, 0), MMC_REFSTRUCTLIT(mmc_nil)((void*)((char*)(&(mmc_nil).header) + 3))));
293#line 287 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFFunctionDerivative.mo"
294 omc_Error_addSourceMessage(threadData, _OMC_LIT4((void*)((char*)(&(_OMC_LIT_STRUCT4).header) + 3)), tmpMeta[0], _info);
295#line 295 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/NFFunctionDerivative.c"
296
297#line 289 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFFunctionDerivative.mo"
298 MMC_THROW_INTERNAL(){longjmp(*threadData->mmc_jumper,1);};
299#line 299 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/NFFunctionDerivative.c"
300 _return: OMC_LABEL_UNUSED__attribute__((unused))
301 return _index;
302}
303PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_NFFunctionDerivative_getInputIndex(threadData_t *threadData, modelica_metatype _name, modelica_metatype _fn, modelica_metatype _info)
304{
305 modelica_integer _index;
306 modelica_metatype out_index;
307 _index = omc_NFFunctionDerivative_getInputIndex(threadData, _name, _fn, _info);
308 out_index = mmc_mk_icon(_index);
309 return out_index;
310}
311
312PROTECTED_FUNCTION_STATIC modelica_metatype omc_NFFunctionDerivative_getDerivativeAttributes(threadData_t *threadData, modelica_metatype _attrs, modelica_metatype _fn, modelica_metatype _scope, modelica_metatype _info, modelica_metatype *out_conditions)
313{
314 modelica_metatype _order = NULL((void*)0);
315 modelica_metatype _conditions = NULL((void*)0);
316 modelica_string _id = NULL((void*)0);
317 modelica_metatype _mod = NULL((void*)0);
318 modelica_metatype _aexp = NULL((void*)0);
319 modelica_metatype _acref = NULL((void*)0);
320 modelica_integer _index;
321 modelica_metatype tmpMeta[6] __attribute__((unused)) = {0};
322 MMC_SO()mmc_check_stackoverflow(threadData);
323 _tailrecursive: OMC_LABEL_UNUSED__attribute__((unused))
324 _order = _OMC_LIT7((void*)((char*)(&(_OMC_LIT_STRUCT7).header) + 3));
325 tmpMeta[0] = MMC_REFSTRUCTLIT(mmc_nil)((void*)((char*)(&(mmc_nil).header) + 3));
326 _conditions = tmpMeta[0];
327 // _id has no default value.
328 // _mod has no default value.
329 // _aexp has no default value.
330 // _acref has no default value.
331 // _index has no default value.
332#line 229 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFFunctionDerivative.mo"
333 {
334#line 229 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFFunctionDerivative.mo"
335 modelica_metatype _attr;
336#line 229 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFFunctionDerivative.mo"
337 for (tmpMeta[1] = _attrs; !listEmpty(tmpMeta[1])((*(mmc_uint_t*)((void*)((char*)(tmpMeta[1]) - 3))) == (((0) <<
10) + (((0) & 255) << 2)))
; tmpMeta[1]=MMC_CDR(tmpMeta[1])(*(void**)(((void*)((void**)(((void*)((char*)(tmpMeta[1]) - 3
))) + (2)))))
)
338#line 229 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFFunctionDerivative.mo"
339 {
340#line 229 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFFunctionDerivative.mo"
341 _attr = MMC_CAR(tmpMeta[1])(*(void**)(((void*)((void**)(((void*)((char*)(tmpMeta[1]) - 3
))) + (1)))))
;
342#line 230 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFFunctionDerivative.mo"
343 /* Pattern-matching assignment */
344#line 230 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFFunctionDerivative.mo"
345 tmpMeta[2] = _attr;
346#line 230 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFFunctionDerivative.mo"
347 tmpMeta[3] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[2]), 2))(*(void**)(((void*)((void**)(((void*)((char*)(tmpMeta[2]) - 3
))) + (2)))))
;
348#line 230 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFFunctionDerivative.mo"
349 tmpMeta[4] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[2]), 3))(*(void**)(((void*)((void**)(((void*)((char*)(tmpMeta[2]) - 3
))) + (3)))))
;
350#line 230 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFFunctionDerivative.mo"
351 _id = tmpMeta[3];
352#line 230 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFFunctionDerivative.mo"
353 _mod = tmpMeta[4];
354#line 354 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/NFFunctionDerivative.c"
355
356#line 356 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/NFFunctionDerivative.c"
357 { /* match expression */
358 modelica_string tmp3_1;modelica_metatype tmp3_2;
359 tmp3_1 = _id;
360 tmp3_2 = _mod;
361 {
362 volatile mmc_switch_type tmp3;
363 int tmp4;
364 tmp3 = 0;
365 for (; tmp3 < 4; tmp3++) {
366 switch (MMC_SWITCH_CAST(tmp3)(tmp3)) {
367 case 0: {
368 if (5 != MMC_STRLEN(tmp3_1)(((((*(mmc_uint_t*)((void*)((char*)(tmp3_1) - 3)))) >> (
3)) - 8))
|| strcmp(MMC_STRINGDATA(_OMC_LIT19)(((struct mmc_string*)((void*)((char*)(((void*)((char*)(&
(_OMC_LIT_STRUCT19).header) + 3))) - 3)))->data)
, MMC_STRINGDATA(tmp3_1)(((struct mmc_string*)((void*)((char*)(tmp3_1) - 3)))->data
)
) != 0) goto tmp2_end;
369 if (mmc__uniontype__metarecord__typedef__equal(tmp3_2,0,5)((*(mmc_uint_t*)((void*)((char*)(tmp3_2) - 3)))==(((5 +1) <<
10) + (((0 +3) & 255) << 2)))
== 0) goto tmp2_end;
370 tmpMeta[2] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_2), 5))(*(void**)(((void*)((void**)(((void*)((char*)(tmp3_2) - 3))) +
(5)))))
;
371 if (optionNone(tmpMeta[2])(0==((((((*(mmc_uint_t*)((void*)((char*)(tmpMeta[2]) - 3)))) &
(7)) == 5)) ? ((((*(mmc_uint_t*)((void*)((char*)(tmpMeta[2])
- 3)))) >> (3+3))) : (((*(mmc_uint_t*)((void*)((char*)
(tmpMeta[2]) - 3)))) >> 10)) ? 1 : 0)
) goto tmp2_end;
372 tmpMeta[3] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[2]), 1))(*(void**)(((void*)((void**)(((void*)((char*)(tmpMeta[2]) - 3
))) + (1)))))
;
373
374 _aexp = tmpMeta[3];
375 /* Pattern matching succeeded */
376#line 235 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFFunctionDerivative.mo"
377 if((!omc_NFExpression_isEmpty(threadData, _order)))
378#line 235 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFFunctionDerivative.mo"
379 {
380#line 236 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFFunctionDerivative.mo"
381 tmpMeta[2] = mmc_mk_cons(_id, mmc_mk_cons(_OMC_LIT11((void*)((char*)(&(_OMC_LIT_STRUCT11).header) + 3)), MMC_REFSTRUCTLIT(mmc_nil)((void*)((char*)(&(mmc_nil).header) + 3))));
382#line 236 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFFunctionDerivative.mo"
383 omc_Error_addSourceMessage(threadData, _OMC_LIT10((void*)((char*)(&(_OMC_LIT_STRUCT10).header) + 3)), tmpMeta[2], _info);
384#line 384 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/NFFunctionDerivative.c"
385 }
386
387#line 240 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFFunctionDerivative.mo"
388 _order = omc_NFInst_instExp(threadData, _aexp, _scope, _info);
389#line 389 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/NFFunctionDerivative.c"
390#line 390 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/NFFunctionDerivative.c"
391 goto tmp2_done;
392 }
393 case 1: {
394 if (12 != MMC_STRLEN(tmp3_1)(((((*(mmc_uint_t*)((void*)((char*)(tmp3_1) - 3)))) >> (
3)) - 8))
|| strcmp(MMC_STRINGDATA(_OMC_LIT20)(((struct mmc_string*)((void*)((char*)(((void*)((char*)(&
(_OMC_LIT_STRUCT20).header) + 3))) - 3)))->data)
, MMC_STRINGDATA(tmp3_1)(((struct mmc_string*)((void*)((char*)(tmp3_1) - 3)))->data
)
) != 0) goto tmp2_end;
395 if (mmc__uniontype__metarecord__typedef__equal(tmp3_2,0,5)((*(mmc_uint_t*)((void*)((char*)(tmp3_2) - 3)))==(((5 +1) <<
10) + (((0 +3) & 255) << 2)))
== 0) goto tmp2_end;
396 tmpMeta[2] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_2), 5))(*(void**)(((void*)((void**)(((void*)((char*)(tmp3_2) - 3))) +
(5)))))
;
397 if (optionNone(tmpMeta[2])(0==((((((*(mmc_uint_t*)((void*)((char*)(tmpMeta[2]) - 3)))) &
(7)) == 5)) ? ((((*(mmc_uint_t*)((void*)((char*)(tmpMeta[2])
- 3)))) >> (3+3))) : (((*(mmc_uint_t*)((void*)((char*)
(tmpMeta[2]) - 3)))) >> 10)) ? 1 : 0)
) goto tmp2_end;
398 tmpMeta[3] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[2]), 1))(*(void**)(((void*)((void**)(((void*)((char*)(tmpMeta[2]) - 3
))) + (1)))))
;
399 if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[3],2,1)((*(mmc_uint_t*)((void*)((char*)(tmpMeta[3]) - 3)))==(((1 +1)
<< 10) + (((2 +3) & 255) << 2)))
== 0) goto tmp2_end;
400 tmpMeta[4] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[3]), 2))(*(void**)(((void*)((void**)(((void*)((char*)(tmpMeta[3]) - 3
))) + (2)))))
;
401 if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[4],2,2)((*(mmc_uint_t*)((void*)((char*)(tmpMeta[4]) - 3)))==(((2 +1)
<< 10) + (((2 +3) & 255) << 2)))
== 0) goto tmp2_end;
402 tmpMeta[5] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[4]), 2))(*(void**)(((void*)((void**)(((void*)((char*)(tmpMeta[4]) - 3
))) + (2)))))
;
403
404 _id = tmpMeta[5];
405 /* Pattern matching succeeded */
406#line 246 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFFunctionDerivative.mo"
407 _index = omc_NFFunctionDerivative_getInputIndex(threadData, _id, _fn, _info);
408#line 408 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/NFFunctionDerivative.c"
409
410#line 247 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFFunctionDerivative.mo"
411 tmpMeta[3] = mmc_mk_box2(0, mmc_mk_integermmc_mk_icon(_index), mmc_mk_integermmc_mk_icon(2));
412#line 247 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFFunctionDerivative.mo"
413 tmpMeta[2] = mmc_mk_cons(tmpMeta[3], _conditions);
414#line 247 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFFunctionDerivative.mo"
415 _conditions = tmpMeta[2];
416#line 416 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/NFFunctionDerivative.c"
417#line 417 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/NFFunctionDerivative.c"
418 goto tmp2_done;
419 }
420 case 2: {
421 if (14 != MMC_STRLEN(tmp3_1)(((((*(mmc_uint_t*)((void*)((char*)(tmp3_1) - 3)))) >> (
3)) - 8))
|| strcmp(MMC_STRINGDATA(_OMC_LIT21)(((struct mmc_string*)((void*)((char*)(((void*)((char*)(&
(_OMC_LIT_STRUCT21).header) + 3))) - 3)))->data)
, MMC_STRINGDATA(tmp3_1)(((struct mmc_string*)((void*)((char*)(tmp3_1) - 3)))->data
)
) != 0) goto tmp2_end;
422 if (mmc__uniontype__metarecord__typedef__equal(tmp3_2,0,5)((*(mmc_uint_t*)((void*)((char*)(tmp3_2) - 3)))==(((5 +1) <<
10) + (((0 +3) & 255) << 2)))
== 0) goto tmp2_end;
423 tmpMeta[2] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_2), 5))(*(void**)(((void*)((void**)(((void*)((char*)(tmp3_2) - 3))) +
(5)))))
;
424 if (optionNone(tmpMeta[2])(0==((((((*(mmc_uint_t*)((void*)((char*)(tmpMeta[2]) - 3)))) &
(7)) == 5)) ? ((((*(mmc_uint_t*)((void*)((char*)(tmpMeta[2])
- 3)))) >> (3+3))) : (((*(mmc_uint_t*)((void*)((char*)
(tmpMeta[2]) - 3)))) >> 10)) ? 1 : 0)
) goto tmp2_end;
425 tmpMeta[3] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[2]), 1))(*(void**)(((void*)((void**)(((void*)((char*)(tmpMeta[2]) - 3
))) + (1)))))
;
426 if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[3],2,1)((*(mmc_uint_t*)((void*)((char*)(tmpMeta[3]) - 3)))==(((1 +1)
<< 10) + (((2 +3) & 255) << 2)))
== 0) goto tmp2_end;
427 tmpMeta[4] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[3]), 2))(*(void**)(((void*)((void**)(((void*)((char*)(tmpMeta[3]) - 3
))) + (2)))))
;
428 if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[4],2,2)((*(mmc_uint_t*)((void*)((char*)(tmpMeta[4]) - 3)))==(((2 +1)
<< 10) + (((2 +3) & 255) << 2)))
== 0) goto tmp2_end;
429 tmpMeta[5] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[4]), 2))(*(void**)(((void*)((void**)(((void*)((char*)(tmpMeta[4]) - 3
))) + (2)))))
;
430
431 _id = tmpMeta[5];
432 /* Pattern matching succeeded */
433#line 253 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFFunctionDerivative.mo"
434 _index = omc_NFFunctionDerivative_getInputIndex(threadData, _id, _fn, _info);
435#line 435 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/NFFunctionDerivative.c"
436
437#line 254 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFFunctionDerivative.mo"
438 tmpMeta[3] = mmc_mk_box2(0, mmc_mk_integermmc_mk_icon(_index), mmc_mk_integermmc_mk_icon(1));
439#line 254 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFFunctionDerivative.mo"
440 tmpMeta[2] = mmc_mk_cons(tmpMeta[3], _conditions);
441#line 254 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFFunctionDerivative.mo"
442 _conditions = tmpMeta[2];
443#line 443 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/NFFunctionDerivative.c"
444#line 444 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/NFFunctionDerivative.c"
445 goto tmp2_done;
446 }
447 case 3: {
448 modelica_boolean tmp5;
449 modelica_string tmp6;
450
451 /* Pattern matching succeeded */
452#line 260 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFFunctionDerivative.mo"
453 tmp5 = (modelica_boolean)omc_SCodeUtil_isEmptyMod(threadData, _mod);
454#line 260 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFFunctionDerivative.mo"
455 if(tmp5)
456#line 260 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFFunctionDerivative.mo"
457 {
458#line 260 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFFunctionDerivative.mo"
459 tmp6 = _OMC_LIT16((void*)((char*)(&(_OMC_LIT_STRUCT16).header) + 3));
460#line 260 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFFunctionDerivative.mo"
461 }
462#line 260 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFFunctionDerivative.mo"
463 else
464#line 260 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFFunctionDerivative.mo"
465 {
466#line 260 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFFunctionDerivative.mo"
467 tmpMeta[3] = stringAppend(_OMC_LIT17((void*)((char*)(&(_OMC_LIT_STRUCT17).header) + 3)),omc_SCodeDump_printModStr(threadData, _mod, _OMC_LIT18((void*)((char*)(&(_OMC_LIT_STRUCT18).header) + 3))));
468#line 260 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFFunctionDerivative.mo"
469 tmp6 = tmpMeta[3];
470#line 260 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFFunctionDerivative.mo"
471 }
472#line 260 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFFunctionDerivative.mo"
473 tmpMeta[4] = stringAppend(_id,tmp6);
474#line 260 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFFunctionDerivative.mo"
475 tmpMeta[2] = mmc_mk_cons(tmpMeta[4], MMC_REFSTRUCTLIT(mmc_nil)((void*)((char*)(&(mmc_nil).header) + 3)));
476#line 260 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFFunctionDerivative.mo"
477 omc_Error_addStrictMessage(threadData, _OMC_LIT15((void*)((char*)(&(_OMC_LIT_STRUCT15).header) + 3)), tmpMeta[2], _info);
478#line 478 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/NFFunctionDerivative.c"
479#line 479 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/NFFunctionDerivative.c"
480 goto tmp2_done;
481 }
482 }
483 goto tmp2_end;
484 tmp2_end: ;
485 }
486 goto goto_1;
487 goto_1:;
488 MMC_THROW_INTERNAL(){longjmp(*threadData->mmc_jumper,1);};
489 goto tmp2_done;
490 tmp2_done:;
491 }
492 }
493 ;
494 }
495 }
496
497#line 268 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFFunctionDerivative.mo"
498 if(omc_NFExpression_isEmpty(threadData, _order))
499#line 268 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFFunctionDerivative.mo"
500 {
501#line 269 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFFunctionDerivative.mo"
502 _order = _OMC_LIT22((void*)((char*)(&(_OMC_LIT_STRUCT22).header) + 3));
503#line 503 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/NFFunctionDerivative.c"
504 }
505 _return: OMC_LABEL_UNUSED__attribute__((unused))
506 if (out_conditions) { *out_conditions = _conditions; }
507 return _order;
508}
509
510PROTECTED_FUNCTION_STATIC modelica_metatype omc_NFFunctionDerivative_instDerivativeMod(threadData_t *threadData, modelica_metatype _mod, modelica_metatype _fnNode, modelica_metatype _fn, modelica_metatype _scope, modelica_metatype _D_24in_fnDers)
511{
512 modelica_metatype _fnDers = NULL((void*)0);
513 modelica_metatype tmpMeta[5] __attribute__((unused)) = {0};
514 MMC_SO()mmc_check_stackoverflow(threadData);
515 _tailrecursive: OMC_LABEL_UNUSED__attribute__((unused))
516 _fnDers = _D_24in_fnDers;
517#line 517 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/NFFunctionDerivative.c"
518 { /* match expression */
519 modelica_metatype tmp3_1;
520 tmp3_1 = _mod;
521 {
522 modelica_metatype _attrs = NULL((void*)0);
523 modelica_metatype _acref = NULL((void*)0);
524 modelica_metatype _der_node = NULL((void*)0);
525 modelica_metatype _order = NULL((void*)0);
526 modelica_metatype _conds = NULL((void*)0);
527 volatile mmc_switch_type tmp3;
528 int tmp4;
529 // _attrs has no default value.
530 // _acref has no default value.
531 // _der_node has no default value.
532 // _order has no default value.
533 // _conds has no default value.
534 tmp3 = 0;
535 for (; tmp3 < 3; tmp3++) {
536 switch (MMC_SWITCH_CAST(tmp3)(tmp3)) {
537 case 0: {
538 if (mmc__uniontype__metarecord__typedef__equal(tmp3_1,0,5)((*(mmc_uint_t*)((void*)((char*)(tmp3_1) - 3)))==(((5 +1) <<
10) + (((0 +3) & 255) << 2)))
== 0) goto tmp2_end;
539 tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_1), 4))(*(void**)(((void*)((void**)(((void*)((char*)(tmp3_1) - 3))) +
(4)))))
;
540 tmpMeta[2] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_1), 5))(*(void**)(((void*)((void**)(((void*)((char*)(tmp3_1) - 3))) +
(5)))))
;
541 if (optionNone(tmpMeta[2])(0==((((((*(mmc_uint_t*)((void*)((char*)(tmpMeta[2]) - 3)))) &
(7)) == 5)) ? ((((*(mmc_uint_t*)((void*)((char*)(tmpMeta[2])
- 3)))) >> (3+3))) : (((*(mmc_uint_t*)((void*)((char*)
(tmpMeta[2]) - 3)))) >> 10)) ? 1 : 0)
) goto tmp2_end;
542 tmpMeta[3] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[2]), 1))(*(void**)(((void*)((void**)(((void*)((char*)(tmpMeta[2]) - 3
))) + (1)))))
;
543 if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[3],2,1)((*(mmc_uint_t*)((void*)((char*)(tmpMeta[3]) - 3)))==(((1 +1)
<< 10) + (((2 +3) & 255) << 2)))
== 0) goto tmp2_end;
544 tmpMeta[4] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[3]), 2))(*(void**)(((void*)((void**)(((void*)((char*)(tmpMeta[3]) - 3
))) + (2)))))
;
545
546 _attrs = tmpMeta[1];
547 _acref = tmpMeta[4];
548 /* Pattern matching succeeded */
549#line 190 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFFunctionDerivative.mo"
550 omc_NFFunction_Function_instFunction(threadData, _acref, _scope, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_mod), 6))(*(void**)(((void*)((void**)(((void*)((char*)(_mod) - 3))) + (
6)))))
) ,&_der_node, NULL((void*)0));
551#line 551 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/NFFunctionDerivative.c"
552
553#line 191 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFFunctionDerivative.mo"
554 omc_NFFunctionDerivative_addLowerOrderDerivative(threadData, _der_node, _fnNode);
555#line 555 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/NFFunctionDerivative.c"
556
557#line 192 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFFunctionDerivative.mo"
558 _order = omc_NFFunctionDerivative_getDerivativeAttributes(threadData, _attrs, _fn, _fnNode, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_mod), 6))(*(void**)(((void*)((void**)(((void*)((char*)(_mod) - 3))) + (
6)))))
) ,&_conds);
559#line 559 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/NFFunctionDerivative.c"
560#line 193 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFFunctionDerivative.mo"
561 tmpMeta[2] = MMC_REFSTRUCTLIT(mmc_nil)((void*)((char*)(&(mmc_nil).header) + 3));
562#line 193 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFFunctionDerivative.mo"
563 tmpMeta[3] = mmc_mk_box6(3, &NFFunctionDerivative_FUNCTION__DER__desc, _der_node, _fnNode, _order, _conds, tmpMeta[2]);
564#line 193 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFFunctionDerivative.mo"
565 tmpMeta[1] = mmc_mk_cons(tmpMeta[3], _fnDers);
566#line 193 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFFunctionDerivative.mo"
567 tmpMeta[0] = tmpMeta[1];
568#line 568 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/NFFunctionDerivative.c"
569 goto tmp2_done;
570 }
571 case 1: {
572 if (mmc__uniontype__metarecord__typedef__equal(tmp3_1,0,5)((*(mmc_uint_t*)((void*)((char*)(tmp3_1) - 3)))==(((5 +1) <<
10) + (((0 +3) & 255) << 2)))
== 0) goto tmp2_end;
573
574 /* Pattern matching succeeded */
575#line 199 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFFunctionDerivative.mo"
576 tmpMeta[1] = mmc_mk_cons(omc_AbsynUtil_pathString(threadData, omc_NFFunction_Function_name(threadData, _fn), _OMC_LIT5((void*)((char*)(&(_OMC_LIT_STRUCT5).header) + 3)), 1, 0), MMC_REFSTRUCTLIT(mmc_nil)((void*)((char*)(&(mmc_nil).header) + 3)));
577#line 199 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFFunctionDerivative.mo"
578 omc_Error_addStrictMessage(threadData, _OMC_LIT25((void*)((char*)(&(_OMC_LIT_STRUCT25).header) + 3)), tmpMeta[1], (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_mod), 6))(*(void**)(((void*)((void**)(((void*)((char*)(_mod) - 3))) + (
6)))))
));
579#line 579 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/NFFunctionDerivative.c"
580#line 201 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFFunctionDerivative.mo"
581 tmpMeta[0] = _fnDers;
582#line 582 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/NFFunctionDerivative.c"
583 goto tmp2_done;
584 }
585 case 2: {
586
587 /* Pattern matching succeeded */
588#line 208 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFFunctionDerivative.mo"
589 omc_Error_assertion(threadData, 0, _OMC_LIT26((void*)((char*)(&(_OMC_LIT_STRUCT26).header) + 3)), _OMC_LIT28((void*)((char*)(&(_OMC_LIT_STRUCT28).header) + 3)));
590#line 590 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/NFFunctionDerivative.c"
591#line 209 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFFunctionDerivative.mo"
592 goto goto_1;
593#line 593 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/NFFunctionDerivative.c"
594 goto tmp2_done;
595 }
596 }
597 goto tmp2_end;
598 tmp2_end: ;
599 }
600 goto goto_1;
601 goto_1:;
602 MMC_THROW_INTERNAL(){longjmp(*threadData->mmc_jumper,1);};
603 goto tmp2_done;
604 tmp2_done:;
605 }
606 }
607 _fnDers = tmpMeta[0];
608 _return: OMC_LABEL_UNUSED__attribute__((unused))
609 return _fnDers;
610}
611
612PROTECTED_FUNCTION_STATIC modelica_metatype omc_NFFunctionDerivative_getDerivativeAnnotations(threadData_t *threadData, modelica_metatype _definition)
613{
614 modelica_metatype _derMods = NULL((void*)0);
615 modelica_metatype tmpMeta[6] __attribute__((unused)) = {0};
616 MMC_SO()mmc_check_stackoverflow(threadData);
617 _tailrecursive: OMC_LABEL_UNUSED__attribute__((unused))
618 // _derMods has no default value.
619#line 619 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/NFFunctionDerivative.c"
620 { /* match expression */
621 modelica_metatype tmp3_1;
622 tmp3_1 = _definition;
623 {
624 modelica_metatype _ann = NULL((void*)0);
625 volatile mmc_switch_type tmp3;
626 int tmp4;
627 // _ann has no default value.
628 tmp3 = 0;
629 for (; tmp3 < 3; tmp3++) {
630 switch (MMC_SWITCH_CAST(tmp3)(tmp3)) {
631 case 0: {
632 if (mmc__uniontype__metarecord__typedef__equal(tmp3_1,2,8)((*(mmc_uint_t*)((void*)((char*)(tmp3_1) - 3)))==(((8 +1) <<
10) + (((2 +3) & 255) << 2)))
== 0) goto tmp2_end;
633 tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_1), 7))(*(void**)(((void*)((void**)(((void*)((char*)(tmp3_1) - 3))) +
(7)))))
;
634 if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[1],0,8)((*(mmc_uint_t*)((void*)((char*)(tmpMeta[1]) - 3)))==(((8 +1)
<< 10) + (((0 +3) & 255) << 2)))
== 0) goto tmp2_end;
635 tmpMeta[2] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[1]), 9))(*(void**)(((void*)((void**)(((void*)((char*)(tmpMeta[1]) - 3
))) + (9)))))
;
636 if (optionNone(tmpMeta[2])(0==((((((*(mmc_uint_t*)((void*)((char*)(tmpMeta[2]) - 3)))) &
(7)) == 5)) ? ((((*(mmc_uint_t*)((void*)((char*)(tmpMeta[2])
- 3)))) >> (3+3))) : (((*(mmc_uint_t*)((void*)((char*)
(tmpMeta[2]) - 3)))) >> 10)) ? 1 : 0)
) goto tmp2_end;
637 tmpMeta[3] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[2]), 1))(*(void**)(((void*)((void**)(((void*)((char*)(tmpMeta[2]) - 3
))) + (1)))))
;
638 tmpMeta[4] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[3]), 6))(*(void**)(((void*)((void**)(((void*)((char*)(tmpMeta[3]) - 3
))) + (6)))))
;
639 if (optionNone(tmpMeta[4])(0==((((((*(mmc_uint_t*)((void*)((char*)(tmpMeta[4]) - 3)))) &
(7)) == 5)) ? ((((*(mmc_uint_t*)((void*)((char*)(tmpMeta[4])
- 3)))) >> (3+3))) : (((*(mmc_uint_t*)((void*)((char*)
(tmpMeta[4]) - 3)))) >> 10)) ? 1 : 0)
) goto tmp2_end;
640 tmpMeta[5] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[4]), 1))(*(void**)(((void*)((void**)(((void*)((char*)(tmpMeta[4]) - 3
))) + (1)))))
;
641
642 _ann = tmpMeta[5];
643 /* Pattern matching succeeded */
644#line 164 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFFunctionDerivative.mo"
645 tmpMeta[0] = omc_SCodeUtil_lookupNamedAnnotations(threadData, _ann, _OMC_LIT11((void*)((char*)(&(_OMC_LIT_STRUCT11).header) + 3)));
646#line 646 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/NFFunctionDerivative.c"
647 goto tmp2_done;
648 }
649 case 1: {
650 if (mmc__uniontype__metarecord__typedef__equal(tmp3_1,2,8)((*(mmc_uint_t*)((void*)((char*)(tmp3_1) - 3)))==(((8 +1) <<
10) + (((2 +3) & 255) << 2)))
== 0) goto tmp2_end;
651 tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_1), 8))(*(void**)(((void*)((void**)(((void*)((char*)(tmp3_1) - 3))) +
(8)))))
;
652 tmpMeta[2] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[1]), 2))(*(void**)(((void*)((void**)(((void*)((char*)(tmpMeta[1]) - 3
))) + (2)))))
;
653 if (optionNone(tmpMeta[2])(0==((((((*(mmc_uint_t*)((void*)((char*)(tmpMeta[2]) - 3)))) &
(7)) == 5)) ? ((((*(mmc_uint_t*)((void*)((char*)(tmpMeta[2])
- 3)))) >> (3+3))) : (((*(mmc_uint_t*)((void*)((char*)
(tmpMeta[2]) - 3)))) >> 10)) ? 1 : 0)
) goto tmp2_end;
654 tmpMeta[3] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[2]), 1))(*(void**)(((void*)((void**)(((void*)((char*)(tmpMeta[2]) - 3
))) + (1)))))
;
655
656 _ann = tmpMeta[3];
657 /* Pattern matching succeeded */
658#line 167 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFFunctionDerivative.mo"
659 tmpMeta[0] = omc_SCodeUtil_lookupNamedAnnotations(threadData, _ann, _OMC_LIT11((void*)((char*)(&(_OMC_LIT_STRUCT11).header) + 3)));
660#line 660 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/NFFunctionDerivative.c"
661 goto tmp2_done;
662 }
663 case 2: {
664
665 /* Pattern matching succeeded */
666#line 169 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFFunctionDerivative.mo"
667 tmpMeta[1] = MMC_REFSTRUCTLIT(mmc_nil)((void*)((char*)(&(mmc_nil).header) + 3));
668#line 169 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFFunctionDerivative.mo"
669 tmpMeta[0] = tmpMeta[1];
670#line 670 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/NFFunctionDerivative.c"
671 goto tmp2_done;
672 }
673 }
674 goto tmp2_end;
675 tmp2_end: ;
676 }
677 goto goto_1;
678 goto_1:;
679 MMC_THROW_INTERNAL(){longjmp(*threadData->mmc_jumper,1);};
680 goto tmp2_done;
681 tmp2_done:;
682 }
683 }
684 _derMods = tmpMeta[0];
685 _return: OMC_LABEL_UNUSED__attribute__((unused))
686 return _derMods;
687}
688
689DLLExport
690modelica_metatype omc_NFFunctionDerivative_conditionToDAE(threadData_t *threadData, modelica_metatype _cond)
691{
692 modelica_metatype _daeCond = NULL((void*)0);
693 modelica_integer _idx;
694 modelica_integer _c;
695 modelica_integer tmp1;
696 modelica_integer tmp2;
697 modelica_metatype tmpMeta[3] __attribute__((unused)) = {0};
698 MMC_SO()mmc_check_stackoverflow(threadData);
699 _tailrecursive: OMC_LABEL_UNUSED__attribute__((unused))
700 // _daeCond has no default value.
701 // _idx has no default value.
702 // _c has no default value.
703#line 140 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFFunctionDerivative.mo"
704 /* Pattern-matching assignment */
705#line 140 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFFunctionDerivative.mo"
706 tmpMeta[0] = _cond;
707#line 140 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFFunctionDerivative.mo"
708 tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[0]), 1))(*(void**)(((void*)((void**)(((void*)((char*)(tmpMeta[0]) - 3
))) + (1)))))
;
709#line 140 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFFunctionDerivative.mo"
710 tmp1 = mmc_unbox_integer(tmpMeta[1])(((mmc_sint_t) (tmpMeta[1])) >> 1);
711#line 140 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFFunctionDerivative.mo"
712 tmpMeta[2] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[0]), 2))(*(void**)(((void*)((void**)(((void*)((char*)(tmpMeta[0]) - 3
))) + (2)))))
;
713#line 140 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFFunctionDerivative.mo"
714 tmp2 = mmc_unbox_integer(tmpMeta[2])(((mmc_sint_t) (tmpMeta[2])) >> 1);
715#line 140 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFFunctionDerivative.mo"
716 _idx = tmp1 /* pattern as ty=Integer */;
717#line 140 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFFunctionDerivative.mo"
718 _c = tmp2 /* pattern as ty=enumeration(ZERO_DERIVATIVE, NO_DERIVATIVE) */;
719#line 719 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/NFFunctionDerivative.c"
720
721#line 721 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/NFFunctionDerivative.c"
722 { /* match expression */
723 modelica_integer tmp5_1;
724 tmp5_1 = (modelica_integer)_c;
725 {
726 volatile mmc_switch_type tmp5;
727 int tmp6;
728 tmp5 = 0;
729 for (; tmp5 < 2; tmp5++) {
730 switch (MMC_SWITCH_CAST(tmp5)(tmp5)) {
731 case 0: {
732 if (1 != tmp5_1) goto tmp4_end;
733 /* Pattern matching succeeded */
734#line 144 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFFunctionDerivative.mo"
735 tmpMeta[1] = mmc_mk_box2(0, mmc_mk_integermmc_mk_icon(_idx), _OMC_LIT29((void*)((char*)(&(_OMC_LIT_STRUCT29).header) + 3)));
736#line 144 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFFunctionDerivative.mo"
737 tmpMeta[0] = tmpMeta[1];
738#line 738 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/NFFunctionDerivative.c"
739 goto tmp4_done;
740 }
741 case 1: {
742 if (2 != tmp5_1) goto tmp4_end;
743 /* Pattern matching succeeded */
744#line 149 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFFunctionDerivative.mo"
745 tmpMeta[1] = mmc_mk_box2(0, mmc_mk_integermmc_mk_icon(_idx), _OMC_LIT31((void*)((char*)(&(_OMC_LIT_STRUCT31).header) + 3)));
746#line 149 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFFunctionDerivative.mo"
747 tmpMeta[0] = tmpMeta[1];
748#line 748 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/NFFunctionDerivative.c"
749 goto tmp4_done;
750 }
751 }
752 goto tmp4_end;
753 tmp4_end: ;
754 }
755 goto goto_3;
756 goto_3:;
757 MMC_THROW_INTERNAL(){longjmp(*threadData->mmc_jumper,1);};
758 goto tmp4_done;
759 tmp4_done:;
760 }
761 }
762 _daeCond = tmpMeta[0];
763 _return: OMC_LABEL_UNUSED__attribute__((unused))
764 return _daeCond;
765}
766
767DLLExport
768modelica_metatype omc_NFFunctionDerivative_toDAE(threadData_t *threadData, modelica_metatype _fnDer)
769{
770 modelica_metatype _derDef = NULL((void*)0);
771 modelica_integer _order;
772 modelica_integer tmp1;
773 modelica_metatype tmpMeta[5] __attribute__((unused)) = {0};
774 MMC_SO()mmc_check_stackoverflow(threadData);
775 _tailrecursive: OMC_LABEL_UNUSED__attribute__((unused))
776 // _derDef has no default value.
777 // _order has no default value.
778#line 120 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFFunctionDerivative.mo"
779 /* Pattern-matching assignment */
780#line 120 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFFunctionDerivative.mo"
781 tmpMeta[0] = (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_fnDer), 4))(*(void**)(((void*)((void**)(((void*)((char*)(_fnDer) - 3))) +
(4)))))
);
782#line 120 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFFunctionDerivative.mo"
783 if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[0],0,1)((*(mmc_uint_t*)((void*)((char*)(tmpMeta[0]) - 3)))==(((1 +1)
<< 10) + (((0 +3) & 255) << 2)))
== 0) MMC_THROW_INTERNAL(){longjmp(*threadData->mmc_jumper,1);};
784#line 120 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFFunctionDerivative.mo"
785 tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[0]), 2))(*(void**)(((void*)((void**)(((void*)((char*)(tmpMeta[0]) - 3
))) + (2)))))
;
786#line 120 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFFunctionDerivative.mo"
787 tmp1 = mmc_unbox_integer(tmpMeta[1])(((mmc_sint_t) (tmpMeta[1])) >> 1);
788#line 120 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFFunctionDerivative.mo"
789 _order = tmp1 /* pattern as ty=Integer */;
790#line 790 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/NFFunctionDerivative.c"
791
792#line 122 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFFunctionDerivative.mo"
793 {
794#line 122 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFFunctionDerivative.mo"
795 modelica_metatype _D_24tmpVar3;
796#line 122 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFFunctionDerivative.mo"
797 modelica_metatype* tmp2;
798#line 122 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFFunctionDerivative.mo"
799 modelica_metatype _D_24tmpVar2;
800#line 122 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFFunctionDerivative.mo"
801 int tmp3;
802#line 122 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFFunctionDerivative.mo"
803 modelica_metatype _c_loopVar = 0;
804#line 122 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFFunctionDerivative.mo"
805 modelica_metatype _c;
806#line 122 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFFunctionDerivative.mo"
807 _c_loopVar = (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_fnDer), 5))(*(void**)(((void*)((void**)(((void*)((char*)(_fnDer) - 3))) +
(5)))))
);
808#line 122 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFFunctionDerivative.mo"
809 tmpMeta[1] = MMC_REFSTRUCTLIT(mmc_nil)((void*)((char*)(&(mmc_nil).header) + 3));
810#line 122 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFFunctionDerivative.mo"
811 _D_24tmpVar3 = tmpMeta[1]; /* defaultValue */
812#line 122 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFFunctionDerivative.mo"
813 tmp2 = &_D_24tmpVar3;
814#line 122 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFFunctionDerivative.mo"
815 while(1) {
816#line 122 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFFunctionDerivative.mo"
817 tmp3 = 1;
818#line 122 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFFunctionDerivative.mo"
819 if (!listEmpty(_c_loopVar)((*(mmc_uint_t*)((void*)((char*)(_c_loopVar) - 3))) == (((0) <<
10) + (((0) & 255) << 2)))
) {
820#line 122 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFFunctionDerivative.mo"
821 _c = MMC_CAR(_c_loopVar)(*(void**)(((void*)((void**)(((void*)((char*)(_c_loopVar) - 3
))) + (1)))))
;
822#line 122 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFFunctionDerivative.mo"
823 _c_loopVar = MMC_CDR(_c_loopVar)(*(void**)(((void*)((void**)(((void*)((char*)(_c_loopVar) - 3
))) + (2)))))
;
824#line 122 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFFunctionDerivative.mo"
825 tmp3--;
826#line 122 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFFunctionDerivative.mo"
827 }
828#line 122 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFFunctionDerivative.mo"
829 if (tmp3 == 0) {
830#line 122 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFFunctionDerivative.mo"
831 _D_24tmpVar2 = omc_NFFunctionDerivative_conditionToDAE(threadData, _c);
832#line 122 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFFunctionDerivative.mo"
833 *tmp2 = mmc_mk_cons(_D_24tmpVar2,0);
834#line 122 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFFunctionDerivative.mo"
835 tmp2 = &MMC_CDR(*tmp2)(*(void**)(((void*)((void**)(((void*)((char*)(*tmp2) - 3))) +
(2)))))
;
836#line 122 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFFunctionDerivative.mo"
837 } else if (tmp3 == 1) {
838#line 122 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFFunctionDerivative.mo"
839 break;
840#line 122 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFFunctionDerivative.mo"
841 } else {
842#line 122 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFFunctionDerivative.mo"
843 MMC_THROW_INTERNAL(){longjmp(*threadData->mmc_jumper,1);};
844#line 122 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFFunctionDerivative.mo"
845 }
846#line 122 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFFunctionDerivative.mo"
847 }
848#line 122 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFFunctionDerivative.mo"
849 *tmp2 = mmc_mk_nil()((void*)((char*)(&(mmc_nil).header) + 3));
850#line 122 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFFunctionDerivative.mo"
851 tmpMeta[0] = _D_24tmpVar3;
852#line 122 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFFunctionDerivative.mo"
853 }
854#line 122 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFFunctionDerivative.mo"
855 {
856#line 122 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFFunctionDerivative.mo"
857 modelica_metatype _D_24tmpVar5;
858#line 122 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFFunctionDerivative.mo"
859 modelica_metatype* tmp4;
860#line 122 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFFunctionDerivative.mo"
861 modelica_metatype _D_24tmpVar4;
862#line 122 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFFunctionDerivative.mo"
863 int tmp5;
864#line 122 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFFunctionDerivative.mo"
865 modelica_metatype _fn_loopVar = 0;
866#line 122 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFFunctionDerivative.mo"
867 modelica_metatype _fn;
868#line 122 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFFunctionDerivative.mo"
869 _fn_loopVar = (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_fnDer), 6))(*(void**)(((void*)((void**)(((void*)((char*)(_fnDer) - 3))) +
(6)))))
);
870#line 122 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFFunctionDerivative.mo"
871 tmpMeta[3] = MMC_REFSTRUCTLIT(mmc_nil)((void*)((char*)(&(mmc_nil).header) + 3));
872#line 122 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFFunctionDerivative.mo"
873 _D_24tmpVar5 = tmpMeta[3]; /* defaultValue */
874#line 122 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFFunctionDerivative.mo"
875 tmp4 = &_D_24tmpVar5;
876#line 122 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFFunctionDerivative.mo"
877 while(1) {
878#line 122 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFFunctionDerivative.mo"
879 tmp5 = 1;
880#line 122 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFFunctionDerivative.mo"
881 if (!listEmpty(_fn_loopVar)((*(mmc_uint_t*)((void*)((char*)(_fn_loopVar) - 3))) == (((0)
<< 10) + (((0) & 255) << 2)))
) {
882#line 122 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFFunctionDerivative.mo"
883 _fn = MMC_CAR(_fn_loopVar)(*(void**)(((void*)((void**)(((void*)((char*)(_fn_loopVar) - 3
))) + (1)))))
;
884#line 122 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFFunctionDerivative.mo"
885 _fn_loopVar = MMC_CDR(_fn_loopVar)(*(void**)(((void*)((void**)(((void*)((char*)(_fn_loopVar) - 3
))) + (2)))))
;
886#line 122 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFFunctionDerivative.mo"
887 tmp5--;
888#line 122 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFFunctionDerivative.mo"
889 }
890#line 122 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFFunctionDerivative.mo"
891 if (tmp5 == 0) {
892#line 122 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFFunctionDerivative.mo"
893 _D_24tmpVar4 = omc_NFFunction_Function_name(threadData, listHead(omc_NFFunction_Function_getCachedFuncs(threadData, _fn))boxptr_listHead(threadData,omc_NFFunction_Function_getCachedFuncs
(threadData, _fn))
);
894#line 122 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFFunctionDerivative.mo"
895 *tmp4 = mmc_mk_cons(_D_24tmpVar4,0);
896#line 122 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFFunctionDerivative.mo"
897 tmp4 = &MMC_CDR(*tmp4)(*(void**)(((void*)((void**)(((void*)((char*)(*tmp4) - 3))) +
(2)))))
;
898#line 122 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFFunctionDerivative.mo"
899 } else if (tmp5 == 1) {
900#line 122 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFFunctionDerivative.mo"
901 break;
902#line 122 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFFunctionDerivative.mo"
903 } else {
904#line 122 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFFunctionDerivative.mo"
905 MMC_THROW_INTERNAL(){longjmp(*threadData->mmc_jumper,1);};
906#line 122 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFFunctionDerivative.mo"
907 }
908#line 122 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFFunctionDerivative.mo"
909 }
910#line 122 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFFunctionDerivative.mo"
911 *tmp4 = mmc_mk_nil()((void*)((char*)(&(mmc_nil).header) + 3));
912#line 122 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFFunctionDerivative.mo"
913 tmpMeta[2] = _D_24tmpVar5;
914#line 122 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFFunctionDerivative.mo"
915 }
916#line 122 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFFunctionDerivative.mo"
917 tmpMeta[4] = mmc_mk_box7(5, &DAE_FunctionDefinition_FUNCTION__DER__MAPPER__desc, omc_NFFunction_Function_name(threadData, listHead(omc_NFFunction_Function_getCachedFuncs(threadData, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_fnDer), 3)))))boxptr_listHead(threadData,omc_NFFunction_Function_getCachedFuncs
(threadData, ((*(void**)(((void*)((void**)(((void*)((char*)(_fnDer
) - 3))) + (3))))))))
), omc_NFFunction_Function_name(threadData, listHead(omc_NFFunction_Function_getCachedFuncs(threadData, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_fnDer), 2)))))boxptr_listHead(threadData,omc_NFFunction_Function_getCachedFuncs
(threadData, ((*(void**)(((void*)((void**)(((void*)((char*)(_fnDer
) - 3))) + (2))))))))
), mmc_mk_integermmc_mk_icon(_order), tmpMeta[0], mmc_mk_none()((void*)((char*)(&(mmc_none).header) + 3)), tmpMeta[2]);
918#line 122 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFFunctionDerivative.mo"
919 _derDef = tmpMeta[4];
920#line 920 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/NFFunctionDerivative.c"
921 _return: OMC_LABEL_UNUSED__attribute__((unused))
922 return _derDef;
923}
924
925DLLExport
926void omc_NFFunctionDerivative_typeDerivative(threadData_t *threadData, modelica_metatype _fnDer)
927{
928 modelica_integer _mk;
929 modelica_metatype _order = NULL((void*)0);
930 modelica_metatype _order_ty = NULL((void*)0);
931 modelica_integer _var;
932 modelica_metatype _info = NULL((void*)0);
933 modelica_metatype tmpMeta[1] __attribute__((unused)) = {0};
934 MMC_SO()mmc_check_stackoverflow(threadData);
935 _tailrecursive: OMC_LABEL_UNUSED__attribute__((unused))
936 // _mk has no default value.
937 // _order has no default value.
938 // _order_ty has no default value.
939 // _var has no default value.
940 // _info has no default value.
941#line 92 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFFunctionDerivative.mo"
942 omc_NFFunction_Function_typeNodeCache(threadData, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_fnDer), 2))(*(void**)(((void*)((void**)(((void*)((char*)(_fnDer) - 3))) +
(2)))))
));
943#line 943 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/NFFunctionDerivative.c"
944
945#line 93 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFFunctionDerivative.mo"
946 _info = omc_NFInstNode_InstNode_info(threadData, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_fnDer), 3))(*(void**)(((void*)((void**)(((void*)((char*)(_fnDer) - 3))) +
(3)))))
));
947#line 947 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/NFFunctionDerivative.c"
948
949#line 95 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFFunctionDerivative.mo"
950 _order = omc_NFTyping_typeExp(threadData, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_fnDer), 4))(*(void**)(((void*)((void**)(((void*)((char*)(_fnDer) - 3))) +
(4)))))
), ((modelica_integer) 1), _info ,&_order_ty ,&_var);
951#line 951 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/NFFunctionDerivative.c"
952
953#line 96 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFFunctionDerivative.mo"
954 _order = omc_NFTypeCheck_matchTypes(threadData, _order_ty, _OMC_LIT32((void*)((char*)(&(_OMC_LIT_STRUCT32).header) + 3)), _order, 0 ,NULL((void*)0) ,&_mk);
955#line 955 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/NFFunctionDerivative.c"
956
957#line 98 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFFunctionDerivative.mo"
958 if(omc_NFTypeCheck_isIncompatibleMatch(threadData, (modelica_integer)_mk))
959#line 98 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFFunctionDerivative.mo"
960 {
961#line 99 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFFunctionDerivative.mo"
962 tmpMeta[0] = mmc_mk_cons(_OMC_LIT19((void*)((char*)(&(_OMC_LIT_STRUCT19).header) + 3)), mmc_mk_cons(omc_NFExpression_toString(threadData, _order), mmc_mk_cons(_OMC_LIT36((void*)((char*)(&(_OMC_LIT_STRUCT36).header) + 3)), mmc_mk_cons(omc_NFType_toString(threadData, _order_ty), MMC_REFSTRUCTLIT(mmc_nil)((void*)((char*)(&(mmc_nil).header) + 3))))));
963#line 99 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFFunctionDerivative.mo"
964 omc_Error_addSourceMessage(threadData, _OMC_LIT35((void*)((char*)(&(_OMC_LIT_STRUCT35).header) + 3)), tmpMeta[0], _info);
965#line 965 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/NFFunctionDerivative.c"
966
967#line 101 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFFunctionDerivative.mo"
968 MMC_THROW_INTERNAL(){longjmp(*threadData->mmc_jumper,1);};
969#line 969 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/NFFunctionDerivative.c"
970 }
971
972#line 104 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFFunctionDerivative.mo"
973 if(((modelica_integer)_var > 1))
974#line 104 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFFunctionDerivative.mo"
975 {
976#line 105 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFFunctionDerivative.mo"
977 tmpMeta[0] = mmc_mk_cons(_OMC_LIT19((void*)((char*)(&(_OMC_LIT_STRUCT19).header) + 3)), mmc_mk_cons(omc_NFPrefixes_variabilityString(threadData, 1), mmc_mk_cons(omc_NFExpression_toString(threadData, _order), mmc_mk_cons(omc_NFPrefixes_variabilityString(threadData, (modelica_integer)_var), MMC_REFSTRUCTLIT(mmc_nil)((void*)((char*)(&(mmc_nil).header) + 3))))));
978#line 105 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFFunctionDerivative.mo"
979 omc_Error_addSourceMessage(threadData, _OMC_LIT39((void*)((char*)(&(_OMC_LIT_STRUCT39).header) + 3)), tmpMeta[0], _info);
980#line 980 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/NFFunctionDerivative.c"
981
982#line 108 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFFunctionDerivative.mo"
983 MMC_THROW_INTERNAL(){longjmp(*threadData->mmc_jumper,1);};
984#line 984 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/NFFunctionDerivative.c"
985 }
986
987#line 111 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFFunctionDerivative.mo"
988 tmpMeta[0] = mmc_mk_box2(7, &NFCeval_EvalTarget_GENERIC__desc, _info);
989#line 111 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFFunctionDerivative.mo"
990 _order = omc_NFCeval_evalExp(threadData, _order, tmpMeta[0]);
Value stored to '_order' is never read
991#line 991 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/NFFunctionDerivative.c"
992 _return: OMC_LABEL_UNUSED__attribute__((unused))
993 return;
994}
995
996DLLExport
997modelica_metatype omc_NFFunctionDerivative_instDerivatives(threadData_t *threadData, modelica_metatype _fnNode, modelica_metatype _fn)
998{
999 modelica_metatype _ders = NULL((void*)0);
1000 modelica_metatype _der_mods = NULL((void*)0);
1001 modelica_metatype _scope = NULL((void*)0);
1002 modelica_metatype tmpMeta[3] __attribute__((unused)) = {0};
1003 MMC_SO()mmc_check_stackoverflow(threadData);
1004 _tailrecursive: OMC_LABEL_UNUSED__attribute__((unused))
1005 tmpMeta[0] = MMC_REFSTRUCTLIT(mmc_nil)((void*)((char*)(&(mmc_nil).header) + 3));
1006 _ders = tmpMeta[0];
1007 // _der_mods has no default value.
1008 // _scope has no default value.
1009#line 75 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFFunctionDerivative.mo"
1010 _der_mods = omc_NFFunctionDerivative_getDerivativeAnnotations(threadData, omc_NFInstNode_InstNode_definition(threadData, _fnNode));
1011#line 1011 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/NFFunctionDerivative.c"
1012
1013#line 76 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFFunctionDerivative.mo"
1014 _scope = omc_NFInstNode_InstNode_parent(threadData, _fnNode);
1015#line 1015 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/NFFunctionDerivative.c"
1016
1017#line 78 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFFunctionDerivative.mo"
1018 {
1019#line 78 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFFunctionDerivative.mo"
1020 modelica_metatype _m;
1021#line 78 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFFunctionDerivative.mo"
1022 for (tmpMeta[1] = _der_mods; !listEmpty(tmpMeta[1])((*(mmc_uint_t*)((void*)((char*)(tmpMeta[1]) - 3))) == (((0) <<
10) + (((0) & 255) << 2)))
; tmpMeta[1]=MMC_CDR(tmpMeta[1])(*(void**)(((void*)((void**)(((void*)((char*)(tmpMeta[1]) - 3
))) + (2)))))
)
1023#line 78 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFFunctionDerivative.mo"
1024 {
1025#line 78 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFFunctionDerivative.mo"
1026 _m = MMC_CAR(tmpMeta[1])(*(void**)(((void*)((void**)(((void*)((char*)(tmpMeta[1]) - 3
))) + (1)))))
;
1027#line 79 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFFunctionDerivative.mo"
1028 _ders = omc_NFFunctionDerivative_instDerivativeMod(threadData, _m, _fnNode, _fn, _scope, _ders);
1029#line 1029 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/NFFunctionDerivative.c"
1030 }
1031 }
1032 _return: OMC_LABEL_UNUSED__attribute__((unused))
1033 return _ders;
1034}
1035