def METHOD_NAME():
    test_cases = [
        TestCase("z = x^2 + y^2 + 2", [0, 0, 2], 0.0),
        TestCase(
            "z = 2x^2 + y^2 + 2", [0, 11, 151], 1.2055445093982982
        ),  # https://www.wolframalpha.com/input?i=minimize+x%5E2+%2B+%28y+-+11%29%5E2+%2B+%28%282x%5E2+%2B+y%5E2+%2B+2%29+-+151%29%5E2  # noqa
        TestCase(
            "z = 2x^2 + 2y^2 + 2", [0, 0, 6], 1.3919410907075054
        ),  # https://www.wolframalpha.com/input?i=minimize+x%5E2+%2By%5E2+%2B+%28%282x%5E2+%2B+2y%5E2+%2B+2%29+-+6%29%5E2  # noqa
        TestCase(
            "z = x^2 + y^2 + 2", [0, 0, 20], 4.2130748865881795
        ),  # https://www.wolframalpha.com/input?i=x%5E2+%2B+y%5E2+%2B+%28%28x%5E2+%2B+y%5E2+%2B+2%29+-+20%29%5E2
        TestCase("z = 2x^2 + xy + y^2 + 4", [6, 19, 519], 0.5290904095503263),
        TestCase("z = 2x^2 + xy + 2y^2 + 3", [0, 14, 380], 0.26248531385619783),
        TestCase("z = x^2 + 2y^2 + 1", [5, 14, 4], 13.354544558906934),
        TestCase("z = x^2 + xy + 2y^2 + 4", [3, 20, 1001], 1.4206031238856873),
        TestCase("z = x^2 + xy + 2y^2 + 4", [0, 0, 55], 51.0),
        TestCase("z = x^2 + xy + 2y^2 + 4", [0, 9, 55], 3.8558889386410757),
        TestCase("z = 2x^2 + 2y^2 + 1", [8, 9, 289], 0.04158555512549898),
        TestCase("z = 2x^2 + 2y^2 + 1", [8, 9, 291], 0.0),
        TestCase("z = x^2 + 2xy + 5y^2 + 4", [0, 9, 55], 5.7150737847649244),
    ]
    check_test_cases(test_cases, distance_paraboloid)