I assume he wants to mirror his Int64 scaled on a -1.1 up to 0.1 extended float type.
Where -1.1 represents Low(Int64) and 0.1 represents High(Int64).
If it is like I say then the range troubles a lot, its really tight for such a big range of possibilities and second the negative/positive thingy...
In a simplified version that works with original values to compute the result, the result is sadly same if input-int64 has no significant changes.
Because of that I tried to upscale the Int64 into a QWord to do the same math, currently I do have a working version but still got bug inside.
In my case the bug is that the result is always negative, on the good side, no computed value appear twice.
I need to rethink my concept about how to scale it correctly but one question remains, what are you doing afterwards with that scaled value?