array<integer> Func_nextFree983
integer Func_firstFree601
integer Func_maxIndex179
array<integer> Func_typeId189
array<integer> C_nextFree881
integer C_firstFree112
integer C_maxIndex619
array<integer> C_typeId552
array<any> C_x986


integer Func_firstFree601 = 0
integer Func_maxIndex179 = 0
integer C_firstFree112 = 0
integer C_maxIndex619 = 0


function initGlobals727() { 
}


function main809() { 
    initGlobals727();
    init_A971();
}


function config131() { 
}


function init_A971() { 
    local integer a999
    local integer b873
    local integer clVar184
    local integer temp734
    local any x487
    local integer this997
    local integer this794
    local integer this121
    local any x209
    local integer this158
    local integer this188
    local integer f172
    local integer A_C_map_result525
    x_487 = 5;
    if (C_firstFree_112 == 0) {
        if (C_maxIndex_619 < 32768) {
            C_maxIndex_619 = (C_maxIndex_619 + 1);
            this_794 = C_maxIndex_619;
            C_typeId_552[this_794] = 1;
        } else {
            error216("Out of memory: Could not create C.");
            this_794 = 0;
        };
    } else {
        C_firstFree_112 = (C_firstFree_112 - 1);
        this_794 = C_nextFree_881[C_firstFree_112];
        C_typeId_552[this_794] = 1;
    };
    this_997 = this_794;
    this_121 = this_997;
    x_209 = x_487;
    C_x_986[this_121] = x_209;
    a_999 = this_997;
    temp_734 = a_999;
    if (Func_firstFree_601 == 0) {
        if (Func_maxIndex_179 < 32768) {
            Func_maxIndex_179 = (Func_maxIndex_179 + 1);
            this_158 = Func_maxIndex_179;
            Func_typeId_189[this_158] = 3;
        } else {
            error216("Out of memory: Could not create Func_map_A.");
            this_158 = 0;
        };
    } else {
        Func_firstFree_601 = (Func_firstFree_601 - 1);
        this_158 = Func_nextFree_983[Func_firstFree_601];
        Func_typeId_189[this_158] = 3;
    };
    clVar_184 = this_158;
    this_188 = temp_734;
    f_172 = clVar_184;
    if (C_typeId_552[this_188] == 0) {
        if (this_188 == 0) {
            error216("Nullpointer exception when calling C.map");
        } else {
            error216("Called C.map on invalid object.");
        };
    } else {
    };
    A_C_map_result_525 = C_map162(this_188, f_172);
    b_873 = A_C_map_result_525;
    if (C_x_986[b_873] == 10) {
        testSuccess133();
    } else {
    };
}


IS_NATIVE function testSuccess133() { 
}


function C_map162(integer this277, integer f131) returns integer { 
    local integer this687
    local any x437
    local any A_Func_apply_result390
    local integer x107
    this_687 = f_131;
    x_437 = C_x_986[this_277];
    if (Func_typeId_189[this_687] == 0) {
        if (this_687 == 0) {
            error216("Nullpointer exception when calling Func.apply");
        } else {
            error216("Called Func.apply on invalid object.");
        };
    } else {
    };
    x_107 = x_437;
    A_Func_apply_result_390 = (2 * x_107);
    return new_C116(A_Func_apply_result_390);
}


function new_C116(any x121) returns integer { 
    local integer this201
    local integer this575
    local integer this444
    local any x206
    if (C_firstFree_112 == 0) {
        if (C_maxIndex_619 < 32768) {
            C_maxIndex_619 = (C_maxIndex_619 + 1);
            this_575 = C_maxIndex_619;
            C_typeId_552[this_575] = 1;
        } else {
            error216("Out of memory: Could not create C.");
            this_575 = 0;
        };
    } else {
        C_firstFree_112 = (C_firstFree_112 - 1);
        this_575 = C_nextFree_881[C_firstFree_112];
        C_typeId_552[this_575] = 1;
    };
    this_201 = this_575;
    this_444 = this_201;
    x_206 = x_121;
    C_x_986[this_444] = x_206;
    return this_201;
}


function error216(string msg328) { 
    $debugPrint506((msg_328 + ("
" + #getStackTrace())));
}