Simplification of Tupper’s Formula for Graphing

At first, Tupper’s formula might look complicated and I bet just like me you were probably stopped from understanding by all the negatives in the power of 2 sequences. Even a computer would crash if it were to raise 2 to a large negative power in that way. However, the negatives are obviously clouding what is really happening. So let me clarify it further to see if you understand. I have factored out the -1 and added brackets. Surely, that is obvious by now... OK, I realise some of you might be neuronally challenged...

Does it make sense now?

As you can see the power of 2 sequences in the denominator is actually just a counter mechanism. It counts from 0 to 1801. As you can imagine 2 to the power 1801 will be a very large number.

I wonder why Mr Tupper did not write it like this in the first place. I think that perhaps mathematicians tend to rewrite their formulas to make them more formally presentable within a paper.

Another interesting thing that you can see now is that the power of two sequences in the denominator forms a binary decoding counter. If my guess is correct, its value will increment in steps of 1, 2, 4, 8, 16, 32, 64...

It is actually converting the decimal number (Tupper’s constant k) into a binary number, but throwing out only a single bit state for the relevant pixel at location x, y. It might be difficult to visualise because the constant folds into y, but actually, this is just a very simple decimal to binary converter. In fact quite embarrassingly simple, because the y/17 indicates that the constant was multiplied by17 during the encoding process, therefore in the decoding process the formula is dividing it by 17.

At this point, it looks certain to me that the whole bitmap has been converted to a large binary number, which is why the constant k is so large. It is just a massive decimal number which when you convert to binary will be the actual bitmap image. That is the only way that any decimal number can hold a binary pattern. Therefore, it is not so magical after all.

Odd or Even

Another clue from just looking at the formula, if you have not noticed, is the outermost mod sequence. Whenever you have mod (number, 2), you are dividing the number by 2 and looking for a remainder. There will be a remainder only if the number is odd. If you ever see a formula where you are dividing by 2, ignoring the remainder by using the floor function, and seeing if the result is odd, those are the telltale signs of a decimal to binary conversion process. Hey, that woodwork qualification is coming in handy! :-)

In fact, you might have done this very same process in school by converting a decimal number into binary where the teacher told you to divide the number by 2, ignore the remainder, but if the result is odd then write a 1. Then repeat the same process dividing by 2 again, and so forth...

Simpler than it looks - Back to Basics

Converting a very large decimal number into binary is simple, I think. Let me just double check, because the last time I did this I was in college, and there was this awful racist student sitting behind me giving me grief.

Result after division by 2, Binary Power of 2
667 ◄ Starting point 1 odd 1
333 1 odd 2
166 0 even 4
83 1 odd 8
41 1 odd 16
20 0 even 32
10 0 even 64
5 1 odd 128
2 0 even 256
1 1 odd 512

Starting with a decimal number 667, divide it by 2 and the result is 333.5 but you ignore everything after the decimal point and just use the largest integer value, which is the same as using the floor function. Since 333 is an odd number, you write a 1 in the binary column. Then repeat the process dividing 333 by 2 and so forth...

It is the same process here except the division is by power of two, which will bring back the value of the actual bit in question. It does not convert the whole number into binary but brings back only the value of a particular bit from the constant k.

So let us just check this supposition with the example table above to see if dividing by power of 2 works. If I divide my decimal number 667 by 512 then the result is 1.3. We ignore the remainder so the answer is 1 which is an odd number so that means binary 1.

Divide 667 by 256 gives 2.6, flooring that gives 2 which is even so that means binary 0, divide 667 by 128 is 5.2. Flooring that gives 5 which is odd so that means binary 1. As you can see, you can divide by power of 2 values to bring back the value of any particular bit in the constant that you need.

Dividing the constant k by 2n, returns the nth bit stored within the constant k, and in Tupper’s formula n is just a glorified counter mechanism that counts from zero to 1801. QED

"D'oh!" I should have seen through that one because it is the oldest trick in the book! Losing I must be, my Jedi powers...

Simplified Formula

If you want to graph the bitmap data stored in Tupper’s Constant k then as you can see the formula simplifies further as explained above.


As you can see, the formula is just a simple decimal to binary encoding scheme, where the bitmap is stored in the constant k. Since we divide k by 17, it means that the encoding process must have multiplied it by 17.

So at this point, it is obvious that k is just a large number holding a binary bitmap. The construction of k involved conversion of the binary bitmap to decimal, and then multiplication by 17.

Since k divides by 17 only once, you can bring it out of the equation to make it look simpler.

As you can see this is a simple decimal to binary converter. Well, all of this seems "nice" but we need proof that this formula actually works. Hence, I have written a JavaScript page with the code in it that shows the equation plotting Tupper’s constant k using this simplified formula. You can see the code implementation of this formula working using the following link.

Graphing Tupper’s Self-Referential Constant k Using a Simplified Formula

Encoding system

Since this has turned out to be a straightforward decoding process, the encoding formula must now also be apparent to everyone. It is just a simple binary to decimal encoding scheme. If my article gets any hits then I might write about the encoder as well. Otherwise this is all there is folks so if this article helped you with Tupper’s formula then please kindly donate to the Holocaust Memorial.

This Article Continues...

Tupper’s Self-Referential Formula Explained
Simplification of Tupper’s Formula for Graphing
How to graph Tupper’s self-referential formula
Graphing Raster Used for Tupper’s Formula
Plot Tupper’s Self-Referential Formula
How to Convert Binary (Base 2) to Decimal (Base 10)
Self-Referential Formula Plot 1
Self-Referential Formula Plot 2