diff --git a/geometry_test.go b/geometry_test.go
index f97b8cdf9a6c039bafbe8545779a83f2fe101060..13f90e2fd39a0afbba5b4c9c2850b691103572e6 100644
--- a/geometry_test.go
+++ b/geometry_test.go
@@ -81,23 +81,24 @@ func TestResizeRect(t *testing.T) {
 }
 
 func TestMatrix_Unproject(t *testing.T) {
+	const delta = 4e-16
 	t.Run("for rotated matrix", func(t *testing.T) {
 		matrix := pixel.IM.Rotated(pixel.ZV, math.Pi/2)
 		unprojected := matrix.Unproject(pixel.V(0, 1))
-		assert.InDelta(t, unprojected.X, 1, 0.01)
-		assert.InDelta(t, unprojected.Y, 0, 0.01)
+		assert.InDelta(t, unprojected.X, 1, delta)
+		assert.InDelta(t, unprojected.Y, 0, delta)
 	})
 	t.Run("for moved matrix", func(t *testing.T) {
 		matrix := pixel.IM.Moved(pixel.V(5, 5))
 		unprojected := matrix.Unproject(pixel.V(0, 0))
-		assert.InDelta(t, unprojected.X, -5, 0.01)
-		assert.InDelta(t, unprojected.Y, -5, 0.01)
+		assert.InDelta(t, unprojected.X, -5, delta)
+		assert.InDelta(t, unprojected.Y, -5, delta)
 	})
 	t.Run("for scaled matrix", func(t *testing.T) {
 		matrix := pixel.IM.Scaled(pixel.ZV, 2)
 		unprojected := matrix.Unproject(pixel.V(4, 4))
-		assert.InDelta(t, unprojected.X, 2, 0.01)
-		assert.InDelta(t, unprojected.Y, 2, 0.01)
+		assert.InDelta(t, unprojected.X, 2, delta)
+		assert.InDelta(t, unprojected.Y, 2, delta)
 	})
 	t.Run("for singular matrix", func(t *testing.T) {
 		matrix := pixel.Matrix{0, 0, 0, 0, 0, 0}