case 0:
((void (*)(int32_t *, int32_t *))fn)(&global_tid, &bound_tid);
break;
case 1:
((void (*)(int32_t *, int32_t *, void *))fn)(&global_tid, &bound_tid, args[0]);
break;
case 2:
((void (*)(int32_t *, int32_t *, void *, void *))fn)(&global_tid, &bound_tid,
                                                     args[0], args[1]);
break;
case 3:
((void (*)(int32_t *, int32_t *, void *, void *,
           void *))fn)(&global_tid, &bound_tid, args[0], args[1], args[2]);
break;
case 4:
((void (*)(int32_t *, int32_t *, void *, void *, void *,
           void *))fn)(&global_tid, &bound_tid, args[0], args[1], args[2],
                       args[3]);
break;
case 5:
((void (*)(int32_t *, int32_t *, void *, void *, void *, void *,
           void *))fn)(&global_tid, &bound_tid, args[0], args[1], args[2],
                       args[3], args[4]);
break;
case 6:
((void (*)(int32_t *, int32_t *, void *, void *, void *, void *, void *,
           void *))fn)(&global_tid, &bound_tid, args[0], args[1], args[2],
                       args[3], args[4], args[5]);
break;
case 7:
((void (*)(int32_t *, int32_t *, void *, void *, void *, void *, void *, void *,
           void *))fn)(&global_tid, &bound_tid, args[0], args[1], args[2],
                       args[3], args[4], args[5], args[6]);
break;
case 8:
((void (*)(int32_t *, int32_t *, void *, void *, void *, void *, void *, void *,
           void *, void *))fn)(&global_tid, &bound_tid, args[0], args[1],
                               args[2], args[3], args[4], args[5], args[6],
                               args[7]);
break;
case 9:
((void (*)(int32_t *, int32_t *, void *, void *, void *, void *, void *, void *,
           void *, void *, void *))fn)(&global_tid, &bound_tid, args[0],
                                       args[1], args[2], args[3], args[4],
                                       args[5], args[6], args[7], args[8]);
break;
case 10:
((void (*)(int32_t *, int32_t *, void *, void *, void *, void *, void *, void *,
           void *, void *, void *, void *))fn)(&global_tid, &bound_tid, args[0],
                                               args[1], args[2], args[3],
                                               args[4], args[5], args[6],
                                               args[7], args[8], args[9]);
break;
case 11:
((void (*)(int32_t *, int32_t *, void *, void *, void *, void *, void *, void *,
           void *, void *, void *, void *,
           void *))fn)(&global_tid, &bound_tid, args[0], args[1], args[2],
                       args[3], args[4], args[5], args[6], args[7], args[8],
                       args[9], args[10]);
break;
case 12:
((void (*)(int32_t *, int32_t *, void *, void *, void *, void *, void *, void *,
           void *, void *, void *, void *, void *,
           void *))fn)(&global_tid, &bound_tid, args[0], args[1], args[2],
                       args[3], args[4], args[5], args[6], args[7], args[8],
                       args[9], args[10], args[11]);
break;
case 13:
((void (*)(int32_t *, int32_t *, void *, void *, void *, void *, void *, void *,
           void *, void *, void *, void *, void *, void *,
           void *))fn)(&global_tid, &bound_tid, args[0], args[1], args[2],
                       args[3], args[4], args[5], args[6], args[7], args[8],
                       args[9], args[10], args[11], args[12]);
break;
case 14:
((void (*)(int32_t *, int32_t *, void *, void *, void *, void *, void *, void *,
           void *, void *, void *, void *, void *, void *, void *,
           void *))fn)(&global_tid, &bound_tid, args[0], args[1], args[2],
                       args[3], args[4], args[5], args[6], args[7], args[8],
                       args[9], args[10], args[11], args[12], args[13]);
break;
case 15:
((void (*)(int32_t *, int32_t *, void *, void *, void *, void *, void *, void *,
           void *, void *, void *, void *, void *, void *, void *, void *,
           void *))fn)(&global_tid, &bound_tid, args[0], args[1], args[2],
                       args[3], args[4], args[5], args[6], args[7], args[8],
                       args[9], args[10], args[11], args[12], args[13],
                       args[14]);
break;
case 16:
((void (*)(int32_t *, int32_t *, void *, void *, void *, void *, void *, void *,
           void *, void *, void *, void *, void *, void *, void *, void *,
           void *, void *))fn)(&global_tid, &bound_tid, args[0], args[1],
                               args[2], args[3], args[4], args[5], args[6],
                               args[7], args[8], args[9], args[10], args[11],
                               args[12], args[13], args[14], args[15]);
break;
case 17:
((void (*)(int32_t *, int32_t *, void *, void *, void *, void *, void *, void *,
           void *, void *, void *, void *, void *, void *, void *, void *,
           void *, void *, void *))fn)(&global_tid, &bound_tid, args[0],
                                       args[1], args[2], args[3], args[4],
                                       args[5], args[6], args[7], args[8],
                                       args[9], args[10], args[11], args[12],
                                       args[13], args[14], args[15], args[16]);
break;
case 18:
((void (*)(int32_t *, int32_t *, void *, void *, void *, void *, void *, void *,
           void *, void *, void *, void *, void *, void *, void *, void *,
           void *, void *, void *,
           void *))fn)(&global_tid, &bound_tid, args[0], args[1], args[2],
                       args[3], args[4], args[5], args[6], args[7], args[8],
                       args[9], args[10], args[11], args[12], args[13],
                       args[14], args[15], args[16], args[17]);
break;
case 19:
((void (*)(int32_t *, int32_t *, void *, void *, void *, void *, void *, void *,
           void *, void *, void *, void *, void *, void *, void *, void *,
           void *, void *, void *, void *,
           void *))fn)(&global_tid, &bound_tid, args[0], args[1], args[2],
                       args[3], args[4], args[5], args[6], args[7], args[8],
                       args[9], args[10], args[11], args[12], args[13],
                       args[14], args[15], args[16], args[17], args[18]);
