Torture tests: what do they mean?

05172014, 08:58 AM
Post: #41




RE: Torture tests: what do they mean?
I find consistently most accurate & precise the 32kb Sharp memory card OZ or IQ8B03 in a Sharp IQ organizer, small enough for my jacket pocket.


05172014, 09:12 AM
Post: #42




RE: Torture tests: what do they mean?
(05172014 06:53 AM)Joe Horn Wrote:Hi Joe, Thanks a lot for your input on this theme.(05162014 08:52 AM)jebem Wrote: HPPrime in CAS mode result: 400Please note that this wasn't really done in "Exact/CAS mode" as requested. The decimal point in the 7.2 forces Prime to evaluate the whole thing in approximate mode, not exact mode. If you really want to evaluate that expression in Exact/CAS mode, you must use 72/10 (or any other exact equivalent of 7.2, e.g. 7+1/5) instead of 7.2 with a decimal point in it. If you do that, you'll get the correct answer of 720 in Exact/CAS mode. Yes, I still believe in my beloved HPPrime. as Dieter and others pointed out, the tool is not guilty per se, so one need to understand it first before taking full advantage of the machine. It is always a pleasure to read your posts, despite that I can't always follow your mathematical expertize due to my lack of math theory background. But I'm learning... And this is not intended to worship you, it is just what I feel about it. Jose Mesquita RadioMuseum.org member 

05172014, 09:19 AM
(This post was last modified: 05172014 09:20 AM by jebem.)
Post: #43




RE: Torture tests: what do they mean?
(05172014 08:20 AM)Tugdual Wrote: Hi Jebem,Bonjour, Tugdual! But why not? A little worship here and there is good to keep good mood in this glorious Saturday morning (well, at least it is here in southern Europe) Jose Mesquita RadioMuseum.org member 

05172014, 10:17 AM
Post: #44




RE: Torture tests: what do they mean?
(05172014 08:20 AM)Tugdual Wrote: I do get 7497258.185325587112905071814481370 Internally, this is computed using 39 digits so thirteen digits are wrong. Converting back to 34 digit double precision numbers isn't introducing more than a rounding error in the 34th digit which is already incorrect. Quote:Quite impressive but I will not congratulate Walter or he will think I worship him... It wouldn't go to Walter's head. I wrote the vast majority of the mathematical functions  Pauli 

05172014, 12:32 PM
Post: #45




RE: Torture tests: what do they mean?
(05172014 10:17 AM)Paul Dale Wrote:Tugdual Wrote:Quite impressive but I will not congratulate Walter or he will think I worship him... So true! And Remy, unless you address us using "oh Lord" again we won't think of worshipping. d:) 

05172014, 08:29 PM
(This post was last modified: 05172014 08:37 PM by Dieter.)
Post: #46




RE: Torture tests: what do they mean?
(05172014 08:20 AM)Tugdual Wrote: please note that the 34s has a "double" precision mode. As shown earlier, you generally cannot trust the last 8 digits. So 34–8 = 26 digits is the expected accuracy here. Likewise, the 32digit Windows calculator returns 7497258,1853255871129050827752131, which is +1 unit in the 24th digit. Again, the last eight digits are off. Now try Wolfram Alpha with the tangent of 355/226 rounded to 34digits. This is what the 34s actually evaluates. You'll get tan(1,570796460176991150442477876106195) = 7497258,185325587112905071814481418... This agrees with the 34s result in 32 out of 34 digits. Dieter 

05172014, 09:17 PM
Post: #47




RE: Torture tests: what do they mean?
(05172014 10:17 AM)Paul Dale Wrote:Paul, this is definitely an achievement, the 34s is an amazing tool, I use it on a regular base. I started some little programming on it recently and I love it.(05172014 08:20 AM)Tugdual Wrote: I do get 7497258.185325587112905071814481370 Not sure I ever formally spent time to thank the team for that, not forgetting Marcus who also actively and very kindly helped me to flash it. Note: Oh and BTW Paul, wish list item: I prefer complex numbers on the 15C with a dual stack ;) ... for next time, may be on the 43s iteration? 

