Women in Trading and Technology: www.janestreet.com/witt.html
21 to 23 September 2020 (deadline to apply: Friday 7 August 2020)
These are all of the almost-π calculations I showed:
11^6 ÷ 13 ≈ (156158413/3600)π
17^5 ÷ 11 ≈ (366494029/8920)π
11^6 ÷ 17 ≈ (119415257/3600)π
19^9 ÷ 2^3 ≈ (65249503235207/5082)π
5^9 ÷ 3 ≈ (1226819353/5920)π
7^9 ÷ 19 ≈ (2623750469/3881)π
13^5 ÷ 7 ≈ (154266801/9137)π
21^6 ÷ 5 ≈ (27818908094/5095)π
23^9 ÷ 5^4 ≈ (4030701961529/4394)π
Sheena's tweet
/ 1129114614321618951
The reddit post
/ got_this_while_doing_s...
Farey sequence
en.wikipedia.org/wiki/Farey_s...
This is the 'best rational approximation' algorithm I used:
www.johndcook.com/blog/2010/1...
I've tested it on the Casio FX-83GT PLUS and Casio FX-991EX CLASSWIZ. Let me know what calculators you have checked!
CORRECTIONS:
- At 8:30 I say "13" when I mean "11". Ignore what I say: the on-screen number is correct!
- Let me know if you spot anything else.
Thanks to my Patreon supports who do support these videos and make them possible. Here is a random subset:
Alan Flett
Nikola Studer
Philippe von Bergen
Alan McNea
Derek Chandler
Jeremy Buchanan
Alan H.
Malcolm Rowe
Glenn Watson
Patrick Stover
Support my channel and I can make more videos:
/ standupmaths
And of course thanks to Jane Street who support my channel. They're amazing.
www.janestreet.com/
Filming and editing by Matt Parker
Additional camera work by Lucie Green
That piano music is No.8 Requiem by Esther Abrami
All other music by Howard Carter
Design by Simon Wright and Adam Robinson
MATT PARKER: Stand-up Mathematician
Website: standupmaths.com/
US book: www.penguinrandomhouse.com/bo...
UK book: mathsgear.co.uk/products/5b9f...
Nerdy maths toys: mathsgear.co.uk/
A transcendental number is not the root of any integer polynomial!
mathworld.wolfram.com/Transce...
EDIT 1: I've figured it out! The reason why 11^6/17 didn't work was that it wasn't close enough! If we instead type 11^6/16.999999999995 (that's eleven 9s) we do indeed get a fractional multiple of pi. Obviously this is not an integer, but I'm sure if one tried hard enough they *could* find an integer that's close enough. Keep reading to see how I figured it out. I'm using the Casio fx-85GT PLUS, and I've noticed that there *is* in fact something special about the number 3600 (for a reason I don't understand). If we type a bunch of gibberish and divide it by 3600 (e.g. 4276161/3600), the calculator will return a bunch of gibberish (1187.8225), however if instead we multiply this gibberish by π (i.e. 4276161/3600 * π) the calculator does actually return a fractional multiple of π (475129/400 * π). If you try to divide by any number other than 3600 (say 3500), it won't work. Except that it does! This completely baffles me, but it also works with factors of 3600. Let's pick a random factor of 3600, say 240. 4276161/240 returns 17817.3375 4276161/240 * π returns 1425387/80 * π. As far as I could tell, the lowest denominator we can use is 15 (e.g. it works with 4572431/15 * π). All of this said, this still doesn't explain why the attempt where you divided by 3600 did not work. I'll keep trying, but in the meantime hopefully this helps in the quest to figure this out. BONUS: Just as I was proofreading this, I accidentally discovered that 3600 itself is a factor of an even bigger number that works, and that is 25200. So any factor of 25200 works! EDIT 2: Conclusion: If we want to find a number of the form a^b/c then we have to make sure that the result is approximately p/q * π, where q is a factor of 25200. If q is not a factor of 25200 then the calculator will never convert the answer to a fractional multiple of π.
Congratulations!
This is an underrated post. Well done! Does this mean you've found another equation you can type into a casio and have it create a multiple of pi equivalent?
I'm just spitting but 1x2x3x4x5x5x6x7 = 25200. Maybe that has something to do with how Pi is approximated
Or more likely product of odd numbers, like 3×5×7×9... Looked up approximations of pi lol
@@bryanandhallie Once you know that it's all about factors of 25200 generating solutions is somewhat trivial. You can try this on your own calculator. First, get a calculator that has more precision than the Casio (I just used the default Windows 10 calculator), then type a bunch of gibberish, divide it by a factor of 25200 and multiply by pi. Then type the exact figures that you obtain from the result into your Casio and it will return a fractional multiple of pi. This will not work if you divide by anything other than a factor of 25200! The only challenge at this point, if we want to go there, is to find some number in the form a^b/c which is close enough to one of these values.
Plot twist: It's a deliberate bug in the code to quickly check if a competitor just ripped Casio ROM and used it in their calculator. Similar to the non-existent streets on maps.
This answer is good and funny as it avoid admitting they use a buggy algorithm or implementation of it. Bad engineers with good excuses.
@@GildasCotomale 'bad engineers with good excuses' is basically just programming lol
Or dictionaries with imaginary words!
@@GildasCotomale eww linux
This!
In the Casio underground lair: "We did it! We drove mathematicians insane!" "Were they not a little bonkers before already?" "Yes, but not like this. They now step out of the house and get lost in thought in the woods."
they actually touch grass
I love how people find out about floating point standards. As a programmer myself, I can tell you this: the explanation that requires the least work to implement, is the most likely to be right.
Not floating point but BCD. Still good comment
@@licht4808 is bcd not considered floarting point? I dunno coz I'm not a computer scientist or computer engineer, never took proper education in that field
@@TheLastCrankers BCD and floating point are two different things. BCD is a way of doing base10 arithmetic with binary bits. Floating-point allows very large and very small numbers to be represented or approximated with a limited number of binary bits.
Occam’s razor
No, when it's too simple it won't work and when it's too complicated it won't work either
That one Casio engineer laughing after they intentionally added it.
That's how you know it's a genuine Casio
@@Nupetiet yea i think it was an easter egg too, designed for several applications of science
Well it's kinda cool tho
Wow, the 314th like, pi like
It could have been intentional, like a trap for other devs.
On the subject, calculator unboxings need to come back
Yes!
Yes!! For the sake of the calculator cult.
I asked for a shiny blue Casio Classwiz for Christmas and I must be the only person to get excited about that. Unboxings would make me feel less strange
HP 32SII!
I have a theory: When you tried the more accurate calculations, the calculator didn't do the same thing, as it only has pi stored to 10 decimal places, so it would've been further away!
My Casio fx-570c, that I've been using almost every day since 1989, also stores pi to only ten decimal places. In the original example, 11^6 ÷13 × 3600÷156158413 results in 3.141592654. If I divide that by the calculator's stored pi value, it gives 1 as the answer.
hmm... if you'd asked me out of context how I thought a calculator stored pi, I would say as a floating point binary constant, probably one of the standard IEEE widths, and not as some integer number of decimals. but then I would start to doubt myself because I have this vague recollection of calculators using some kind of BCD to avoid certain rounding errors without having to escalate the amount of internal precision too much. so I dunno. I guess it should be possible to come up with test cases to distinguish. if I'm ever really bored... (EDIT: I saw the pinned comment and it does seem somebody got to the bottom of this)
Shout out to the care and effort put into these videos. The marker and paper setup is good too but i love seeing creators get excited about the production and have fun with it.
agreed. its such a lovely wholesome dorkiness for him to add the bits where he's rumaging through a forest in despair. makes me smile.
TBH Matt, you're a big enough name that you could probably get Casio to look into this and get an actual answer.
Agree. I say go for it. It would be interesting to see what Casio has to say about their own logic.
Then again, isn't it just more fun to have we minions of the interwebs completely reverse engineer a specific application circuit just because one small error bothers us?
@@seancampbell5751 while it may be "fun" it is not efficient and is unlikely to result in said bug inducing edge case to be rectified in future models
What an amazing video that would be. Matt with unprecedented insight to how calculators work and Casio with an unprecedented reach into the smartest and most influential of the high school demographic.
I am 99% sure that they will answer with " honestly we have no idea"
The conclusion here is that Casio should publish their source code
The only logical course of action is a Mission Impossible style operation where a team of mathematicians in tactical gear breaks in to Casio headquarters to steal the chip designs, CAD files and firmware code.
You can always pay for a teardown analysis. Or pull out the IDA tools to figure it out yourself. An old pocket calculator isn't going to be as complex (or as codelocked) as a modern smartphone.
I figured Matt would just go ask them.
Like a242 vs. 232
@Etravagant Sobriquet - This is a special feature of Casio SYMBOLIC mode, which uses 25200 ( = 3600 * 7 ) as the original divisor. It is that simple ...
What we need to know is the exact way the Casio calculator approximates and stores pi. My guess is that 11^6÷13 is special in this case, not because it's closest to actual pi, but because it's the only one that exactly nails the calculator's version of pi.
This. It's not finding Pi by accident, it's finding the calculator's approximation of Pi by accident.
Most likely it just stores its value as a double, then when getting an answer, it also computes the error with the PI answer (if the resulting fraction has been simplified), if that error is under 1^-10, it takes the PI result.
He almost has an existential crisis because he found the last digit of π
???
I've got a TI-83 from 1996 and it gave me the correct decimal result right away. I think your Casio just decided to be pi-curious.
i loved the pi-curious pun, amazing
I have a Ti-30X IIS It gave me the correct answer
TI is clearly the superior calculation device... I have a sibling TI-83 from the same timeframe.
I have the fx-82 AU Plus II, it also gave the correct answer
My Casio fx-9750GII gave me the correct answer.
Even stranger, dividing the answer by pi makes the calculator give a decimal answer instead of the fractional coefficient.
The correct answer?
Did you multiply that decimal number by pi to see if it shows the original surprise answer again? It *should* but sounds like it won't.
@@KarstenJohansson It will, I checked it!
@@KarstenJohansson It shows the surprise you mentioned.
Here are the priorities in the Casio program algorithm: 1. Display the result as a factor of pi, if any. 2. If the display is adequate, show this as a fractional number. If possible, show it as a fraction and associated with pi . Because when solving problems at school, show the result as pi related or fractional (or both). 3. It will give the result as Decimal when SD key is already pressed. In scientific machines with other Brand WriteView, the 1st priority usually gives a fractional result, if there is pi in the question, it gives a fractional result associated with pi. It gives decimal results with the SD key.
It’s my first time watching one of your videos. You explained everything really well!
You know you're a true mathematician when you interrogate your calculator. ...and then have a breakup with it. lol
That can be true aswell
Not mathematicians. It's the calculator fanciers who do that.
Somewhat obsessive compulsive .
HaHa LOL
I've seen few college math professors that 'interrogated reality' with their maths, then promptly divorce themselves from reality because reality refused to capitulate to their views of what it should be. Looking back, I have to wonder if it had anything to do with them also being practising commi marxist types.
The fact that the denominator is 3600 just screams that it tries an approximation in RADIANS.
He already tried another calculation that results in a multiple of pi with a denominator of 3600.
@@matthewschad6649 it was not precise enough. see the pinned comment
@@DukeBG 25200 has nothing to do with the radians, though?
@@KuK137 Just run around in circles.
a degree is ¹/₁₈₀π or ¹⁴⁰/₂₅₂₀₀π radians
This is the most Dramatic Maths video I've ever seen, love it!
In the table at 8:37, it is worth noting that the "Pi" that you get out of the calculations 1 and 3 is the exact same number, hence we can conclude that the important difference is the way that the initial results (11^6/13 vs. 11^6/17) are rounded. No matter whether you use binary or decimal numbers, any non-integer fraction with a denominator of 13 or 17 is wrong when expressed with a finite number of digits, and it is wrong in different ways for both fractions. Since (and this aligns with the results that I got pushing my Casio FX-82 Solar to the limit as a kid) the internal accuracy of (I guess) any Casio is limited to around 10^(-12), you can seemingly get these results at random when the resulting Pi is within about 10^(-12) of the correct value - with two more points to add: 1) I'm pretty certain that you could reverse engineer the rounding algorithm that Casio used when you apply your test rounding algorithm to the initial fractions (i.e. 11^6/13) to find the one that makes this particular fraction a sufficiently precise fraction of Pi (and doesn't for the others). 2) I'm also pretty certain that Casio didn't implement a Farey algorithm, but simply defined a set of denominators that are most likely to appear as an exact value in front of an irrational number. So for example any fraction of 25,200 (as pointed out in another comment) = 2^4 * 3^2 * 5^2 * 7^2 - which includes any integer up to 10 plus virtually all degree values that commonly appear in geometric problems: 15, 30, 45, 60, 75, 90, 180, 360, 540, 720, ... - plus "round" values like 100, 1000 etc. is tested as the denominator (likely starting with the smallest), and if there is an EXACT match with the number of Pi stored this result is displayed. If you randomly generate fractions that are sufficiently close to Pi, I would think that around 3.5% (=2^(-40) / Pi * 10^11) of them do actually come up as a fraction of Pi, which is probably enough to make an adult scientist give up before he finds a second example. Tldr.: The Casio only displays a result as a fraction of Pi if its internal computation EXACTLY matches this fraction, with the error resulting from rounding the initial result with an infinite number of digits to an intermediary result with a finite number and the inherent accuracy limits of the calculator. A lot of denominators will never appear in a result containing Pi (or another constant) since they aren't part of a predefined set.
I did not expect this to be a cliffhanger. Now I got a hole in my soul.
well it says so in the title
It does say in the title, "(We don't know!)"
Pi is always a cliffhanger.
Here's something to consider: if you compute both sides of the 11^6 / 13 equation in single-precision floating-point arithmetic, you get exactly the same 32-bit result. This doesn't happen with the 11^6 / 17 example. My suspicion is that it's a combination of this and the fact that the denominator is 3600, which is a fairly nice number, being a product of the three lowest primes.
This sounds like an answer, folks! So casios use 32-bit floats, good to know.
How can we find other pairs of numbers that have the same 32-bit result to verify that?
PI in the result on CASIO fx-991ES PLUS 500*10/(22.977*10^-3) = 436382531/6300 * PI I found this while calculating how long would my device work with a 500mAh battery if I know it uses 22.977 uAh in 10s extracting pi=3.1415926535905471363222... 10 exact decimal places, or 11 if you round it there
@@timh.6872 32-bit float is only 6 significant digits of precision. This calculator has significantly more than that (12-15).
Perhaps something about the 3600 is yelling "CIRCLE" to the calculator? Given it's 360*10. In combination with this, perhaps 🤷♀️
Interesting video. I remember doing number processes at college (I did computer science, and have worked as a developer for 30 years) - as soon as I saw the mistake the calculator makes, I thought "this is down to binary coded decimal truncation" - and yes - the threads elsewhere go straight to the same conclusion. Bookmarking this one - it's interesting :) There are some great videos about the Sinclair calculator online, where the source code is broken down to show some of the mathematical gymnastics computers go through to do arithmetic operations. Anyway. Great video.
This is not a "mistake". This is a feature of the Casio, when in SYMBOLIC Mode. In Decimal mode, you will get the value that you want to see ...
@@MrSummitville yes - bad wording - a feature in the classic sense of unexpected outcomes :)
I've tested the bounds for Casio-π using their online emulator for the fx-82/85/350ES Plus. When entered directly, Casio-π symbol is displayed for any values in the range 3.14159265358918 and 3.14159265359042. The pre-defined stored value of Casio-π is the exact middle of these two values at: 3.1415926535898.
can you do (pi_exact - pi_min)/eps(pi_exact) and (pi_max -pi_exact)/eps(pi_exact), where eps(x) returns the smallest value that can be added to x?
Parker: doing tons of iterations of Farey Algorithm to get 1213/3600 Me: the first two decimal points are 0.33 so imma just call it 1/3.
Same I was even lazier. I figured 1213=1200 So it's 1/3
No it's called 33/100
Pfff, it is bigger than 0, I can just approximate it to 1
@@eduardlopezplans5814 Third
Nah. It’s 1 % x > 0 so call it x - (1 % x)
I do prefer a Gaxio calculator personally.
It is the only logical choice.
Yeah, what were those Casio copycats thinking?!
only because you've not tried the Kadio yet.
Texas Instruments 👍🏻
@@standupmaths it must be hardcoded. Now the question is, why? Surely there's some bit of math out there that uses some part of this anomaly to generate pi, and YOU MUST FIND IT WITH YOUR BRAINS AND WIT
as someone who's used the fx-83GT PLUS for the past 6 years almost every day of my life, it felt so nostalgic when you took it out.
This is a perfectly executed video. The retreat to the forest for contemplating a universe's weight of the philosophy behind a cryptic response to a reasonably simple quandary made this as epic as this run-on sentence is long. I imagine scores of your predecessors taking a nature hike for much the same reaon. Newton, Huygens, Socrates, Pythagoras, et cetera... and now Parker. Briliant.
This Matt Parker's math(s) puzzle seems harder than usual.
This may well be a software "anti-theft" strategy, I use it a lot in my software... Thief: I didn't steal this your honour! Casio: Check 11^6/13 your honour!
we've found the maths version of paper towns. this is casio's Algoe.
Giving you a things up for the algorithm even though the word "theft" here represents an unethical and counterproductive line of thinking. Unfortunately, because this toxic idea is so pervasive, I believe you are correct in your guess as to Casio's motivation.
Isn't it true that paper towns like that specifically *don't* count legally to determine copies? Idk if it's different for code than books/maps though.
Ooooooh, a paper calculation! That's a new one for me
Oh yeah. It's big brain time.
One thing to consider with most floating point representations is that more digits in front of the decimal reduce the number of digits held after the decimal. In many attempts to recreate the bug it looked like there would have been less precision held in the registers after the decimal, so just comparing what the full number would be is not good enough to predict what would happen. You'd want to consider what intermediate rounding is taking place.
I tried to change the float on my ti-83 plus, as I had considered this a possibility as well.... I went from float up thru 9 (highest i can force it) and it didn't work.
after all these years you mister are still the best!!!!
Perhaps this is one of those intentional "mistakes" that any publisher would put in a textbook to see if another company copied them. Like how Genius sued Google for copying their lyrics. But in this case, Casio hard-coded this answer to test whether another calculator manufacturer copies their code.
SirVataqun nah, its computer science
A "paper calculation" I guess...
Or it could have been an accidental miscoding in the initial creation before mass disribution.
You beat me to it. Could well be a "copyright trap".
@@sunnohh like a map street! some roads are on maps which don't actually exist for copyright reasons.
the bit where he says "i thought i knew my casio" and then sad piano music starts is a fun moment for people who play casio pianos
I am playing a casio piano, can confirm it was funny
ANSWER your calculator is always comparing the results with the saved constant PI for example on a CASIO fx-991EX the number: 5419351 / 6900132 will give PI/4 because it is PI/4 precise to 14 decimal places but 4559545 / 5805393 will only give a decimal because its PI/4 precise only to 13 decimal places this is because this particular calculator stores its value of PI precise up to 14 decimal places (which can be checked in the user's guide) PS. I enjoyed the video, it got me curious, thanks! 😀
This might not be relevant but I have found that Casio calculators have more values that they tend to hide. For instance, when using pi, it only displays the first ten digits but actually uses fifteen digits for calculations. There is also weird stuff that happens when reversing a calculation you just did, to avoid losing accuracy, it makes sure the calculation gets the same result in reverse. So the square root of 9.999999999 x10^99 gets you 1 x10^50. If you square that again you just get the original 9.999 etc. But if you just take 1 x10^50^2 obviously you get 1 x10^100 which is just a math error. Casio’s are weird and do a lot of maths that they don’t show.
you seem to have greatly confused yourself about what the observed effects of base 10 display approximations would be - the number on display is nearly universally an approximation (unless its only factors are 2 and 5) in all cases - and the number of digits displayed is also disjoint from the value
Matt: Look at this! And it only works with this one combination! Casio: Oh crap... they found it! Change the launch codes!! NOW!!!!!!!!!!
Lol I'm laughing so hard
"I don't think the people online are correct" Oh how much better a world we would live in if everyone thought that way!
says a person online ;)
Is thi videos streaming in a TV?
"If it's in a book it's gotta be true!" - The Simpsons (pre-Internet)
So you argue that world will be better if we don't believe people online as correct, but you're one of the people online so the world wouldn't be better based on your logic. So we should do the opposite and believe people online to make the world better, but then if we believed you then we shouldn't believe people online... Error: StackOverflowException
"I'll just type up a short reply correcting them."
This happened to me once on my Sharp Calculator. I was doing some financial maths question for secondary school exams and the result came out as a multiple of Pi. I don't remember the calculation but I remember thinking it was weird at the time
Beautiful cinematography in that take in the woods
*SAD PIANO* :(
This is like a dramatic math version of captain disillusion and I love it. Really appreciate the quality of these videos
Are you kidding? I'm sending this directly to DrCap Disillisuion. How can there be two Matt'ses at once? And the whole calculator thing? looked straight up CGIed. This reeks I tell you.
Can't you get a casio contact for this? I'm sure they have an engineer who knows
I’ve been asking around but nothing yet!
I think it depends on how open Casio are about their Intellectual Property. If they have a policy of not revealing too much, asking them would be useless.
@@ismailb4334 maybe file a complaint? demand money back or something?
@@thinboxdictator6720 If you ask for a refund expecting a technical explanation of the bug, you're going to be very disappointed.
@@thinboxdictator6720 they might give you a refund, but the customer support rep that deals with your complaint will either fob you off or give you a refund or some vouchers or something. It's not like it's even giving the wrong answer. It's correct to the precision required, it's just expressed in an unexpected way.
7:11 I love the way he looks up as though he can read the computer generated text above his head that was added after filming.
Yeah, it's pretty cool.
It’s called a fourth wall break.
I had to try this with my old 991EX and the new 991CW. The CW one returned 136273.9231 as is, with no way to change formatting as a mixed fraction. The EX, or at least the VerB, returns with the pi fraction.
Response from someone who has worked on similar calculation/approximation code, albeit not on an actual calculator: I'm gonna guess Casio is using IEEE floating-point math since it means they can use off-the-shelf components in their calculators. A really high-end calculator might use a custom solution with more bits or a different format, but this mass-market calculator probably doesn't. I imagine the issue here is that, in this particular case, the 64-bit floating-point result of 11⁶/13 actually matched the approximation 156158413π/3600 _exactly,_ bit-for-bit. Casio probably doesn't show the result as a multiple of π unless the bits match exactly, or perhaps with a one-bit epsilon to allow for rounding errors. Your other examples may have _seemed_ to match up to a certain _decimal_ place, but that doesn't mean they matched up to the very last _bit,_ or _binary_ place, of the floating-point result. It takes between 3 and 4 bits to represent a single decimal digit, so being off by one bit could result in rounding to the same last decimal digit while still being different in its last binary digit. If it helps to know, IEEE floating-point numbers are represented as *±1.m ⨯ 2ᵉ,* where *m* is the mantissa, a value somewhere from 0 up to, but not including, 1, and *e* is an exponent. How the sign and exponent are represented in memory isn't too important here, but the mantissa is: it is a finite number of bits (i.e. binary digits) that represent a fraction in the form *(0 … 2ⁿ-1) / 2ⁿ,* with *n* being the number of bits. Numbers are effectively always rational, and if you displayed them in binary, you would never get an endless string of digits like you do after you _try_ to represent them in decimal. Some quick examples: • 3 = 1.5 ⨯ 2¹ • 12 = 1.5 ⨯ 2³ • 48 = 1.75 ⨯ 2⁵ Same examples expressed in a simplistic 8-bit floating-point format, with 1 bit determining whether the integer portion of the expression is 1 or -1, 4 bits representing the mantissa, and 3 bits representing the exponent, and remember, all digits here are binary: • 3 = 1.1000 ⨯ 10⁰⁰¹ = 8-bit byte: [0|0 0 1|1 0 0 0] • 12 = 1.1000 ⨯ 10⁰¹¹ = 8-bit byte: [0|0 1 1|1 0 0 0] • 48 = 1.1100 ⨯ 10¹⁰¹ = 8-bit byte: [0|1 0 1|1 1 0 0] (Note: This is a simplified explanation that glosses over how 0 is treated as a special case, as it obviously can't be represented as 1.m ⨯ 2ᵉ, but that and negative exponents and other special cases like infinity, indefinite values, etc. are a story for a different time. If you're keen to know, I'm sure google can hook you up with reams of details.)
Mantissa. Haven't heard that word in years.
The two numbers, float64(11^6/13) and float64(float64(156158413*float64(pi))/3600), differ by exactly 1125 units in the last place.
As a computer programmer, am suspecting something along this line of thought.
I feel like you are a better authority on this topic and thus should commence making math videos.
@@edgarbonet1 I went and tried it myself. I see what you mean. It could be they aren't using IEEE floats. The number of formats out there, at least historically, is kind of staggering, so it's possible. For a lot more detail, see here: www.quadibloc.com/comp/cp0201.htm I also read something that claimed Casio uses decimal floats, which I'm guessing means BCD floats? But the article didn't seem super clueful and may just have been empirical guessing based on what the calculator is willing to display on what little screen real estate it has, along with considerations for humans not usually familiar with the quirks of binary and IEEE floats.
Reverse engineering someone else's code is hard enough when you have the code in front of you...
Fetching machine code is enough if you have descent tools. But they might have set up encrypted and protected boot to prevent dumping binaries.
Reverse engineering MY OWN code from last year is hard enough :p
@@suokkos Highly doubt that for a calculator though
Interesting! I don't normally comment but it's my birthday today, this video was posted on my birthday last year, and I found it completely by accident. When the universe (or the YT algorithm) yanks your chain like that, you better follow. So (as a professional code trouble shooter and optimizer) my very first thought was this: Have you tried the 'obvious control' input of 121^3 / 13 ? If this does not give the same result as 11^6 / 13 then this suggests that the specific precise input of the latter is treated as a 'special case' input, in which case it's not a confluence of approximations and rounding errors but a simple if/then clause in the code. Could be an easter egg, or as I saw someone suggest in the comments, a quick way for Casio to test if someone copied their code.
Very late for a comment, but 121^3/13, 1331^2/13, 14641^1.5/13, and 161051^1.2/13 all give the pi approximation result. It seems to be related to the 3600 denominator (using 11^6/16.999999999995 instead of 17 gives you a pi approximation)
It seems you don't even have to type in the Equation: When I just Type 136273.923077 into my Casio fx-82es and hit [=], it will also tell me that it is 156158413/3600*pi. The same also works for 136273.9230769, but not 136273.9230768 or 136273.9230771. Yet again 136273.923077018 does work, while 136273.923077019 does not. After that I stopped trying.
i have a Casio fx-82MS and it does not use pi for any of these. This version has Chinese letters on the top and is from my Chinese friend (so its legit). Maybe! these are made in china.... and they slightly skew the ones they sell to the westerners?
Hey can you do the 11^6/13 calculation again, but when it gives you that fraction, hit the S D button to turn the answer into a decimal number, then scroll along and type down the answer to 50 decimal places unless it repeats then just say what it repeats please.
@@cocorico128 It works on a range. not any higher. but as low as 136273.923076900, maybe further but I'm not messing with it any more.
@@christosvoskresye i don't see that. it does say S-V.P.A.M. most just say vpam and aparently the S stands for Super so whatever super can do is what mine can do.
@@kal9001 i put tons of digits into it and couldn't get it to ever show pi
it is possible that is a trademark to see if their tech has been stolen by another company like a waterstamp
Oh! That’s an interesting theory. I suppose that, like a map, it would be very difficult to prove that your code had been copied if all you could show is that both calculators provide the correct answer for every calculation you tried. One thing though, and sorry for this terrible nitpick, but that’s not a trademark or a watermark - it’s a copyright trap. Trademark is a way of publicly branding yourself, and violating a trademark tends to be pretty obvious. If I was branding my calculators as KASIO, that would be a violation of Casio’s trademark. If I stole their calculator code and put it in my calculator, that’s a violation of their copyright. If I did that, and they could show that my calculator and their calculator gave the same unusual answer for a given input, and I couldn’t justify why my calculator does that, that can be used as evidence that I violated their copyright.
Given Smathlax's discovery of the relationship to 25200 and factors thereof, the circumstances required to produce this 'bug' feels too general (as in not-specific) to be a copyright trap. But I will concede that it is entirely possible that you are correct. My bet is some sort of strange coding error.
Or this might be the pirate one. ;-P
@@superdupergrover9857 Instead -- though this is a nifty suggestion that could be correct -- I bet it has to do with how the rational fraction discovery algorithm is implemented. I bet it's counting the amount of iterations, because that's what any sane engineer would do. And when I say counting, I don't mean actually counting, but instead the algorithm is limited in cycles, and if it doesn't yield a solution in a given amount of iterations, the operation is seen as futile, the solution is discarded and something else is tried instead, eventually falling back to displaying an irrational decimal number, which is a logical thing to do, given the inaccurate nature of floating point math in processors. This is the simplest explanation of what's going on (from the software engineer's point of view, and I am one), but to prove it we need the actual algorithm as it is implemented in Casio. Maybe someone could rev engineer it though, and I admire the host's effort in this direction, but he needs to be much more stubborn than that, and to think very low level. edit: In other words, he's obviously not a software engineer, but a mathematician. He fell into a trap of thinking the Casio must have surely compared the number to Pi, which is something you just never do, you never compare the two floating points naively. Not only it is unreliable, it is also incredibly slow. The numbers are internally represented in an IEEE 754 standard, which has nothing to do with how the digits are displayed in the decimal system, and you can't simply compare two base-2 sausages bit by bit and hope it works like plain text or integers would.
So any calculator that gets the right answer didn't steal from them. Clever.
Pi in a Casio calculator (fx-85GT Plus) is stored as 3.1415926535898 to 14 sf. This is why is you type 3.1415926535898 the calculator shows π. Proof if you are not satisfied: 8.729071001916644*3599 = 10000π. Or: 15,707,963,267,949/5x10¹² = π. Smallest aprox for π that works : 4272943/1360120 = π. (17^5)/11 = (366494029/8920)π does yield pi to 13dp , but they are only equal in this statement to 9sf On the other hand: (11^6)/13 = (156158413/3600)π yields pi to only 12dp , but they are equal in this statment to 13sf : far more than the other.
Don't know if it has been mentioned, but there is a common approximation that the number of seconds in a year is \pi\times 10^7.
Haven’t been able to get my Casio fx-82AU PLUS II to do it, although I did find this in its manual: “The range for calculation results that can be displayed in π form when using Natural Display is |x|
My 82AU Plus II and 100AU plus won't do it, but they also cannot find exact values because of NSW examination rules. Is yours one where it can find exact values?
@@zachst3r_773 elaborate on the examination rules, I don't get what you mean by that, why wouldn't it give the exact value (I am also a NSW student)
Documented bug = feature
fx-350TL (from about 20 years ago) doesn't get it either
@@lindsaytang1017 NSW syllabus makes you find exact values by yourself, hence why they dont want calculators to do it for you
If you look closely, you can see other Matt waving in the distant background from behind the tree at the end.
You're funny & brilliant. Congratulations.
I’ve got a Casio FX-115 ES and it worked just like the video, giving a multiple of pi. But you have to have it in COMP mode (mode 1).
Back in the day, this kind of thing would be called an easter egg
@nuff sed or an easter boob
@nuff sed is that what a real Easter egg is? And I suppose dying actual chicken eggs bright colors and hiding them in the yard for kids to find is an idea inspired by it?
Once the Easter Egg... now just the merengue on Casio's lemon-Pi.
No? Easter Eggs are supposed to be intentional.
@@kingacrisius Oopster Eggs
Honestly I just enjoy Matt using the exact same calculator I used for my GCSES like 8 years ago. Once a classic, always a classic
GCSEs not GCSES. I take it you failed your GCSE English.
@@Locutus This is the most pointless comment in youtube history. Even a broken pencil that hasn't been used since the second world war is less pointless than this comment. I feel bad for your parents, after celebrating the birth of you, that the child they treasure so much will, in the near future, make such a pointless remark.
@@kpp28 You're wasting your time challenging him - resistance is futile.
We still use them now at my school
Locutus dude calm down
You probably saved my FX-82 :) I dag it out from a drawer just to notice it won't turn on. The battery leaked. Hopefully PCB is intact and it just needs some basic cleaning. Thanks! If it stayed longer with this leaked battery it could be severely damaged.
I love the math related existential dread scenes
Here i go again, watching KZhead videos about weird maths problems past 10pm.
Switch over to ,how to make Pastrami like they did in the old days.
tirns out to be 11:02 for me would be neat to see how many watch during the same time frame
LMAO it’s literally 10:11 rn and I’m thinking that exact thjng
3:28am, welp
Af least it isn’t 4am 🥲
I did a little bit of research as I was curious, you can quite easily replicate this by just using an accurate rational approximation of PI. I used the Farey Algorithm to calculate approximate fractions and it turns out that 3126535 / 995207 is displayed as a decimal but 4272943 / 1360120 is displayed as pi (on the Casio FX-85GT Plus). These approximations were calculated using 322 iterations and 323 iterations respectively, so that should hopefully be a decent indicator of where the precision boundary lies.
I got the same result on a fx-991EX
This makes me curious. Can you multiply the numerator by 2 and get 2*pi? Or multiply the denominator by 2 and get 1/2*pi?
@@OMGclueless This is what I want to know too
Casio calculators store each number as 13 significant digits multiplied by a power of 10. I haven't checked, but I hypothesize that the first one you said stops equalling pi somewhere before the first 12 digits after the decimal (total of 13 digits including the leading 3.), but the second is equal to pi in at least the first 12, so as far as the calculator is concerned they are the exact same number.
Casio printing pi in mathprint mode is nothing new, problem is with the fraction before the pi, can we do that by some change in fractional input? EDIT:- That sounded rude I guess, but just everyone is bringing the pi thing up and no one is discussing the fractional part, just saw another comment and people believed it to be a mystery solved
When I was at school I always thought it was annoying when the calculator tried to show the answer a different way. In the basic high school maths we were doing we always wanted the decimal
This got all artsy independent short film REAL quick
Two things to consider: - Binary Representation - Easter Egg
I didn't see the Easter egg but the binary representation is closer for pi
pi in binary?
Ondřej Majerech not exactly, floating point numbers are represented in a different way in memory. Not even sure Casio use floating point but probably yes
This is a 32 bit representation 00111111101101010011110100010101
I vote for easter egg: cheap/easy to implement & gives maths nerds something to talk about.
The answer might be in the manual: www.sciencestudio.co.uk/wp-content/uploads/2019/01/fx-83GTX_85GTX_EN.pdf Page 103: "The range for calculation results that can be displayed in π form when MathI/MathO is selected for Input/Output on the setup menu is |x| < 10^6. Note, however, that internal calculation error can make it impossible to display some calculation results in π form. It also can cause calculation results that should be in decimal form to appear in π form." Page 31&34 explain when the result (for fractions) is shown automatically as decimal or as fraction. Maybe that applies to the π-form also somehow.
This sounds like it's relevant, but you'd probably need to look at the actual internal logic for what form to display in order to figure it out.
Ah, a classic case of RTFM.
Never wanted to so badly look at calculator source code as I do now.
@@Ikantspell4 They have a PC simulator of several calculators which exhibit the issue. That might be a reimplementation of the firmware or an emulator + ROM dump?
@@NeatNit Who knew that reading the fine manual could be so illuminating?
Can confirm that this happens on the 82-ES Plus second edition, just tried it out.
My favorite approximation for pi is the fourth root of 2143/22. It is accurate to nine decimal places and easy to remember.
It's cool, but not really useful, right? It's just about as easy to remember the 9 decimal places
8:27 That's an interesting way to pronounce "eleven"
Rounding error. LOL!
Might be due to his Australian accent. They have some weird pronunciations down there.
Parker eleven?
It's a baker's eleven
Also an interesting way to pronounce 3600 at about 8:50.
I tried this on two calculators. My CASIO gives me the same strange result, my TI does not. CASIO fx-85ES: 156158413 / 3600 * \pi Texas Instruments TI-30XB: 136273.9231
Hit the S D button to change the answer to decimal. NO ONE knows this for some reason
@Grant Grant Such as?
@@prich0382 wdym everyone is taught this in school aren't they?
My TI-30X-IIS gave same answer as Dr Nereos' TI answer
@@prich0382 what does that button do? I don't have that on my TI
I don't know if anyone has written about this before: I tried it on my Casio FX-991DEX. It gave me a multiple of pi, when I entered it using the "fraction" (the one top left, below "OPTN") button. But when I used the standard "divide" (below the "AC"), it did NOT. So there's something about using the textbook entry mode to trigger the show-me-a-fraction-multiple-of-pi-square-root-of-whole-number algorithm.
I don't expect Casio to use Farey's algorithm, nor continued fractions. The number 3600 is quite suspicious. I assume it just multiplies by an integer with many divisors (e.g. 25200) and checks for a near integer; then simplify the fraction.
He entered another example that should have also yielded 3600 in the denominator, but the calculator just gave a decimal answer
Read top comment
Calculator: *gives answer accurate to 12 decimal places* Average Joe: That's way more accuracy than I need. Mathematician: Not good enough!
Not just average Joe. Also average engineer because they deal with practical matters and average scientist because they deal with precision limitations and significant digits, etc. BTW, we used to laugh at a physics professor who would always say things like "that results in 4.8, we'll call it 5, and then continues the problem with the 5."
@@justinjames3028 but wait, aren't we indeed supposed to approximate 4.8 with 5 and 9.8 with 10 in physics? hmmmm
Me, uses 3
truth is binary..
@@OtherPony not when it isn't the final answer and even the it depends on the starting values as well. 9.8 could actually be the correct answer for a calculation if the starting values were precise enough (2.82 and 14 for example).
I wonder if it’s deliberate like fake roads on maps to catch out people trying to clone the calculator.
Very likely. It's almost an Easter egg. Companies do some strange things to protect intellectual property. Or it could just be an artifact of the floating point routines they used.
I was thinking the same thing.
like paper towns?
Going by the weirdly specific rules the guy found in the pinned post, I'm sure you're right. It had to be programmed in.
I lost it at the walk in the forest bit
Omg, the start of the video is Gold !
This sounds like a good excuse to bring back your calculator review series
How to throw a mathematician into an existential crisis: Give him a problem his calculator fails at gloriously for no apparent reason.
It’s an existential crisis for programmers too
@@ottobass9193 If you get thrown into an existential crisis every time your code gives the wrong result for no apparent reason, you might have picked the wrong career :D
@@welltypedwitch Am programmer. Can confirm.
I mean it depends what you mean by fail. Technically the calculator got as close as it needs to
@@welltypedwitch that's right 😂
Also fascinating, thanks - I was just using that method today to find more and more accurate values for something but with decimals not fractions, to get accurate to more and more decimal places. (Adjusting parameters in a formula to minimize its error compared with another set of data points) [- see the comment to your video on the perimeter of ellipses!]
I enjoyed this video so much ;)
"bUt Pi Is IrRaTiOnaL" resonating through my brain
Pi = circumference/diameter => Pi is rational Q.E.D. I see absolutely no problems
Because remember, it isn't a root of any polynomial with rational coefficients.
Lol
Jesus Christ is God and is the only way
@@ethannguyen2754 just making a ratio like that isn't enough to make a number considered rational yknow. The two numbers must be WHOLE and coprime to each other
What if this was a unique Easter Egg, coded in by some engineer as their favourite approximation for pi? That would explain why the others don't work.
This is what I was thinking too, tbh.
No
this feels like a moment that would cause a doubtful techpriest of mars to be born again
I haven't had many modern Casio calculators - in fact I don't even think my current one would be among those doing this, though I think I did briefly have one that would.
that calculator is perfect for you. it almost always gives correct answers like a true Parker calculator.
i went looking for a "parker calculator" or "parker approximation" comment. thank you
Why didn't Matt ask a Casio engineer? That would've been fun to watch.
Hugo Gonzmart My guess would be that’s confidential information they can’t share.
My guess is that he has tried but has been unsuccessful in contacting them.
I see what you did there.
Matt used number of digits as a limit for the search of the fraction, maybe instead Casio uses a recursion depth limit for the search
That is left as an exercise for the reader.
How the Casio could get to Pi times Pi (or a fraction in the sense of an equation as opposed to a number multiplied by Pi) is that BEDMAS would have you use exponents or divide before you multiply, which the question did not do, so the Casio expresses the circular argument that it would have to do each before the other, which is as infinite as Pi (or thereabouts) times Pi. Regards.
I experienced the opposite of this. I used an integral to find the area of a circle with radius 1 and the calculator rounded the result so much that it no longer recognized it as pi
Wow, that fraction finding thing was enlightening. I have no idea how I’ve never seen that in all my days. This is why I love educational youtubes, it’s like a box of chocolates, never know what you’re going to get.
That's a really popular practice in math and computer science.. A binary search is a similar way of narrowing down to a result and there is an algrothim to find a root of a function which uses the same idea of discarding half the data every time
I love finding out about crazy functions or proofs that are blindly stumbled across and are weirdly interesting.
Love the existential dread vibe 🤣🤘
I want a sequel to this intriguing property
Some people may have their favorite sports teams, but Matt Parker has his favorite calculator.
He's not alone. Though I prefer Sharp vs Casio, personally.
I've had the same TI-30Xa since high school and wouldn't trade it for anything. Nerdy to say, but I love it.
As we always say: Pi pops up in the darndest places!
Such an interesting comment! How about, "The London Underground"? Investigate how much longer the outside rail of the Circle Line is than the inside rail, given that the gauge is 4 feet 8 and a half inches.
**3Blue1Brown has entered the chat**
That intro was beautiful
As a programmer, I have a good idea of what's happening: 1) get the resulting number 2) try to make a fraction out of it 3) try the same as #2 with first divide by PI, if the resulting fraction has been simplified, then keep #3 It's that simple. Why is it even trying #3? Because otherwise PI would never appear in any answer since it's irrational, and if you do something like acos(-1), the calculator will output 3.14159265359, but in reality, the exact answer is PI, so the algorithm tries to find PI by checking if the result is very close to a multiple of PI.
Perhaps it's a proprietary phenomenon like the "paper towns" that exist only on maps.
That's a neat idea
I imagine some poor guy sitting in an office in China, writing the software for the new Gaxio. He is doing every possible calculation (all of them) on a Casio, and then hardcoding the result. Casio, you are so evil!
Genius!
Is that like a trap street? en.wikipedia.org/wiki/Trap_street
I was thinking the same thing. Perhaps it's a way to find out if somebody is building a calculator using stolen chip designs - or (more likely) stolen firmware. (Do these calculators run firmware? I would guess so, but I have no knowledge.)
As a software developer, I’m willing to bet that the answer lies in different number representations between your Python code (likely floating point) and the Casio (perhaps fixed point) or perhaps both are floating point, but different implementations. The “Pi detector” is surely tuned to whatever the Casio’s representation’s most accurate representation of PI is. Switching the Python code to a different implementation floating point (perhaps 24/32/64 bit) or a fixed decimal package may shed some light on this.
I suspect you're right. It's easy to get different results on different hardware/software from the same calculation when floating point numbers are involved. IEEE-754 provides standard for floating point arithmetic that everyone can develop against so that you can at least be confident that two different pieces of hardware or software will provide the same answer but even then it's possible for both of them to be wrong. To see what happens when you do it poorly just look to the patriot missile system failure in the first gulf war. That mistake resulted in 28 soldiers dying.
To add to this, I also suspect that "pi" is represented within the calculator as a ratio of two integers that are "close enough", since it's impossible to actually store an irrational number. Maybe they just happened upon this exact ratio?
We just found the most elaborate easter egg in a place where we didn't know easter eggs could even exist
Whenever I do math by myself, it's never this fun.
Irrational numbers are the oldest conspiracy around, you've stumbled on something they don't want you to know. 😉
oh shut it pythagoras
THEY tried to silence us. THEY tried to censor the Truth from our math books. be careful people, because THEY are the ones who teach our kids and throw those fantasies to them in order to hide what's actually happening