break;
case 20:
((void (*)(int32_t *, int32_t *, void *, void *, void *, void *, void *, void *,
           void *, void *, void *, void *, void *, void *, void *, void *,
           void *, void *, void *, void *, void *, void *))fn)(
    &global_tid, &bound_tid, args[0], args[1], args[2], args[3], args[4],
    args[5], args[6], args[7], args[8], args[9], args[10], args[11], args[12],
    args[13], args[14], args[15], args[16], args[17], args[18], args[19]);
break;
case 21:
((void (*)(int32_t *, int32_t *, void *, void *, void *, void *, void *, void *,
           void *, void *, void *, void *, void *, void *, void *, void *,
           void *, void *, void *, void *, void *, void *,
           void *))fn)(&global_tid, &bound_tid, args[0], args[1], args[2],
                       args[3], args[4], args[5], args[6], args[7], args[8],
                       args[9], args[10], args[11], args[12], args[13],
                       args[14], args[15], args[16], args[17], args[18],
                       args[19], args[20]);
break;
case 22:
((void (*)(int32_t *, int32_t *, void *, void *, void *, void *, void *, void *,
           void *, void *, void *, void *, void *, void *, void *, void *,
           void *, void *, void *, void *, void *, void *, void *,
           void *))fn)(&global_tid, &bound_tid, args[0], args[1], args[2],
                       args[3], args[4], args[5], args[6], args[7], args[8],
                       args[9], args[10], args[11], args[12], args[13],
                       args[14], args[15], args[16], args[17], args[18],
                       args[19], args[20], args[21]);
break;
case 23:
((void (*)(int32_t *, int32_t *, void *, void *, void *, void *, void *, void *,
           void *, void *, void *, void *, void *, void *, void *, void *,
           void *, void *, void *, void *, void *, void *, void *, void *,
           void *))fn)(&global_tid, &bound_tid, args[0], args[1], args[2],
                       args[3], args[4], args[5], args[6], args[7], args[8],
                       args[9], args[10], args[11], args[12], args[13],
                       args[14], args[15], args[16], args[17], args[18],
                       args[19], args[20], args[21], args[22]);
break;
case 24:
((void (*)(int32_t *, int32_t *, void *, void *, void *, void *, void *, void *,
           void *, void *, void *, void *, void *, void *, void *, void *,
           void *, void *, void *, void *, void *, void *, void *, void *,
           void *, void *))fn)(&global_tid, &bound_tid, args[0], args[1],
                               args[2], args[3], args[4], args[5], args[6],
                               args[7], args[8], args[9], args[10], args[11],
                               args[12], args[13], args[14], args[15], args[16],
                               args[17], args[18], args[19], args[20], args[21],
                               args[22], args[23]);
break;
case 25:
((void (*)(int32_t *, int32_t *, void *, void *, void *, void *, void *, void *,
           void *, void *, void *, void *, void *, void *, void *, void *,
           void *, void *, void *, void *, void *, void *, void *, void *,
           void *, void *, void *))fn)(&global_tid, &bound_tid, args[0],
                                       args[1], args[2], args[3], args[4],
                                       args[5], args[6], args[7], args[8],
                                       args[9], args[10], args[11], args[12],
                                       args[13], args[14], args[15], args[16],
                                       args[17], args[18], args[19], args[20],
                                       args[21], args[22], args[23], args[24]);
break;
case 26:
((void (*)(int32_t *, int32_t *, void *, void *, void *, void *, void *, void *,
           void *, void *, void *, void *, void *, void *, void *, void *,
           void *, void *, void *, void *, void *, void *, void *, void *,
           void *, void *, void *, void *))fn)(
    &global_tid, &bound_tid, args[0], args[1], args[2], args[3], args[4],
    args[5], args[6], args[7], args[8], args[9], args[10], args[11], args[12],
    args[13], args[14], args[15], args[16], args[17], args[18], args[19],
    args[20], args[21], args[22], args[23], args[24], args[25]);
break;
case 27:
((void (*)(int32_t *, int32_t *, void *, void *, void *, void *, void *, void *,
           void *, void *, void *, void *, void *, void *, void *, void *,
           void *, void *, void *, void *, void *, void *, void *, void *,
           void *, void *, void *, void *, void *))fn)(
    &global_tid, &bound_tid, args[0], args[1], args[2], args[3], args[4],
    args[5], args[6], args[7], args[8], args[9], args[10], args[11], args[12],
    args[13], args[14], args[15], args[16], args[17], args[18], args[19],
    args[20], args[21], args[22], args[23], args[24], args[25], args[26]);
break;
case 28:
((void (*)(int32_t *, int32_t *, void *, void *, void *, void *, void *, void *,
           void *, void *, void *, void *, void *, void *, void *, void *,
           void *, void *, void *, void *, void *, void *, void *, void *,
           void *, void *, void *, void *, void *,
           void *))fn)(&global_tid, &bound_tid, args[0], args[1], args[2],
                       args[3], args[4], args[5], args[6], args[7], args[8],
                       args[9], args[10], args[11], args[12], args[13],
                       args[14], args[15], args[16], args[17], args[18],
                       args[19], args[20], args[21], args[22], args[23],
                       args[24], args[25], args[26], args[27]);
break;
case 29:
((void (*)(int32_t *, int32_t *, void *, void *, void *, void *, void *, void *,
           void *, void *, void *, void *, void *, void *, void *, void *,
           void *, void *, void *, void *, void *, void *, void *, void *,
           void *, void *, void *, void *, void *, void *,
           void *))fn)(&global_tid, &bound_tid, args[0], args[1], args[2],
                       args[3], args[4], args[5], args[6], args[7], args[8],
                       args[9], args[10], args[11], args[12], args[13],
                       args[14], args[15], args[16], args[17], args[18],
                       args[19], args[20], args[21], args[22], args[23],
                       args[24], args[25], args[26], args[27], args[28]);
