Calculating pi to an arbitrary number of digits

#include "precomp.h"

unsigned long _[10000];

int F0()
{
    _[0]=20;
    _[6]=0;
    _[7]=0;
    _[0]+=2;
    _[2]=_[0];
    _[2]*=10;
    _[2]/=3;
    return _[10]=0;
}

int F1()
{
    _[1] = _[16+_[2]] * 10 + (_[3]*_[2]);
    _[3]=_[1]/(_[2]*2-1);
    _[16+_[2]] = _[1]%(_[2]*2-1);
    return _[2]--;
}

int F2()
{
    _[4] = _[7];
    _[7] = _[6]+(_[3]/10);
    return _[6] = _[3]%10;
}

int F3()
{
    _[16+_[2]] = 2;
    return _[2]--;
}

int F4()
{
    return _[5]=0;
}

int F5()
{
    _[3]=0;
    return _[2]=(_[0]*10)/3;
}

int F6()
{
    _[7]=0;
    return _[4]++;
}

int F7()
{
    _[4] += 48;
    return putchar(_[4]);
}

int F8()
{
    putchar(46);
    return _[10]++;
}

int F9()
{
    return _[5]++;
}

int F10()
{
    putchar(13);
    return getchar();
}

int F11()
{
    return _[2] <= 0;
}

int F12()
{
    return _[5] >= _[0];
}

int F13()
{
    return _[2] <= 0;
}
int F14()
{
    return _[7]!=10;
}

int F15()
{
    return _[5]==0;
}

int F16()
{
    return _[10]!=0;
}

int F17()
{
    return 1;
}

int F18()
{
    return 0;
}

void main(int argc, char *argv[])
{
A000: if(F18()) goto A001; else F0();
A001: if(F11()) goto A003; else F3();
A002: if(F17()) goto A001; else F17();
A003: if(F18()) goto A004; else F4();
A004: if(F12()) goto A013; else F5();
A005: if(F13()) goto A007; else F1();
A006: if(F17()) goto A005; else F17();
A007: if(F18()) goto A008; else F2();
A008: if(F14()) goto A009; else F6();
A009: if(F15()) goto A011; else F7();
A010: if(F16()) goto A011; else F8();
A011: if(F18()) goto A012; else F9();
A012: if(F17()) goto A004; else F17();
A013: if(F18()) goto A014; else F10();
A014:
    exit(0);
}