untested GJK implementation