break;
case 30:
((void (*)(int32_t *, int32_t *, void *, void *, void *, void *, void *, void *,
           void *, void *, void *, void *, void *, void *, void *, void *,
           void *, void *, void *, void *, void *, void *, void *, void *,
           void *, void *, void *, void *, void *, void *, void *, void *))fn)(
    &global_tid, &bound_tid, args[0], args[1], args[2], args[3], args[4],
    args[5], args[6], args[7], args[8], args[9], args[10], args[11], args[12],
    args[13], args[14], args[15], args[16], args[17], args[18], args[19],
    args[20], args[21], args[22], args[23], args[24], args[25], args[26],
    args[27], args[28], args[29]);
break;
case 31:
((void (*)(int32_t *, int32_t *, void *, void *, void *, void *, void *, void *,
           void *, void *, void *, void *, void *, void *, void *, void *,
           void *, void *, void *, void *, void *, void *, void *, void *,
           void *, void *, void *, void *, void *, void *, void *, void *,
           void *))fn)(&global_tid, &bound_tid, args[0], args[1], args[2],
                       args[3], args[4], args[5], args[6], args[7], args[8],
                       args[9], args[10], args[11], args[12], args[13],
                       args[14], args[15], args[16], args[17], args[18],
                       args[19], args[20], args[21], args[22], args[23],
                       args[24], args[25], args[26], args[27], args[28],
                       args[29], args[30]);
break;
case 32:
((void (*)(int32_t *, int32_t *, void *, void *, void *, void *, void *, void *,
           void *, void *, void *, void *, void *, void *, void *, void *,
           void *, void *, void *, void *, void *, void *, void *, void *,
           void *, void *, void *, void *, void *, void *, void *, void *,
           void *, void *))fn)(&global_tid, &bound_tid, args[0], args[1],
                               args[2], args[3], args[4], args[5], args[6],
                               args[7], args[8], args[9], args[10], args[11],
                               args[12], args[13], args[14], args[15], args[16],
                               args[17], args[18], args[19], args[20], args[21],
                               args[22], args[23], args[24], args[25], args[26],
                               args[27], args[28], args[29], args[30],
                               args[31]);
break;
case 33:
((void (*)(int32_t *, int32_t *, void *, void *, void *, void *, void *, void *,
           void *, void *, void *, void *, void *, void *, void *, void *,
           void *, void *, void *, void *, void *, void *, void *, void *,
           void *, void *, void *, void *, void *, void *, void *, void *,
           void *, void *, void *))fn)(
    &global_tid, &bound_tid, args[0], args[1], args[2], args[3], args[4],
    args[5], args[6], args[7], args[8], args[9], args[10], args[11], args[12],
    args[13], args[14], args[15], args[16], args[17], args[18], args[19],
    args[20], args[21], args[22], args[23], args[24], args[25], args[26],
    args[27], args[28], args[29], args[30], args[31], args[32]);
break;
case 34:
((void (*)(int32_t *, int32_t *, void *, void *, void *, void *, void *, void *,
           void *, void *, void *, void *, void *, void *, void *, void *,
           void *, void *, void *, void *, void *, void *, void *, void *,
           void *, void *, void *, void *, void *, void *, void *, void *,
           void *, void *, void *, void *))fn)(
    &global_tid, &bound_tid, args[0], args[1], args[2], args[3], args[4],
    args[5], args[6], args[7], args[8], args[9], args[10], args[11], args[12],
    args[13], args[14], args[15], args[16], args[17], args[18], args[19],
    args[20], args[21], args[22], args[23], args[24], args[25], args[26],
    args[27], args[28], args[29], args[30], args[31], args[32], args[33]);
break;
case 35:
((void (*)(int32_t *, int32_t *, void *, void *, void *, void *, void *, void *,
           void *, void *, void *, void *, void *, void *, void *, void *,
           void *, void *, void *, void *, void *, void *, void *, void *,
           void *, void *, void *, void *, void *, void *, void *, void *,
           void *, void *, void *, void *, void *))fn)(
    &global_tid, &bound_tid, args[0], args[1], args[2], args[3], args[4],
    args[5], args[6], args[7], args[8], args[9], args[10], args[11], args[12],
    args[13], args[14], args[15], args[16], args[17], args[18], args[19],
    args[20], args[21], args[22], args[23], args[24], args[25], args[26],
    args[27], args[28], args[29], args[30], args[31], args[32], args[33],
    args[34]);
break;
case 36:
((void (*)(int32_t *, int32_t *, void *, void *, void *, void *, void *, void *,
           void *, void *, void *, void *, void *, void *, void *, void *,
           void *, void *, void *, void *, void *, void *, void *, void *,
           void *, void *, void *, void *, void *, void *, void *, void *,
           void *, void *, void *, void *, void *, void *))fn)(
    &global_tid, &bound_tid, args[0], args[1], args[2], args[3], args[4],
    args[5], args[6], args[7], args[8], args[9], args[10], args[11], args[12],
    args[13], args[14], args[15], args[16], args[17], args[18], args[19],
    args[20], args[21], args[22], args[23], args[24], args[25], args[26],
    args[27], args[28], args[29], args[30], args[31], args[32], args[33],
    args[34], args[35]);
break;
case 37:
((void (*)(int32_t *, int32_t *, void *, void *, void *, void *, void *, void *,
           void *, void *, void *, void *, void *, void *, void *, void *,
           void *, void *, void *, void *, void *, void *, void *, void *,
           void *, void *, void *, void *, void *, void *, void *, void *,
           void *, void *, void *, void *, void *, void *, void *))fn)(
    &global_tid, &bound_tid, args[0], args[1], args[2], args[3], args[4],
    args[5], args[6], args[7], args[8], args[9], args[10], args[11], args[12],
    args[13], args[14], args[15], args[16], args[17], args[18], args[19],
    args[20], args[21], args[22], args[23], args[24], args[25], args[26],
    args[27], args[28], args[29], args[30], args[31], args[32], args[33],
    args[34], args[35], args[36]);