05172014, 09:30 PM
Post: #48




RE: Torture tests: what do they mean?  
05172014, 09:39 PM
(This post was last modified: 05172014 09:39 PM by Tugdual.)
Post: #49




RE: Torture tests: what do they mean?
(05172014 09:30 PM)walter b Wrote:Nice! I guess I can cope with 8 stack registers (damned you remember all the details of our former discussions, this is scary Walter). And for the complex numbers simplification, I will invest the saved money for my brain expansion on a preorder for the 43s. Where is your kickstarter?(05172014 09:17 PM)Tugdual Wrote: I prefer complex numbers on the 15C with a dual stack ;) ... for next time, may be on the 43s iteration? 

05182014, 12:04 AM
Post: #50




RE: Torture tests: what do they mean?
(05172014 08:29 PM)Dieter Wrote: As shown earlier, you generally cannot trust the last 8 digits. So 34–8 = 26 digits is the expected accuracy here. Except that TAN is coded in C and uses the 39 digit internal representation during the entire evaluation. I'm losing 13 digits which is a concern. I think I've traced this to the COS series expansion losing the last five or six digits for a reason I cannot yet fathom. I'll keep poking around.  Pauli 

05182014, 12:31 AM
Post: #51




RE: Torture tests: what do they mean?
Figure it out. Two problems. The series for COS was terminating when the series for SIN converged a term earlier. The second is a cancellation due to the way I sum the series
 Pauli 

05182014, 01:12 AM
(This post was last modified: 05182014 11:47 AM by Paul Dale.)
Post: #52




RE: Torture tests: what do they mean?
And the next 34S build will have this fixed
TAN should return the correctly rounded result for 355/266 without losing the eight digits Likewise, COS very close to pi/2 won't have the problem either.  Pauli 

05182014, 02:57 AM
Post: #53




RE: Torture tests: what do they mean?
(05182014 01:12 AM)Paul Dale Wrote: And the next 34S build will have this fixed Although I really can't imagine ever needing those deep digits for anything, I'm glad you found it and were able to apply a fix. This has been a great example of a curious inquiry (Jose's original) leading to eventual discovery and subsequent corrective action for a useful tool that impacts a much wider audience. One of the "happy accidents" of life... we need more of these, don't we? 

05182014, 10:15 AM
Post: #54




RE: Torture tests: what do they mean?
(05162014 10:22 PM)jebem Wrote: Hi David, Still works for money It ain't OVER 'till it's 2 PICK 

05182014, 10:31 AM
Post: #55




RE: Torture tests: what do they mean?
(05182014 10:15 AM)HP67 Wrote:(05162014 10:22 PM)jebem Wrote: Since my days from electrical engineering school that we just needed 2 or 3 decimal places in our calculations, so it was common to use fix 2 on my hp25. Rounding and knowing the error margin did the trick in common electronic circuits. Watch it: few people work as precisely as fincial controllers. d;) 

05182014, 01:23 PM
Post: #56




RE: Torture tests: what do they mean?
(05182014 01:12 AM)Paul Dale Wrote: And the next 34S build will have this fixed Thank you for sharing your work with us! This is a real dedication to science and to the WP34S project. Well done, Pauli. Jose Mesquita RadioMuseum.org member 

05182014, 03:09 PM
(This post was last modified: 05182014 03:20 PM by Dieter.)
Post: #57




