This is not a bug in egcs, but a general problem of floating point arithmetics. If you print out (q/q0), you see that the difference of "q" and "shift" is always zero, to within machine precision. Tim Schmielau (tim@physik3.uni-rostock.de)