Delay between steps, given speed in mm/min [stepper motor]
From Arduino Wiki:


  Floats have only 6-7 decimal digits of precision. That means the total number of digits, not the number to the right of the decimal point. Unlike other platforms, where you can get more precision by using a double (e.g. up to 15 digits), on the Arduino, double is the same size as float.


So doing math using floats with numbers like 0.000004767 and 60000000 is not gonna work with the standard float implementation in Arduino.

The easiest solution within Arduino is probably switching to integers and longs and use nanometers and nanoseconds as integers or use floats with micrometers and microseconds (then check if the variables are large enough to store the whole length if you need it, etc).