Cuando dices que el rango debe ser 0.001-1 te refieres a que quieres limitar la salida a 3 decimales o a que el número no ha de ser inferior a 0.001?
Lo pregunto porque es un rango un tanto curioso y prefiero asegurarme.
En cualquier caso. Tomando como buena la segunda opción, una forma de proceder es la siguiente:
El rango (1-0.001) podemos convertirlo en el rango (0.999-0.0) restando 0.001 a cada límite. Si la función nos devuelve un rango (1.0-0.0) conseguir nuestro rango es pan comido:
Con la multiplicación pasamos de (1.0-0.0) a (0.999-0.0) y con la suma siguiente pasamos de (0.999-0.0) a (1.0-0.001)
Un saludo.