break;
case 38:
((void (*)(int32_t *, int32_t *, void *, void *, void *, void *, void *, void *,
           void *, void *, void *, void *, void *, void *, void *, void *,
           void *, void *, void *, void *, void *, void *, void *, void *,
           void *, void *, void *, void *, void *, void *, void *, void *,
           void *, void *, void *, void *, void *, void *, void *, void *))fn)(
    &global_tid, &bound_tid, args[0], args[1], args[2], args[3], args[4],
    args[5], args[6], args[7], args[8], args[9], args[10], args[11], args[12],
    args[13], args[14], args[15], args[16], args[17], args[18], args[19],
    args[20], args[21], args[22], args[23], args[24], args[25], args[26],
    args[27], args[28], args[29], args[30], args[31], args[32], args[33],
    args[34], args[35], args[36], args[37]);
break;
case 39:
((void (*)(int32_t *, int32_t *, void *, void *, void *, void *, void *, void *,
           void *, void *, void *, void *, void *, void *, void *, void *,
           void *, void *, void *, void *, void *, void *, void *, void *,
           void *, void *, void *, void *, void *, void *, void *, void *,
           void *, void *, void *, void *, void *, void *, void *, void *,
           void *))fn)(&global_tid, &bound_tid, args[0], args[1], args[2],
                       args[3], args[4], args[5], args[6], args[7], args[8],
                       args[9], args[10], args[11], args[12], args[13],
                       args[14], args[15], args[16], args[17], args[18],
                       args[19], args[20], args[21], args[22], args[23],
                       args[24], args[25], args[26], args[27], args[28],
                       args[29], args[30], args[31], args[32], args[33],
                       args[34], args[35], args[36], args[37], args[38]);
break;
case 40:
((void (*)(int32_t *, int32_t *, void *, void *, void *, void *, void *, void *,
           void *, void *, void *, void *, void *, void *, void *, void *,
           void *, void *, void *, void *, void *, void *, void *, void *,
           void *, void *, void *, void *, void *, void *, void *, void *,
           void *, void *, void *, void *, void *, void *, void *, void *,
           void *, void *))fn)(&global_tid, &bound_tid, args[0], args[1],
                               args[2], args[3], args[4], args[5], args[6],
                               args[7], args[8], args[9], args[10], args[11],
                               args[12], args[13], args[14], args[15], args[16],
                               args[17], args[18], args[19], args[20], args[21],
                               args[22], args[23], args[24], args[25], args[26],
                               args[27], args[28], args[29], args[30], args[31],
                               args[32], args[33], args[34], args[35], args[36],
                               args[37], args[38], args[39]);
break;
case 41:
((void (*)(int32_t *, int32_t *, void *, void *, void *, void *, void *, void *,
           void *, void *, void *, void *, void *, void *, void *, void *,
           void *, void *, void *, void *, void *, void *, void *, void *,
           void *, void *, void *, void *, void *, void *, void *, void *,
           void *, void *, void *, void *, void *, void *, void *, void *,
           void *, void *, void *))fn)(
    &global_tid, &bound_tid, args[0], args[1], args[2], args[3], args[4],
    args[5], args[6], args[7], args[8], args[9], args[10], args[11], args[12],
    args[13], args[14], args[15], args[16], args[17], args[18], args[19],
    args[20], args[21], args[22], args[23], args[24], args[25], args[26],
    args[27], args[28], args[29], args[30], args[31], args[32], args[33],
    args[34], args[35], args[36], args[37], args[38], args[39], args[40]);
break;
case 42:
((void (*)(int32_t *, int32_t *, void *, void *, void *, void *, void *, void *,
           void *, void *, void *, void *, void *, void *, void *, void *,
           void *, void *, void *, void *, void *, void *, void *, void *,
           void *, void *, void *, void *, void *, void *, void *, void *,
           void *, void *, void *, void *, void *, void *, void *, void *,
           void *, void *, void *, void *))fn)(
    &global_tid, &bound_tid, args[0], args[1], args[2], args[3], args[4],
    args[5], args[6], args[7], args[8], args[9], args[10], args[11], args[12],
    args[13], args[14], args[15], args[16], args[17], args[18], args[19],
    args[20], args[21], args[22], args[23], args[24], args[25], args[26],
    args[27], args[28], args[29], args[30], args[31], args[32], args[33],
    args[34], args[35], args[36], args[37], args[38], args[39], args[40],
    args[41]);
break;
case 43:
((void (*)(int32_t *, int32_t *, void *, void *, void *, void *, void *, void *,
           void *, void *, void *, void *, void *, void *, void *, void *,
           void *, void *, void *, void *, void *, void *, void *, void *,
           void *, void *, void *, void *, void *, void *, void *, void *,
           void *, void *, void *, void *, void *, void *, void *, void *,
           void *, void *, void *, void *, void *))fn)(
    &global_tid, &bound_tid, args[0], args[1], args[2], args[3], args[4],
    args[5], args[6], args[7], args[8], args[9], args[10], args[11], args[12],
    args[13], args[14], args[15], args[16], args[17], args[18], args[19],
    args[20], args[21], args[22], args[23], args[24], args[25], args[26],
    args[27], args[28], args[29], args[30], args[31], args[32], args[33],
    args[34], args[35], args[36], args[37], args[38], args[39], args[40],
    args[41], args[42]);
