SET extra_float_digits TO -3;
SELECT set_sphere_output_precision(12);

select gnomonic_proj(spoint '(0.95, -0.455)', spoint '(1, -0.45)');
select gnomonic_proj(spoint '(0.95, -0.45)', spoint '(1, -0.45)');
select gnomonic_proj(spoint '(0.95, -0.445)', spoint '(1, -0.45)');
select gnomonic_proj(spoint '(1, -0.455)', spoint '(1, -0.45)');
select gnomonic_proj(spoint '(1, -0.45)', spoint '(1, -0.45)');
select gnomonic_proj(spoint '(1, -0.445)', spoint '(1, -0.45)');
select gnomonic_proj(spoint '(1.05, -0.455)', spoint '(1, -0.45)');
select gnomonic_proj(spoint '(1.05, -0.45)', spoint '(1, -0.45)');
select gnomonic_proj(spoint '(1.05, -0.445)', spoint '(1, -0.45)');
select gnomonic_proj(spoint '(0.95, 0.045)', spoint '(1, 0.05)');
select gnomonic_proj(spoint '(0.95, 0.05)', spoint '(1, 0.05)');
select gnomonic_proj(spoint '(0.95, 0.055)', spoint '(1, 0.05)');
select gnomonic_proj(spoint '(1, 0.045)', spoint '(1, 0.05)');
select gnomonic_proj(spoint '(1, 0.05)', spoint '(1, 0.05)');
select gnomonic_proj(spoint '(1, 0.055)', spoint '(1, 0.05)');
select gnomonic_proj(spoint '(1.05, 0.045)', spoint '(1, 0.05)');
select gnomonic_proj(spoint '(1.05, 0.05)', spoint '(1, 0.05)');
select gnomonic_proj(spoint '(1.05, 0.055)', spoint '(1, 0.05)');
select gnomonic_proj(spoint '(0.95, 0.545)', spoint '(1, 0.55)');
select gnomonic_proj(spoint '(0.95, 0.55)', spoint '(1, 0.55)');
select gnomonic_proj(spoint '(0.95, 0.555)', spoint '(1, 0.55)');
select gnomonic_proj(spoint '(1, 0.545)', spoint '(1, 0.55)');
select gnomonic_proj(spoint '(1, 0.55)', spoint '(1, 0.55)');
select gnomonic_proj(spoint '(1, 0.555)', spoint '(1, 0.55)');
select gnomonic_proj(spoint '(1.05, 0.545)', spoint '(1, 0.55)');
select gnomonic_proj(spoint '(1.05, 0.55)', spoint '(1, 0.55)');
select gnomonic_proj(spoint '(1.05, 0.555)', spoint '(1, 0.55)');
select gnomonic_proj(spoint '(2.95, -0.455)', spoint '(3, -0.45)');
select gnomonic_proj(spoint '(2.95, -0.45)', spoint '(3, -0.45)');
select gnomonic_proj(spoint '(2.95, -0.445)', spoint '(3, -0.45)');
select gnomonic_proj(spoint '(3, -0.455)', spoint '(3, -0.45)');
select gnomonic_proj(spoint '(3, -0.45)', spoint '(3, -0.45)');
select gnomonic_proj(spoint '(3, -0.445)', spoint '(3, -0.45)');
select gnomonic_proj(spoint '(3.05, -0.455)', spoint '(3, -0.45)');
select gnomonic_proj(spoint '(3.05, -0.45)', spoint '(3, -0.45)');
select gnomonic_proj(spoint '(3.05, -0.445)', spoint '(3, -0.45)');
select gnomonic_proj(spoint '(2.95, 0.045)', spoint '(3, 0.05)');
select gnomonic_proj(spoint '(2.95, 0.05)', spoint '(3, 0.05)');
select gnomonic_proj(spoint '(2.95, 0.055)', spoint '(3, 0.05)');
select gnomonic_proj(spoint '(3, 0.045)', spoint '(3, 0.05)');
select gnomonic_proj(spoint '(3, 0.05)', spoint '(3, 0.05)');
select gnomonic_proj(spoint '(3, 0.055)', spoint '(3, 0.05)');
select gnomonic_proj(spoint '(3.05, 0.045)', spoint '(3, 0.05)');
select gnomonic_proj(spoint '(3.05, 0.05)', spoint '(3, 0.05)');
select gnomonic_proj(spoint '(3.05, 0.055)', spoint '(3, 0.05)');
select gnomonic_proj(spoint '(2.95, 0.545)', spoint '(3, 0.55)');
select gnomonic_proj(spoint '(2.95, 0.55)', spoint '(3, 0.55)');
select gnomonic_proj(spoint '(2.95, 0.555)', spoint '(3, 0.55)');
select gnomonic_proj(spoint '(3, 0.545)', spoint '(3, 0.55)');
select gnomonic_proj(spoint '(3, 0.55)', spoint '(3, 0.55)');
select gnomonic_proj(spoint '(3, 0.555)', spoint '(3, 0.55)');
select gnomonic_proj(spoint '(3.05, 0.545)', spoint '(3, 0.55)');
select gnomonic_proj(spoint '(3.05, 0.55)', spoint '(3, 0.55)');
select gnomonic_proj(spoint '(3.05, 0.555)', spoint '(3, 0.55)');
select gnomonic_proj(spoint '(4.95, -0.455)', spoint '(5, -0.45)');
select gnomonic_proj(spoint '(4.95, -0.45)', spoint '(5, -0.45)');
select gnomonic_proj(spoint '(4.95, -0.445)', spoint '(5, -0.45)');
select gnomonic_proj(spoint '(5, -0.455)', spoint '(5, -0.45)');
select gnomonic_proj(spoint '(5, -0.45)', spoint '(5, -0.45)');
select gnomonic_proj(spoint '(5, -0.445)', spoint '(5, -0.45)');
select gnomonic_proj(spoint '(5.05, -0.455)', spoint '(5, -0.45)');
select gnomonic_proj(spoint '(5.05, -0.45)', spoint '(5, -0.45)');
select gnomonic_proj(spoint '(5.05, -0.445)', spoint '(5, -0.45)');
select gnomonic_proj(spoint '(4.95, 0.045)', spoint '(5, 0.05)');
select gnomonic_proj(spoint '(4.95, 0.05)', spoint '(5, 0.05)');
select gnomonic_proj(spoint '(4.95, 0.055)', spoint '(5, 0.05)');
select gnomonic_proj(spoint '(5, 0.045)', spoint '(5, 0.05)');
select gnomonic_proj(spoint '(5, 0.05)', spoint '(5, 0.05)');
select gnomonic_proj(spoint '(5, 0.055)', spoint '(5, 0.05)');
select gnomonic_proj(spoint '(5.05, 0.045)', spoint '(5, 0.05)');
select gnomonic_proj(spoint '(5.05, 0.05)', spoint '(5, 0.05)');
select gnomonic_proj(spoint '(5.05, 0.055)', spoint '(5, 0.05)');
select gnomonic_proj(spoint '(4.95, 0.545)', spoint '(5, 0.55)');
select gnomonic_proj(spoint '(4.95, 0.55)', spoint '(5, 0.55)');
select gnomonic_proj(spoint '(4.95, 0.555)', spoint '(5, 0.55)');
select gnomonic_proj(spoint '(5, 0.545)', spoint '(5, 0.55)');
select gnomonic_proj(spoint '(5, 0.55)', spoint '(5, 0.55)');
select gnomonic_proj(spoint '(5, 0.555)', spoint '(5, 0.55)');
select gnomonic_proj(spoint '(5.05, 0.545)', spoint '(5, 0.55)');
select gnomonic_proj(spoint '(5.05, 0.55)', spoint '(5, 0.55)');
select gnomonic_proj(spoint '(5.05, 0.555)', spoint '(5, 0.55)');

