Explain the behavior seen in (5.1) at the beginning of this chapter. First note
ID: 3778632 • Letter: E
Question
Explain the behavior seen in (5.1) at the beginning of this chapter. First note that as long as the exponent in the binary representation of xk is less than -1 (so that rk the new iterate xk+1 is formed just by multiplying x by 2. How is this done using IEEE double-precision arithmetic? Are there any rounding errors? Once the exponent of rk reaches -1 (assuming that its significand has at least one nonzero bit), the new iterate xk+1 is formed by multiplying x by 2 (i.e., increasing the exponent to 0 and then subtracting l. What does this do to the binary representation of the number when the number is renormalized to have the form 1.b1 52 x 2E? Based on these observations, can you explain why, starting with any xo E (0, l], the computed iterates eventually reach l and remain there?Explanation / Answer
The reason behind the bug in the intel FPU was the hexadecimal conversion of the result from decimal. The numbers in the result matched the fault logic in the FPU control register thereby causing issue in calculating the final result after the simulation.
Now in the given case we have
A=4195835
B=3145727
Now if we divide A/B
the result should be 1.333820449136241002
but in case of Intel pentium processors the result was correct upto 3 decimal places only.
The processor was returning result as
1.333739068902037589
The problem was with the operand A in the calculation.
If we conver A into Hex it will be 0x4005FB. The 5 in this number will trigger an FPU fault as per the control logic in the pentium.
Because of this fault the result was incorrect. Therefore there was a mismatch of 256 in the final result of the processor.
Related Questions
drjack9650@gmail.com
Navigate
Integrity-first tutoring: explanations and feedback only — we do not complete graded work. Learn more.