procedure mantissa(r)		#: mantissa (fractional part)
   local fpart

   r := real(r)

   fpart := r - floor(r)

   fpart ?:= {
      tab(upto('.') + 1)
      tab(0)
      }

   fpart ? {
      if fpart := tab(upto('Ee')) then {
         move(1)
         if = "+" then fpart := "0"
         else {
            move(1)
            fpart := repl("0", tab(0) - 1) || fpart
            }
         }
      }

   return "." || fpart

end