break;
case 44:
((void (*)(int32_t *, int32_t *, void *, void *, void *, void *, void *, void *,
           void *, void *, void *, void *, void *, void *, void *, void *,
           void *, void *, void *, void *, void *, void *, void *, void *,
           void *, void *, void *, void *, void *, void *, void *, void *,
           void *, void *, void *, void *, void *, void *, void *, void *,
           void *, void *, void *, void *, void *, void *))fn)(
    &global_tid, &bound_tid, args[0], args[1], args[2], args[3], args[4],
    args[5], args[6], args[7], args[8], args[9], args[10], args[11], args[12],
    args[13], args[14], args[15], args[16], args[17], args[18], args[19],
    args[20], args[21], args[22], args[23], args[24], args[25], args[26],
    args[27], args[28], args[29], args[30], args[31], args[32], args[33],
    args[34], args[35], args[36], args[37], args[38], args[39], args[40],
    args[41], args[42], args[43]);
break;
case 45:
((void (*)(int32_t *, int32_t *, void *, void *, void *, void *, void *, void *,
           void *, void *, void *, void *, void *, void *, void *, void *,
           void *, void *, void *, void *, void *, void *, void *, void *,
           void *, void *, void *, void *, void *, void *, void *, void *,
           void *, void *, void *, void *, void *, void *, void *, void *,
           void *, void *, void *, void *, void *, void *, void *))fn)(
    &global_tid, &bound_tid, args[0], args[1], args[2], args[3], args[4],
    args[5], args[6], args[7], args[8], args[9], args[10], args[11], args[12],
    args[13], args[14], args[15], args[16], args[17], args[18], args[19],
    args[20], args[21], args[22], args[23], args[24], args[25], args[26],
    args[27], args[28], args[29], args[30], args[31], args[32], args[33],
    args[34], args[35], args[36], args[37], args[38], args[39], args[40],
    args[41], args[42], args[43], args[44]);
break;
case 46:
((void (*)(int32_t *, int32_t *, void *, void *, void *, void *, void *, void *,
           void *, void *, void *, void *, void *, void *, void *, void *,
           void *, void *, void *, void *, void *, void *, void *, void *,
           void *, void *, void *, void *, void *, void *, void *, void *,
           void *, void *, void *, void *, void *, void *, void *, void *,
           void *, void *, void *, void *, void *, void *, void *, void *))fn)(
    &global_tid, &bound_tid, args[0], args[1], args[2], args[3], args[4],
    args[5], args[6], args[7], args[8], args[9], args[10], args[11], args[12],
    args[13], args[14], args[15], args[16], args[17], args[18], args[19],
    args[20], args[21], args[22], args[23], args[24], args[25], args[26],
    args[27], args[28], args[29], args[30], args[31], args[32], args[33],
    args[34], args[35], args[36], args[37], args[38], args[39], args[40],
    args[41], args[42], args[43], args[44], args[45]);
break;
///  DONE TO HERE
case 47:
((void (*)(int32_t *, int32_t *, void *, void *, void *, void *, void *, void *,
           void *, void *, void *, void *, void *, void *, void *, void *,
           void *, void *, void *, void *, void *, void *, void *, void *,
           void *, void *, void *, void *, void *, void *, void *, void *,
           void *, void *, void *, void *, void *, void *, void *, void *,
           void *, void *, void *, void *, void *, void *, void *, void *,
           void *))fn)(&global_tid, &bound_tid, args[0], args[1], args[2],
                       args[3], args[4], args[5], args[6], args[7], args[8],
                       args[9], args[10], args[11], args[12], args[13],
                       args[14], args[15], args[16], args[17], args[18],
                       args[19], args[20], args[21], args[22], args[23],
                       args[24], args[25], args[26], args[27], args[28],
                       args[29], args[30], args[31], args[32], args[33],
                       args[34], args[35], args[36], args[37], args[38],
                       args[39], args[40], args[41], args[42], args[43],
                       args[44], args[45], args[46]);
break;
case 48:
((void (*)(int32_t *, int32_t *, void *, void *, void *, void *, void *, void *,
           void *, void *, void *, void *, void *, void *, void *, void *,
           void *, void *, void *, void *, void *, void *, void *, void *,
           void *, void *, void *, void *, void *, void *, void *, void *,
           void *, void *, void *, void *, void *, void *, void *, void *,
           void *, void *, void *, void *, void *, void *, void *, void *,
           void *, void *))fn)(
    &global_tid, &bound_tid, args[0], args[1], args[2], args[3], args[4],
    args[5], args[6], args[7], args[8], args[9], args[10], args[11], args[12],
    args[13], args[14], args[15], args[16], args[17], args[18], args[19],
    args[20], args[21], args[22], args[23], args[24], args[25], args[26],
    args[27], args[28], args[29], args[30], args[31], args[32], args[33],
    args[34], args[35], args[36], args[37], args[38], args[39], args[40],
    args[41], args[42], args[43], args[44], args[45], args[46], args[47]);
break;
case 49:
((void (*)(int32_t *, int32_t *, void *, void *, void *, void *, void *, void *,
           void *, void *, void *, void *, void *, void *, void *, void *,
           void *, void *, void *, void *, void *, void *, void *, void *,
           void *, void *, void *, void *, void *, void *, void *, void *,
           void *, void *, void *, void *, void *, void *, void *, void *,
           void *, void *, void *, void *, void *, void *, void *, void *,
           void *, void *, void *))fn)(
    &global_tid, &bound_tid, args[0], args[1], args[2], args[3], args[4],
    args[5], args[6], args[7], args[8], args[9], args[10], args[11], args[12],
    args[13], args[14], args[15], args[16], args[17], args[18], args[19],
    args[20], args[21], args[22], args[23], args[24], args[25], args[26],
    args[27], args[28], args[29], args[30], args[31], args[32], args[33],
    args[34], args[35], args[36], args[37], args[38], args[39], args[40],
    args[41], args[42], args[43], args[44], args[45], args[46], args[47],
    args[48]);
