integer Test_x192
array<integer> VoidFunction_nextFree790
integer VoidFunction_firstFree179
integer VoidFunction_maxIndex166
array<integer> VoidFunction_typeId202


integer Test_x192 = 0
integer VoidFunction_firstFree179 = 0
integer VoidFunction_maxIndex166 = 0


function initGlobals682() { 
}


function main743() { 
    initGlobals682();
    init_Test253();
}


function config590() { 
}


function init_Test253() { 
    cyc_foo134(4, 10, 0);
    if (Test_x_192 == 11) {
        testSuccess125();
    } else {
    };
}


IS_NATIVE function testSuccess125() { 
}


function VoidFunction_init121(integer this154) { 
}


function construct_VoidFunction102(integer this131) { 
    VoidFunction_init121(this_131);
}


function alloc_VoidFunction_Test151() returns integer { 
    local integer this796
    if (VoidFunction_firstFree_179 == 0) {
        if (VoidFunction_maxIndex_166 < 32768) {
            VoidFunction_maxIndex_166 = (VoidFunction_maxIndex_166 + 1);
            this_796 = VoidFunction_maxIndex_166;
            VoidFunction_typeId_202[this_796] = 2;
        } else {
            error333("Out of memory: Could not create VoidFunction_Test.");
            this_796 = 0;
        };
    } else {
        VoidFunction_firstFree_179 = (VoidFunction_firstFree_179 - 1);
        this_796 = VoidFunction_nextFree_790[VoidFunction_firstFree_179];
        VoidFunction_typeId_202[this_796] = 2;
    };
    return this_796;
}


function error333(string msg173) { 
    $debugPrint465((msg_173 + ("
" + #getStackTrace())));
}


function alloc_VoidFunction_Test_2148() returns integer { 
    local integer this131
    if (VoidFunction_firstFree_179 == 0) {
        if (VoidFunction_maxIndex_166 < 32768) {
            VoidFunction_maxIndex_166 = (VoidFunction_maxIndex_166 + 1);
            this_131 = VoidFunction_maxIndex_166;
            VoidFunction_typeId_202[this_131] = 3;
        } else {
            error333("Out of memory: Could not create VoidFunction_Test.");
            this_131 = 0;
        };
    } else {
        VoidFunction_firstFree_179 = (VoidFunction_firstFree_179 - 1);
        this_131 = VoidFunction_nextFree_790[VoidFunction_firstFree_179];
        VoidFunction_typeId_202[this_131] = 3;
    };
    return this_131;
}


function cyc_foo134(integer funcChoice211, integer i201, integer j206) { 
    if (funcChoice_211 == 0) {
        Test_x_192 = (Test_x_192 + 1);
        funcChoice_211 = alloc_VoidFunction_Test151();
        construct_VoidFunction102(funcChoice_211);
        cyc_foo134(3, funcChoice_211, i_201);
    } else {
        if (funcChoice_211 == 1) {
            cyc_foo134(0, (j_206 - 1), 0);
        } else {
            if (funcChoice_211 == 2) {
                cyc_foo134(4, (j_206 - 1), 0);
            } else {
                if (funcChoice_211 == 3) {
                    if (VoidFunction_typeId_202[i_201] == 0) {
                        if (i_201 == 0) {
                            error333("Nullpointer exception when calling VoidFunction.call");
                        } else {
                            error333("Called VoidFunction.call on invalid object.");
                        };
                    } else {
                    };
                    if (VoidFunction_typeId_202[i_201] <= 2) {
                        cyc_foo134(2, i_201, j_206);
                    } else {
                        cyc_foo134(1, i_201, j_206);
                    };
                } else {
                    if (funcChoice_211 == 4) {
                        Test_x_192 = (Test_x_192 + 1);
                        funcChoice_211 = alloc_VoidFunction_Test_2148();
                        construct_VoidFunction102(funcChoice_211);
                        if (i_201 > 0) {
                            cyc_foo134(3, funcChoice_211, i_201);
                        } else {
                        };
                    } else {
                    };
                };
            };
        };
    };
}