def METHOD_NAME():
    # TODO: right now we will simply check if the operations work
    # for some boring inputs. For some of these, we will want to
    # test corner cases in the future.
    # Math operations
    ops = [
        "add",
        # "divmod",
        "equal",
        "fmax",
        "fmin",
        "greater",
        "greater_equal",
        # "heaviside",
        # "ldexp",
        "less",
        "less_equal",
        "logical_and",
        "logical_or",
        "logical_xor",
        "maximum",
        "minimum",
        "multiply",
        "not_equal",
        "subtract",
        "true_divide",
    ]
    # We want to test array-array, array-scalar, and scalar-array cases
    arrs = (
        np.random.randint(3, 10, size=(4, 5)).astype("I"),
        np.random.uniform(size=(4, 5)).astype("F"),
    )
    scalars = (
        np.uint64(2),
        np.int64(-3),
        np.random.randn(1)[0],
        np.complex64(1 + 1j),
    )
    for arr1, arr2 in product(arrs, arrs):
        check_ops(ops, (arr1, arr2))
    for arr, scalar in product(arrs, scalars):
        check_ops(ops, (arr, scalar))
        check_ops(ops, (scalar, arr))
    for scalar1, scalar2 in product(scalars, scalars):
        check_ops(ops, (scalar1, scalar2))
    ops = [
        "arctan2",
        "copysign",
        "floor_divide",
        "fmod",
        "hypot",
        "logaddexp",
        "logaddexp2",
        "nextafter",
    ]
    for arr1, arr2 in product(arrs[:-1], arrs[:-1]):
        check_ops(ops, (arr1, arr2))
    for arr, scalar in product(arrs[:-1], scalars[:-1]):
        check_ops(ops, (arr, scalar))
        check_ops(ops, (scalar, arr))
    for scalar1, scalar2 in product(scalars[:-1], scalars[:-1]):
        check_ops(ops, (scalar1, scalar2))
    ops = [
        "power",
        "float_power",
    ]
    for arr1, arr2 in product(arrs, arrs):
        check_ops(ops, (arr1, arr2))
    for arr in arrs:
        check_ops(ops, (arr, scalars[0]))
        check_ops(ops, (scalars[0], arr))
        check_ops(ops, (arr, scalars[3]))
        check_ops(ops, (scalars[3], scalars[3]))
    check_ops(ops, (scalars[0], scalars[3]))
    check_ops(ops, (scalars[3], scalars[0]))
    ops = [
        "remainder",
    ]
    for arr1, arr2 in product(arrs[:1], arrs[:1]):
        check_ops(ops, (arr1, arr2))
    for arr, scalar in product(arrs[:1], scalars[:-2]):
        check_ops(ops, (arr, scalar))
        check_ops(ops, (scalar, arr))
    for scalar1, scalar2 in product(scalars[:-2], scalars[:-2]):
        check_ops(ops, (scalar1, scalar2))
    ops = [
        "bitwise_and",
        "bitwise_or",
        "bitwise_xor",
        "gcd",
        "left_shift",
        "lcm",
        "right_shift",
    ]
    check_ops(ops, (arr1[0], arr2[0]))
    check_ops(ops, (arrs[0], scalars[0]))
    check_ops(ops, (arrs[0], scalars[1]))
    check_ops(ops, (scalars[0], arrs[0]))
    check_ops(ops, (scalars[1], arrs[0]))
    check_ops(ops, (scalars[0], scalars[0]))