break;
case 50:
((void (*)(int32_t *, int32_t *, void *, void *, void *, void *, void *, void *,
           void *, void *, void *, void *, void *, void *, void *, void *,
           void *, void *, void *, void *, void *, void *, void *, void *,
           void *, void *, void *, void *, void *, void *, void *, void *,
           void *, void *, void *, void *, void *, void *, void *, void *,
           void *, void *, void *, void *, void *, void *, void *, void *,
           void *, void *, void *, void *))fn)(
    &global_tid, &bound_tid, args[0], args[1], args[2], args[3], args[4],
    args[5], args[6], args[7], args[8], args[9], args[10], args[11], args[12],
    args[13], args[14], args[15], args[16], args[17], args[18], args[19],
    args[20], args[21], args[22], args[23], args[24], args[25], args[26],
    args[27], args[28], args[29], args[30], args[31], args[32], args[33],
    args[34], args[35], args[36], args[37], args[38], args[39], args[40],
    args[41], args[42], args[43], args[44], args[45], args[46], args[47],
    args[48], args[49]);
break;
case 51:
((void (*)(int32_t *, int32_t *, void *, void *, void *, void *, void *, void *,
           void *, void *, void *, void *, void *, void *, void *, void *,
           void *, void *, void *, void *, void *, void *, void *, void *,
           void *, void *, void *, void *, void *, void *, void *, void *,
           void *, void *, void *, void *, void *, void *, void *, void *,
           void *, void *, void *, void *, void *, void *, void *, void *,
           void *, void *, void *, void *, void *))fn)(
    &global_tid, &bound_tid, args[0], args[1], args[2], args[3], args[4],
    args[5], args[6], args[7], args[8], args[9], args[10], args[11], args[12],
    args[13], args[14], args[15], args[16], args[17], args[18], args[19],
    args[20], args[21], args[22], args[23], args[24], args[25], args[26],
    args[27], args[28], args[29], args[30], args[31], args[32], args[33],
    args[34], args[35], args[36], args[37], args[38], args[39], args[40],
    args[41], args[42], args[43], args[44], args[45], args[46], args[47],
    args[48], args[49], args[50]);
break;
case 52:
((void (*)(int32_t *, int32_t *, void *, void *, void *, void *, void *, void *,
           void *, void *, void *, void *, void *, void *, void *, void *,
           void *, void *, void *, void *, void *, void *, void *, void *,
           void *, void *, void *, void *, void *, void *, void *, void *,
           void *, void *, void *, void *, void *, void *, void *, void *,
           void *, void *, void *, void *, void *, void *, void *, void *,
           void *, void *, void *, void *, void *, void *))fn)(
    &global_tid, &bound_tid, args[0], args[1], args[2], args[3], args[4],
    args[5], args[6], args[7], args[8], args[9], args[10], args[11], args[12],
    args[13], args[14], args[15], args[16], args[17], args[18], args[19],
    args[20], args[21], args[22], args[23], args[24], args[25], args[26],
    args[27], args[28], args[29], args[30], args[31], args[32], args[33],
    args[34], args[35], args[36], args[37], args[38], args[39], args[40],
    args[41], args[42], args[43], args[44], args[45], args[46], args[47],
    args[48], args[49], args[50], args[51]);
break;
case 53:
((void (*)(int32_t *, int32_t *, void *, void *, void *, void *, void *, void *,
           void *, void *, void *, void *, void *, void *, void *, void *,
           void *, void *, void *, void *, void *, void *, void *, void *,
           void *, void *, void *, void *, void *, void *, void *, void *,
           void *, void *, void *, void *, void *, void *, void *, void *,
           void *, void *, void *, void *, void *, void *, void *, void *,
           void *, void *, void *, void *, void *, void *, void *))fn)(
    &global_tid, &bound_tid, args[0], args[1], args[2], args[3], args[4],
    args[5], args[6], args[7], args[8], args[9], args[10], args[11], args[12],
    args[13], args[14], args[15], args[16], args[17], args[18], args[19],
    args[20], args[21], args[22], args[23], args[24], args[25], args[26],
    args[27], args[28], args[29], args[30], args[31], args[32], args[33],
    args[34], args[35], args[36], args[37], args[38], args[39], args[40],
    args[41], args[42], args[43], args[44], args[45], args[46], args[47],
    args[48], args[49], args[50], args[51], args[52]);
break;
case 54:
((void (*)(int32_t *, int32_t *, void *, void *, void *, void *, void *, void *,
           void *, void *, void *, void *, void *, void *, void *, void *,
           void *, void *, void *, void *, void *, void *, void *, void *,
           void *, void *, void *, void *, void *, void *, void *, void *,
           void *, void *, void *, void *, void *, void *, void *, void *,
           void *, void *, void *, void *, void *, void *, void *, void *,
           void *, void *, void *, void *, void *, void *, void *, void *))fn)(
    &global_tid, &bound_tid, args[0], args[1], args[2], args[3], args[4],
    args[5], args[6], args[7], args[8], args[9], args[10], args[11], args[12],
    args[13], args[14], args[15], args[16], args[17], args[18], args[19],
    args[20], args[21], args[22], args[23], args[24], args[25], args[26],
    args[27], args[28], args[29], args[30], args[31], args[32], args[33],
    args[34], args[35], args[36], args[37], args[38], args[39], args[40],
    args[41], args[42], args[43], args[44], args[45], args[46], args[47],
    args[48], args[49], args[50], args[51], args[52], args[53]);
break;
case 55:
((void (*)(int32_t *, int32_t *, void *, void *, void *, void *, void *, void *,
           void *, void *, void *, void *, void *, void *, void *, void *,
           void *, void *, void *, void *, void *, void *, void *, void *,
           void *, void *, void *, void *, void *, void *, void *, void *,
           void *, void *, void *, void *, void *, void *, void *, void *,
           void *, void *, void *, void *, void *, void *, void *, void *,
           void *, void *, void *, void *, void *, void *, void *, void *,
           void *))fn)(
    &global_tid, &bound_tid, args[0], args[1], args[2], args[3], args[4],
    args[5], args[6], args[7], args[8], args[9], args[10], args[11], args[12],
    args[13], args[14], args[15], args[16], args[17], args[18], args[19],
    args[20], args[21], args[22], args[23], args[24], args[25], args[26],
    args[27], args[28], args[29], args[30], args[31], args[32], args[33],
    args[34], args[35], args[36], args[37], args[38], args[39], args[40],
    args[41], args[42], args[43], args[44], args[45], args[46], args[47],
    args[48], args[49], args[50], args[51], args[52], args[53], args[54]);
