View difference between Paste ID: 5K4qxGr3 and
SHOW: | | - or go back to the newest paste.
1-
1+
// 1. Starting code.
2
3
#define _ -F<00||--F-OO--;
4
int F=00,OO=00;main(){F_OO();printf("%1.3f\n",4.*-F/OO/OO);}F_OO()
5
{
6
            _-_-_-_
7
       _-_-_-_-_-_-_-_-_
8
    _-_-_-_-_-_-_-_-_-_-_-_
9
  _-_-_-_-_-_-_-_-_-_-_-_-_-_
10
 _-_-_-_-_-_-_-_-_-_-_-_-_-_-_
11
 _-_-_-_-_-_-_-_-_-_-_-_-_-_-_
12
_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_
13
_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_
14
_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_
15
_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_
16
 _-_-_-_-_-_-_-_-_-_-_-_-_-_-_
17
 _-_-_-_-_-_-_-_-_-_-_-_-_-_-_
18
  _-_-_-_-_-_-_-_-_-_-_-_-_-_
19
    _-_-_-_-_-_-_-_-_-_-_-_
20
        _-_-_-_-_-_-_-_
21
            _-_-_-_
22
}
23
24
// 2. Add indentations and whitespace. 
25
26
#define _ -F<00||--F-OO--;
27
28
int F=00, OO=00;
29
30
main()
31
{
32
	F_OO();
33
	printf("%1.3f\n",4.*-F/OO/OO);
34
}
35
36
F_OO()
37
{
38
            _-_-_-_
39
       _-_-_-_-_-_-_-_-_
40
    _-_-_-_-_-_-_-_-_-_-_-_
41
  _-_-_-_-_-_-_-_-_-_-_-_-_-_
42
 _-_-_-_-_-_-_-_-_-_-_-_-_-_-_
43
 _-_-_-_-_-_-_-_-_-_-_-_-_-_-_
44
_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_
45
_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_
46
_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_
47
_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_
48
 _-_-_-_-_-_-_-_-_-_-_-_-_-_-_
49
 _-_-_-_-_-_-_-_-_-_-_-_-_-_-_
50
  _-_-_-_-_-_-_-_-_-_-_-_-_-_
51
    _-_-_-_-_-_-_-_-_-_-_-_
52
        _-_-_-_-_-_-_-_
53
            _-_-_-_
54
}
55
56
/* 3. Convert numbers from octal (indicated with a leading 0) to decimal, and simplify equation in printf statement. Thus, F/OO/OO = (F/OO)/OO = F/(OO * OO). */
57
58
#define _ -F<0||--F-OO--;
59
60
int F=0, OO=0;
61
62
main()
63
{
64
	F_OO();
65
	printf("%1.3f\n",4.*-F/(OO*OO));
66
}
67
68
F_OO()
69
{
70
            _-_-_-_
71
       _-_-_-_-_-_-_-_-_
72
    _-_-_-_-_-_-_-_-_-_-_-_
73
  _-_-_-_-_-_-_-_-_-_-_-_-_-_
74
 _-_-_-_-_-_-_-_-_-_-_-_-_-_-_
75
 _-_-_-_-_-_-_-_-_-_-_-_-_-_-_
76
_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_
77
_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_
78
_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_
79
_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_
80
 _-_-_-_-_-_-_-_-_-_-_-_-_-_-_
81
 _-_-_-_-_-_-_-_-_-_-_-_-_-_-_
82
  _-_-_-_-_-_-_-_-_-_-_-_-_-_
83
    _-_-_-_-_-_-_-_-_-_-_-_
84
        _-_-_-_-_-_-_-_
85
            _-_-_-_
86
}
87
88
/*4. The #define in the first line means "Replace every lone '_' with '-F<0||--F-OO--;' before compiling." This is where things get messy. This means that the text '-_' goes to '-F<0||--F-OO--;' Note that '--' before a variable means "decrement this variable by 1 before executing whatever statement it's in;" after a variable it means "decrement this variable by 1 after executing whatever statement it's in." Adjust in whitespace and linebreaks to make it 	readable, too.*/
89
90
int F=0, OO=0;
91
92
main()
93
{
94
	F_OO();
95
	printf("%1.3f\n",4.*-F/(OO*OO));
96
}
97
98
F_OO()
99
{
100
-F<0||--F-OO--; 
101
--F<0||--F-OO--; 
102
--F<0||--F-OO--; 
103
--F<0||--F-OO--; 
104
-F<0||--F-OO--; 
105
--F<0||--F-OO--;
106
--F<0||--F-OO--; 
107
--F<0||--F-OO--; 
108
--F<0||--F-OO--; 
109
--F<0||--F-OO--; 
110
--F<0||--F-OO--; 
111
--F<0||--F-OO--; 
112
--F<0||--F-OO--; 
113
-F<0||--F-OO--; 
114
--F<0||--F-OO--; 
115
--F<0||--F-OO--; 
116
--F<0||--F-OO--; 
117
--F<0||--F-OO--; 
118
--F<0||--F-OO--; 
119
--F<0||--F-OO--; 
120
--F<0||--F-OO--; 
121
--F<0||--F-OO--; 
122
--F<0||--F-OO--; 
123
--F<0||--F-OO--; 
124
--F<0||--F-OO--; 
125
-F<0||--F-OO--; 
126
--F<0||--F-OO--; 
127
--F<0||--F-OO--; 
128
--F<0||--F-OO--; 
129
--F<0||--F-OO--; 
130
--F<0||--F-OO--; 
131
--F<0||--F-OO--; 
132
--F<0||--F-OO--; 
133
--F<0||--F-OO--; 
134
--F<0||--F-OO--; 
135
--F<0||--F-OO--; 
136
--F<0||--F-OO--; 
137
--F<0||--F-OO--; 
138
--F<0||--F-OO--; 
139
 -F<0||--F-OO--; 
140
--F<0||--F-OO--; 
141
--F<0||--F-OO--; 
142
--F<0||--F-OO--; 
143
--F<0||--F-OO--; 
144
--F<0||--F-OO--; 
145
--F<0||--F-OO--; 
146
--F<0||--F-OO--; 
147
--F<0||--F-OO--; 
148
--F<0||--F-OO--;
149
--F<0||--F-OO--; 
150
--F<0||--F-OO--; 
151
--F<0||--F-OO--; 
152
--F<0||--F-OO--; 
153
--F<0||--F-OO--; 
154
 -F<0||--F-OO--; 
155
--F<0||--F-OO--; 
156
--F<0||--F-OO--; 
157
--F<0||--F-OO--; 
158
--F<0||--F-OO--; 
159
--F<0||--F-OO--; 
160
--F<0||--F-OO--; 
161
--F<0||--F-OO--; 
162
--F<0||--F-OO--; 
163
--F<0||--F-OO--; 
164
--F<0||--F-OO--; 
165
--F<0||--F-OO--; 
166
--F<0||--F-OO--; 
167
--F<0||--F-OO--; 
168
--F<0||--F-OO--; 
169
-F<0||--F-OO--; 
170
--F<0||--F-OO--;
171
--F<0||--F-OO--; 
172
--F<0||--F-OO--; 
173
--F<0||--F-OO--; 
174
--F<0||--F-OO--; 
175
--F<0||--F-OO--; 
176
--F<0||--F-OO--; 
177
--F<0||--F-OO--; 
178
--F<0||--F-OO--; 
179
--F<0||--F-OO--; 
180
--F<0||--F-OO--; 
181
--F<0||--F-OO--; 
182
--F<0||--F-OO--; 
183
--F<0||--F-OO--; 
184
--F<0||--F-OO--; 
185
-F<0||--F-OO--; 
186
--F<0||--F-OO--; 
187
--F<0||--F-OO--; 
188
--F<0||--F-OO--; 
189
--F<0||--F-OO--; 
190
--F<0||--F-OO--; 
191
--F<0||--F-OO--; 
192
--F<0||--F-OO--; 
193
--F<0||--F-OO--; 
194
--F<0||--F-OO--; 
195
--F<0||--F-OO--; 
196
--F<0||--F-OO--; 
197
--F<0||--F-OO--; 
198
--F<0||--F-OO--; 
199
--F<0||--F-OO--; 
200
--F<0||--F-OO--; 
201
-F<0||--F-OO--; 
202
--F<0||--F-OO--; 
203
--F<0||--F-OO--; 
204
--F<0||--F-OO--; 
205
--F<0||--F-OO--; 
206
--F<0||--F-OO--; 
207
--F<0||--F-OO--; 
208
--F<0||--F-OO--; 
209
--F<0||--F-OO--; 
210
--F<0||--F-OO--; 
211
--F<0||--F-OO--; 
212
--F<0||--F-OO--; 
213
--F<0||--F-OO--; 
214
--F<0||--F-OO--; 
215
--F<0||--F-OO--; 
216
--F<0||--F-OO--; 
217
-F<0||--F-OO--; 
218
--F<0||--F-OO--; 
219
--F<0||--F-OO--; 
220
--F<0||--F-OO--; 
221
--F<0||--F-OO--; 
222
--F<0||--F-OO--; 
223
--F<0||--F-OO--; 
224
--F<0||--F-OO--; 
225
--F<0||--F-OO--; 
226
--F<0||--F-OO--; 
227
--F<0||--F-OO--; 
228
--F<0||--F-OO--; 
229
--F<0||--F-OO--; 
230
--F<0||--F-OO--; 
231
--F<0||--F-OO--; 
232
--F<0||--F-OO--; 
233
 -F<0||--F-OO--; 
234
--F<0||--F-OO--; 
235
--F<0||--F-OO--; 
236
--F<0||--F-OO--; 
237
--F<0||--F-OO--; 
238
--F<0||--F-OO--; 
239
--F<0||--F-OO--; 
240
--F<0||--F-OO--; 
241
--F<0||--F-OO--; 
242
--F<0||--F-OO--; 
243
--F<0||--F-OO--; 
244
--F<0||--F-OO--; 
245
--F<0||--F-OO--; 
246
--F<0||--F-OO--; 
247
--F<0||--F-OO--; 
248
 -F<0||--F-OO--; 
249
--F<0||--F-OO--; 
250
--F<0||--F-OO--; 
251
--F<0||--F-OO--; 
252
--F<0||--F-OO--; 
253
--F<0||--F-OO--; 
254
--F<0||--F-OO--; 
255
--F<0||--F-OO--; 
256
--F<0||--F-OO--; 
257
--F<0||--F-OO--; 
258
--F<0||--F-OO--; 
259
--F<0||--F-OO--; 
260
--F<0||--F-OO--; 
261
--F<0||--F-OO--; 
262
--F<0||--F-OO--; 
263
-F<0||--F-OO--; 
264
--F<0||--F-OO--; 
265
--F<0||--F-OO--; 
266
--F<0||--F-OO--; 
267
--F<0||--F-OO--; 
268
--F<0||--F-OO--; 
269
--F<0||--F-OO--; 
270
--F<0||--F-OO--; 
271
--F<0||--F-OO--; 
272
--F<0||--F-OO--; 
273
--F<0||--F-OO--; 
274
--F<0||--F-OO--; 
275
--F<0||--F-OO--; 
276
--F<0||--F-OO--; 
277
-F<0||--F-OO--; 
278
--F<0||--F-OO--; 
279
--F<0||--F-OO--; 
280
--F<0||--F-OO--; 
281
--F<0||--F-OO--; 
282
--F<0||--F-OO--; 
283
--F<0||--F-OO--; 
284
--F<0||--F-OO--; 
285
--F<0||--F-OO--; 
286
--F<0||--F-OO--; 
287
--F<0||--F-OO--; 
288
--F<0||--F-OO--; 
289
-F<0||--F-OO--; 
290
--F<0||--F-OO--; 
291
--F<0||--F-OO--; 
292
--F<0||--F-OO--; 
293
--F<0||--F-OO--; 
294
--F<0||--F-OO--; 
295
--F<0||--F-OO--; 
296
--F<0||--F-OO--; 
297
-F<0||--F-OO--; 
298
--F<0||--F-OO--; 
299
--F<0||--F-OO--; 
300
--F<0||--F-OO--; 
301
}
302
303
/*5. Evaluate first statement in F_OO(), "-F<0||--F-OO--;". '||' is the 'or' logical operator. It is used as follows: 'X||Y', where X and Y are the conditions being tested. If either X or Y is true, this operator returns 1, otherwise it returns 0. Furthermore, if X is true, the operator short-circuits--that is, it doesn't bother checking Y, since it already knows X is true, satisfying the test. Since F begins at 0, the first condition being tested fails. The computer then executes the second half of the or statement, which decrements both F and OO by 1. Now, F == OO == -1. Note that whether the or statement is true or false doesn't matter; the only thing that matters is how F and OO are changed. We can now substitute this result for the first line of code in F_OO():*/
304
305
int F=0, OO=0;
306
307
main()
308
{
309
	F_OO();
310
	printf("%1.3f\n",4.*-F/(OO*OO));
311
}
312
313
F_OO()
314
{
315
F = -1;
316
OO = -1;
317
--F<0||--F-OO--; 
318
--F<0||--F-OO--; 
319
--F<0||--F-OO--; 
320
-F<0||--F-OO--; 
321
--F<0||--F-OO--;
322
--F<0||--F-OO--; 
323
--F<0||--F-OO--; 
324
--F<0||--F-OO--; 
325
--F<0||--F-OO--; 
326
--F<0||--F-OO--; 
327
--F<0||--F-OO--; 
328
--F<0||--F-OO--; 
329
-F<0||--F-OO--; 
330
--F<0||--F-OO--; 
331
--F<0||--F-OO--; 
332
--F<0||--F-OO--; 
333
--F<0||--F-OO--; 
334
--F<0||--F-OO--; 
335
--F<0||--F-OO--; 
336
--F<0||--F-OO--; 
337
--F<0||--F-OO--; 
338
--F<0||--F-OO--; 
339
--F<0||--F-OO--; 
340
--F<0||--F-OO--; 
341
-F<0||--F-OO--; 
342
--F<0||--F-OO--; 
343
--F<0||--F-OO--; 
344
--F<0||--F-OO--; 
345
--F<0||--F-OO--; 
346
--F<0||--F-OO--; 
347
--F<0||--F-OO--; 
348
--F<0||--F-OO--; 
349
--F<0||--F-OO--; 
350
--F<0||--F-OO--; 
351
--F<0||--F-OO--; 
352
--F<0||--F-OO--; 
353
--F<0||--F-OO--; 
354
--F<0||--F-OO--; 
355
 -F<0||--F-OO--; 
356
--F<0||--F-OO--; 
357
--F<0||--F-OO--; 
358
--F<0||--F-OO--; 
359
--F<0||--F-OO--; 
360
--F<0||--F-OO--; 
361
--F<0||--F-OO--; 
362
--F<0||--F-OO--; 
363
--F<0||--F-OO--; 
364
--F<0||--F-OO--;
365
--F<0||--F-OO--; 
366
--F<0||--F-OO--; 
367
--F<0||--F-OO--; 
368
--F<0||--F-OO--; 
369
--F<0||--F-OO--; 
370
 -F<0||--F-OO--; 
371
--F<0||--F-OO--; 
372
--F<0||--F-OO--; 
373
--F<0||--F-OO--; 
374
--F<0||--F-OO--; 
375
--F<0||--F-OO--; 
376
--F<0||--F-OO--; 
377
--F<0||--F-OO--; 
378
--F<0||--F-OO--; 
379
--F<0||--F-OO--; 
380
--F<0||--F-OO--; 
381
--F<0||--F-OO--; 
382
--F<0||--F-OO--; 
383
--F<0||--F-OO--; 
384
--F<0||--F-OO--; 
385
-F<0||--F-OO--; 
386
--F<0||--F-OO--;
387
--F<0||--F-OO--; 
388
--F<0||--F-OO--; 
389
--F<0||--F-OO--; 
390
--F<0||--F-OO--; 
391
--F<0||--F-OO--; 
392
--F<0||--F-OO--; 
393
--F<0||--F-OO--; 
394
--F<0||--F-OO--; 
395
--F<0||--F-OO--; 
396
--F<0||--F-OO--; 
397
--F<0||--F-OO--; 
398
--F<0||--F-OO--; 
399
--F<0||--F-OO--; 
400
--F<0||--F-OO--; 
401
-F<0||--F-OO--; 
402
--F<0||--F-OO--; 
403
--F<0||--F-OO--; 
404
--F<0||--F-OO--; 
405
--F<0||--F-OO--; 
406
--F<0||--F-OO--; 
407
--F<0||--F-OO--; 
408
--F<0||--F-OO--; 
409
--F<0||--F-OO--; 
410
--F<0||--F-OO--; 
411
--F<0||--F-OO--; 
412
--F<0||--F-OO--; 
413
--F<0||--F-OO--; 
414
--F<0||--F-OO--; 
415
--F<0||--F-OO--; 
416
--F<0||--F-OO--; 
417
-F<0||--F-OO--; 
418
--F<0||--F-OO--; 
419
--F<0||--F-OO--; 
420
--F<0||--F-OO--; 
421
--F<0||--F-OO--; 
422
--F<0||--F-OO--; 
423
--F<0||--F-OO--; 
424
--F<0||--F-OO--; 
425
--F<0||--F-OO--; 
426
--F<0||--F-OO--; 
427
--F<0||--F-OO--; 
428
--F<0||--F-OO--; 
429
--F<0||--F-OO--; 
430
--F<0||--F-OO--; 
431
--F<0||--F-OO--; 
432
--F<0||--F-OO--; 
433
-F<0||--F-OO--; 
434
--F<0||--F-OO--; 
435
--F<0||--F-OO--; 
436
--F<0||--F-OO--; 
437
--F<0||--F-OO--; 
438
--F<0||--F-OO--; 
439
--F<0||--F-OO--; 
440
--F<0||--F-OO--; 
441
--F<0||--F-OO--; 
442
--F<0||--F-OO--; 
443
--F<0||--F-OO--; 
444
--F<0||--F-OO--; 
445
--F<0||--F-OO--; 
446
--F<0||--F-OO--; 
447
--F<0||--F-OO--; 
448
--F<0||--F-OO--; 
449
 -F<0||--F-OO--; 
450
--F<0||--F-OO--; 
451
--F<0||--F-OO--; 
452
--F<0||--F-OO--; 
453
--F<0||--F-OO--; 
454
--F<0||--F-OO--; 
455
--F<0||--F-OO--; 
456
--F<0||--F-OO--; 
457
--F<0||--F-OO--; 
458
--F<0||--F-OO--; 
459
--F<0||--F-OO--; 
460
--F<0||--F-OO--; 
461
--F<0||--F-OO--; 
462
--F<0||--F-OO--; 
463
--F<0||--F-OO--; 
464
 -F<0||--F-OO--; 
465
--F<0||--F-OO--; 
466
--F<0||--F-OO--; 
467
--F<0||--F-OO--; 
468
--F<0||--F-OO--; 
469
--F<0||--F-OO--; 
470
--F<0||--F-OO--; 
471
--F<0||--F-OO--; 
472
--F<0||--F-OO--; 
473
--F<0||--F-OO--; 
474
--F<0||--F-OO--; 
475
--F<0||--F-OO--; 
476
--F<0||--F-OO--; 
477
--F<0||--F-OO--; 
478
--F<0||--F-OO--; 
479
-F<0||--F-OO--; 
480
--F<0||--F-OO--; 
481
--F<0||--F-OO--; 
482
--F<0||--F-OO--; 
483
--F<0||--F-OO--; 
484
--F<0||--F-OO--; 
485
--F<0||--F-OO--; 
486
--F<0||--F-OO--; 
487
--F<0||--F-OO--; 
488
--F<0||--F-OO--; 
489
--F<0||--F-OO--; 
490
--F<0||--F-OO--; 
491
--F<0||--F-OO--; 
492
--F<0||--F-OO--; 
493
-F<0||--F-OO--; 
494
--F<0||--F-OO--; 
495
--F<0||--F-OO--; 
496
--F<0||--F-OO--; 
497
--F<0||--F-OO--; 
498
--F<0||--F-OO--; 
499
--F<0||--F-OO--; 
500
--F<0||--F-OO--; 
501
--F<0||--F-OO--; 
502
--F<0||--F-OO--; 
503
--F<0||--F-OO--; 
504
--F<0||--F-OO--; 
505
-F<0||--F-OO--; 
506
--F<0||--F-OO--; 
507
--F<0||--F-OO--; 
508
--F<0||--F-OO--; 
509
--F<0||--F-OO--; 
510
--F<0||--F-OO--; 
511
--F<0||--F-OO--; 
512
--F<0||--F-OO--; 
513
-F<0||--F-OO--; 
514
--F<0||--F-OO--; 
515
--F<0||--F-OO--; 
516
--F<0||--F-OO--; 
517
}
518
519
/*6. Now we can evaluate every statement remaining in F_OO(). There are only two kinds. The first is "--F<0||--F-OO--;" We can read the first half of this statement, which, as we will see, is the only one that matters, as "decrement F by one, and then check if the result is less than 0". F is already less than 0, and it is never being increased throughout the entire function, so the first half of this statement is always true, meaning we can ignore the second half, "--F-OO--;" Furthermore, the result of the || operation isn't actually stored anywhere; it's just thrown away. The only thing that changes in the program's state is the value of F, which has now been decremented by 1. This means that we can replace ALL of these statements with the statement "--F;", giving us the following code:*/
520
521
int F=0, OO=0;
522
523
main()
524
{
525
	F_OO();
526
	printf("%1.3f\n",4.*-F/(OO*OO));
527
}
528
529
F_OO()
530
{
531
F = -1;
532
OO = -1;
533
--F;
534
--F;
535
--F;
536
-F<0||--F-OO--; 
537
--F;
538
--F;
539
--F;
540
--F;
541
--F;
542
--F;
543
--F;
544
--F;
545
-F<0||--F-OO--; 
546
--F;
547
--F;
548
--F;
549
--F;
550
--F;
551
--F;
552
--F;
553
--F;
554
--F;
555
--F;
556
--F;
557
-F<0||--F-OO--; 
558
--F;
559
--F;
560
--F;
561
--F;
562
--F;
563
--F;
564
--F;
565
--F;
566
--F;
567
--F;
568
--F;
569
--F;
570
--F;
571
-F<0||--F-OO--; 
572
--F;
573
--F;
574
--F;
575
--F;
576
--F;
577
--F;
578
--F;
579
--F;
580
--F;
581
--F;
582
--F;
583
--F;
584
--F;
585
--F;
586
-F<0||--F-OO--; 
587
--F;
588
--F;
589
--F;
590
--F;
591
--F;
592
--F;
593
--F;
594
--F;
595
--F;
596
--F;
597
--F;
598
--F;
599
--F;
600
--F;
601
-F<0||--F-OO--; 
602
--F;
603
--F;
604
--F;
605
--F;
606
--F;
607
--F;
608
--F;
609
--F;
610
--F;
611
--F;
612
--F;
613
--F;
614
--F;
615
--F;
616
--F;
617
-F<0||--F-OO--; 
618
--F;
619
--F;
620
--F;
621
--F;
622
--F;
623
--F;
624
--F;
625
--F;
626
--F;
627
--F;
628
--F;
629
--F;
630
--F;
631
--F;
632
--F;
633
-F<0||--F-OO--; 
634
--F;
635
--F;
636
--F;
637
--F;
638
--F;
639
--F;
640
--F;
641
--F;
642
--F;
643
--F;
644
--F;
645
--F;
646
--F;
647
--F;
648
--F;
649
-F<0||--F-OO--; 
650
--F;
651
--F;
652
--F;
653
--F;
654
--F;
655
--F;
656
--F;
657
--F;
658
--F;
659
--F;
660
--F;
661
--F;
662
--F;
663
--F;
664
--F;
665
-F<0||--F-OO--; 
666
--F;
667
--F;
668
--F;
669
--F;
670
--F;
671
--F;
672
--F;
673
--F;
674
--F;
675
--F;
676
--F;
677
--F;
678
--F;
679
--F;
680
-F<0||--F-OO--; 
681
--F;
682
--F;
683
--F;
684
--F;
685
--F;
686
--F;
687
--F;
688
--F;
689
--F;
690
--F;
691
--F;
692
--F;
693
--F;
694
--F;
695
-F<0||--F-OO--; 
696
--F;
697
--F;
698
--F;
699
--F;
700
--F;
701
--F;
702
--F;
703
--F;
704
--F;
705
--F;
706
--F;
707
--F;
708
--F;
709
-F<0||--F-OO--; 
710
--F;
711
--F;
712
--F;
713
--F;
714
--F;
715
--F;
716
--F;
717
--F;
718
--F;
719
--F;
720
--F;
721
-F<0||--F-OO--; 
722
--F;
723
--F;
724
--F;
725
--F;
726
--F;
727
--F;
728
--F;
729
-F<0||--F-OO--; 
730
--F;
731
--F;
732
--F;
733
}
734
735
/*7. We now evaluate and replace the remaining unsimplified statements in F_OO(), all of which take the form "-F<0||--F-OO--;" Since F is always negative, -F is never less than 0, so the first half of the or statement fails. The computer then evaluates the second half, "--F-OO--". Translated, this means "Decrement F by one, return F - OO, and then decrement OO by one." Since F - OO isn't actually being stored anywhere, we can simplify the statement still further to "Decrement F and OO by one," or "--F; OO--;"*/
736
737
int F=0, OO=0;
738
739
main()
740
{
741
	F_OO();
742
	printf("%1.3f\n",4.*-F/(OO*OO));
743
}
744
745
F_OO()
746
{
747
F = -1;
748
OO = -1;
749
--F;
750
--F;
751
--F;
752
--F; OO--; 
753
--F;
754
--F;
755
--F;
756
--F;
757
--F;
758
--F;
759
--F;
760
--F;
761
--F; OO--; 
762
--F;
763
--F;
764
--F;
765
--F;
766
--F;
767
--F;
768
--F;
769
--F;
770
--F;
771
--F;
772
--F;
773
--F; OO--; 
774
--F;
775
--F;
776
--F;
777
--F;
778
--F;
779
--F;
780
--F;
781
--F;
782
--F;
783
--F;
784
--F;
785
--F;
786
--F;
787
--F; OO--; 
788
--F;
789
--F;
790
--F;
791
--F;
792
--F;
793
--F;
794
--F;
795
--F;
796
--F;
797
--F;
798
--F;
799
--F;
800
--F;
801
--F;
802
--F; OO--; 
803
--F;
804
--F;
805
--F;
806
--F;
807
--F;
808
--F;
809
--F;
810
--F;
811
--F;
812
--F;
813
--F;
814
--F;
815
--F;
816
--F;
817
--F; OO--; 
818
--F;
819
--F;
820
--F;
821
--F;
822
--F;
823
--F;
824
--F;
825
--F;
826
--F;
827
--F;
828
--F;
829
--F;
830
--F;
831
--F;
832
--F;
833
--F; OO--; 
834
--F;
835
--F;
836
--F;
837
--F;
838
--F;
839
--F;
840
--F;
841
--F;
842
--F;
843
--F;
844
--F;
845
--F;
846
--F;
847
--F;
848
--F;
849
--F; OO--; 
850
--F;
851
--F;
852
--F;
853
--F;
854
--F;
855
--F;
856
--F;
857
--F;
858
--F;
859
--F;
860
--F;
861
--F;
862
--F;
863
--F;
864
--F;
865
--F; OO--; 
866
--F;
867
--F;
868
--F;
869
--F;
870
--F;
871
--F;
872
--F;
873
--F;
874
--F;
875
--F;
876
--F;
877
--F;
878
--F;
879
--F;
880
--F;
881
--F; OO--; 
882
--F;
883
--F;
884
--F;
885
--F;
886
--F;
887
--F;
888
--F;
889
--F;
890
--F;
891
--F;
892
--F;
893
--F;
894
--F;
895
--F;
896
--F; OO--; 
897
--F;
898
--F;
899
--F;
900
--F;
901
--F;
902
--F;
903
--F;
904
--F;
905
--F;
906
--F;
907
--F;
908
--F;
909
--F;
910
--F;
911
--F; OO--; 
912
--F;
913
--F;
914
--F;
915
--F;
916
--F;
917
--F;
918
--F;
919
--F;
920
--F;
921
--F;
922
--F;
923
--F;
924
--F;
925
--F; OO--; 
926
--F;
927
--F;
928
--F;
929
--F;
930
--F;
931
--F;
932
--F;
933
--F;
934
--F;
935
--F;
936
--F;
937
--F; OO--; 
938
--F;
939
--F;
940
--F;
941
--F;
942
--F;
943
--F;
944
--F;
945
--F; OO--; 
946
--F;
947
--F;
948
--F;
949
}
950
951
/*8. Execute all the decrements. Or trust me when I tell you that when all's said and done, F = -201 and OO = -16:*/
952
953
main()
954
{
955
	int F=-201, OO=-16;
956
	printf("%1.3f\n",4.*-F/(OO*OO));
957
}
958
959
/*9. Execute the math in the printf statement. 4. means "Treat this as a floating point number instead of an integer," which is important. When we do the arithmetic, 4 * -(-201)/(-16 * -16) = 804/256 = 3.140625. Substituting:*/
960
961
main()
962
{
963
	printf("%1.3f\n", 3.140625);
964
}
965
966
/*10. Execute the printf statement itself. The "%1.3f" means "Print the number after the comma, rounded to three decimal points precision." 3.140625 rounds up to 3.141: the first four digits of pi. This number is printed, and the 	program terminates:*/
967
968
main()
969
{
970
	printf("3.141");
971
}
972
973
// Anticlimactic, isn't it?