def METHOD_NAME(
    qnn_op: Callable[[relay.Expr, relay.Expr, relay.Expr, relay.Expr, relay.Expr], relay.Call],
    floating_point_golden_func: Callable[[np.ndarray], np.ndarray],
    x_data: np.ndarray,
    input_scale: float,
    input_zero_point: int,
    output_scale: float,
    output_zero_point: int,
    input_dtype: str = "uint8",
):
    func = create_qnn_func(
        qnn_op,
        x_data,
        input_scale=input_scale,
        input_zero_point=input_zero_point,
        output_scale=output_scale,
        output_zero_point=output_zero_point,
        input_dtype=input_dtype,
    )
    x_dequantized = dequantize(x_data, input_scale, input_zero_point)
    golden_output = generate_golden_output(
        floating_point_golden_func,
        x_dequantized,
        output_scale,
        output_zero_point,
        dtype=input_dtype,
    )
    op_res = run_qnn_func(func, [x_data])
    np.testing.assert_equal(op_res, golden_output.astype(input_dtype))