This can be calculated with integers which avoid platform specific rounding dependancies (aka bitexact output and behavior between platforms)