MATLAB: Calculate tangent of 1e100

numerical analysistrig

How do you calculate trig functions with very large arguments?
For example, in "Surely you're joking, Mr Feynman", Richard tells how he claimed to be able to solve within 60 seconds and within 10 percent any problem that can be stated in 10 seconds, but is stumped when asked to calculate tan(10^100).
MATLAB gives tan(1e100) = -0.4116 whereas google returns -0.6895. Which one is more accurate?
The MATLAB algorithm seems to not be based on simple remainders mod 2*pi, since tan(mod(1e100,2*pi)) returns 0.

Best Answer

Given that
eps(1e100) = 1.9427e+84
it won't be that accurate.
For what it's worth, sin(1e100)/cos(1e100) gives the same answer.
(DuckDuckGo says that Wolfram Alpha says it's 0.4012319619908143541857543436532949583238702611292440)