break;
case 56:
((void (*)(int32_t *, int32_t *, void *, void *, void *, void *, void *, void *,
           void *, void *, void *, void *, void *, void *, void *, void *,
           void *, void *, void *, void *, void *, void *, void *, void *,
           void *, void *, void *, void *, void *, void *, void *, void *,
           void *, void *, void *, void *, void *, void *, void *, void *,
           void *, void *, void *, void *, void *, void *, void *, void *,
           void *, void *, void *, void *, void *, void *, void *, void *,
           void *, void *))fn)(&global_tid, &bound_tid, args[0], args[1],
                               args[2], args[3], args[4], args[5], args[6],
                               args[7], args[8], args[9], args[10], args[11],
                               args[12], args[13], args[14], args[15], args[16],
                               args[17], args[18], args[19], args[20], args[21],
                               args[22], args[23], args[24], args[25], args[26],
                               args[27], args[28], args[29], args[30], args[31],
                               args[32], args[33], args[34], args[35], args[36],
                               args[37], args[38], args[39], args[40], args[41],
                               args[42], args[43], args[44], args[45], args[46],
                               args[47], args[48], args[49], args[50], args[51],
                               args[52], args[53], args[54], args[55]);
break;
case 57:
((void (*)(int32_t *, int32_t *, void *, void *, void *, void *, void *, void *,
           void *, void *, void *, void *, void *, void *, void *, void *,
           void *, void *, void *, void *, void *, void *, void *, void *,
           void *, void *, void *, void *, void *, void *, void *, void *,
           void *, void *, void *, void *, void *, void *, void *, void *,
           void *, void *, void *, void *, void *, void *, void *, void *,
           void *, void *, void *, void *, void *, void *, void *, void *,
           void *, void *, void *))fn)(
    &global_tid, &bound_tid, args[0], args[1], args[2], args[3], args[4],
    args[5], args[6], args[7], args[8], args[9], args[10], args[11], args[12],
    args[13], args[14], args[15], args[16], args[17], args[18], args[19],
    args[20], args[21], args[22], args[23], args[24], args[25], args[26],
    args[27], args[28], args[29], args[30], args[31], args[32], args[33],
    args[34], args[35], args[36], args[37], args[38], args[39], args[40],
    args[41], args[42], args[43], args[44], args[45], args[46], args[47],
    args[48], args[49], args[50], args[51], args[52], args[53], args[54],
    args[55], args[56]);
break;
case 58:
((void (*)(int32_t *, int32_t *, void *, void *, void *, void *, void *, void *,
           void *, void *, void *, void *, void *, void *, void *, void *,
           void *, void *, void *, void *, void *, void *, void *, void *,
           void *, void *, void *, void *, void *, void *, void *, void *,
           void *, void *, void *, void *, void *, void *, void *, void *,
           void *, void *, void *, void *, void *, void *, void *, void *,
           void *, void *, void *, void *, void *, void *, void *, void *,
           void *, void *, void *, void *))fn)(
    &global_tid, &bound_tid, args[0], args[1], args[2], args[3], args[4],
    args[5], args[6], args[7], args[8], args[9], args[10], args[11], args[12],
    args[13], args[14], args[15], args[16], args[17], args[18], args[19],
    args[20], args[21], args[22], args[23], args[24], args[25], args[26],
    args[27], args[28], args[29], args[30], args[31], args[32], args[33],
    args[34], args[35], args[36], args[37], args[38], args[39], args[40],
    args[41], args[42], args[43], args[44], args[45], args[46], args[47],
    args[48], args[49], args[50], args[51], args[52], args[53], args[54],
    args[55], args[56], args[57]);
break;
case 59:
((void (*)(int32_t *, int32_t *, void *, void *, void *, void *, void *, void *,
           void *, void *, void *, void *, void *, void *, void *, void *,
           void *, void *, void *, void *, void *, void *, void *, void *,
           void *, void *, void *, void *, void *, void *, void *, void *,
           void *, void *, void *, void *, void *, void *, void *, void *,
           void *, void *, void *, void *, void *, void *, void *, void *,
           void *, void *, void *, void *, void *, void *, void *, void *,
           void *, void *, void *, void *, void *))fn)(
    &global_tid, &bound_tid, args[0], args[1], args[2], args[3], args[4],
    args[5], args[6], args[7], args[8], args[9], args[10], args[11], args[12],
    args[13], args[14], args[15], args[16], args[17], args[18], args[19],
    args[20], args[21], args[22], args[23], args[24], args[25], args[26],
    args[27], args[28], args[29], args[30], args[31], args[32], args[33],
    args[34], args[35], args[36], args[37], args[38], args[39], args[40],
    args[41], args[42], args[43], args[44], args[45], args[46], args[47],
    args[48], args[49], args[50], args[51], args[52], args[53], args[54],
    args[55], args[56], args[57], args[58]);
