def METHOD_NAME(mocker):
    load_stub = mocker.patch("torch.utils.cpp_extension.load")
    def side_effect_fn(name, *args, **kwargs):
        # simulating failure to find a compiler during extension load
        if name in ["quantized_functions_cpu", "binarized_functions_cpu"]:
            raise subprocess.CalledProcessError(returncode=-1, cmd="where cl.exe")
    load_stub.side_effect = side_effect_fn
    from nncf.torch.quantization.quantize_functions import asymmetric_quantize
    from nncf.torch.quantization.reference import ReferenceBackendType
    from nncf.torch.quantization.reference import ReferenceQuantize
    from tests.torch.quantization.test_functions import check_outputs_for_quantization_functions
    from tests.torch.quantization.test_functions import generate_input
    shape = [2, 3, 32, 32]
    scale_shape = [1, 3, 1, 1]
    ref_input_low = -np.ones(scale_shape).astype(np.float32)
    ref_input_range = 2 * np.ones_like(ref_input_low).astype(np.float32)
    ref_input = generate_input(
        shape, ref_input_low, ref_input_range, 8, "per_channel_scale", is_weights=False, middle_points=False
    ).astype(np.float32)
    level_low = -128
    level_high = 127
    levels = 256
    test_input = torch.from_numpy(ref_input).float()
    test_input_low = torch.from_numpy(ref_input_low).float()
    test_input_range = torch.from_numpy(ref_input_range).float()
    RQ = ReferenceQuantize(backend_type=ReferenceBackendType.NUMPY)
    ref_input_low, ref_input_range = RQ.tune_range(ref_input_low, ref_input_range, levels)
    ref_value = RQ.forward(ref_input, ref_input_low, ref_input_range, levels)
    test_value = asymmetric_quantize(test_input, levels, level_low, level_high, test_input_low, test_input_range, eps=0)
    check_outputs_for_quantization_functions(test_value, ref_value, rtol=1e-3)