RE: Torture tests: what do they mean?
(05182014 12:04 AM)Paul Dale Wrote:(05172014 08:29 PM)Dieter Wrote: As shown earlier, you generally cannot trust the last 8 digits. So 34–8 = 26 digits is the expected accuracy here. The argument of the tangent can be given to at most 34 digits. This (!) is the reason why eight digits are lost. There may be a bug in the tangent routine but I do not think it's the cause of what we're seeing here. Here are some results from Wolfram Alpha: tan(1.570796460176991150442477876106194) = 7497 258.1 8532 5587 1129 0507 1870 6902 99 tan(1.570796460176991150442477876106195) = 7497 258.1 8532 5587 1129 0507 1814 4814 18 tan(1.570796460176991150442477876106196) = 7497 258.1 8532 5587 1129 0507 1758 2725 38 As shown earlier, the result changes by 0,562 units of the 26th digit if the 34th digit of the argument changes by 1 unit. So all we know is that the tangent of 355/226 is 7497 258.1 8532 5587 1129 0507 18... If (!) the user was able to provide a 39digit representation of 355/226 (for instance with a dedicated TAN_Y/X function) the 34s might get 31 digits right. Otherwise just 26 correct digits can be expected here. That's why I wonder why the 34s returns 3132 correct digits. ;) Dieter 

05182014, 07:42 PM
Post: #58




RE: Torture tests: what do they mean?
(05182014 03:09 PM)Dieter Wrote: If (!) the user was able to provide a 39digit representation of 355/226 (for instance with a dedicated TAN_Y/X function) the 34s might get 31 digits right. Otherwise just 26 correct digits can be expected here. That's why I wonder why the 34s returns 3132 correct digits. ;) With a 39digit 255/226 you get: Tan[1.570796460176991150442477876106194690265486725663716814159`39] = 7.4972581853255871129050718318912*10^6 a 32digit result, and as you point out and I've been hopelessly trying to convey to readers indoctrinated with the fallacy that x significant digits in the input grant x significant digits in the output, no matter what, there's nothing you can do about it in order to get 39... because that would mean that you can work with 46 (in this particular case). Why, oh why should all the functions be isometries? 

05182014, 09:59 PM
Post: #59




RE: Torture tests: what do they mean?
(05182014 07:42 PM)Manolo Sobrino Wrote: With a 39digit 255/226 you get: This is also possible using a standard 34s an brain 1.0: 0 cos^{–1} (first 34 digits of pi/2, rounded down) 355 ENTER 226 / – (last seven digits are lost by cancellation) 4,420985847 E–34 + (add back next digits of pi/2) tan 1/x => –7497258,185325587112905071814481421 Or, if the tangent of 355/226 (unrounded) is required: pi ENTER 2 / (first 34 digits of pi/2, rounded up) 355 ENTER 226 / – (last seven digits are lost by cancellation) 2,481669 E–34 – (next digits of pi/2 – 355/226) tan 1/x => –7497258,185325587112905071831891251 Close to perfect – both cases are just 2...3 ULP off. ;) Dieter 

05182014, 10:00 PM
Post: #60




RE: Torture tests: what do they mean?
(05182014 03:09 PM)Dieter Wrote: If (!) the user was able to provide a 39digit representation of 355/226 (for instance with a dedicated TAN_Y/X function) the 34s might get 31 digits right. Otherwise just 26 correct digits can be expected here. That's why I wonder why the 34s returns 3132 correct digits. ;) With the old code, the 34S is attempting to calculate the tangent of a thirty four digit number: Code: TAN(1.570796460176991150442477876106195) = Which is 31 digits as you mentioned. Eight digits are being lost which is what I thought was expected. With the new code, it would get all 39 digits for the same input. I added some extra digits for the computation of the TAN function. The sledgehammer approach to numerical analysis. For an input of PI/2 (rounded to 34 digits), TAN isn't anything like as good, it gets seventeen digits correct. I could fix this by adding more digits to the intermediate computations but I'm not sure of the memory ramifications  I know we're pretty close to the stack limit for the path that goes through the incomplete beta function, to lngamma, to sincos.  Pauli 

« Next Oldest  Next Newest »

User(s) browsing this thread: