Собственно, так оно и считает: 1.6875 * (2 / 1.6875 - 1) == 0.3124999999999999
мне больше взрывает мозг представление деления с остатком както теоркатно чтоли. т.е. если говорить о типах
a div_and_mod b = c, a
т.е. простое деление нам просто проецирует a на с, тогда как деление с остатком проецирует, но оставляет еще аккумулятор ошибки типа a