yeah, the multiplication is wrong...
what you have to remember is that 64 in axoloti = 1.0 we are not dealing with floating point multiplication here.
i.e. 64 x 32 = 32 ! , this should be read as 1.0 x 0.5 = 0.5
so what you need to do is 38-25 = 13 correct , this gives you the range
now what we want is to scale this up , to a full range... of 64... we cannot just multiply by 4.92, as this is basically doing something like 0.2 x (4.92/64) , hence why your seeing a really small value)
we actually need to scale it up to the 1.0 (=64) range, the easy way to do is to shift it by 8, (0.2 << 3 = 1.6 ), then multiply it by a fraction to bring it (accurately) to 0..1.0 this is 39.3846154(etc), but 39.37 is probably close enough, so we get a patch like:
(there are other ways to do this using scripts etc, but this is perhaps the easy way to understand it)
btw... you dont really need to understand the maths behind this, you can do this fairly pragmatically....
use a -c to bring the lowest point to zero, then if the range is smaller than 64, add a shift to increase the value, and then a *c to reduce it, just play with the values and you'll quickly find the necessary values.
(if you dont shift enough, you wont be able to get to 64, if you shift too much, then the *c at max wont get you any where near the range)