improve sinpi rationals, add tests for exact values