break;
case 60:
((void (*)(int32_t *, int32_t *, void *, void *, void *, void *, void *, void *,
           void *, void *, void *, void *, void *, void *, void *, void *,
           void *, void *, void *, void *, void *, void *, void *, void *,
           void *, void *, void *, void *, void *, void *, void *, void *,
           void *, void *, void *, void *, void *, void *, void *, void *,
           void *, void *, void *, void *, void *, void *, void *, void *,
           void *, void *, void *, void *, void *, void *, void *, void *,
           void *, void *, void *, void *, void *, void *))fn)(
    &global_tid, &bound_tid, args[0], args[1], args[2], args[3], args[4],
    args[5], args[6], args[7], args[8], args[9], args[10], args[11], args[12],
    args[13], args[14], args[15], args[16], args[17], args[18], args[19],
    args[20], args[21], args[22], args[23], args[24], args[25], args[26],
    args[27], args[28], args[29], args[30], args[31], args[32], args[33],
    args[34], args[35], args[36], args[37], args[38], args[39], args[40],
    args[41], args[42], args[43], args[44], args[45], args[46], args[47],
    args[48], args[49], args[50], args[51], args[52], args[53], args[54],
    args[55], args[56], args[57], args[58], args[59]);
break;
case 61:
((void (*)(int32_t *, int32_t *, void *, void *, void *, void *, void *, void *,
           void *, void *, void *, void *, void *, void *, void *, void *,
           void *, void *, void *, void *, void *, void *, void *, void *,
           void *, void *, void *, void *, void *, void *, void *, void *,
           void *, void *, void *, void *, void *, void *, void *, void *,
           void *, void *, void *, void *, void *, void *, void *, void *,
           void *, void *, void *, void *, void *, void *, void *, void *,
           void *, void *, void *, void *, void *, void *, void *))fn)(
    &global_tid, &bound_tid, args[0], args[1], args[2], args[3], args[4],
    args[5], args[6], args[7], args[8], args[9], args[10], args[11], args[12],
    args[13], args[14], args[15], args[16], args[17], args[18], args[19],
    args[20], args[21], args[22], args[23], args[24], args[25], args[26],
    args[27], args[28], args[29], args[30], args[31], args[32], args[33],
    args[34], args[35], args[36], args[37], args[38], args[39], args[40],
    args[41], args[42], args[43], args[44], args[45], args[46], args[47],
    args[48], args[49], args[50], args[51], args[52], args[53], args[54],
    args[55], args[56], args[57], args[58], args[59], args[60]);
break;
case 62:
((void (*)(int32_t *, int32_t *, void *, void *, void *, void *, void *, void *,
           void *, void *, void *, void *, void *, void *, void *, void *,
           void *, void *, void *, void *, void *, void *, void *, void *,
           void *, void *, void *, void *, void *, void *, void *, void *,
           void *, void *, void *, void *, void *, void *, void *, void *,
           void *, void *, void *, void *, void *, void *, void *, void *,
           void *, void *, void *, void *, void *, void *, void *, void *,
           void *, void *, void *, void *, void *, void *, void *, void *))fn)(
    &global_tid, &bound_tid, args[0], args[1], args[2], args[3], args[4],
    args[5], args[6], args[7], args[8], args[9], args[10], args[11], args[12],
    args[13], args[14], args[15], args[16], args[17], args[18], args[19],
    args[20], args[21], args[22], args[23], args[24], args[25], args[26],
    args[27], args[28], args[29], args[30], args[31], args[32], args[33],
    args[34], args[35], args[36], args[37], args[38], args[39], args[40],
    args[41], args[42], args[43], args[44], args[45], args[46], args[47],
    args[48], args[49], args[50], args[51], args[52], args[53], args[54],
    args[55], args[56], args[57], args[58], args[59], args[60], args[61]);
break;
case 63:
((void (*)(int32_t *, int32_t *, void *, void *, void *, void *, void *, void *,
           void *, void *, void *, void *, void *, void *, void *, void *,
           void *, void *, void *, void *, void *, void *, void *, void *,
           void *, void *, void *, void *, void *, void *, void *, void *,
           void *, void *, void *, void *, void *, void *, void *, void *,
           void *, void *, void *, void *, void *, void *, void *, void *,
           void *, void *, void *, void *, void *, void *, void *, void *,
           void *, void *, void *, void *, void *, void *, void *, void *,
           void *))fn)(&global_tid, &bound_tid, args[0], args[1], args[2],
                       args[3], args[4], args[5], args[6], args[7], args[8],
                       args[9], args[10], args[11], args[12], args[13],
                       args[14], args[15], args[16], args[17], args[18],
                       args[19], args[20], args[21], args[22], args[23],
                       args[24], args[25], args[26], args[27], args[28],
                       args[29], args[30], args[31], args[32], args[33],
                       args[34], args[35], args[36], args[37], args[38],
                       args[39], args[40], args[41], args[42], args[43],
                       args[44], args[45], args[46], args[47], args[48],
                       args[49], args[50], args[51], args[52], args[53],
                       args[54], args[55], args[56], args[57], args[58],
                       args[59], args[60], args[61], args[62]);
break;
case 64:
((void (*)(int32_t *, int32_t *, void *, void *, void *, void *, void *, void *,
           void *, void *, void *, void *, void *, void *, void *, void *,
           void *, void *, void *, void *, void *, void *, void *, void *,
           void *, void *, void *, void *, void *, void *, void *, void *,
           void *, void *, void *, void *, void *, void *, void *, void *,
           void *, void *, void *, void *, void *, void *, void *, void *,
           void *, void *, void *, void *, void *, void *, void *, void *,
           void *, void *, void *, void *, void *, void *, void *, void *,
           void *, void *))fn)(
    &global_tid, &bound_tid, args[0], args[1], args[2], args[3], args[4],
    args[5], args[6], args[7], args[8], args[9], args[10], args[11], args[12],
    args[13], args[14], args[15], args[16], args[17], args[18], args[19],
    args[20], args[21], args[22], args[23], args[24], args[25], args[26],
    args[27], args[28], args[29], args[30], args[31], args[32], args[33],
    args[34], args[35], args[36], args[37], args[38], args[39], args[40],
    args[41], args[42], args[43], args[44], args[45], args[46], args[47],
    args[48], args[49], args[50], args[51], args[52], args[53], args[54],
    args[55], args[56], args[57], args[58], args[59], args[60], args[61],
    args[62], args[63]);
break;
