circular_value: use remainder instead of difference