real vec3_moveTowards_return_x783
real vec3_moveTowards_return_y138
real vec3_moveTowards_return_z172
real vec3_normalizedPointerTo_return_x577
real vec3_normalizedPointerTo_return_y887
real vec3_normalizedPointerTo_return_z341


integer wurst_stack_depth201 = 0


function initGlobals986() { 
}


function main197() { 
    initGlobals986();
    init_test344();
}


function config539() { 
}


function init_test344() { 
    local boolean andLeft300
    local real tuple_temp109
    local real tuple_temp160
    local real tuple_temp289
    local real tuple_temp455
    local real tuple_temp675
    local real tuple_temp145
    tuple_temp_109 = vec3_moveTowards166(0., 0., 0., 1., 2., 3., 10.);
    tuple_temp_160 = vec3_moveTowards_return_y_138;
    tuple_temp_289 = vec3_moveTowards_return_z_172;
    tuple_temp_455 = vec3_moveTowards166(0., 0., 0., 6., 5., 4., 10.);
    tuple_temp_675 = vec3_moveTowards_return_y_138;
    tuple_temp_145 = vec3_moveTowards_return_z_172;
    if (((((((tuple_temp_109 - 0.01) < 2.673) and (2.673 < (tuple_temp_109 + 0.01))) and ((tuple_temp_160 - 0.01) < 5.345)) and (5.345 < (tuple_temp_160 + 0.01))) and ((tuple_temp_289 - 0.01) < 8.018)) and (8.018 < (tuple_temp_289 + 0.01))) {
        andLeft_300 = (((((((tuple_temp_455 - 0.01) < 6.838) and (6.838 < (tuple_temp_455 + 0.01))) and ((tuple_temp_675 - 0.01) < 5.698)) and (5.698 < (tuple_temp_675 + 0.01))) and ((tuple_temp_145 - 0.01) < 4.558)) and (4.558 < (tuple_temp_145 + 0.01)));
    } else {
        andLeft_300 = false;
    };
    if andLeft_300 {
        testSuccess184();
    } else {
    };
}


IS_NATIVE IS_EXTERN @extern function SquareRoot164(real x718) returns real { 
}


function vec3_normalizedPointerTo206(real this_x163, real this_y754, real this_z243, real target_x911, real target_y191, real target_z178) returns real { 
    this_x_163 = (target_x_911 - this_x_163);
    this_y_754 = (target_y_191 - this_y_754);
    this_z_243 = (target_z_178 - this_z_243);
    target_x_911 = SquareRoot164((((this_x_163 * this_x_163) + (this_y_754 * this_y_754)) + (this_z_243 * this_z_243)));
    if (target_x_911 > 0.) {
        target_x_911 = (1. / target_x_911);
        this_x_163 = (this_x_163 * target_x_911);
        this_y_754 = (this_y_754 * target_x_911);
        this_z_243 = (this_z_243 * target_x_911);
    } else {
        this_x_163 = 1.;
        this_y_754 = 0.;
        this_z_243 = 0.;
    };
    vec3_normalizedPointerTo_return_x_577 = this_x_163;
    vec3_normalizedPointerTo_return_y_887 = this_y_754;
    vec3_normalizedPointerTo_return_z_341 = this_z_243;
    return vec3_normalizedPointerTo_return_x_577;
}


function vec3_moveTowards166(real this_x116, real this_y205, real this_z105, real target_x153, real target_y103, real target_z297, real dist670) returns real { 
    target_y_103 = vec3_normalizedPointerTo206(this_x_116, this_y_205, this_z_105, target_x_153, target_y_103, target_z_297);
    target_z_297 = vec3_normalizedPointerTo_return_y_887;
    target_x_153 = vec3_normalizedPointerTo_return_z_341;
    target_y_103 = (target_y_103 * dist_670);
    target_z_297 = (target_z_297 * dist_670);
    target_x_153 = (target_x_153 * dist_670);
    vec3_moveTowards_return_x_783 = (this_x_116 + target_y_103);
    vec3_moveTowards_return_y_138 = (this_y_205 + target_z_297);
    vec3_moveTowards_return_z_172 = (this_z_105 + target_x_153);
    return vec3_moveTowards_return_x_783;
}


IS_NATIVE function testSuccess184() { 
}