I've tried to reply to specific messages, but the Reply button doesn't always work. I think I am replying to the whole discussion now. I would like to address some issues.
My buddy and I are aware of workarounds. MachinePrecision and Rationalize[xxx,0] seem to work pretty well.
Regarding the Solve syntax error: if that's truly the case, Mathematica should warn us. Consider the following two examples.
In[47]:= Sin[1,2]
During evaluation of In[47]:= Sin::argx: Sin called with 2 arguments; 1 argument is expected. >>
Out[47]= Sin[1,2]
In[48]:= SetPrecision[5]
During evaluation of In[48]:= SetPrecision::argr: SetPrecision called with 1 argument; 2 arguments are expected. >>
Out[48]= SetPrecision[5]
The much-valued online help in Mathematica does not exactly use BNF in its syntax templates, but they get the message across. But I would like to call your attention to a feature of Solve that is not (no longer?) documented. Parameter 3 is a list of variables you
do not want to show up in the solution. For example (NOTE: if I convert this to Code, it automatically deletes the other Code example below, so I have not converted to Code format):
In[50]:= Solve[{x+y+z==1,x+2y+3z==2,x+4y+9z==3}]
Out[50]= {{x->-(1/2),y->2,z->-(1/2)}}
In[51]:= Solve[{x+y+z==1,x+2y+3z==2,x+4y+9z==3},{x}]
Out[51]= {}
In[52]:= Solve[{x+y+z==1,x+2y+3z==2,x+4y+9z==3},{x},{y,z}]
Out[52]= {{x->-(1/2)}}
The phenomenon at "line 51" was maddening until I wrote a function to search for solutions I wanted. Anyway, that was a case of a parameter that is
not documented. You can tell Solve what variables not to include in its solutions.
I don't remember if we noticed that the problem "seemed to go away" when we added the ",x" to the Solve. However, that does not solve the problem in general. Consider the following sequence, which is closer to what was going on when I discovered the "problem."
In[58]:= Solve[1234`4/x==1]
Out[58]= {{x->1.000}}
In[59]:= Solve[1234`4/x==1,x]
During evaluation of In[59]:= Solve::ratnz: Solve was unable to solve the system with inexact coefficients. The answer was obtained by solving a corresponding exact system and numericizing the result. >>
Out[59]= {{x->1234.}}
In[60]:= Solve[{r==x,1234`4/x==1},x]
Out[60]= {}
In[61]:= Solve[{r==x,1234`4/x==1},{r,x}]
During evaluation of In[61]:= Solve::ratnz: Solve was unable to solve the system with inexact coefficients. The answer was obtained by solving a corresponding exact system and numericizing the result. >>
Out[61]= {{r->1234.,x->1234.}}
In[62]:= Solve[{r==x,1234`4/x==1},{r,x},Reals]
Out[62]= {{r->1.000000000000000,x->1.000000000000000}}
In other words, adding "Reals" results in the "problem." We have found all sorts of ways to get weird results, but thought we boiled it down to the leading example.
Finally, we (I) submitted multiple "bug" reports on this to no avail. Mathematica Support kept telling me it was not a problem. If Mathematica Support is now claiming there
is a problem, what did I do wrong?
Sorry for the sloppy exposition, but sometimes Reply doesn't work, sometimes converting to Code deletes other lines, etc. However, publishing and then editing allowed me to "format" the Code. Go figure...