Floating point numbers are calculated internally by DGD with a precision of 36 bits. When converted to a string for display, however, only 8 digits of precision will be seen. Arithmetic operations on floats will contaminate other integer operands into floats and return a floating point result. Note that operations on pure integers will never return a floating point result. The following builtin functions manipulate floats: tofloat(), floor(), ceil(), frexp(), ldexp(), modf(), exp(), log(), log10(), pow(), sin(), cos(), tan(), atan() The sqrt() builtin will return a float if given a float argument. Also, min() and max() will accept float arguments. A new error, E_OVERFL, can result if a floating point operation causes a floating point underflow or overflow. A new builtin variable, FLOAT, can be used with the typeof() builtin function to detect float values. N.B. Floating point values are distinct from (integral) numbers; to convert between types NUM and FLOAT, use tonum() and tofloat().