Bloatware contest: producing 100+ MiB executable
OK, here's another one in C, going for the vaguely defined bonus points:

#define a(x) x,x|1,x|2,x|3,x|4,x|5,x|6,x|7
#define b(x) a(x),a(x|8),a(x|16),a(x|24)
#define c(x) b(x),b(x|32),b(x|64),b(x|96)
#define d(x) c(x),c(x|128),c(x|256),c(x|384)
#define e(x) d(x),d(x|512),d(x|4&lt;&lt;8),d(x|6&lt;&lt;8)
#define f(x) e(x),e(x|2048),e(x|4096),e(x|6144)
#define g(x) f(x),f(x|8192),f(x|4&lt;&lt;12),f(x|6&lt;&lt;12)
#define h(x) g(x),g(x|2&lt;&lt;14),g(x|4&lt;&lt;14),g(x|6&lt;&lt;14)
#define i(x) h(x),h(x|2&lt;&lt;16),h(x|4&lt;&lt;16),h(x|6&lt;&lt;16)
#define j(x) i(x),i(x|2&lt;&lt;18),i(x|4&lt;&lt;18),i(x|6&lt;&lt;18)
#define k(x) j(x),j(x|2&lt;&lt;20),j(x|4&lt;&lt;20),j(x|6&lt;&lt;20)
int u,v,z[]={k(0),k(2&lt;&lt;22),k(4&lt;&lt;22),k(6&lt;&lt;22)}
int main(){for(u=v=0;u&lt;1&lt;&lt;25;u++)v|=u!=z[u];return v;}


Basically, at compile time, it build a ascending sequence of integers from 0 to 225 &minus; 1.  At runtime, it verifies that the sequence indeed contains the expected values, and if not, returns a non-zero error code.

Ps. If I did my math right, the executable should be over 100 MiB.  I'll let you know the exact size once it's done compiling...