select gnomonic_inv(point '(0.95, -0.455)', spoint '(1, -0.45)');
select gnomonic_inv(point '(0.95, -0.45)', spoint '(1, -0.45)');
select gnomonic_inv(point '(0.95, -0.445)', spoint '(1, -0.45)');
select gnomonic_inv(point '(1, -0.455)', spoint '(1, -0.45)');
select gnomonic_inv(point '(1, -0.45)', spoint '(1, -0.45)');
select gnomonic_inv(point '(1, -0.445)', spoint '(1, -0.45)');
select gnomonic_inv(point '(1.05, -0.455)', spoint '(1, -0.45)');
select gnomonic_inv(point '(1.05, -0.45)', spoint '(1, -0.45)');
select gnomonic_inv(point '(1.05, -0.445)', spoint '(1, -0.45)');
select gnomonic_inv(point '(0.95, 0.045)', spoint '(1, 0.05)');
select gnomonic_inv(point '(0.95, 0.05)', spoint '(1, 0.05)');
select gnomonic_inv(point '(0.95, 0.055)', spoint '(1, 0.05)');
select gnomonic_inv(point '(1, 0.045)', spoint '(1, 0.05)');
select gnomonic_inv(point '(1, 0.05)', spoint '(1, 0.05)');
select gnomonic_inv(point '(1, 0.055)', spoint '(1, 0.05)');
select gnomonic_inv(point '(1.05, 0.045)', spoint '(1, 0.05)');
select gnomonic_inv(point '(1.05, 0.05)', spoint '(1, 0.05)');
select gnomonic_inv(point '(1.05, 0.055)', spoint '(1, 0.05)');
select gnomonic_inv(point '(0.95, 0.545)', spoint '(1, 0.55)');
select gnomonic_inv(point '(0.95, 0.55)', spoint '(1, 0.55)');
select gnomonic_inv(point '(0.95, 0.555)', spoint '(1, 0.55)');
select gnomonic_inv(point '(1, 0.545)', spoint '(1, 0.55)');
select gnomonic_inv(point '(1, 0.55)', spoint '(1, 0.55)');
select gnomonic_inv(point '(1, 0.555)', spoint '(1, 0.55)');
select gnomonic_inv(point '(1.05, 0.545)', spoint '(1, 0.55)');
select gnomonic_inv(point '(1.05, 0.55)', spoint '(1, 0.55)');
select gnomonic_inv(point '(1.05, 0.555)', spoint '(1, 0.55)');
select gnomonic_inv(point '(2.95, -0.455)', spoint '(3, -0.45)');
select gnomonic_inv(point '(2.95, -0.45)', spoint '(3, -0.45)');
select gnomonic_inv(point '(2.95, -0.445)', spoint '(3, -0.45)');
select gnomonic_inv(point '(3, -0.455)', spoint '(3, -0.45)');
select gnomonic_inv(point '(3, -0.45)', spoint '(3, -0.45)');
select gnomonic_inv(point '(3, -0.445)', spoint '(3, -0.45)');
select gnomonic_inv(point '(3.05, -0.455)', spoint '(3, -0.45)');
select gnomonic_inv(point '(3.05, -0.45)', spoint '(3, -0.45)');
select gnomonic_inv(point '(3.05, -0.445)', spoint '(3, -0.45)');
select gnomonic_inv(point '(2.95, 0.045)', spoint '(3, 0.05)');
select gnomonic_inv(point '(2.95, 0.05)', spoint '(3, 0.05)');
select gnomonic_inv(point '(2.95, 0.055)', spoint '(3, 0.05)');
select gnomonic_inv(point '(3, 0.045)', spoint '(3, 0.05)');
select gnomonic_inv(point '(3, 0.05)', spoint '(3, 0.05)');
select gnomonic_inv(point '(3, 0.055)', spoint '(3, 0.05)');
select gnomonic_inv(point '(3.05, 0.045)', spoint '(3, 0.05)');
select gnomonic_inv(point '(3.05, 0.05)', spoint '(3, 0.05)');
select gnomonic_inv(point '(3.05, 0.055)', spoint '(3, 0.05)');
select gnomonic_inv(point '(2.95, 0.545)', spoint '(3, 0.55)');
select gnomonic_inv(point '(2.95, 0.55)', spoint '(3, 0.55)');
select gnomonic_inv(point '(2.95, 0.555)', spoint '(3, 0.55)');
select gnomonic_inv(point '(3, 0.545)', spoint '(3, 0.55)');
select gnomonic_inv(point '(3, 0.55)', spoint '(3, 0.55)');
select gnomonic_inv(point '(3, 0.555)', spoint '(3, 0.55)');
select gnomonic_inv(point '(3.05, 0.545)', spoint '(3, 0.55)');
select gnomonic_inv(point '(3.05, 0.55)', spoint '(3, 0.55)');
select gnomonic_inv(point '(3.05, 0.555)', spoint '(3, 0.55)');
select gnomonic_inv(point '(4.95, -0.455)', spoint '(5, -0.45)');
select gnomonic_inv(point '(4.95, -0.45)', spoint '(5, -0.45)');
select gnomonic_inv(point '(4.95, -0.445)', spoint '(5, -0.45)');
select gnomonic_inv(point '(5, -0.455)', spoint '(5, -0.45)');
select gnomonic_inv(point '(5, -0.45)', spoint '(5, -0.45)');
select gnomonic_inv(point '(5, -0.445)', spoint '(5, -0.45)');
select gnomonic_inv(point '(5.05, -0.455)', spoint '(5, -0.45)');
select gnomonic_inv(point '(5.05, -0.45)', spoint '(5, -0.45)');
select gnomonic_inv(point '(5.05, -0.445)', spoint '(5, -0.45)');
select gnomonic_inv(point '(4.95, 0.045)', spoint '(5, 0.05)');
select gnomonic_inv(point '(4.95, 0.05)', spoint '(5, 0.05)');
select gnomonic_inv(point '(4.95, 0.055)', spoint '(5, 0.05)');
select gnomonic_inv(point '(5, 0.045)', spoint '(5, 0.05)');
select gnomonic_inv(point '(5, 0.05)', spoint '(5, 0.05)');
select gnomonic_inv(point '(5, 0.055)', spoint '(5, 0.05)');
select gnomonic_inv(point '(5.05, 0.045)', spoint '(5, 0.05)');
select gnomonic_inv(point '(5.05, 0.05)', spoint '(5, 0.05)');
select gnomonic_inv(point '(5.05, 0.055)', spoint '(5, 0.05)');
select gnomonic_inv(point '(4.95, 0.545)', spoint '(5, 0.55)');
select gnomonic_inv(point '(4.95, 0.55)', spoint '(5, 0.55)');
select gnomonic_inv(point '(4.95, 0.555)', spoint '(5, 0.55)');
select gnomonic_inv(point '(5, 0.545)', spoint '(5, 0.55)');
select gnomonic_inv(point '(5, 0.55)', spoint '(5, 0.55)');
select gnomonic_inv(point '(5, 0.555)', spoint '(5, 0.55)');
select gnomonic_inv(point '(5.05, 0.545)', spoint '(5, 0.55)');
select gnomonic_inv(point '(5.05, 0.55)', spoint '(5, 0.55)');
select gnomonic_inv(point '(5.05, 0.555)', spoint '(5, 0.55)');
